diff --git a/jjj_erp/.github/ISSUE_TEMPLATE/bug_report.md b/jjj_erp/.github/ISSUE_TEMPLATE/bug_report.md new file mode 100644 index 0000000..dd84ea7 --- /dev/null +++ b/jjj_erp/.github/ISSUE_TEMPLATE/bug_report.md @@ -0,0 +1,38 @@ +--- +name: Bug report +about: Create a report to help us improve +title: '' +labels: '' +assignees: '' + +--- + +**Describe the bug** +A clear and concise description of what the bug is. + +**To Reproduce** +Steps to reproduce the behavior: +1. Go to '...' +2. Click on '....' +3. Scroll down to '....' +4. See error + +**Expected behavior** +A clear and concise description of what you expected to happen. + +**Screenshots** +If applicable, add screenshots to help explain your problem. + +**Desktop (please complete the following information):** + - OS: [e.g. iOS] + - Browser [e.g. chrome, safari] + - Version [e.g. 22] + +**Smartphone (please complete the following information):** + - Device: [e.g. iPhone6] + - OS: [e.g. iOS8.1] + - Browser [e.g. stock browser, safari] + - Version [e.g. 22] + +**Additional context** +Add any other context about the problem here. diff --git a/jjj_erp/.github/ISSUE_TEMPLATE/feature_request.md b/jjj_erp/.github/ISSUE_TEMPLATE/feature_request.md new file mode 100644 index 0000000..bbcbbe7 --- /dev/null +++ b/jjj_erp/.github/ISSUE_TEMPLATE/feature_request.md @@ -0,0 +1,20 @@ +--- +name: Feature request +about: Suggest an idea for this project +title: '' +labels: '' +assignees: '' + +--- + +**Is your feature request related to a problem? Please describe.** +A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] + +**Describe the solution you'd like** +A clear and concise description of what you want to happen. + +**Describe alternatives you've considered** +A clear and concise description of any alternative solutions or features you've considered. + +**Additional context** +Add any other context or screenshots about the feature request here. diff --git a/jjj_erp/.idea/.gitignore b/jjj_erp/.idea/.gitignore new file mode 100644 index 0000000..35410ca --- /dev/null +++ b/jjj_erp/.idea/.gitignore @@ -0,0 +1,8 @@ +# 默认忽略的文件 +/shelf/ +/workspace.xml +# 基于编辑器的 HTTP 客户端请求 +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/jjj_erp/.idea/compiler.xml b/jjj_erp/.idea/compiler.xml new file mode 100644 index 0000000..1b98f65 --- /dev/null +++ b/jjj_erp/.idea/compiler.xml @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/jjj_erp/.idea/encodings.xml b/jjj_erp/.idea/encodings.xml new file mode 100644 index 0000000..89cab32 --- /dev/null +++ b/jjj_erp/.idea/encodings.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/jjj_erp/.idea/jarRepositories.xml b/jjj_erp/.idea/jarRepositories.xml new file mode 100644 index 0000000..a678b9e --- /dev/null +++ b/jjj_erp/.idea/jarRepositories.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/jjj_erp/.idea/misc.xml b/jjj_erp/.idea/misc.xml new file mode 100644 index 0000000..666df5b --- /dev/null +++ b/jjj_erp/.idea/misc.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/jjj_erp/.idea/uiDesigner.xml b/jjj_erp/.idea/uiDesigner.xml new file mode 100644 index 0000000..e96534f --- /dev/null +++ b/jjj_erp/.idea/uiDesigner.xml @@ -0,0 +1,124 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/jjj_erp/.idea/vcs.xml b/jjj_erp/.idea/vcs.xml new file mode 100644 index 0000000..45cf85c --- /dev/null +++ b/jjj_erp/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/jjj_erp/.workflow/BranchPipeline.yml b/jjj_erp/.workflow/BranchPipeline.yml new file mode 100644 index 0000000..9d2a292 --- /dev/null +++ b/jjj_erp/.workflow/BranchPipeline.yml @@ -0,0 +1,53 @@ +version: '1.0' +name: branch-pipeline +displayName: BranchPipeline +stages: + - stage: + name: compile + displayName: 编译 + steps: + - step: build@maven + name: build_maven + displayName: Maven 构建 + # 支持6、7、8、9、10、11六个版本 + jdkVersion: 8 + # 支持2.2.1、3.2.5、3.3.9、3.5.2、3.5.3、3.5.4、3.6.1、3.6.3八个版本 + mavenVersion: 3.3.9 + # 构建命令 + commands: + - mvn -B clean package -Dmaven.test.skip=true + # 非必填字段,开启后表示将构建产物暂存,但不会上传到制品库中,7天后自动清除 + artifacts: + # 构建产物名字,作为产物的唯一标识可向下传递,支持自定义,默认为BUILD_ARTIFACT。在下游可以通过${BUILD_ARTIFACT}方式引用来获取构建物地址 + - name: BUILD_ARTIFACT + # 构建产物获取路径,是指代码编译完毕之后构建物的所在路径,如通常jar包在target目录下。当前目录为代码库根目录 + path: + - ./target + - step: publish@general_artifacts + name: publish_general_artifacts + displayName: 上传制品 + # 上游构建任务定义的产物名,默认BUILD_ARTIFACT + dependArtifact: BUILD_ARTIFACT + # 上传到制品库时的制品命名,默认output + artifactName: output + dependsOn: build_maven + - stage: + name: release + displayName: 发布 + steps: + - step: publish@release_artifacts + name: publish_release_artifacts + displayName: '发布' + # 上游上传制品任务的产出 + dependArtifact: output + # 发布制品版本号 + version: '1.0.0.0' + # 是否开启版本号自增,默认开启 + autoIncrement: true +triggers: + push: + branches: + exclude: + - master + include: + - .* diff --git a/jjj_erp/.workflow/MasterPipeline.yml b/jjj_erp/.workflow/MasterPipeline.yml new file mode 100644 index 0000000..5d926c2 --- /dev/null +++ b/jjj_erp/.workflow/MasterPipeline.yml @@ -0,0 +1,51 @@ +version: '1.0' +name: master-pipeline +displayName: MasterPipeline +stages: + - stage: + name: compile + displayName: 编译 + steps: + - step: build@maven + name: build_maven + displayName: Maven 构建 + # 支持6、7、8、9、10、11六个版本 + jdkVersion: 8 + # 支持2.2.1、3.2.5、3.3.9、3.5.2、3.5.3、3.5.4、3.6.1、3.6.3八个版本 + mavenVersion: 3.3.9 + # 构建命令 + commands: + - mvn -B clean package -Dmaven.test.skip=true + # 非必填字段,开启后表示将构建产物暂存,但不会上传到制品库中,7天后自动清除 + artifacts: + # 构建产物名字,作为产物的唯一标识可向下传递,支持自定义,默认为BUILD_ARTIFACT。在下游可以通过${BUILD_ARTIFACT}方式引用来获取构建物地址 + - name: BUILD_ARTIFACT + # 构建产物获取路径,是指代码编译完毕之后构建物的所在路径,如通常jar包在target目录下。当前目录为代码库根目录 + path: + - ./target + - step: publish@general_artifacts + name: publish_general_artifacts + displayName: 上传制品 + # 上游构建任务定义的产物名,默认BUILD_ARTIFACT + dependArtifact: BUILD_ARTIFACT + # 上传到制品库时的制品命名,默认output + artifactName: output + dependsOn: build_maven + - stage: + name: release + displayName: 发布 + steps: + - step: publish@release_artifacts + name: publish_release_artifacts + displayName: '发布' + # 上游上传制品任务的产出 + dependArtifact: output + # 发布制品版本号 + version: '1.0.0.0' + # 是否开启版本号自增,默认开启 + autoIncrement: true +triggers: + push: + branches: + include: + - master diff --git a/jjj_erp/.workflow/PRPipeline.yml b/jjj_erp/.workflow/PRPipeline.yml new file mode 100644 index 0000000..3f7579d --- /dev/null +++ b/jjj_erp/.workflow/PRPipeline.yml @@ -0,0 +1,40 @@ +version: '1.0' +name: pr-pipeline +displayName: PRPipeline +stages: + - stage: + name: compile + displayName: 编译 + steps: + - step: build@maven + name: build_maven + displayName: Maven 构建 + # 支持6、7、8、9、10、11六个版本 + jdkVersion: 8 + # 支持2.2.1、3.2.5、3.3.9、3.5.2、3.5.3、3.5.4、3.6.1、3.6.3八个版本 + mavenVersion: 3.3.9 + # 构建命令 + commands: + - mvn -B clean package -Dmaven.test.skip=true + # 非必填字段,开启后表示将构建产物暂存,但不会上传到制品库中,7天后自动清除 + artifacts: + # 构建产物名字,作为产物的唯一标识可向下传递,支持自定义,默认为BUILD_ARTIFACT。在下游可以通过${BUILD_ARTIFACT}方式引用来获取构建物地址 + - name: BUILD_ARTIFACT + # 构建产物获取路径,是指代码编译完毕之后构建物的所在路径,如通常jar包在target目录下。当前目录为代码库根目录 + path: + - ./target + - step: publish@general_artifacts + name: publish_general_artifacts + displayName: 上传制品 + # 上游构建任务定义的产物名,默认BUILD_ARTIFACT + dependArtifact: BUILD_ARTIFACT + # 构建产物制品库,默认default,系统默认创建 + artifactRepository: default + # 上传到制品库时的制品命名,默认output + artifactName: output + dependsOn: build_maven +triggers: + pr: + branches: + include: + - master diff --git a/jjj_erp/bootstrap/README.md b/jjj_erp/bootstrap/README.md new file mode 100644 index 0000000..4e67599 --- /dev/null +++ b/jjj_erp/bootstrap/README.md @@ -0,0 +1 @@ +# bootstrap 项目启动模块 \ No newline at end of file diff --git a/jjj_erp/bootstrap/pom.xml b/jjj_erp/bootstrap/pom.xml new file mode 100644 index 0000000..1ae814f --- /dev/null +++ b/jjj_erp/bootstrap/pom.xml @@ -0,0 +1,54 @@ + + + + 4.0.0 + + + net.jjjerp + parent + 1.0 + + + bootstrap + bootstrap + 项目启动模块 + + + + net.jjjerp + jjj-common + + + net.jjjerp + jjj-saas + + + net.jjjerp + jjj-admin + + + net.jjjerp + jjj-job + + + + + + + org.springframework.boot + spring-boot-maven-plugin + ${spring-boot.version} + + + + repackage + + + + + + + + + diff --git a/jjj_erp/bootstrap/src/main/java/net/jjjerp/SpringBootJjjApplication.java b/jjj_erp/bootstrap/src/main/java/net/jjjerp/SpringBootJjjApplication.java new file mode 100644 index 0000000..85dddcc --- /dev/null +++ b/jjj_erp/bootstrap/src/main/java/net/jjjerp/SpringBootJjjApplication.java @@ -0,0 +1,40 @@ + + +package net.jjjerp; + +import net.jjjerp.config.JjjNameGenerator; +import net.jjjerp.framework.util.PrintApplicationInfo; +import org.mybatis.spring.annotation.MapperScan; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.boot.context.properties.EnableConfigurationProperties; +import org.springframework.boot.web.servlet.ServletComponentScan; +import org.springframework.context.ConfigurableApplicationContext; +import org.springframework.context.annotation.ComponentScan; +import org.springframework.scheduling.annotation.EnableAsync; +import org.springframework.scheduling.annotation.EnableScheduling; +import org.springframework.transaction.annotation.EnableTransactionManagement; + +/** + * spring-boot-jjj 项目启动入口 + */ +@EnableAsync +@EnableScheduling +@EnableTransactionManagement +@EnableConfigurationProperties +@ComponentScan(nameGenerator = JjjNameGenerator.class) +@ServletComponentScan +@MapperScan(basePackages = {"net.jjjerp.**.mapper"}, nameGenerator = JjjNameGenerator.class) +@SpringBootApplication(scanBasePackages = {"net.jjjerp"}) +public class SpringBootJjjApplication { + + public static void main(String[] args) { + // 启动spring-boot-jjj + ConfigurableApplicationContext context = SpringApplication.run(SpringBootJjjApplication.class, args); + // 打印项目信息 + PrintApplicationInfo.print(context); + // 打印项目提示 + PrintApplicationInfo.printTip(context); + } + +} diff --git a/jjj_erp/bootstrap/src/main/java/net/jjjerp/aop/LogAop.java b/jjj_erp/bootstrap/src/main/java/net/jjjerp/aop/LogAop.java new file mode 100644 index 0000000..16f4abc --- /dev/null +++ b/jjj_erp/bootstrap/src/main/java/net/jjjerp/aop/LogAop.java @@ -0,0 +1,72 @@ + + +package net.jjjerp.aop; + +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.framework.log.aop.BaseLogAop; +import net.jjjerp.framework.log.bean.OperationLogInfo; +import net.jjjerp.framework.log.bean.RequestInfo; +import org.aspectj.lang.JoinPoint; +import org.aspectj.lang.ProceedingJoinPoint; +import org.aspectj.lang.annotation.AfterThrowing; +import org.aspectj.lang.annotation.Around; +import org.aspectj.lang.annotation.Aspect; +import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; +import org.springframework.stereotype.Component; + +/** + * Controller Aop + * 获取响应结果信息 + */ +@Slf4j +@Aspect +@Component +@ConditionalOnProperty(value = {"spring-boot-jjj.aop.log.enable"}, matchIfMissing = true) +public class LogAop extends BaseLogAop { + /** + * 切点 + */ + private static final String POINTCUT = + "execution(public * net.jjjerp..*.controller..*.*(..))"; + + @Around(POINTCUT) + @Override + public Object doAround(ProceedingJoinPoint joinPoint) throws Throwable { + return super.handle(joinPoint); + } + + @AfterThrowing(pointcut = POINTCUT, throwing = "exception") + @Override + public void afterThrowing(JoinPoint joinPoint, Exception exception) { + super.handleAfterThrowing(exception); + } + + @Override + protected void setRequestId(RequestInfo requestInfo) { + super.handleRequestId(requestInfo); + } + + @Override + protected void getRequestInfo(RequestInfo requestInfo) { + // 处理请求参数日志 + super.handleRequestInfo(requestInfo); + } + + @Override + protected void getResponseResult(Object result) { + // 处理响应结果日志 + super.handleResponseResult(result); + } + + @Override + protected void finish(RequestInfo requestInfo, OperationLogInfo operationLogInfo, Object result, Exception exception) { + // 只记录shop端日志 + if(requestInfo.getPath().startsWith("/api/admin/")){ + // 异步保存操作日志 + super.saveShopOperationLog(requestInfo, operationLogInfo, result, exception); + // 异步保存登录日志 + super.saveShopLoginLog(requestInfo, operationLogInfo, result, exception); + } + } + +} diff --git a/jjj_erp/bootstrap/src/main/java/net/jjjerp/config/JacksonConfig.java b/jjj_erp/bootstrap/src/main/java/net/jjjerp/config/JacksonConfig.java new file mode 100644 index 0000000..d397da7 --- /dev/null +++ b/jjj_erp/bootstrap/src/main/java/net/jjjerp/config/JacksonConfig.java @@ -0,0 +1,88 @@ + + +package net.jjjerp.config; + +import com.fasterxml.jackson.databind.DeserializationFeature; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.SerializationFeature; +import com.fasterxml.jackson.databind.module.SimpleModule; +import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule; +import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateDeserializer; +import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer; +import com.fasterxml.jackson.datatype.jsr310.deser.LocalTimeDeserializer; +import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateSerializer; +import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer; +import com.fasterxml.jackson.datatype.jsr310.ser.LocalTimeSerializer; +import com.fasterxml.jackson.module.paramnames.ParameterNamesModule; +import net.jjjerp.config.constant.DatePattern; +import net.jjjerp.framework.config.jackson.serializer.JacksonBigDecimalSerializer; +import net.jjjerp.framework.config.jackson.deserializer.JacksonDateDeserializer; +import net.jjjerp.framework.config.jackson.deserializer.JacksonDoubleDeserializer; +import net.jjjerp.framework.config.jackson.serializer.JacksonDateSerializer; +import net.jjjerp.framework.config.jackson.serializer.JacksonIntegerDeserializer; +import net.jjjerp.framework.core.xss.XssJacksonDeserializer; +import net.jjjerp.framework.core.xss.XssJacksonSerializer; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.context.annotation.Configuration; +import org.springframework.http.converter.HttpMessageConverter; +import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter; +import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; + +import java.math.BigDecimal; +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.time.LocalTime; +import java.time.format.DateTimeFormatter; +import java.util.Date; +import java.util.List; + +@Configuration +public class JacksonConfig implements WebMvcConfigurer { + + @Value("${spring-boot-jjj.filter.xss.enable}") + private boolean enableXss; + + @Override + public void extendMessageConverters(List> converters) { + MappingJackson2HttpMessageConverter jackson2HttpMessageConverter = new MappingJackson2HttpMessageConverter(); + + ObjectMapper objectMapper = jackson2HttpMessageConverter.getObjectMapper(); + objectMapper.disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS); + objectMapper.disable(DeserializationFeature.ADJUST_DATES_TO_CONTEXT_TIME_ZONE); + + SimpleModule simpleModule = new SimpleModule(); + + // XSS序列化 + if (enableXss){ + simpleModule.addSerializer(String.class, new XssJacksonSerializer()); + simpleModule.addDeserializer(String.class, new XssJacksonDeserializer()); + } + + // Date + simpleModule.addSerializer(Date.class, new JacksonDateSerializer()); + simpleModule.addDeserializer(Date.class, new JacksonDateDeserializer()); + + simpleModule.addSerializer(BigDecimal.class, new JacksonBigDecimalSerializer()); + + simpleModule.addDeserializer(Integer.class, new JacksonIntegerDeserializer()); + simpleModule.addDeserializer(Double.class, new JacksonDoubleDeserializer()); + + // jdk8日期序列化和反序列化设置 + JavaTimeModule javaTimeModule = new JavaTimeModule(); + javaTimeModule.addSerializer(LocalDateTime.class, new LocalDateTimeSerializer(DateTimeFormatter.ofPattern(DatePattern.YYYY_MM_DD_HH_MM_SS))); + javaTimeModule.addDeserializer(LocalDateTime.class, new LocalDateTimeDeserializer(DateTimeFormatter.ofPattern(DatePattern.YYYY_MM_DD_HH_MM_SS))); + + javaTimeModule.addSerializer(LocalDate.class, new LocalDateSerializer(DateTimeFormatter.ofPattern(DatePattern.YYYY_MM_DD))); + javaTimeModule.addDeserializer(LocalDate.class, new LocalDateDeserializer(DateTimeFormatter.ofPattern(DatePattern.YYYY_MM_DD))); + + javaTimeModule.addSerializer(LocalTime.class, new LocalTimeSerializer(DateTimeFormatter.ofPattern(DatePattern.HH_MM_SS))); + javaTimeModule.addDeserializer(LocalTime.class, new LocalTimeDeserializer(DateTimeFormatter.ofPattern(DatePattern.HH_MM_SS))); + + objectMapper.registerModule(simpleModule).registerModule(javaTimeModule).registerModule(new ParameterNamesModule()); + + jackson2HttpMessageConverter.setObjectMapper(objectMapper); + + //放到第一个 + converters.add(0, jackson2HttpMessageConverter); + } +} \ No newline at end of file diff --git a/jjj_erp/bootstrap/src/main/java/net/jjjerp/config/JjjNameGenerator.java b/jjj_erp/bootstrap/src/main/java/net/jjjerp/config/JjjNameGenerator.java new file mode 100644 index 0000000..bde137a --- /dev/null +++ b/jjj_erp/bootstrap/src/main/java/net/jjjerp/config/JjjNameGenerator.java @@ -0,0 +1,18 @@ +package net.jjjerp.config; + +import org.springframework.beans.factory.config.BeanDefinition; +import org.springframework.beans.factory.support.BeanDefinitionRegistry; +import org.springframework.context.annotation.AnnotationBeanNameGenerator; + +/** + * @className: JjjNameGenerator + * @description: 解决不同包下相同类名冲突 + */ +public class JjjNameGenerator extends AnnotationBeanNameGenerator { + @Override + public String generateBeanName(BeanDefinition definition, BeanDefinitionRegistry registry) { + //全限定类名 + String beanName = definition.getBeanClassName(); + return beanName; + } +} diff --git a/jjj_erp/bootstrap/src/main/java/net/jjjerp/config/MybatisPlusConfig.java b/jjj_erp/bootstrap/src/main/java/net/jjjerp/config/MybatisPlusConfig.java new file mode 100644 index 0000000..b0fa4de --- /dev/null +++ b/jjj_erp/bootstrap/src/main/java/net/jjjerp/config/MybatisPlusConfig.java @@ -0,0 +1,75 @@ + + +package net.jjjerp.config; + +import com.baomidou.mybatisplus.annotation.DbType; +import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor; +import com.baomidou.mybatisplus.extension.plugins.handler.TenantLineHandler; +import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.common.interceptor.JjjTenantLineInnerInterceptor; +import net.jjjerp.config.properties.SpringBootJjjProperties; +import net.jjjerp.framework.core.bean.RequestDetail; +import net.jjjerp.framework.core.util.RequestDetailThreadLocal; +import net.sf.jsqlparser.expression.Expression; +import net.sf.jsqlparser.expression.LongValue; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.data.redis.core.RedisTemplate; + +import java.util.List; + +/** + * MybatisPlus配置 + */ +@Slf4j +@Configuration +public class MybatisPlusConfig { + @Value("${spring.profiles.active}") + private String env; + /** + * spring-boot-jjj配置属性 + */ + @Autowired + private SpringBootJjjProperties springBootJjjProperties; + @Autowired + private RedisTemplate redisTemplate; + /** + * 新多租户插件配置,一缓和二缓遵循mybatis的规则,需要设置 MybatisConfiguration#useDeprecatedExecutor = false 避免缓存万一出现问题 + */ + @Bean + public MybatisPlusInterceptor mybatisPlusInterceptor() { + MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); + interceptor.addInnerInterceptor(new JjjTenantLineInnerInterceptor(new TenantLineHandler() { + @Override + public Expression getTenantId() { + RequestDetail requestDetail = RequestDetailThreadLocal.getRequestDetail(); + // 0为不带租户id + if(requestDetail == null){ + return new LongValue(0); + } + return new LongValue(requestDetail.getAppId()); + } + + @Override + public String getTenantIdColumn() { + // 对应数据库租户标识的列名 + return "app_id"; + } + + // 这是 default 方法,默认返回 false 表示所有表都需要拼多租户条件 + @Override + public boolean ignoreTable(String tableName) { + List tables = springBootJjjProperties.getIgnoreTables(); + return tables.contains(tableName); + } + },env,redisTemplate)); + // 如果用了分页插件注意先 add TenantLineInnerInterceptor 再 add PaginationInnerInterceptor + // 用了分页插件必须设置 MybatisConfiguration#useDeprecatedExecutor = false + // 分页插件 + interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); + return interceptor; + } +} diff --git a/jjj_erp/bootstrap/src/main/java/net/jjjerp/config/RedisCacheConfig.java b/jjj_erp/bootstrap/src/main/java/net/jjjerp/config/RedisCacheConfig.java new file mode 100644 index 0000000..4d37e98 --- /dev/null +++ b/jjj_erp/bootstrap/src/main/java/net/jjjerp/config/RedisCacheConfig.java @@ -0,0 +1,68 @@ + + +package net.jjjerp.config; + +import org.springframework.cache.CacheManager; +import org.springframework.cache.annotation.CachingConfigurerSupport; +import org.springframework.cache.annotation.EnableCaching; +import org.springframework.cache.interceptor.KeyGenerator; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.data.redis.cache.RedisCacheConfiguration; +import org.springframework.data.redis.cache.RedisCacheManager; +import org.springframework.data.redis.connection.RedisConnectionFactory; + +import java.time.Duration; +import java.util.*; + +/** + * Redis Cache配置 + */ +@Configuration +@EnableCaching +public class RedisCacheConfig extends CachingConfigurerSupport { + + @Bean + @Override + public KeyGenerator keyGenerator() { + return (target, method, params) -> { + StringBuffer redisKey = new StringBuffer(); + redisKey.append(target.getClass().getName()).append("-"); + redisKey.append(method.getName()); + if (params.length > 0) { + redisKey.append("-").append(Arrays.deepToString(params)); + } + return redisKey.toString(); + }; + } + + + @Bean + public CacheManager cacheManager(RedisConnectionFactory factory) { + // 生成一个默认配置,通过config对象即可对缓存进行自定义配置 + RedisCacheConfiguration config = RedisCacheConfiguration.defaultCacheConfig(); + // 设置缓存的默认过期时间,也是使用Duration设置 + // 过期时间5分钟 + config = config.entryTtl(Duration.ofMinutes(5)); + + // 设置一个初始化的缓存空间set集合 + Set cacheNames = new HashSet<>(); + cacheNames.add("my-redis-cache1"); + cacheNames.add("my-redis-cache2"); + + // 对每个缓存空间应用不同的配置 + Map configMap = new HashMap<>(10); + configMap.put("my-redis-cache1", config); + configMap.put("my-redis-cache2", config.entryTtl(Duration.ofSeconds(120))); + + // 使用自定义的缓存配置初始化一个cacheManager + RedisCacheManager cacheManager = RedisCacheManager.builder(factory) + // 注意这两句的调用顺序,一定要先调用该方法设置初始化的缓存名,再初始化相关的配置 + .initialCacheNames(cacheNames) + .withInitialCacheConfigurations(configMap) + .build(); + + return cacheManager; + } + +} diff --git a/jjj_erp/bootstrap/src/main/java/net/jjjerp/config/RedisTemplateConfig.java b/jjj_erp/bootstrap/src/main/java/net/jjjerp/config/RedisTemplateConfig.java new file mode 100644 index 0000000..a38c310 --- /dev/null +++ b/jjj_erp/bootstrap/src/main/java/net/jjjerp/config/RedisTemplateConfig.java @@ -0,0 +1,41 @@ + + +package net.jjjerp.config; + +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.GenericJackson2JsonRedisSerializer; +import org.springframework.data.redis.serializer.StringRedisSerializer; + +/** + * Redis Template 配置 + */ +@Configuration +public class RedisTemplateConfig { + + @Bean + public RedisTemplate redisTemplate(RedisConnectionFactory redisConnectionFactory) { + RedisTemplate redisTemplate = new RedisTemplate<>(); + redisTemplate.setConnectionFactory(redisConnectionFactory); + + // 自定义的string序列化器和fastjson序列化器 + StringRedisSerializer stringRedisSerializer = new StringRedisSerializer(); + + // jackson 序列化器 + GenericJackson2JsonRedisSerializer jsonRedisSerializer = new GenericJackson2JsonRedisSerializer(); + + // kv 序列化 + redisTemplate.setKeySerializer(stringRedisSerializer); + redisTemplate.setValueSerializer(jsonRedisSerializer); + + // hash 序列化 + redisTemplate.setHashKeySerializer(stringRedisSerializer); + redisTemplate.setHashValueSerializer(jsonRedisSerializer); + + redisTemplate.afterPropertiesSet(); + + return redisTemplate; + } +} diff --git a/jjj_erp/bootstrap/src/main/java/net/jjjerp/config/RestTemplateConfig.java b/jjj_erp/bootstrap/src/main/java/net/jjjerp/config/RestTemplateConfig.java new file mode 100644 index 0000000..1cbb9fd --- /dev/null +++ b/jjj_erp/bootstrap/src/main/java/net/jjjerp/config/RestTemplateConfig.java @@ -0,0 +1,28 @@ + + +package net.jjjerp.config; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.http.client.ClientHttpRequestFactory; +import org.springframework.http.client.SimpleClientHttpRequestFactory; +import org.springframework.web.client.RestTemplate; + +@Configuration +public class RestTemplateConfig { + + @Bean + public RestTemplate restTemplate(ClientHttpRequestFactory factory){ + return new RestTemplate(factory); + } + + @Bean + public ClientHttpRequestFactory simpleClientHttpRequestFactory(){ + SimpleClientHttpRequestFactory factory = new SimpleClientHttpRequestFactory(); + //单位为ms + factory.setReadTimeout(5000); + //单位为ms + factory.setConnectTimeout(5000); + return factory; + } +} diff --git a/jjj_erp/bootstrap/src/main/java/net/jjjerp/config/ShiroConfig.java b/jjj_erp/bootstrap/src/main/java/net/jjjerp/config/ShiroConfig.java new file mode 100644 index 0000000..c29bbcf --- /dev/null +++ b/jjj_erp/bootstrap/src/main/java/net/jjjerp/config/ShiroConfig.java @@ -0,0 +1,300 @@ + + +package net.jjjerp.config; + +import com.alibaba.fastjson.JSON; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.config.properties.JwtProperties; +import net.jjjerp.config.properties.ShiroPermissionProperties; +import net.jjjerp.config.properties.ShiroProperties; +import net.jjjerp.framework.shiro.cache.AdminLoginRedisService; +import net.jjjerp.framework.shiro.cache.ShopLoginRedisService; +import net.jjjerp.framework.shiro.exception.ShiroConfigException; +import net.jjjerp.framework.shiro.jwt.JwtCredentialsMatcher; +import net.jjjerp.framework.shiro.jwt.JwtFilter; +import net.jjjerp.framework.shiro.jwt.JwtRealm; +import net.jjjerp.framework.shiro.service.ShiroLoginService; +import net.jjjerp.framework.util.IniUtil; +import org.apache.commons.collections.CollectionUtils; +import org.apache.commons.collections.MapUtils; +import org.apache.commons.lang3.ArrayUtils; +import org.apache.commons.lang3.StringUtils; +import org.apache.shiro.SecurityUtils; +import org.apache.shiro.authc.Authenticator; +import org.apache.shiro.authc.credential.CredentialsMatcher; +import org.apache.shiro.authc.pam.FirstSuccessfulStrategy; +import org.apache.shiro.authc.pam.ModularRealmAuthenticator; +import org.apache.shiro.mgt.DefaultSessionStorageEvaluator; +import org.apache.shiro.mgt.DefaultSubjectDAO; +import org.apache.shiro.mgt.SecurityManager; +import org.apache.shiro.mgt.SessionStorageEvaluator; +import org.apache.shiro.spring.LifecycleBeanPostProcessor; +import org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor; +import org.apache.shiro.spring.web.ShiroFilterFactoryBean; +import org.apache.shiro.web.mgt.DefaultWebSecurityManager; +import org.apache.shiro.web.mgt.DefaultWebSessionStorageEvaluator; +import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; +import org.springframework.boot.context.properties.EnableConfigurationProperties; +import org.springframework.boot.web.servlet.FilterRegistrationBean; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.web.filter.DelegatingFilterProxy; + +import javax.servlet.DispatcherType; +import javax.servlet.Filter; +import java.util.*; + +/** + * Shiro配置 + * https://shiro.apache.org/spring.html + * https://shiro.apache.org/spring-boot.html + **/ +@Slf4j +@Configuration +@EnableConfigurationProperties({ShiroProperties.class}) +@ConditionalOnProperty(value = {"spring-boot-jjj.shiro.enable"}, matchIfMissing = true) +public class ShiroConfig { + + /** + * JWT过滤器名称 + */ + private static final String JWT_FILTER_NAME = "jwtFilter"; + + /** + * Shiro过滤器名称 + */ + private static final String SHIRO_FILTER_NAME = "shiroFilter"; + + /** + * anon + */ + private static final String ANON = "anon"; + + + @Bean + public CredentialsMatcher credentialsMatcher() { + return new JwtCredentialsMatcher(); + } + + /** + * JWT数据源验证 + * + * @return + */ + @Bean + public JwtRealm jwtRealm(AdminLoginRedisService adminLoginRedisService, ShopLoginRedisService shopLoginRedisService) { + JwtRealm jwtRealm = new JwtRealm(adminLoginRedisService, shopLoginRedisService); + jwtRealm.setCachingEnabled(false); + jwtRealm.setCredentialsMatcher(credentialsMatcher()); + return jwtRealm; + } + + + @Bean + public SessionStorageEvaluator sessionStorageEvaluator() { + DefaultSessionStorageEvaluator sessionStorageEvaluator = new DefaultWebSessionStorageEvaluator(); + sessionStorageEvaluator.setSessionStorageEnabled(false); + return sessionStorageEvaluator; + } + + @Bean + public DefaultSubjectDAO subjectDAO() { + DefaultSubjectDAO defaultSubjectDAO = new DefaultSubjectDAO(); + defaultSubjectDAO.setSessionStorageEvaluator(sessionStorageEvaluator()); + return defaultSubjectDAO; + } + + /** + * 安全管理器配置 + * + * @return + */ + @Bean + public SecurityManager securityManager(AdminLoginRedisService adminLoginRedisService, ShopLoginRedisService shopLoginRedisService) { + DefaultWebSecurityManager securityManager = new DefaultWebSecurityManager(); + securityManager.setRealm(jwtRealm(adminLoginRedisService, shopLoginRedisService)); + securityManager.setSubjectDAO(subjectDAO()); + SecurityUtils.setSecurityManager(securityManager); + return securityManager; + } + + /** + * ShiroFilterFactoryBean配置 + * + * @param securityManager + * @param adminLoginRedisService + * @param shiroProperties + * @param jwtProperties + * @return + */ + @Bean(SHIRO_FILTER_NAME) + public ShiroFilterFactoryBean shiroFilterFactoryBean(SecurityManager securityManager, + ShiroLoginService shiroLoginService, + AdminLoginRedisService adminLoginRedisService, + ShopLoginRedisService shopLoginRedisService, + ShiroProperties shiroProperties, + JwtProperties jwtProperties) { + ShiroFilterFactoryBean shiroFilterFactoryBean = new ShiroFilterFactoryBean(); + shiroFilterFactoryBean.setSecurityManager(securityManager); + Map filterMap = getFilterMap(shiroLoginService, adminLoginRedisService, shopLoginRedisService, jwtProperties); + shiroFilterFactoryBean.setFilters(filterMap); + Map filterChainMap = getFilterChainDefinitionMap(shiroProperties); + shiroFilterFactoryBean.setFilterChainDefinitionMap(filterChainMap); + return shiroFilterFactoryBean; + } + + + /** + * 获取filter map + * + * @return + */ + private Map getFilterMap(ShiroLoginService shiroLoginService, + AdminLoginRedisService adminLoginRedisService, + ShopLoginRedisService shopLoginRedisService, + JwtProperties jwtProperties) { + Map filterMap = new LinkedHashMap<>(); + filterMap.put(JWT_FILTER_NAME, new JwtFilter(shiroLoginService, adminLoginRedisService, shopLoginRedisService, jwtProperties)); + return filterMap; + } + + + /** + * Shiro路径权限配置 + * + * @return + */ + private Map getFilterChainDefinitionMap(ShiroProperties shiroProperties) { + Map filterChainDefinitionMap = new LinkedHashMap<>(); + // 获取排除的路径 + List anonList = shiroProperties.getAnon(); + log.debug("anonList:{}", JSON.toJSONString(anonList)); + if (CollectionUtils.isNotEmpty(anonList)) { + anonList.forEach(anonArray -> { + if (ArrayUtils.isNotEmpty(anonArray)) { + for (String anonPath : anonArray) { + filterChainDefinitionMap.put(anonPath, ANON); + } + } + }); + } + + // 获取ini格式配置 + String definitions = shiroProperties.getFilterChainDefinitions(); + if (StringUtils.isNotBlank(definitions)) { + Map section = IniUtil.parseIni(definitions); + log.debug("definitions:{}", JSON.toJSONString(section)); + for (Map.Entry entry : section.entrySet()) { + filterChainDefinitionMap.put(entry.getKey(), entry.getValue()); + } + } + + // 获取自定义权限路径配置集合 + List permissionConfigs = shiroProperties.getPermission(); + log.debug("permissionConfigs:{}", JSON.toJSONString(permissionConfigs)); + if (CollectionUtils.isNotEmpty(permissionConfigs)) { + for (ShiroPermissionProperties permissionConfig : permissionConfigs) { + String url = permissionConfig.getUrl(); + String[] urls = permissionConfig.getUrls(); + String permission = permissionConfig.getPermission(); + if (StringUtils.isBlank(url) && ArrayUtils.isEmpty(urls)) { + throw new ShiroConfigException("shiro permission config 路径配置不能为空"); + } + if (StringUtils.isBlank(permission)) { + throw new ShiroConfigException("shiro permission config permission不能为空"); + } + + if (StringUtils.isNotBlank(url)) { + filterChainDefinitionMap.put(url, permission); + } + if (ArrayUtils.isNotEmpty(urls)) { + for (String string : urls) { + filterChainDefinitionMap.put(string, permission); + } + } + } + } + + // 如果启用shiro,则设置最后一个设置为JWTFilter,否则全部路径放行 + if (shiroProperties.isEnable()) { + filterChainDefinitionMap.put("/**", JWT_FILTER_NAME); + } else { + filterChainDefinitionMap.put("/**", ANON); + } + + log.debug("filterChainMap:{}", JSON.toJSONString(filterChainDefinitionMap)); + + // 添加默认的filter + Map newFilterChainDefinitionMap = addDefaultFilterDefinition(filterChainDefinitionMap); + return newFilterChainDefinitionMap; + } + + /** + * 添加默认的filter权限过滤 + * + * @param filterChainDefinitionMap + * @return + */ + private Map addDefaultFilterDefinition(Map filterChainDefinitionMap) { + if (MapUtils.isEmpty(filterChainDefinitionMap)) { + return filterChainDefinitionMap; + } + final Map map = new LinkedHashMap<>(); + for (Map.Entry entry : filterChainDefinitionMap.entrySet()) { + String key = entry.getKey(); + String value = entry.getValue(); + String definition; + String[] strings = value.split(","); + List list = new ArrayList<>(); + list.addAll(Arrays.asList(strings)); + definition = String.join(",", list); + map.put(key, definition); + } + return map; + } + + /** + * ShiroFilter配置 + * + * @return + */ + @Bean + public FilterRegistrationBean delegatingFilterProxy() { + FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean(); + DelegatingFilterProxy proxy = new DelegatingFilterProxy(); + proxy.setTargetFilterLifecycle(true); + proxy.setTargetBeanName(SHIRO_FILTER_NAME); + filterRegistrationBean.setFilter(proxy); + filterRegistrationBean.setAsyncSupported(true); + filterRegistrationBean.setEnabled(true); + filterRegistrationBean.setDispatcherTypes(DispatcherType.REQUEST, DispatcherType.ASYNC); + return filterRegistrationBean; + } + + @Bean + public Authenticator authenticator(AdminLoginRedisService adminLoginRedisService, ShopLoginRedisService shopLoginRedisService) { + ModularRealmAuthenticator authenticator = new ModularRealmAuthenticator(); + authenticator.setRealms(Arrays.asList(jwtRealm(adminLoginRedisService, shopLoginRedisService))); + authenticator.setAuthenticationStrategy(new FirstSuccessfulStrategy()); + return authenticator; + } + + + /** + * Enabling Shiro Annotations + * + * @return + */ + @Bean + public LifecycleBeanPostProcessor lifecycleBeanPostProcessor() { + return new LifecycleBeanPostProcessor(); + } + + @Bean + public AuthorizationAttributeSourceAdvisor authorizationAttributeSourceAdvisor(SecurityManager securityManager) { + AuthorizationAttributeSourceAdvisor authorizationAttributeSourceAdvisor = new AuthorizationAttributeSourceAdvisor(); + authorizationAttributeSourceAdvisor.setSecurityManager(securityManager); + return authorizationAttributeSourceAdvisor; + } + +} diff --git a/jjj_erp/bootstrap/src/main/java/net/jjjerp/config/SpringBootJjjConfig.java b/jjj_erp/bootstrap/src/main/java/net/jjjerp/config/SpringBootJjjConfig.java new file mode 100644 index 0000000..3cb7891 --- /dev/null +++ b/jjj_erp/bootstrap/src/main/java/net/jjjerp/config/SpringBootJjjConfig.java @@ -0,0 +1,12 @@ + +package net.jjjerp.config; + +import lombok.extern.slf4j.Slf4j; + +/** + * spring-boot-jjj配置 + */ +@Slf4j +public class SpringBootJjjConfig { + +} diff --git a/jjj_erp/bootstrap/src/main/java/net/jjjerp/config/SpringBootJjjCorsConfig.java b/jjj_erp/bootstrap/src/main/java/net/jjjerp/config/SpringBootJjjCorsConfig.java new file mode 100644 index 0000000..b545277 --- /dev/null +++ b/jjj_erp/bootstrap/src/main/java/net/jjjerp/config/SpringBootJjjCorsConfig.java @@ -0,0 +1,50 @@ + + +package net.jjjerp.config; + + +import net.jjjerp.config.properties.SpringBootJjjCorsProperties; +import lombok.extern.slf4j.Slf4j; +import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; +import org.springframework.boot.web.servlet.FilterRegistrationBean; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.core.Ordered; +import org.springframework.web.cors.CorsConfiguration; +import org.springframework.web.cors.UrlBasedCorsConfigurationSource; +import org.springframework.web.filter.CorsFilter; + +/** + * 跨域配置 + */ +@Slf4j +@Configuration +@ConditionalOnProperty(value = {"spring-boot-jjj.cors.enable"}, matchIfMissing = true) +public class SpringBootJjjCorsConfig { + + /** + * CORS跨域设置 + * + * @return + */ + @Bean + public FilterRegistrationBean corsFilter(SpringBootJjjCorsProperties corsProperties) { + log.debug("corsProperties:{}", corsProperties); + UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource(); + CorsConfiguration corsConfiguration = new CorsConfiguration(); + // 跨域配置 + corsConfiguration.setAllowedOrigins(corsProperties.getAllowedOrigins()); + corsConfiguration.setAllowedHeaders(corsProperties.getAllowedHeaders()); + corsConfiguration.setAllowedMethods(corsProperties.getAllowedMethods()); + corsConfiguration.setAllowCredentials(corsProperties.isAllowCredentials()); + corsConfiguration.setExposedHeaders(corsProperties.getExposedHeaders()); + corsConfiguration.setMaxAge(corsConfiguration.getMaxAge()); + + source.registerCorsConfiguration(corsProperties.getPath(), corsConfiguration); + FilterRegistrationBean bean = new FilterRegistrationBean(new CorsFilter(source)); + bean.setOrder(Ordered.HIGHEST_PRECEDENCE); + bean.setEnabled(corsProperties.isEnable()); + return bean; + } + +} diff --git a/jjj_erp/bootstrap/src/main/java/net/jjjerp/config/SpringBootJjjWebMvcConfig.java b/jjj_erp/bootstrap/src/main/java/net/jjjerp/config/SpringBootJjjWebMvcConfig.java new file mode 100644 index 0000000..ca047bf --- /dev/null +++ b/jjj_erp/bootstrap/src/main/java/net/jjjerp/config/SpringBootJjjWebMvcConfig.java @@ -0,0 +1,145 @@ + + +package net.jjjerp.config; + +import com.alibaba.fastjson.JSON; +import net.jjjerp.config.properties.SpringBootJjjFilterProperties; +import net.jjjerp.config.properties.SpringBootJjjInterceptorProperties; +import net.jjjerp.config.properties.SpringBootJjjProperties; +import net.jjjerp.framework.core.filter.RequestDetailFilter; +import net.jjjerp.framework.core.interceptor.FrontInterceptor; +import net.jjjerp.framework.core.interceptor.PermissionInterceptor; +import net.jjjerp.framework.core.xss.XssFilter; +import net.jjjerp.framework.util.IniUtil; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.web.servlet.FilterRegistrationBean; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.web.servlet.config.annotation.InterceptorRegistry; +import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; +import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; + +import javax.annotation.PostConstruct; +import java.util.Map; + +/** + * WebMvc配置 + */ +@Slf4j +@Configuration +public class SpringBootJjjWebMvcConfig implements WebMvcConfigurer { + + /** + * spring-boot-jjj配置属性 + */ + @Autowired + private SpringBootJjjProperties springBootJjjProperties; + + /** + * Filter配置 + */ + private SpringBootJjjFilterProperties filterConfig; + + /** + * 拦截器配置 + */ + private SpringBootJjjInterceptorProperties interceptorConfig; + + /** + * RequestDetailFilter配置 + * + * @return + */ + @Bean + public FilterRegistrationBean requestDetailFilter() { + SpringBootJjjFilterProperties.FilterConfig requestFilterConfig = filterConfig.getRequest(); + FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean(); + filterRegistrationBean.setFilter(new RequestDetailFilter()); + filterRegistrationBean.setEnabled(requestFilterConfig.isEnable()); + filterRegistrationBean.addUrlPatterns(requestFilterConfig.getUrlPatterns()); + filterRegistrationBean.setOrder(requestFilterConfig.getOrder()); + filterRegistrationBean.setAsyncSupported(requestFilterConfig.isAsync()); + return filterRegistrationBean; + } + + /** + * XssFilter配置 + * + * @return + */ + @Bean + public FilterRegistrationBean xssFilter() { + SpringBootJjjFilterProperties.FilterConfig xssFilterConfig = filterConfig.getXss(); + FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean(); + filterRegistrationBean.setFilter(new XssFilter()); + filterRegistrationBean.setEnabled(xssFilterConfig.isEnable()); + filterRegistrationBean.addUrlPatterns(xssFilterConfig.getUrlPatterns()); + filterRegistrationBean.setOrder(xssFilterConfig.getOrder()); + filterRegistrationBean.setAsyncSupported(xssFilterConfig.isAsync()); + return filterRegistrationBean; + } + + + /** + * 自定义权限拦截器 + * + * @return + */ + @Bean + public PermissionInterceptor permissionInterceptor() { + return new PermissionInterceptor(); + } + + /** + * 前端拦截器 + * + * @return + */ + @Bean + public FrontInterceptor frontInterceptor() { + return new FrontInterceptor(); + } + + @PostConstruct + public void init() { + filterConfig = springBootJjjProperties.getFilter(); + interceptorConfig = springBootJjjProperties.getInterceptor(); + // 打印SpringBootJjjProperties配置信息 + log.debug("SpringBootJjjProperties:{}", JSON.toJSONString(springBootJjjProperties)); + } + + @Override + public void addInterceptors(InterceptorRegistry registry) { + + // 自定义权限拦截器注册 + if (interceptorConfig.getPermission().isEnable()) { + registry.addInterceptor(permissionInterceptor()) + .addPathPatterns(interceptorConfig.getPermission().getIncludePaths()) + .excludePathPatterns(interceptorConfig.getPermission().getExcludePaths()); + } + registry.addInterceptor(frontInterceptor()) + .addPathPatterns("/front/**"); + } + + @Override + public void addResourceHandlers(ResourceHandlerRegistry registry) { + // 设置项目静态资源访问 + String resourceHandlers = springBootJjjProperties.getResourceHandlers(); + if (StringUtils.isNotBlank(resourceHandlers)) { + Map map = IniUtil.parseIni(resourceHandlers); + for (Map.Entry entry : map.entrySet()) { + String pathPatterns = entry.getKey(); + String resourceLocations = entry.getValue(); + registry.addResourceHandler(pathPatterns) + .addResourceLocations(resourceLocations); + } + } + + // 设置上传文件访问路径 + registry.addResourceHandler(springBootJjjProperties.getResourceAccessPatterns()) + .addResourceLocations("file:" + springBootJjjProperties.getUploadPath() + "/"); + } + +} diff --git a/jjj_erp/bootstrap/src/main/java/net/jjjerp/config/Swagger2Config.java b/jjj_erp/bootstrap/src/main/java/net/jjjerp/config/Swagger2Config.java new file mode 100644 index 0000000..330d406 --- /dev/null +++ b/jjj_erp/bootstrap/src/main/java/net/jjjerp/config/Swagger2Config.java @@ -0,0 +1,255 @@ + + +package net.jjjerp.config; + +import com.fasterxml.jackson.databind.introspect.AnnotatedField; +import com.fasterxml.jackson.databind.introspect.BeanPropertyDefinition; +import com.github.xiaoymin.knife4j.spring.annotations.EnableKnife4j; +import com.google.common.base.Function; +import com.google.common.base.Optional; +import com.google.common.base.Predicate; +import net.jjjerp.config.properties.SwaggerProperties; +import net.jjjerp.framework.common.exception.SpringBootJjjConfigException; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiModelProperty; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang3.ArrayUtils; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Import; +import org.springframework.stereotype.Component; +import springfox.bean.validators.configuration.BeanValidatorPluginsConfiguration; +import springfox.documentation.RequestHandler; +import springfox.documentation.annotations.ApiIgnore; +import springfox.documentation.builders.ApiInfoBuilder; +import springfox.documentation.builders.ParameterBuilder; +import springfox.documentation.builders.PathSelectors; +import springfox.documentation.builders.RequestHandlerSelectors; +import springfox.documentation.schema.ModelRef; +import springfox.documentation.service.ApiInfo; +import springfox.documentation.service.Contact; +import springfox.documentation.service.Parameter; +import springfox.documentation.spi.DocumentationType; +import springfox.documentation.spi.schema.ModelPropertyBuilderPlugin; +import springfox.documentation.spi.schema.contexts.ModelPropertyContext; +import springfox.documentation.spring.web.plugins.ApiSelectorBuilder; +import springfox.documentation.spring.web.plugins.Docket; +import springfox.documentation.swagger.common.SwaggerPluginSupport; +import springfox.documentation.swagger2.annotations.EnableSwagger2; + +import javax.servlet.ServletRequest; +import javax.servlet.ServletResponse; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import javax.servlet.http.HttpSession; +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import java.lang.reflect.Field; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +import static springfox.documentation.schema.Annotations.findPropertyAnnotation; +import static springfox.documentation.swagger.schema.ApiModelProperties.findApiModePropertyAnnotation; + +/** + * Swagger2全局配置 + */ +@Slf4j +@Configuration +@EnableSwagger2 +@EnableKnife4j +@Import(BeanValidatorPluginsConfiguration.class) +@ConditionalOnProperty(value = {"knife4j.enable"}, matchIfMissing = true) +public class Swagger2Config { + + @Autowired + private SwaggerProperties swaggerProperties; + + /** + * 扫描多包时,包路径的拆分符,分号 + */ + private static final String SPLIT_COMMA = ","; + + /** + * 扫描多包时,包路径的拆分符,逗号 + */ + private static final String SPLIT_SEMICOLON = ";"; + + /** + * Swagger忽略的参数类型 + */ + private Class[] ignoredParameterTypes = new Class[]{ + ServletRequest.class, + ServletResponse.class, + HttpServletRequest.class, + HttpServletResponse.class, + HttpSession.class, + ApiIgnore.class + }; + + @Bean + public Docket createRestApi() { + // 获取需要扫描的包 + String[] basePackages = getBasePackages(); + ApiSelectorBuilder apiSelectorBuilder = new Docket(DocumentationType.SWAGGER_2) + .apiInfo(apiInfo()) + .select(); + // 如果扫描的包为空,则默认扫描类上有@Api注解的类 + if (ArrayUtils.isEmpty(basePackages)) { + apiSelectorBuilder.apis(RequestHandlerSelectors.withClassAnnotation(Api.class)); + } else { + // 扫描指定的包 + apiSelectorBuilder.apis(basePackage(basePackages)); + } + Docket docket = apiSelectorBuilder.paths(PathSelectors.any()) + .build() + .enable(swaggerProperties.isEnable()) + .ignoredParameterTypes(ignoredParameterTypes) + .globalOperationParameters(getParameters()); + return docket; + } + + /** + * 获取apiInfo + * + * @return + */ + private ApiInfo apiInfo() { + return new ApiInfoBuilder() + .title(swaggerProperties.getTitle()) + .description(swaggerProperties.getDescription()) + .termsOfServiceUrl(swaggerProperties.getUrl()) + .contact(new Contact(swaggerProperties.getContactName(), swaggerProperties.getContactUrl(), swaggerProperties.getContactEmail())) + .version(swaggerProperties.getVersion()) + .build(); + } + + /** + * 获取扫描的包 + * + * @return + */ + public String[] getBasePackages() { + log.debug("swaggerProperties = " + swaggerProperties); + String basePackage = swaggerProperties.getBasePackage(); + if (StringUtils.isBlank(basePackage)) { + throw new SpringBootJjjConfigException("Swagger basePackage不能为空"); + } + String[] basePackages = null; + if (basePackage.contains(SPLIT_COMMA)) { + basePackages = basePackage.split(SPLIT_COMMA); + } else if (basePackage.contains(SPLIT_SEMICOLON)) { + basePackages = basePackage.split(SPLIT_SEMICOLON); + } + log.info("swagger scan basePackages:" + Arrays.toString(basePackages)); + return basePackages; + } + + /** + * 添加额外参数 + * + * @return + */ + private List getParameters() { + // 获取自定义参数配置 + List parameterConfig = swaggerProperties.getParameterConfig(); + if (CollectionUtils.isEmpty(parameterConfig)) { + return null; + } + List parameters = new ArrayList<>(); + parameterConfig.forEach(parameter -> { + // 设置自定义参数 + parameters.add(new ParameterBuilder() + .name(parameter.getName()) + .description(parameter.getDescription()) + .modelRef(new ModelRef(parameter.getDataType())) + .parameterType(parameter.getType()) + .required(parameter.isRequired()) + .defaultValue(parameter.getDefaultValue()) + .build()); + }); + return parameters; + } + + + public static Predicate basePackage(final String[] basePackages) { + return input -> declaringClass(input).transform(handlerPackage(basePackages)).or(true); + } + + private static Function, Boolean> handlerPackage(final String[] basePackages) { + return input -> { + // 循环判断匹配 + for (String strPackage : basePackages) { + boolean isMatch = input.getPackage().getName().startsWith(strPackage); + if (isMatch) { + return true; + } + } + return false; + }; + } + + @SuppressWarnings("deprecation") + private static Optional> declaringClass(RequestHandler input) { + return Optional.fromNullable(input.declaringClass()); + } + + /** + * 按照类中字段顺序显示 + */ + @Component + public static class ApiModelPropertyBuilderPlugin implements ModelPropertyBuilderPlugin { + + @Override + public void apply(ModelPropertyContext context) { + try { + Optional beanPropertyDefinitionOptional = context.getBeanPropertyDefinition(); + Optional annotation = Optional.absent(); + if (context.getAnnotatedElement().isPresent()) { + annotation = annotation.or(findApiModePropertyAnnotation(context.getAnnotatedElement().get())); + } + if (context.getBeanPropertyDefinition().isPresent()) { + annotation = annotation.or(findPropertyAnnotation(context.getBeanPropertyDefinition().get(), ApiModelProperty.class)); + } + if (beanPropertyDefinitionOptional.isPresent()) { + BeanPropertyDefinition beanPropertyDefinition = beanPropertyDefinitionOptional.get(); + if (annotation.isPresent() && annotation.get().position() != 0) { + return; + } + AnnotatedField annotatedField = beanPropertyDefinition.getField(); + if (annotatedField == null) { + return; + } + Class clazz = annotatedField.getDeclaringClass(); + Field[] fields = clazz.getDeclaredFields(); + // 获取当前字段对象 + Field field = clazz.getDeclaredField(annotatedField.getName()); + boolean required = false; + // 获取字段注解 + NotNull notNull = field.getDeclaredAnnotation(NotNull.class); + NotBlank notBlank = field.getDeclaredAnnotation(NotBlank.class); + if (notNull != null || notBlank != null) { + required = true; + } + int position = ArrayUtils.indexOf(fields, field); + if (position != -1) { + context.getBuilder().position(position).required(required); + } + } + } catch (Exception exception) { + log.error("Swagger ApiModelProperty预处理异常", exception); + } + } + + @Override + public boolean supports(DocumentationType delimiter) { + return SwaggerPluginSupport.pluginDoesApply(delimiter); + } + } + +} diff --git a/jjj_erp/bootstrap/src/main/java/net/jjjerp/handler/GlobalExceptionHandler.java b/jjj_erp/bootstrap/src/main/java/net/jjjerp/handler/GlobalExceptionHandler.java new file mode 100644 index 0000000..adbb34e --- /dev/null +++ b/jjj_erp/bootstrap/src/main/java/net/jjjerp/handler/GlobalExceptionHandler.java @@ -0,0 +1,260 @@ + + +package net.jjjerp.handler; + +import com.alibaba.fastjson.JSON; +import com.auth0.jwt.exceptions.JWTDecodeException; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.framework.common.api.ApiCode; +import net.jjjerp.framework.common.api.ApiResult; +import net.jjjerp.framework.common.exception.BusinessException; +import net.jjjerp.framework.common.exception.DaoException; +import net.jjjerp.framework.common.exception.SpringBootJjjException; +import net.jjjerp.framework.core.bean.RequestDetail; +import net.jjjerp.framework.core.util.RequestDetailThreadLocal; +import net.jjjerp.admin.exception.SysLoginException; +import org.apache.shiro.authc.AuthenticationException; +import org.apache.shiro.authz.UnauthenticatedException; +import org.apache.shiro.authz.UnauthorizedException; +import org.springframework.http.HttpStatus; +import org.springframework.http.converter.HttpMessageNotReadableException; +import org.springframework.validation.BindingResult; +import org.springframework.validation.FieldError; +import org.springframework.web.HttpMediaTypeException; +import org.springframework.web.HttpRequestMethodNotSupportedException; +import org.springframework.web.bind.MethodArgumentNotValidException; +import org.springframework.web.bind.annotation.ControllerAdvice; +import org.springframework.web.bind.annotation.ExceptionHandler; +import org.springframework.web.bind.annotation.ResponseStatus; +import org.springframework.web.bind.annotation.RestController; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + +@ControllerAdvice +@RestController +@Slf4j +public class GlobalExceptionHandler { + + /** + * 非法参数验证异常 + * + * @param ex + * @return + */ + @ExceptionHandler(MethodArgumentNotValidException.class) + @ResponseStatus(value = HttpStatus.OK) + public ApiResult> handleMethodArgumentNotValidExceptionHandler(MethodArgumentNotValidException ex) { + printRequestDetail(); + BindingResult bindingResult = ex.getBindingResult(); + List list = new ArrayList<>(); + List fieldErrors = bindingResult.getFieldErrors(); + for (FieldError fieldError : fieldErrors) { + list.add(fieldError.getDefaultMessage()); + } + Collections.sort(list); + log.error(getApiCodeString(ApiCode.PARAMETER_EXCEPTION) + ":" + JSON.toJSONString(list)); + return ApiResult.fail(ApiCode.PARAMETER_EXCEPTION, list); + } + + /** + * 系统登录异常处理 + * + * @param exception + * @return + */ + @ExceptionHandler(value = SysLoginException.class) + @ResponseStatus(HttpStatus.OK) + public ApiResult sysLoginExceptionHandler(SysLoginException exception) { + printRequestDetail(); + printApiCodeException(ApiCode.LOGIN_EXCEPTION, exception); + return ApiResult.fail(ApiCode.LOGIN_EXCEPTION); + } + + + /** + * HTTP解析请求参数异常 + * + * @param exception + * @return + */ + @ExceptionHandler(value = HttpMessageNotReadableException.class) + @ResponseStatus(HttpStatus.OK) + public ApiResult httpMessageNotReadableException(HttpMessageNotReadableException exception) { + printRequestDetail(); + printApiCodeException(ApiCode.PARAMETER_EXCEPTION, exception); + return ApiResult.fail(ApiCode.PARAMETER_EXCEPTION); + } + + /** + * HTTP + * + * @param exception + * @return + */ + @ExceptionHandler(value = HttpMediaTypeException.class) + @ResponseStatus(HttpStatus.OK) + public ApiResult httpMediaTypeException(HttpMediaTypeException exception) { + printRequestDetail(); + printApiCodeException(ApiCode.HTTP_MEDIA_TYPE_EXCEPTION, exception); + return ApiResult.fail(ApiCode.HTTP_MEDIA_TYPE_EXCEPTION); + } + + /** + * 自定义业务/数据异常处理 + * + * @param exception + * @return + */ + @ExceptionHandler(value = {SpringBootJjjException.class}) + @ResponseStatus(HttpStatus.OK) + public ApiResult springBootJjjExceptionHandler(SpringBootJjjException exception) { + int errorCode; + boolean isLog = true; + if (exception instanceof BusinessException) { + if(exception.getErrorCode() != null){ + errorCode = exception.getErrorCode(); + }else{ + errorCode = ApiCode.BUSINESS_EXCEPTION.getCode(); + } + isLog = false; + } else if (exception instanceof DaoException) { + errorCode = ApiCode.DAO_EXCEPTION.getCode(); + } else { + errorCode = ApiCode.SPRING_BOOT_JJJ_EXCEPTION.getCode(); + } + // BusinessException不记录 + if(isLog){ + printRequestDetail(); + log.error("springBootJjjException:", exception); + } + return ApiResult.fail(errorCode, exception.getMessage()); + } + + + /** + * 登录授权异常处理 + * + * @param exception + * @return + */ + @ExceptionHandler(value = AuthenticationException.class) + @ResponseStatus(HttpStatus.OK) + public ApiResult authenticationExceptionHandler(AuthenticationException exception) { + printRequestDetail(); + printApiCodeException(ApiCode.AUTHENTICATION_EXCEPTION, exception); + return ApiResult.fail(exception.getMessage()); + } + + + /** + * 未认证异常处理 + * + * @param exception + * @return + */ + @ExceptionHandler(value = UnauthenticatedException.class) + @ResponseStatus(HttpStatus.OK) + public ApiResult unauthenticatedExceptionHandler(UnauthenticatedException exception) { + printRequestDetail(); + printApiCodeException(ApiCode.UNAUTHENTICATED_EXCEPTION, exception); + return ApiResult.fail(ApiCode.UNAUTHENTICATED_EXCEPTION); + } + + + /** + * 未授权异常处理 + * + * @param exception + * @return + */ + @ExceptionHandler(value = UnauthorizedException.class) + @ResponseStatus(HttpStatus.OK) + public ApiResult unauthorizedExceptionHandler(UnauthorizedException exception) { + printRequestDetail(); + printApiCodeException(ApiCode.UNAUTHORIZED_EXCEPTION, exception); + return ApiResult.fail(ApiCode.UNAUTHORIZED_EXCEPTION); + } + + + /** + * JWT Token解析异常 + * + * @param exception + * @return + */ + @ExceptionHandler(value = JWTDecodeException.class) + @ResponseStatus(HttpStatus.OK) + public ApiResult jWTDecodeExceptionHandler(JWTDecodeException exception) { + printRequestDetail(); + printApiCodeException(ApiCode.JWTDECODE_EXCEPTION, exception); + return ApiResult.fail(ApiCode.JWTDECODE_EXCEPTION); + } + + /** + * 默认的异常处理 + * + * @param exception + * @return + */ + @ExceptionHandler(value = HttpRequestMethodNotSupportedException.class) + @ResponseStatus(HttpStatus.OK) + public ApiResult httpRequestMethodNotSupportedExceptionHandler(Exception exception) { + printRequestDetail(); + printApiCodeException(ApiCode.HTTP_REQUEST_METHOD_NOT_SUPPORTED_EXCEPTION, exception); + return ApiResult.fail(ApiCode.HTTP_REQUEST_METHOD_NOT_SUPPORTED_EXCEPTION.getCode(), exception.getMessage()); + } + + /** + * 默认的异常处理 + * + * @param exception + * @return + */ + @ExceptionHandler(value = Exception.class) + @ResponseStatus(HttpStatus.OK) + public ApiResult exceptionHandler(Exception exception) { + printRequestDetail(); + printApiCodeException(ApiCode.SYSTEM_EXCEPTION, exception); + if(exception.getCause() != null && exception.getCause().getCause() != null){ + return ApiResult.fail(0, exception.getCause().getCause().getMessage()); + }else{ + return ApiResult.fail(0, exception.getMessage()); + } + } + + + /** + * 打印请求详情 + */ + private void printRequestDetail() { + RequestDetail requestDetail = RequestDetailThreadLocal.getRequestDetail(); + if (requestDetail != null) { + log.error("异常来源:ip: {}, path: {}", requestDetail.getIp(), requestDetail.getPath()); + } + } + + /** + * 获取ApiCode格式化字符串 + * + * @param apiCode + * @return + */ + private String getApiCodeString(ApiCode apiCode) { + if (apiCode != null) { + return String.format("errorCode: %s, errorMessage: %s", apiCode.getCode(), apiCode.getMessage()); + } + return null; + } + + /** + * 打印错误码及异常 + * + * @param apiCode + * @param exception + */ + private void printApiCodeException(ApiCode apiCode, Exception exception) { + log.error(getApiCodeString(apiCode), exception); + } + +} diff --git a/jjj_erp/bootstrap/target/classes/net/jjjerp/SpringBootJjjApplication.class b/jjj_erp/bootstrap/target/classes/net/jjjerp/SpringBootJjjApplication.class new file mode 100644 index 0000000..960600c Binary files /dev/null and b/jjj_erp/bootstrap/target/classes/net/jjjerp/SpringBootJjjApplication.class differ diff --git a/jjj_erp/bootstrap/target/classes/net/jjjerp/aop/LogAop.class b/jjj_erp/bootstrap/target/classes/net/jjjerp/aop/LogAop.class new file mode 100644 index 0000000..aa3821a Binary files /dev/null and b/jjj_erp/bootstrap/target/classes/net/jjjerp/aop/LogAop.class differ diff --git a/jjj_erp/bootstrap/target/classes/net/jjjerp/config/JacksonConfig.class b/jjj_erp/bootstrap/target/classes/net/jjjerp/config/JacksonConfig.class new file mode 100644 index 0000000..679e87f Binary files /dev/null and b/jjj_erp/bootstrap/target/classes/net/jjjerp/config/JacksonConfig.class differ diff --git a/jjj_erp/bootstrap/target/classes/net/jjjerp/config/JjjNameGenerator.class b/jjj_erp/bootstrap/target/classes/net/jjjerp/config/JjjNameGenerator.class new file mode 100644 index 0000000..6b81cf6 Binary files /dev/null and b/jjj_erp/bootstrap/target/classes/net/jjjerp/config/JjjNameGenerator.class differ diff --git a/jjj_erp/bootstrap/target/classes/net/jjjerp/config/MybatisPlusConfig$1.class b/jjj_erp/bootstrap/target/classes/net/jjjerp/config/MybatisPlusConfig$1.class new file mode 100644 index 0000000..3c8afb4 Binary files /dev/null and b/jjj_erp/bootstrap/target/classes/net/jjjerp/config/MybatisPlusConfig$1.class differ diff --git a/jjj_erp/bootstrap/target/classes/net/jjjerp/config/MybatisPlusConfig.class b/jjj_erp/bootstrap/target/classes/net/jjjerp/config/MybatisPlusConfig.class new file mode 100644 index 0000000..bc79d68 Binary files /dev/null and b/jjj_erp/bootstrap/target/classes/net/jjjerp/config/MybatisPlusConfig.class differ diff --git a/jjj_erp/bootstrap/target/classes/net/jjjerp/config/RedisCacheConfig.class b/jjj_erp/bootstrap/target/classes/net/jjjerp/config/RedisCacheConfig.class new file mode 100644 index 0000000..dd96440 Binary files /dev/null and b/jjj_erp/bootstrap/target/classes/net/jjjerp/config/RedisCacheConfig.class differ diff --git a/jjj_erp/bootstrap/target/classes/net/jjjerp/config/RedisTemplateConfig.class b/jjj_erp/bootstrap/target/classes/net/jjjerp/config/RedisTemplateConfig.class new file mode 100644 index 0000000..49888da Binary files /dev/null and b/jjj_erp/bootstrap/target/classes/net/jjjerp/config/RedisTemplateConfig.class differ diff --git a/jjj_erp/bootstrap/target/classes/net/jjjerp/config/RestTemplateConfig.class b/jjj_erp/bootstrap/target/classes/net/jjjerp/config/RestTemplateConfig.class new file mode 100644 index 0000000..7c920d9 Binary files /dev/null and b/jjj_erp/bootstrap/target/classes/net/jjjerp/config/RestTemplateConfig.class differ diff --git a/jjj_erp/bootstrap/target/classes/net/jjjerp/config/ShiroConfig.class b/jjj_erp/bootstrap/target/classes/net/jjjerp/config/ShiroConfig.class new file mode 100644 index 0000000..2fa00d9 Binary files /dev/null and b/jjj_erp/bootstrap/target/classes/net/jjjerp/config/ShiroConfig.class differ diff --git a/jjj_erp/bootstrap/target/classes/net/jjjerp/config/SpringBootJjjConfig.class b/jjj_erp/bootstrap/target/classes/net/jjjerp/config/SpringBootJjjConfig.class new file mode 100644 index 0000000..6c746c6 Binary files /dev/null and b/jjj_erp/bootstrap/target/classes/net/jjjerp/config/SpringBootJjjConfig.class differ diff --git a/jjj_erp/bootstrap/target/classes/net/jjjerp/config/SpringBootJjjCorsConfig.class b/jjj_erp/bootstrap/target/classes/net/jjjerp/config/SpringBootJjjCorsConfig.class new file mode 100644 index 0000000..0cae41a Binary files /dev/null and b/jjj_erp/bootstrap/target/classes/net/jjjerp/config/SpringBootJjjCorsConfig.class differ diff --git a/jjj_erp/bootstrap/target/classes/net/jjjerp/config/SpringBootJjjWebMvcConfig.class b/jjj_erp/bootstrap/target/classes/net/jjjerp/config/SpringBootJjjWebMvcConfig.class new file mode 100644 index 0000000..5e68a95 Binary files /dev/null and b/jjj_erp/bootstrap/target/classes/net/jjjerp/config/SpringBootJjjWebMvcConfig.class differ diff --git a/jjj_erp/bootstrap/target/classes/net/jjjerp/config/Swagger2Config$ApiModelPropertyBuilderPlugin.class b/jjj_erp/bootstrap/target/classes/net/jjjerp/config/Swagger2Config$ApiModelPropertyBuilderPlugin.class new file mode 100644 index 0000000..5526e8d Binary files /dev/null and b/jjj_erp/bootstrap/target/classes/net/jjjerp/config/Swagger2Config$ApiModelPropertyBuilderPlugin.class differ diff --git a/jjj_erp/bootstrap/target/classes/net/jjjerp/config/Swagger2Config.class b/jjj_erp/bootstrap/target/classes/net/jjjerp/config/Swagger2Config.class new file mode 100644 index 0000000..2ad1dab Binary files /dev/null and b/jjj_erp/bootstrap/target/classes/net/jjjerp/config/Swagger2Config.class differ diff --git a/jjj_erp/bootstrap/target/classes/net/jjjerp/handler/GlobalExceptionHandler.class b/jjj_erp/bootstrap/target/classes/net/jjjerp/handler/GlobalExceptionHandler.class new file mode 100644 index 0000000..bd0d187 Binary files /dev/null and b/jjj_erp/bootstrap/target/classes/net/jjjerp/handler/GlobalExceptionHandler.class differ diff --git a/jjj_erp/bootstrap/target/jjj-erp-1.0.jar b/jjj_erp/bootstrap/target/jjj-erp-1.0.jar new file mode 100644 index 0000000..8af1d8e Binary files /dev/null and b/jjj_erp/bootstrap/target/jjj-erp-1.0.jar differ diff --git a/jjj_erp/bootstrap/target/jjj-erp-1.0.jar.original b/jjj_erp/bootstrap/target/jjj-erp-1.0.jar.original new file mode 100644 index 0000000..10036c0 Binary files /dev/null and b/jjj_erp/bootstrap/target/jjj-erp-1.0.jar.original differ diff --git a/jjj_erp/bootstrap/target/maven-archiver/pom.properties b/jjj_erp/bootstrap/target/maven-archiver/pom.properties new file mode 100644 index 0000000..7c47fe7 --- /dev/null +++ b/jjj_erp/bootstrap/target/maven-archiver/pom.properties @@ -0,0 +1,5 @@ +#Generated by Maven +#Sat Jun 29 14:55:11 CST 2024 +version=1.0 +groupId=net.jjjerp +artifactId=bootstrap diff --git a/jjj_erp/bootstrap/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/jjj_erp/bootstrap/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst new file mode 100644 index 0000000..8556d9e --- /dev/null +++ b/jjj_erp/bootstrap/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst @@ -0,0 +1,16 @@ +net\jjjerp\SpringBootJjjApplication.class +net\jjjerp\config\RestTemplateConfig.class +net\jjjerp\config\Swagger2Config$ApiModelPropertyBuilderPlugin.class +net\jjjerp\config\MybatisPlusConfig.class +net\jjjerp\config\JjjNameGenerator.class +net\jjjerp\aop\LogAop.class +net\jjjerp\config\Swagger2Config.class +net\jjjerp\config\SpringBootJjjWebMvcConfig.class +net\jjjerp\config\MybatisPlusConfig$1.class +net\jjjerp\config\RedisTemplateConfig.class +net\jjjerp\config\ShiroConfig.class +net\jjjerp\config\SpringBootJjjConfig.class +net\jjjerp\handler\GlobalExceptionHandler.class +net\jjjerp\config\JacksonConfig.class +net\jjjerp\config\RedisCacheConfig.class +net\jjjerp\config\SpringBootJjjCorsConfig.class diff --git a/jjj_erp/bootstrap/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/jjj_erp/bootstrap/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst new file mode 100644 index 0000000..6f60004 --- /dev/null +++ b/jjj_erp/bootstrap/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst @@ -0,0 +1,14 @@ +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\bootstrap\src\main\java\net\jjjerp\config\MybatisPlusConfig.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\bootstrap\src\main\java\net\jjjerp\config\SpringBootJjjConfig.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\bootstrap\src\main\java\net\jjjerp\config\SpringBootJjjWebMvcConfig.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\bootstrap\src\main\java\net\jjjerp\config\JjjNameGenerator.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\bootstrap\src\main\java\net\jjjerp\handler\GlobalExceptionHandler.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\bootstrap\src\main\java\net\jjjerp\config\ShiroConfig.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\bootstrap\src\main\java\net\jjjerp\config\SpringBootJjjCorsConfig.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\bootstrap\src\main\java\net\jjjerp\aop\LogAop.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\bootstrap\src\main\java\net\jjjerp\config\RestTemplateConfig.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\bootstrap\src\main\java\net\jjjerp\config\Swagger2Config.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\bootstrap\src\main\java\net\jjjerp\config\JacksonConfig.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\bootstrap\src\main\java\net\jjjerp\config\RedisCacheConfig.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\bootstrap\src\main\java\net\jjjerp\SpringBootJjjApplication.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\bootstrap\src\main\java\net\jjjerp\config\RedisTemplateConfig.java diff --git a/jjj_erp/bootstrap/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst b/jjj_erp/bootstrap/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst new file mode 100644 index 0000000..e69de29 diff --git a/jjj_erp/bootstrap/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst b/jjj_erp/bootstrap/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst new file mode 100644 index 0000000..e69de29 diff --git a/jjj_erp/config/README.md b/jjj_erp/config/README.md new file mode 100644 index 0000000..792b62f --- /dev/null +++ b/jjj_erp/config/README.md @@ -0,0 +1 @@ +# config 项目配置模块 \ No newline at end of file diff --git a/jjj_erp/config/pom.xml b/jjj_erp/config/pom.xml new file mode 100644 index 0000000..733c863 --- /dev/null +++ b/jjj_erp/config/pom.xml @@ -0,0 +1,49 @@ + + + + 4.0.0 + + + com.zaxxer + HikariCP + ${hikari.version} + + + mysql + mysql-connector-java + ${mysql.version} + + + + + net.jjjerp + parent + 1.0 + + + config + config + 项目配置模块 + + + + + src/main/resources + true + + config/application-*.yml + + + + src/main/resources/config + true + config + + application-${profileActive}.yml + + + + + + diff --git a/jjj_erp/config/src/main/java/net/jjjerp/config/constant/CacheKey.java b/jjj_erp/config/src/main/java/net/jjjerp/config/constant/CacheKey.java new file mode 100644 index 0000000..c8dc995 --- /dev/null +++ b/jjj_erp/config/src/main/java/net/jjjerp/config/constant/CacheKey.java @@ -0,0 +1,10 @@ + + +package net.jjjerp.config.constant; + +/** + * 可排序查询参数对象 + */ +public interface CacheKey { + +} diff --git a/jjj_erp/config/src/main/java/net/jjjerp/config/constant/CommonConstant.java b/jjj_erp/config/src/main/java/net/jjjerp/config/constant/CommonConstant.java new file mode 100644 index 0000000..07b681d --- /dev/null +++ b/jjj_erp/config/src/main/java/net/jjjerp/config/constant/CommonConstant.java @@ -0,0 +1,153 @@ + + +package net.jjjerp.config.constant; + +/** + * 公共常量 + */ +public interface CommonConstant { + + /** + * 默认页码为1 + */ + Long DEFAULT_PAGE_INDEX = 1L; + + /** + * 默认页大小为10 + */ + Long DEFAULT_PAGE_SIZE = 10L; + + /** + * 分页总行数名称 + */ + String PAGE_TOTAL_NAME = "total"; + + /** + * 分页数据列表名称 + */ + String PAGE_RECORDS_NAME = "records"; + + /** + * 分页当前页码名称 + */ + String PAGE_INDEX_NAME = "pageIndex"; + + /** + * 分页当前页大小名称 + */ + String PAGE_SIZE_NAME = "pageSize"; + + /** + * 分页最后一页 + */ + String PAGE_LAST_NAME = "lastPage"; + + /** + * 登录用户 + */ + String LOGIN_SYS_USER = "loginSysUser"; + + /** + * 登录token + */ + String JWT_DEFAULT_TOKEN_NAME = "token"; + + /** + * JWT用户名 + */ + String JWT_USERNAME = "username"; + + /** + * JWT刷新新token响应状态码 + */ + int JWT_REFRESH_TOKEN_CODE = 460; + + /** + * JWT刷新新token响应状态码, + * Redis中不存在,但jwt未过期,不生成新的token,返回361状态码 + */ + int JWT_INVALID_TOKEN_CODE = 461; + + /** + * JWT Token默认密钥 + */ + String JWT_DEFAULT_SECRET = "888888"; + + /** + * JWT 默认过期时间,3600L,单位秒 + */ + Long JWT_DEFAULT_EXPIRE_SECOND = 3600L; + + /** + * 默认头像 + */ + String DEFAULT_HEAD_URL = ""; + + /** + * 管理员角色名称 + */ + String ADMIN_ROLE_NAME = "管理员"; + + String ADMIN_LOGIN = "adminLogin"; + + /** + * 验证码token + */ + String VERIFY_TOKEN = "verifyToken"; + + /** + * 图片 + */ + String IMAGE = "image"; + + /** + * JPEG + */ + String JPEG = "JPEG"; + + /** + * base64前缀 + */ + String BASE64_PREFIX = "data:image/png;base64,"; + + /** + * .. + */ + String SPOT_SPOT = ".."; + + /** + * ../ + */ + String SPOT_SPOT_BACKSLASH = "../"; + + /** + * SpringBootAdmin登录信息 + */ + String ADMIN_LOGIN_SESSION = "adminLoginSession"; + + /** + * 用户浏览器代理 + */ + String USER_AGENT = "User-Agent"; + + /** + * 本机地址IP + */ + String LOCALHOST_IP = "127.0.0.1"; + /** + * 本机地址名称 + */ + String LOCALHOST_IP_NAME = "本机地址"; + /** + * 局域网IP + */ + String LAN_IP = "192.168"; + /** + * 局域网名称 + */ + String LAN_IP_NAME = "局域网"; + /** + * 忽略appId + */ + String NOT_WITH_App_Id = "notWithAppId"; +} diff --git a/jjj_erp/config/src/main/java/net/jjjerp/config/constant/CommonRedisKey.java b/jjj_erp/config/src/main/java/net/jjjerp/config/constant/CommonRedisKey.java new file mode 100644 index 0000000..80456ea --- /dev/null +++ b/jjj_erp/config/src/main/java/net/jjjerp/config/constant/CommonRedisKey.java @@ -0,0 +1,103 @@ + + +package net.jjjerp.config.constant; + +/** + * redis key 常量 + **/ +public interface CommonRedisKey { + + // --------------------admin端登录信息开始---------------------- + /** + * 登录用户token信息key + * login:token:tokenMd5 + */ + String ADMIN_LOGIN_TOKEN = "erp.admin:login:token:%s"; + + /** + * 登录用户信息key + * login:user:username + */ + String ADMIN_LOGIN_USER = "erp.admin:login:user:%s"; + + /** + * 登录用户盐值信息key + * login:salt:username + */ + String ADMIN_LOGIN_SALT = "erp.admin:login:salt:%s"; + + /** + * 登录用户username token + * login:user:token:username:token + */ + String ADMIN_LOGIN_USER_TOKEN = "erp.admin:login:user:token:%s:%s"; + + + /** + * 登录用户下的所有token + * login:user:token:username:* + */ + String ADMIN_LOGIN_USER_ALL_TOKEN = "erp.admin:login:user:token:%s:*"; + + // --------------------admin端登录信息结束---------------------- + + // --------------------shop端登录信息开始---------------------- + /** + * 登录用户token信息key + * login:token:tokenMd5 + */ + String SHOP_LOGIN_TOKEN = "erp.shop:login:token:%s"; + + /** + * 登录用户信息key + * login:user:username + */ + String SHOP_LOGIN_USER = "erp.shop:login:user:%s"; + + /** + * 登录用户盐值信息key + * login:salt:username + */ + String SHOP_LOGIN_SALT = "erp.shop:login:salt:%s"; + + /** + * 登录用户username token + * login:user:token:username:token + */ + String SHOP_LOGIN_USER_TOKEN = "erp.shop:login:user:token:%s:%s"; + + + /** + * 登录用户下的所有token + * login:user:token:username:* + */ + String SHOP_LOGIN_USER_ALL_TOKEN = "erp.shop:login:user:token:%s:*"; + + // --------------------shop端登录信息结束---------------------- + + /** + * 地区缓存 + */ + String REGION_DATA = "erp.region.data"; + /** + * 设置缓存 + */ + String SETTING_DATA = "erp.setting.data:%s:%s"; + /** + * 所有设置缓存 + */ + String SETTING_DATA_ALL = "erp.setting.data:%s:*"; + /** + * 商品分类缓存 + */ + String PRODUCT_CATEGORY_DATA = "erp.product.category.data:%s"; + + /** + * uat测试安全ip + */ + String UAT_IP = "uat.ip"; + /** + * 所有设置缓存 + */ + String TASK_DATA= "erp.task.data.%s:%s:%s:%s"; +} diff --git a/jjj_erp/config/src/main/java/net/jjjerp/config/constant/DatePattern.java b/jjj_erp/config/src/main/java/net/jjjerp/config/constant/DatePattern.java new file mode 100644 index 0000000..0c837a9 --- /dev/null +++ b/jjj_erp/config/src/main/java/net/jjjerp/config/constant/DatePattern.java @@ -0,0 +1,39 @@ + + +package net.jjjerp.config.constant; + +/** + * 日期格式常量 + */ +public interface DatePattern { + + /** + * 年-月-日 + */ + String YYYY_MM_DD = "yyyy-MM-dd"; + /** + * 年-月-日 时:分 + */ + String YYYY_MM_DD_HH_MM = "yyyy-MM-dd HH:mm"; + /** + * 年-月-日 时:分:秒 + */ + String YYYY_MM_DD_HH_MM_SS = "yyyy-MM-dd HH:mm:ss"; + /** + * 年-月-日 时:分:秒:毫秒 + */ + String YYYY_MM_DD_HH_MM_SS_S = "yyyy-MM-dd HH:mm:ss.S"; + + /** + * 时:分 + */ + String HH_MM = "HH:mm"; + /** + * 时:分:秒 + */ + String HH_MM_SS = "HH:mm:ss"; + /** + * 时:分:秒:毫秒 + */ + String HH_MM_SS_S = "HH:mm:ss:S"; +} diff --git a/jjj_erp/config/src/main/java/net/jjjerp/config/properties/JwtProperties.java b/jjj_erp/config/src/main/java/net/jjjerp/config/properties/JwtProperties.java new file mode 100644 index 0000000..7558b1f --- /dev/null +++ b/jjj_erp/config/src/main/java/net/jjjerp/config/properties/JwtProperties.java @@ -0,0 +1,73 @@ + + +package net.jjjerp.config.properties; + +import net.jjjerp.config.constant.CommonConstant; +import lombok.Data; +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.stereotype.Component; + +/** + * JWT属性配置 + **/ +@Data +@Component +@ConfigurationProperties(prefix = "spring-boot-jjj.jwt") +public class JwtProperties { + + /** + * token名称,默认名称为:token,可自定义 + */ + private String tokenName = CommonConstant.JWT_DEFAULT_TOKEN_NAME; + + /** + * 密码 + */ + private String secret = CommonConstant.JWT_DEFAULT_SECRET; + + /** + * 签发人 + */ + private String issuer; + + /** + * 主题 + */ + private String subject; + + /** + * 签发的目标 + */ + private String audience; + + /** + * token失效时间,默认1小时,60*60=3600 + */ + private Long expireSecond = CommonConstant.JWT_DEFAULT_EXPIRE_SECOND; + + /** + * 是否刷新token,默认为true + */ + private boolean refreshToken = true; + + /** + * 刷新token倒计时,默认10分钟,10*60=600 + */ + private Integer refreshTokenCountdown; + + /** + * redis校验jwt token是否存在 + */ + private boolean redisCheck; + + /** + * 单用户登录,一个用户只能又一个有效的token + */ + private boolean singleLogin; + + /** + * 是否进行盐值校验 + */ + private boolean saltCheck; + +} diff --git a/jjj_erp/config/src/main/java/net/jjjerp/config/properties/ShiroPermissionProperties.java b/jjj_erp/config/src/main/java/net/jjjerp/config/properties/ShiroPermissionProperties.java new file mode 100644 index 0000000..cf58e8a --- /dev/null +++ b/jjj_erp/config/src/main/java/net/jjjerp/config/properties/ShiroPermissionProperties.java @@ -0,0 +1,27 @@ + + +package net.jjjerp.config.properties; + +import lombok.Data; + +/** + * Shiro权限配置映射类 + **/ +@Data +public class ShiroPermissionProperties { + + /** + * 路径 + */ + private String url; + /** + * 路径数组 + */ + private String[] urls; + + /** + * 权限 + */ + private String permission; + +} diff --git a/jjj_erp/config/src/main/java/net/jjjerp/config/properties/ShiroProperties.java b/jjj_erp/config/src/main/java/net/jjjerp/config/properties/ShiroProperties.java new file mode 100644 index 0000000..42a5927 --- /dev/null +++ b/jjj_erp/config/src/main/java/net/jjjerp/config/properties/ShiroProperties.java @@ -0,0 +1,39 @@ + + +package net.jjjerp.config.properties; + +import lombok.Data; +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.boot.context.properties.NestedConfigurationProperty; + +import java.util.List; + +/** + * Shiro配置映射类 + **/ +@Data +@ConfigurationProperties(prefix = "spring-boot-jjj.shiro") +public class ShiroProperties { + + /** + * 是否启用 + */ + private boolean enable; + + /** + * 路径权限配置 + */ + private String filterChainDefinitions; + + /** + * 设置无需权限路径集合 + */ + private List anon; + + /** + * 权限配置集合 + */ + @NestedConfigurationProperty + private List permission; + +} diff --git a/jjj_erp/config/src/main/java/net/jjjerp/config/properties/SpringBootJjjAopProperties.java b/jjj_erp/config/src/main/java/net/jjjerp/config/properties/SpringBootJjjAopProperties.java new file mode 100644 index 0000000..edee110 --- /dev/null +++ b/jjj_erp/config/src/main/java/net/jjjerp/config/properties/SpringBootJjjAopProperties.java @@ -0,0 +1,162 @@ + + +package net.jjjerp.config.properties; + +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.boot.context.properties.NestedConfigurationProperty; +import org.springframework.stereotype.Component; + +import java.util.Set; + +/** + * AOP配置属性 + **/ +@Data +@Component +@ConfigurationProperties(prefix = "spring-boot-jjj.aop") +public class SpringBootJjjAopProperties { + + /** + * 请求路径Filter配置 + */ + @NestedConfigurationProperty + private LogAopConfig log = new LogAopConfig(); + + /** + * 操作日志配置 + */ + @NestedConfigurationProperty + private OperationLogConfig operationLog; + + /** + * 登录日志配置 + */ + private LoginLogConfig loginLog; + + @Data + public static class AopConfig { + + /** + * 是否启用 + */ + private boolean enable; + + } + + @Data + @EqualsAndHashCode(callSuper = true) + public static class LogAopConfig extends AopConfig { + + /** + * 是否启用requestId + */ + private boolean enableRequestId = true; + + /** + * 日志输出类型:print-type + */ + private LogPrintType logPrintType = LogPrintType.ORDER; + + /** + * 请求ID生成类型 + */ + private RequestIdType requestIdType = RequestIdType.IDWORK; + + /** + * 请求日志在控制台是否格式化输出,local环境建议开启,服务器环境设置为false + */ + private boolean requestLogFormat = true; + + /** + * 响应日志在控制台是否格式化输出,local环境建议开启,服务器环境设置为false + */ + private boolean responseLogFormat = true; + + /** + * 排除路径 + */ + private Set excludePaths; + } + + /** + * 操作日志配置 + */ + @Data + public static class OperationLogConfig { + + /** + * 是否启用 + */ + private boolean enable = true; + + /** + * 排除路径 + */ + private Set excludePaths; + + } + + /** + * 登录日志配置 + */ + @Data + public static class LoginLogConfig { + + /** + * 是否启用 + */ + private boolean enable = true; + + /** + * 登录路径 + */ + private String loginPath = "/login"; + + /** + * 登出路径 + */ + private String logoutPath = "/logout"; + + } + + /** + * 日志打印类型 + **/ + public enum LogPrintType { + + /** + * 不打印日志 + */ + NONE, + /** + * 请求和响应日志,按照执行顺序分开打印 + */ + ORDER, + /** + * 方法执行结束时,连续分开打印请求和响应日志 + */ + LINE, + /** + * 方法执行结束时,合并请求和响应日志,同时打印 + */ + MERGE; + + } + + /** + * 请求ID生成类型 + **/ + public enum RequestIdType { + /** + * 生成UUID无中横线 + */ + UUID, + /** + * 生成数字 + */ + IDWORK + } + +} diff --git a/jjj_erp/config/src/main/java/net/jjjerp/config/properties/SpringBootJjjCorsProperties.java b/jjj_erp/config/src/main/java/net/jjjerp/config/properties/SpringBootJjjCorsProperties.java new file mode 100644 index 0000000..6199f63 --- /dev/null +++ b/jjj_erp/config/src/main/java/net/jjjerp/config/properties/SpringBootJjjCorsProperties.java @@ -0,0 +1,62 @@ + + +package net.jjjerp.config.properties; + +import lombok.Data; +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.stereotype.Component; +import org.springframework.web.cors.CorsConfiguration; + +import java.util.Arrays; +import java.util.Collections; +import java.util.List; + +/** + * 跨域属性配置 + **/ +@Data +@Component +@ConfigurationProperties(prefix = "spring-boot-jjj.cors") +public class SpringBootJjjCorsProperties { + + /** + * 是否启用跨域,默认启用 + */ + private boolean enable = true; + + /** + * CORS过滤的路径,默认:/** + */ + private String path = "/**"; + + /** + * 允许访问的源 + */ + private List allowedOrigins = Collections.singletonList(CorsConfiguration.ALL); + + /** + * 允许访问的请求头 + */ + private List allowedHeaders = Collections.singletonList(CorsConfiguration.ALL); + + /** + * 是否允许发送cookie + */ + private boolean allowCredentials = true; + + /** + * 允许访问的请求方式 + */ + private List allowedMethods = Collections.singletonList(CorsConfiguration.ALL); + + /** + * 允许响应的头 + */ + private List exposedHeaders = Arrays.asList("token"); + + /** + * 该响应的有效时间默认为30分钟,在有效时间内,浏览器无须为同一请求再次发起预检请求 + */ + private Long maxAge = 1800L; + +} diff --git a/jjj_erp/config/src/main/java/net/jjjerp/config/properties/SpringBootJjjFilterProperties.java b/jjj_erp/config/src/main/java/net/jjjerp/config/properties/SpringBootJjjFilterProperties.java new file mode 100644 index 0000000..859c714 --- /dev/null +++ b/jjj_erp/config/src/main/java/net/jjjerp/config/properties/SpringBootJjjFilterProperties.java @@ -0,0 +1,54 @@ + + +package net.jjjerp.config.properties; + +import lombok.Data; +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.boot.context.properties.NestedConfigurationProperty; +import org.springframework.stereotype.Component; + +/** + * Filter配置属性 + **/ +@Data +@Component +@ConfigurationProperties(prefix = "spring-boot-jjj.filter") +public class SpringBootJjjFilterProperties { + + /** + * RequestDetail Filter配置 + */ + @NestedConfigurationProperty + private FilterConfig request = new FilterConfig(); + + /** + * XSS Filter配置 + */ + @NestedConfigurationProperty + private FilterConfig xss = new FilterConfig(); + + @Data + public static class FilterConfig { + + /** + * 是否启用 + */ + private boolean enable; + + /** + * 过滤的路径 + */ + private String[] urlPatterns; + + /** + * 排序 + */ + private int order; + + /** + * 是否支持异步 + */ + private boolean async; + + } +} diff --git a/jjj_erp/config/src/main/java/net/jjjerp/config/properties/SpringBootJjjInterceptorProperties.java b/jjj_erp/config/src/main/java/net/jjjerp/config/properties/SpringBootJjjInterceptorProperties.java new file mode 100644 index 0000000..2267c82 --- /dev/null +++ b/jjj_erp/config/src/main/java/net/jjjerp/config/properties/SpringBootJjjInterceptorProperties.java @@ -0,0 +1,68 @@ + + +package net.jjjerp.config.properties; + +import lombok.Data; +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.boot.context.properties.NestedConfigurationProperty; +import org.springframework.stereotype.Component; + +/** + * spring-boot-jjj拦截器配置属性 + */ +@Data +@Component +@ConfigurationProperties(prefix = "spring-boot-jjj.interceptor") +public class SpringBootJjjInterceptorProperties { + + /** + * SpringBootAdmin权限拦截器 + */ + private InterceptorConfig springbootadmin = new InterceptorConfig(); + + /** + * 自定义权限拦截器 + */ + @NestedConfigurationProperty + private InterceptorConfig permission = new InterceptorConfig(); + + /** + * 资源拦截器 + */ + @NestedConfigurationProperty + private InterceptorConfig resource = new InterceptorConfig(); + + /** + * 上传拦截器 + */ + @NestedConfigurationProperty + private InterceptorConfig upload = new InterceptorConfig(); + + /** + * 下载拦截器 + */ + @NestedConfigurationProperty + private InterceptorConfig download = new InterceptorConfig(); + + @Data + public static class InterceptorConfig { + + /** + * 是否启用 + */ + private boolean enable; + + /** + * 包含的路径 + */ + private String[] includePaths = new String[]{}; + + /** + * 排除路径 + */ + private String[] excludePaths = new String[]{}; + + + } + +} diff --git a/jjj_erp/config/src/main/java/net/jjjerp/config/properties/SpringBootJjjProperties.java b/jjj_erp/config/src/main/java/net/jjjerp/config/properties/SpringBootJjjProperties.java new file mode 100644 index 0000000..a1d327b --- /dev/null +++ b/jjj_erp/config/src/main/java/net/jjjerp/config/properties/SpringBootJjjProperties.java @@ -0,0 +1,149 @@ + + +package net.jjjerp.config.properties; + + +import lombok.Data; +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.boot.context.properties.NestedConfigurationProperty; +import org.springframework.stereotype.Component; + +import java.util.List; + +/** + * spring-boot-jjj属性配置信息 + */ +@Data +@Component +@ConfigurationProperties(prefix = "spring-boot-jjj") +public class SpringBootJjjProperties { + /** + * 当前版本号 + */ + private String projectVersion; + + /** + * 是否启用ansi控制台输出有颜色的字体,local环境建议开启,服务器环境设置为false + */ + private boolean enableAnsi; + + /** + * 项目IP或域名地址 + */ + private String serverIp; + + /** + * 是否启用验证码 + */ + private boolean enableVerifyCode; + + /** + * 新建登录用户初始化盐值 + */ + private String loginInitSalt; + + /** + * 新建登录用户初始化密码 + */ + private String loginInitPassword; + + /** + * 新建用户初始化头像 + */ + private String loginInitHead; + + /** + * 实现BaseEnum接口的枚举包 + */ + private String[] enumPackages; + + /** + * 拦截器配置 + */ + @NestedConfigurationProperty + private SpringBootJjjInterceptorProperties interceptor; + + /** + * 过滤器配置 + */ + @NestedConfigurationProperty + private SpringBootJjjFilterProperties filter; + + /** + * 上传目录 + */ + private String uploadPath; + /** + * 资源访问路径,前端访问 + */ + private String resourceAccessPath; + /** + * 资源访问路径,后段配置,资源映射/拦截器使用 + */ + private String resourceAccessPatterns; + /** + * 资源访问全路径 + */ + private String resourceAccessUrl; + + /** + * 允许上传的文件后缀集合 + */ + private List allowUploadFileExtensions; + /** + * 允许下载的文件后缀集合 + */ + private List allowDownloadFileExtensions; + /** + * 租户忽略表 + */ + private List ignoreTables; + + /** + * JWT配置 + */ + @NestedConfigurationProperty + private JwtProperties jwt; + + /** + * Shiro配置 + */ + @NestedConfigurationProperty + private ShiroProperties shiro = new ShiroProperties(); + + /** + * 项目静态资源访问配置 + * + * @see SpringBootJjjWebMvcConfig addResourceHandlers + */ + private String resourceHandlers; + + /** + * 跨域配置 + */ + @NestedConfigurationProperty + private SpringBootJjjCorsProperties cors = new SpringBootJjjCorsProperties(); + + /** + * Swagger路径 + */ + private List swaggerPaths; + + + + /** + * 静态资源访问全路径 + */ + //private String staticAccessUrl; + + private static String staticAccessUrl; + + + public static String getStaticAccessUrl() { + return staticAccessUrl; + } + + public void setStaticAccessUrl(String staticAccessUrl) { + SpringBootJjjProperties.staticAccessUrl = staticAccessUrl; + } +} diff --git a/jjj_erp/config/src/main/java/net/jjjerp/config/properties/SpringBootJjjStaticProperties.java b/jjj_erp/config/src/main/java/net/jjjerp/config/properties/SpringBootJjjStaticProperties.java new file mode 100644 index 0000000..1fb0a9f --- /dev/null +++ b/jjj_erp/config/src/main/java/net/jjjerp/config/properties/SpringBootJjjStaticProperties.java @@ -0,0 +1,31 @@ + + +package net.jjjerp.config.properties; + +import lombok.Data; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Component; + +import javax.annotation.PostConstruct; + +/** + * 配置文件属性映射为静态属性 + **/ +@Slf4j +@Data +@Component +public class SpringBootJjjStaticProperties { + + public static String INFO_PROJECT_VERSION = ""; + + @Value("${info.project-version}") + private String infoProjectVersion; + + @PostConstruct + public void init() { + INFO_PROJECT_VERSION = this.infoProjectVersion; + log.debug("INFO_PROJECT_VERSION:" + INFO_PROJECT_VERSION); + } + +} diff --git a/jjj_erp/config/src/main/java/net/jjjerp/config/properties/SwaggerProperties.java b/jjj_erp/config/src/main/java/net/jjjerp/config/properties/SwaggerProperties.java new file mode 100644 index 0000000..279e23c --- /dev/null +++ b/jjj_erp/config/src/main/java/net/jjjerp/config/properties/SwaggerProperties.java @@ -0,0 +1,114 @@ + + +package net.jjjerp.config.properties; + +import lombok.Data; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.boot.context.properties.NestedConfigurationProperty; +import org.springframework.stereotype.Component; + +import java.util.List; + +/** + * Swagger配置属性 + **/ +@Data +@Component +@ConfigurationProperties(prefix = "spring-boot-jjj.swagger") +public class SwaggerProperties { + + /** + * 是否启用Swagger + */ + private boolean enable; + + /** + * 扫描的基本包 + */ + @Value("${spring-boot-jjj.swagger.base.package}") + private String basePackage; + + /** + * 联系人邮箱 + */ + @Value("${spring-boot-jjj.swagger.contact.email}") + private String contactEmail; + + /** + * 联系人名称 + */ + @Value("${spring-boot-jjj.swagger.contact.name}") + private String contactName; + + /** + * 联系人网址 + */ + @Value("${spring-boot-jjj.swagger.contact.url}") + private String contactUrl; + + /** + * 描述 + */ + private String description; + + /** + * 标题 + */ + private String title; + + /** + * 网址 + */ + private String url; + + /** + * 版本 + */ + private String version; + + /** + * 自定义参数配置 + */ + @NestedConfigurationProperty + private List parameterConfig; + + /** + * 自定义参数配置 + */ + @Data + public static class ParameterConfig { + + /** + * 名称 + */ + private String name; + + /** + * 描述 + */ + private String description; + + /** + * 参数类型 + * header, cookie, body, query + */ + private String type = "head"; + + /** + * 数据类型 + */ + private String dataType = "String"; + + /** + * 是否必填 + */ + private boolean required; + + /** + * 默认值 + */ + private String defaultValue; + + } +} diff --git a/jjj_erp/config/src/main/resources/config/application-dev.yml b/jjj_erp/config/src/main/resources/config/application-dev.yml new file mode 100644 index 0000000..db1f85a --- /dev/null +++ b/jjj_erp/config/src/main/resources/config/application-dev.yml @@ -0,0 +1,28 @@ +spring-boot-jjj: + # 是否启用ansi控制台输出有颜色的字体,dev环境建议开启,服务器环境设置为false + enable-ansi: true + # 文件上传下载配置 + upload-path: D:/product_java/jjj_erp_java/uploads + + +spring: + datasource: + url: jdbc:mysql://127.0.0.1:3306/jjj_erp_java?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&useSSL=false&allowPublicKeyRetrieval=true + username: root + password: root + + # Redis配置 + redis: + database: 0 + host: 127.0.0.1 + password: 123456 + port: 6379 + +# logback.xml中有详细的日志配置 +# 打印SQL语句和结果集,本地开发环境可开启,线上注释掉 +mybatis-plus: + configuration: + log-impl: org.apache.ibatis.logging.stdout.StdOutImpl +logging: + file: + path: D:/java/logs/erp \ No newline at end of file diff --git a/jjj_erp/config/src/main/resources/config/application-prod.yml b/jjj_erp/config/src/main/resources/config/application-prod.yml new file mode 100644 index 0000000..affc6fe --- /dev/null +++ b/jjj_erp/config/src/main/resources/config/application-prod.yml @@ -0,0 +1,40 @@ +server: + port: 8892 + +spring-boot-jjj: + # 是否启用ansi控制台输出有颜色的字体,dev环境建议开启,服务器环境设置为false + enable-ansi: false + # 当前环境服务IP地址/域名 + server-ip: https://erp.jjjshop.net + # 文件上传下载配置 + upload-path: /www/wwwroot/java/uploads + # AOP配置 + aop: + # Aop日志配置 + log: + # NONE:不打印日志 + # ORDER:请求和响应日志,按照执行顺序分开打印 + # LINE:方法执行结束时,连续分开打印请求和响应日志 + # MERGE:方法执行结束时,合并请求和响应日志,同时打印 + log-print-type: NONE +# logback.xml中有详细的日志配置 +spring: + datasource: + url: jdbc:mysql://127.0.0.1:3306/jjj_erp_java?autoReconnect=true&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&useSSL=false&allowPublicKeyRetrieval=true + username: root + password: cLGfTNk3sBRmRBnw + + # Redis配置 + redis: + database: 0 + host: localhost + password: 123456 + port: 6379 + +# 打印SQL语句和结果集,本地开发环境可开启,线上注释掉 +mybatis-plus: + configuration: + log-impl: org.apache.ibatis.logging.stdout.StdOutImpl +logging: + file: + path: /www/wwwroot/erp.jjjerp.net/logs \ No newline at end of file diff --git a/jjj_erp/config/src/main/resources/config/application-test.yml b/jjj_erp/config/src/main/resources/config/application-test.yml new file mode 100644 index 0000000..40e65b7 --- /dev/null +++ b/jjj_erp/config/src/main/resources/config/application-test.yml @@ -0,0 +1,42 @@ +server: + port: 8892 + +spring-boot-jjj: + # 是否启用ansi控制台输出有颜色的字体,dev环境建议开启,服务器环境设置为false + enable-ansi: false + # 当前环境服务IP地址/域名 + server-ip: http://150.158.154.41 + # 文件上传下载配置 + upload-path: /www/wwwroot/jjj_erp.com/uploads + # AOP配置 + aop: + # Aop日志配置 + log: + # NONE:不打印日志 + # ORDER:请求和响应日志,按照执行顺序分开打印 + # LINE:方法执行结束时,连续分开打印请求和响应日志 + # MERGE:方法执行结束时,合并请求和响应日志,同时打印 + log-print-type: NONE + +# logback.xml中有详细的日志配置 +logging: + path: /www/wwwroot/jjj_erp.com/logs +################################ spring config end ################################# + +spring: + datasource: + url: jdbc:mysql://127.0.0.1:3306/jjj_erp?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&useSSL=false&allowPublicKeyRetrieval=true + username: jjj_erp + password: 2STCfnf2WRSGfRn3 + + # Redis配置 + redis: + database: 0 + host: localhost + password: 123456 + port: 6379 + +# 打印SQL语句和结果集,本地开发环境可开启,线上注释掉 +mybatis-plus: + configuration: + log-impl: org.apache.ibatis.logging.stdout.StdOutImpl \ No newline at end of file diff --git a/jjj_erp/config/src/main/resources/config/application-uat.yml b/jjj_erp/config/src/main/resources/config/application-uat.yml new file mode 100644 index 0000000..7e48967 --- /dev/null +++ b/jjj_erp/config/src/main/resources/config/application-uat.yml @@ -0,0 +1,42 @@ +server: + port: 8892 + +spring-boot-jjj: + # 是否启用ansi控制台输出有颜色的字体,dev环境建议开启,服务器环境设置为false + enable-ansi: false + # 当前环境服务IP地址/域名 + server-ip: http://demo-erp.jjjerp.net + # 文件上传下载配置 + upload-path: /www/wwwroot/demo-erp.jjjerp.net/uploads + # AOP配置 + aop: + # Aop日志配置 + log: + # NONE:不打印日志 + # ORDER:请求和响应日志,按照执行顺序分开打印 + # LINE:方法执行结束时,连续分开打印请求和响应日志 + # MERGE:方法执行结束时,合并请求和响应日志,同时打印 + log-print-type: NONE + +# logback.xml中有详细的日志配置 +logging: + path: /www/wwwroot/demo-erp.jjjerp.net/logs +################################ spring config end ################################# + +spring: + datasource: + url: jdbc:mysql://127.0.0.1:3306/demo_erp?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&useSSL=false&allowPublicKeyRetrieval=true + username: demo_erp + password: znJ5J3j7nzwA45cx + + # Redis配置 + redis: + database: 0 + host: localhost + password: 123456 + port: 6379 + +# 打印SQL语句和结果集,本地开发环境可开启,线上注释掉 +mybatis-plus: + configuration: + log-impl: org.apache.ibatis.logging.stdout.StdOutImpl \ No newline at end of file diff --git a/jjj_erp/config/src/main/resources/config/application.yml b/jjj_erp/config/src/main/resources/config/application.yml new file mode 100644 index 0000000..f622ee9 --- /dev/null +++ b/jjj_erp/config/src/main/resources/config/application.yml @@ -0,0 +1,381 @@ +# spring-boot-jjj Common Config + +############################# 访问路径、端口tomcat start ############################# +server: + port: 8892 + servlet: + context-path: /api + encoding: + charset: UTF-8 + enabled: true + force: true + tomcat: + threads: + max: 1000 + min-spare: 30 + uri-encoding: UTF-8 +############################# 访问路径、端口tomcat end ############################### + +################################ spring config start ############################### +spring: + application: + name: spring-boot-jjj + jackson: + date-format: yyyy-MM-dd HH:mm:ss + time-zone: GMT+8 + banner: + charset: UTF-8 + location: classpath:config/banner.txt + servlet: + # 文件上传配置 + multipart: + # 指定上传文件的临时目录 + location: /opt/upload/tmp + # 单个文件最大值 + max-file-size: 10MB + # 单个请求文件总计最大值 + max-request-size: 100MB + mvc: + async: + request-timeout: 20000 + +# 当前项目maven激活环境,例如:dev/test/uat/prod,对应pom.xml中profile设置值 +--- +spring: + profiles: + active: @profileActive@ + +# logback.xml中有详细的日志配置 +logging: + config: classpath:config/logback.xml + # 方便Spring Boot Admin页面上实时查看日志 + file: + name: logs/${spring.application.name}.log + path: ./logs +################################ spring config end ################################# + + +############################## spring-boot-jjj start ############################## +spring-boot-jjj: + # 当前版本号 + project-version: '@project.version@' + # 是否启用ansi控制台输出有颜色的字体 + enable-ansi: true + # 服务器IP地址或域名 + server-ip: http://127.0.0.1:${server.port} + # 是否启用验证码 + enable-verify-code: false + # 实现BaseEnum接口的枚举包 + enum-packages: net.jjjerp.framework.common.enums + # Swagger路径 + swagger-paths: /swagger-ui.html,/docs,/doc.html,/swagger-resources/**,/webjars/**,/v2/api-docs,/csrf,/v2/api-docs-ext,/null/swagger-resources/** + # Filter配置 + filter: + request: + enable: true + url-patterns: /* + order: 1 + async: true + xss: + enable: true + url-patterns: /* + order: 2 + async: true + + # 拦截器配置 + interceptor: + permission: + enable: false + include-paths: /** + resource: + enable: false + include-paths: ${spring-boot-jjj.resource-access-patterns} + upload: + enable: false + include-paths: /uploads/** + download: + enable: false + include-paths: /download/** + + # AOP配置 + aop: + # Aop日志配置 + log: + # 是否启用 + enable: true + # 是否启用requestId + enable-request-id: true + # requestId生成规则: UUID/IDWORK + request-id-type: IDWORK + # NONE:不打印日志 + # ORDER:请求和响应日志,按照执行顺序分开打印 + # LINE:方法执行结束时,连续分开打印请求和响应日志 + # MERGE:方法执行结束时,合并请求和响应日志,同时打印 + log-print-type: ORDER + # 请求日志在控制台是否格式化输出,local环境建议开启,服务器环境设置为false + request-log-format: true + # 响应日志在控制台是否格式化输出,local环境建议开启,服务器环境设置为false + response-log-format: true + # 排除的路径 + exclude-paths: /,/csrf + # 操作日志配置 + operation-log: + # 是否启用 + enable: true + # 排除的路径 + exclude-paths: + # 登录日志配置 + login-log: + # 是否启用 + enable: true + # 登录地址 + login-path: /admin/passport/login + # 登出地址 + logout-path: /admin/passport/logout + + # 文件上传下载配置 + # 上传路径配置 + upload-path: /opt/resource/uploads/ + # 资源访问路径 + resource-access-path: /resource/ + # 资源访问路径匹配:/resource/** + resource-access-patterns: ${spring-boot-jjj.resource-access-path}** + # 资源访问全路径前缀:http://127.0.0.1:8888/resource/ + resource-access-url: ${spring-boot-jjj.server-ip}${server.servlet.context-path}${spring-boot-jjj.resource-access-path} + # 静态资源访问目录 + static-access-url: ${spring-boot-jjj.server-ip}${server.servlet.context-path}/static/ + # 全局允许上传的类型 + allow-upload-file-extensions: jpg,png,docx,xlsx,pptx,pdf + # 全局允许下载的类型 + allow-download-file-extensions: jpg,png,docx,xlsx,pptx,pdf + # 租户忽略表 + ignore_tables: jjjerp_region,jjjerp_message,jjjerp_message_field,jjjerp_material_property + + ############################ CORS start ############################ + # CORS跨域配置,默认允许跨域 + cors: + # 是否启用跨域,默认启用 + enable: true + # CORS过滤的路径,默认:/** + path: /** + # 允许访问的源 + allowed-origins: '*' + # 允许访问的请求头 + allowed-headers: '*' + # 是否允许发送cookie + allow-credentials: true + # 允许访问的请求方式 + allowed-methods: OPTION,GET,POST + # 允许响应的头 + exposed-headers: token + # 该响应的有效时间默认为30分钟,在有效时间内,浏览器无须为同一请求再次发起预检请求 + max-age: 1800 + + ############################ CORS end ############################## + + ########################## Resource start ########################## + # 静态资源访问配置 + resource-handlers: | + /static/**=classpath:/static/ + swagger-ui.html=classpath:/META-INF/resources/ + /webjars/**=classpath:/META-INF/resources/webjars/ + doc.html=classpath:/META-INF/resources/ + ########################## Resource end ############################ + + ######################## Spring Shiro start ######################## + shiro: + # 是否启用 + enable: true + # 权限配置 + anon: + # 排除静态资源 + - /static/**,/templates/** + # 排除Swagger + - ${spring-boot-jjj.swagger-paths} + # 排除actuator + - /actuator/** + - # 排除首页 + - /,/index.html + # front模块 + - /front/** + # admin模块 + - /saas/passport/login + # shop模块 + - /admin/index/base,/admin/passport/login + # job模块 + - /job/** + # 多行字符串权限配置 + filter-chain-definitions: | + /resource/**=anon + /uploads/**=anon + /verificationCode/**=anon + /enum=anon + /getSysUserInfo=anon + + ######################## Spring Shiro end ########################## + + ############################ JWT start ############################# + jwt: + # token请求头名称 + token-name: token + # jwt密钥 + secret: 888888 + # 发行人 + issuer: ${spring.application.name} + # 观众 + audience: web + # 默认过期时间1小时,单位:秒 + expire-second: 36000 + # 是否刷新token + refresh-token: true + # 刷新token的时间间隔,默认10分钟,单位:秒 + refresh-token-countdown: 600 + # redis校验jwt token是否存在,可选 + redis-check: true + # true: 同一个账号只能是最后一次登录token有效,false:同一个账号可多次登录 + single-login: false + # 盐值校验,如果不加自定义盐值,则使用secret校验 + salt-check: true + ############################ JWT end ############################### + +############################### spring-boot-jjj end ############################### + + +############################### mybatis-plus start ################################# +mybatis-plus: + # 启动时是否检查MyBatis XML文件是否存在 + check-config-location: true + # 支持统配符 * 或者 ; 分割 + typeEnumsPackage: net.jjjerp.*.enums + # MyBatis原生配置 + configuration: + # 字段名称下划线转驼峰命名 + map-underscore-to-camel-case: true + global-config: + db-config: + # 全局默认主键类型 + id-type: auto + # 逻辑已删除值(默认为 1) + logic-delete-value: 1 + # 逻辑未删除值(默认为 0) + logic-not-delete-value: 0 + # 表前缀 + table-prefix: jjjerp_ + configuration-properties: + # 自定义sql中表名带前缀 + prefix: jjjerp_ + # mapper xml映射路径 + mapper-locations: classpath*:mapper/**/*Mapper.xml +################################ mybatis-plus end ################################## + + +############################### HikariCP 数据源配置 start ################################ +--- +spring: + datasource: + driver-class-name: com.mysql.jdbc.Driver + type: com.zaxxer.hikari.HikariDataSource + cachePrepStmts: true + prepStmtCacheSize: 300 + prepStmtCacheSqlLimit: 2048 + useServerPrepStmts: true + useLocalSessionState: true + rewriteBatchedStatements: true + cacheResultSetMetadata: true + cacheServerConfiguration: true + elideSetAutoCommits: true + maintainTimeStats: false + hikari: + minimum-idle: 10 + maximum-pool-size: 20 + idle-timeout: 10000 + max-lifetime: 1800000 + connection-timeout: 30000 +############################### HikariCP 数据源配置 end ################################ + + +############################### Redis 公共配置 start ############################### +--- +spring: + redis: + timeout: 10s + lettuce: + pool: + max-active: 200 + max-idle: 8 + max-wait: 10s + min-idle: 2 + shutdown-timeout: 3s +############################### Redis 公共配置 end ################################## + + +#################################### Swagger start ################################# +--- +spring-boot-jjj: + swagger: + # 是否启用 + enable: true + base: + # 扫描的包,多个包使用逗号隔开 + package: net.jjjerp + contact: + email: 279517889@qq.com + name: jjjerp + url: https://www.jjjshop.net + description: + title: ${spring.application.name} API Documents + version: ${project.version} + # 自定义参数配置,可配置N个 + parameter-config: + - name: ${spring-boot-jjj.jwt.token-name} + description: Token Request Header + # header, cookie, body, query + type: header + data-type: String + required: false + # 测试接口时,自动填充token的值 + default-value: + +# knife4j配置 +knife4j: + enable: ${spring-boot-jjj.swagger.enable} + basic: + enable: false + username: admin + password: admin + +#################################### Swagger end ################################### + + +############################## Spring boot admin start ############################## + +# 开启和暴露端点 +management: + endpoint: + health: + show-details: ALWAYS + logfile: + #可在线查看日志 + enabled: true + endpoints: + web: + exposure: + include: '*' + +# 自定义项目信息,Spring Boot Admin展示使用 +info: + project-groupId: '@project.parent.groupId@' + project-name: ${spring.application.name} + project-finalName: '@boot.artifact.name@' + project-author: jjjerp + project-description: ${spring.application.name} project + project-sourceEncoding: '@project.build.sourceEncoding@' + project-spring-boot-version: '@spring-boot.version@' + project-mybatis-plus-version: '@mybatis-plus-boot-starter.version@' + project-version: '@project.version@' + project-website: 'https://www.jjjshop.net' + project-home: ${spring-boot-jjj.server-ip}${server.servlet.context-path} + project-swagger: ${spring-boot-jjj.server-ip}${server.servlet.context-path}/swagger-ui.html + project-knife4j: ${spring-boot-jjj.server-ip}${server.servlet.context-path}/doc.html +############################## Spring boot admin end ############################### + diff --git a/jjj_erp/config/src/main/resources/config/banner.txt b/jjj_erp/config/src/main/resources/config/banner.txt new file mode 100644 index 0000000..e86758b --- /dev/null +++ b/jjj_erp/config/src/main/resources/config/banner.txt @@ -0,0 +1,13 @@ +${AnsiColor.BLUE} + _ _ _ _ + (_) | | | | | | + ___ _ __ _ __ _ _ __ __ _ ______| |__ ___ ___ | |_ ______ _ __ | |_ _ ___ + / __| '_ \| '__| | '_ \ / _` |______| '_ \ / _ \ / _ \| __|______| '_ \| | | | / __| + \__ \ |_) | | | | | | | (_| | | |_) | (_) | (_) | |_ | |_) | | |_| \__ \ + |___/ .__/|_| |_|_| |_|\__, | |_.__/ \___/ \___/ \__| | .__/|_|\__,_|___/ + | | __/ | | | + |_| |___/ |_| + +${AnsiColor.YELLOW} :: Spring Boot :: ${AnsiColor.WHITE}(v${spring-boot.version}) +${AnsiColor.YELLOW} :: jjj-erp :: ${AnsiColor.WHITE}(v${project.version}) + https://www.jjjshop.net diff --git a/jjj_erp/config/src/main/resources/config/logback.xml b/jjj_erp/config/src/main/resources/config/logback.xml new file mode 100644 index 0000000..f02bf61 --- /dev/null +++ b/jjj_erp/config/src/main/resources/config/logback.xml @@ -0,0 +1,89 @@ + + + + + + + + + + ${CONTEXT_NAME} + + + + + + + + + + + + + + + + + + ${CONSOLE_LOG_PATTERN} + + + + + + + ${FILE_LOG_PATTERN} + + ${log.path}/spring-boot-jjj.log + + ${log.path}/spring-boot-jjj-%d{yyyy-MM-dd}.%i.log + ${MAX_FILE_SIZE} + ${MAX_HISTORY} + + + + + + + ${FILE_LOG_PATTERN} + + ${log.path}/spring-boot-jjj-error.log + + ${log.path}/spring-boot-jjj-error-%d{yyyy-MM-dd}.%i.log + ${MAX_FILE_SIZE} + ${MAX_HISTORY} + + + ERROR + ACCEPT + DENY + + + + + + 0 + 1024 + + + + 0 + 1024 + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/jjj_erp/config/src/main/resources/config/mime-type.properties b/jjj_erp/config/src/main/resources/config/mime-type.properties new file mode 100644 index 0000000..62e8ca1 --- /dev/null +++ b/jjj_erp/config/src/main/resources/config/mime-type.properties @@ -0,0 +1,4 @@ +# +# 扩展mime-type +# 参考:https://svn.apache.org/viewvc/httpd/httpd/trunk/docs/conf/mime.types?revision=1752884&view=co +md=text/markdown \ No newline at end of file diff --git a/jjj_erp/config/src/main/resources/static/404.html b/jjj_erp/config/src/main/resources/static/404.html new file mode 100644 index 0000000..bc817f9 --- /dev/null +++ b/jjj_erp/config/src/main/resources/static/404.html @@ -0,0 +1,10 @@ + + + + + 404 + + +

Not Found

+ + \ No newline at end of file diff --git a/jjj_erp/config/src/main/resources/static/500.html b/jjj_erp/config/src/main/resources/static/500.html new file mode 100644 index 0000000..4955871 --- /dev/null +++ b/jjj_erp/config/src/main/resources/static/500.html @@ -0,0 +1,10 @@ + + + + + 500 + + +

500

+ + \ No newline at end of file diff --git a/jjj_erp/config/src/main/resources/static/error.html b/jjj_erp/config/src/main/resources/static/error.html new file mode 100644 index 0000000..556c6bc --- /dev/null +++ b/jjj_erp/config/src/main/resources/static/error.html @@ -0,0 +1,10 @@ + + + + + 404 + + +

Error

+ + \ No newline at end of file diff --git a/jjj_erp/config/src/main/resources/static/express.xlsx b/jjj_erp/config/src/main/resources/static/express.xlsx new file mode 100644 index 0000000..4db61da Binary files /dev/null and b/jjj_erp/config/src/main/resources/static/express.xlsx differ diff --git a/jjj_erp/config/src/main/resources/static/favicon.ico b/jjj_erp/config/src/main/resources/static/favicon.ico new file mode 100644 index 0000000..bd5a678 Binary files /dev/null and b/jjj_erp/config/src/main/resources/static/favicon.ico differ diff --git a/jjj_erp/config/src/main/resources/static/image/agent/agent-bg.jpg b/jjj_erp/config/src/main/resources/static/image/agent/agent-bg.jpg new file mode 100644 index 0000000..e421175 Binary files /dev/null and b/jjj_erp/config/src/main/resources/static/image/agent/agent-bg.jpg differ diff --git a/jjj_erp/config/src/main/resources/static/image/agent/backdrop.jpg b/jjj_erp/config/src/main/resources/static/image/agent/backdrop.jpg new file mode 100644 index 0000000..443c926 Binary files /dev/null and b/jjj_erp/config/src/main/resources/static/image/agent/backdrop.jpg differ diff --git a/jjj_erp/config/src/main/resources/static/image/center_menu/address.png b/jjj_erp/config/src/main/resources/static/image/center_menu/address.png new file mode 100644 index 0000000..c137820 Binary files /dev/null and b/jjj_erp/config/src/main/resources/static/image/center_menu/address.png differ diff --git a/jjj_erp/config/src/main/resources/static/image/center_menu/agent.png b/jjj_erp/config/src/main/resources/static/image/center_menu/agent.png new file mode 100644 index 0000000..6edd283 Binary files /dev/null and b/jjj_erp/config/src/main/resources/static/image/center_menu/agent.png differ diff --git a/jjj_erp/config/src/main/resources/static/image/center_menu/assemble.png b/jjj_erp/config/src/main/resources/static/image/center_menu/assemble.png new file mode 100644 index 0000000..5ba2119 Binary files /dev/null and b/jjj_erp/config/src/main/resources/static/image/center_menu/assemble.png differ diff --git a/jjj_erp/config/src/main/resources/static/image/center_menu/bargain.png b/jjj_erp/config/src/main/resources/static/image/center_menu/bargain.png new file mode 100644 index 0000000..d4fb9de Binary files /dev/null and b/jjj_erp/config/src/main/resources/static/image/center_menu/bargain.png differ diff --git a/jjj_erp/config/src/main/resources/static/image/center_menu/comment.png b/jjj_erp/config/src/main/resources/static/image/center_menu/comment.png new file mode 100644 index 0000000..9ef2554 Binary files /dev/null and b/jjj_erp/config/src/main/resources/static/image/center_menu/comment.png differ diff --git a/jjj_erp/config/src/main/resources/static/image/center_menu/coupon.png b/jjj_erp/config/src/main/resources/static/image/center_menu/coupon.png new file mode 100644 index 0000000..1d759e9 Binary files /dev/null and b/jjj_erp/config/src/main/resources/static/image/center_menu/coupon.png differ diff --git a/jjj_erp/config/src/main/resources/static/image/center_menu/gift.png b/jjj_erp/config/src/main/resources/static/image/center_menu/gift.png new file mode 100644 index 0000000..28ce3db Binary files /dev/null and b/jjj_erp/config/src/main/resources/static/image/center_menu/gift.png differ diff --git a/jjj_erp/config/src/main/resources/static/image/center_menu/lottery.png b/jjj_erp/config/src/main/resources/static/image/center_menu/lottery.png new file mode 100644 index 0000000..7124f64 Binary files /dev/null and b/jjj_erp/config/src/main/resources/static/image/center_menu/lottery.png differ diff --git a/jjj_erp/config/src/main/resources/static/image/center_menu/my_card.png b/jjj_erp/config/src/main/resources/static/image/center_menu/my_card.png new file mode 100644 index 0000000..73b18b1 Binary files /dev/null and b/jjj_erp/config/src/main/resources/static/image/center_menu/my_card.png differ diff --git a/jjj_erp/config/src/main/resources/static/image/center_menu/my_coupon.png b/jjj_erp/config/src/main/resources/static/image/center_menu/my_coupon.png new file mode 100644 index 0000000..3e7646b Binary files /dev/null and b/jjj_erp/config/src/main/resources/static/image/center_menu/my_coupon.png differ diff --git a/jjj_erp/config/src/main/resources/static/image/center_menu/my_fav.png b/jjj_erp/config/src/main/resources/static/image/center_menu/my_fav.png new file mode 100644 index 0000000..040cdd2 Binary files /dev/null and b/jjj_erp/config/src/main/resources/static/image/center_menu/my_fav.png differ diff --git a/jjj_erp/config/src/main/resources/static/image/center_menu/settings.png b/jjj_erp/config/src/main/resources/static/image/center_menu/settings.png new file mode 100644 index 0000000..2b87b01 Binary files /dev/null and b/jjj_erp/config/src/main/resources/static/image/center_menu/settings.png differ diff --git a/jjj_erp/config/src/main/resources/static/image/center_menu/sign.png b/jjj_erp/config/src/main/resources/static/image/center_menu/sign.png new file mode 100644 index 0000000..7ed678e Binary files /dev/null and b/jjj_erp/config/src/main/resources/static/image/center_menu/sign.png differ diff --git a/jjj_erp/config/src/main/resources/static/image/center_menu/task.png b/jjj_erp/config/src/main/resources/static/image/center_menu/task.png new file mode 100644 index 0000000..87744fc Binary files /dev/null and b/jjj_erp/config/src/main/resources/static/image/center_menu/task.png differ diff --git a/jjj_erp/config/src/main/resources/static/image/diy/active/assemble.png b/jjj_erp/config/src/main/resources/static/image/diy/active/assemble.png new file mode 100644 index 0000000..5816471 Binary files /dev/null and b/jjj_erp/config/src/main/resources/static/image/diy/active/assemble.png differ diff --git a/jjj_erp/config/src/main/resources/static/image/diy/active/assemble_bgimage.png b/jjj_erp/config/src/main/resources/static/image/diy/active/assemble_bgimage.png new file mode 100644 index 0000000..a628a5c Binary files /dev/null and b/jjj_erp/config/src/main/resources/static/image/diy/active/assemble_bgimage.png differ diff --git a/jjj_erp/config/src/main/resources/static/image/diy/active/bargain.png b/jjj_erp/config/src/main/resources/static/image/diy/active/bargain.png new file mode 100644 index 0000000..c1eac18 Binary files /dev/null and b/jjj_erp/config/src/main/resources/static/image/diy/active/bargain.png differ diff --git a/jjj_erp/config/src/main/resources/static/image/diy/active/bargain1.png b/jjj_erp/config/src/main/resources/static/image/diy/active/bargain1.png new file mode 100644 index 0000000..6b74aac Binary files /dev/null and b/jjj_erp/config/src/main/resources/static/image/diy/active/bargain1.png differ diff --git a/jjj_erp/config/src/main/resources/static/image/diy/active/bargain_bgimage.png b/jjj_erp/config/src/main/resources/static/image/diy/active/bargain_bgimage.png new file mode 100644 index 0000000..7a362b6 Binary files /dev/null and b/jjj_erp/config/src/main/resources/static/image/diy/active/bargain_bgimage.png differ diff --git a/jjj_erp/config/src/main/resources/static/image/diy/active/coupon.png b/jjj_erp/config/src/main/resources/static/image/diy/active/coupon.png new file mode 100644 index 0000000..32631b3 Binary files /dev/null and b/jjj_erp/config/src/main/resources/static/image/diy/active/coupon.png differ diff --git a/jjj_erp/config/src/main/resources/static/image/diy/active/live.png b/jjj_erp/config/src/main/resources/static/image/diy/active/live.png new file mode 100644 index 0000000..358b427 Binary files /dev/null and b/jjj_erp/config/src/main/resources/static/image/diy/active/live.png differ diff --git a/jjj_erp/config/src/main/resources/static/image/diy/active/preview.png b/jjj_erp/config/src/main/resources/static/image/diy/active/preview.png new file mode 100644 index 0000000..2ca07e8 Binary files /dev/null and b/jjj_erp/config/src/main/resources/static/image/diy/active/preview.png differ diff --git a/jjj_erp/config/src/main/resources/static/image/diy/active/preview_bg.png b/jjj_erp/config/src/main/resources/static/image/diy/active/preview_bg.png new file mode 100644 index 0000000..3cbf4c8 Binary files /dev/null and b/jjj_erp/config/src/main/resources/static/image/diy/active/preview_bg.png differ diff --git a/jjj_erp/config/src/main/resources/static/image/diy/active/seckill.png b/jjj_erp/config/src/main/resources/static/image/diy/active/seckill.png new file mode 100644 index 0000000..a4a35be Binary files /dev/null and b/jjj_erp/config/src/main/resources/static/image/diy/active/seckill.png differ diff --git a/jjj_erp/config/src/main/resources/static/image/diy/active/seckill_bgimage.png b/jjj_erp/config/src/main/resources/static/image/diy/active/seckill_bgimage.png new file mode 100644 index 0000000..73c1a4a Binary files /dev/null and b/jjj_erp/config/src/main/resources/static/image/diy/active/seckill_bgimage.png differ diff --git a/jjj_erp/config/src/main/resources/static/image/diy/article/01.png b/jjj_erp/config/src/main/resources/static/image/diy/article/01.png new file mode 100644 index 0000000..01ca99a Binary files /dev/null and b/jjj_erp/config/src/main/resources/static/image/diy/article/01.png differ diff --git a/jjj_erp/config/src/main/resources/static/image/diy/circular.png b/jjj_erp/config/src/main/resources/static/image/diy/circular.png new file mode 100644 index 0000000..12f22ef Binary files /dev/null and b/jjj_erp/config/src/main/resources/static/image/diy/circular.png differ diff --git a/jjj_erp/config/src/main/resources/static/image/diy/logo.png b/jjj_erp/config/src/main/resources/static/image/diy/logo.png new file mode 100644 index 0000000..a183735 Binary files /dev/null and b/jjj_erp/config/src/main/resources/static/image/diy/logo.png differ diff --git a/jjj_erp/config/src/main/resources/static/image/diy/logo_top.png b/jjj_erp/config/src/main/resources/static/image/diy/logo_top.png new file mode 100644 index 0000000..91bcf27 Binary files /dev/null and b/jjj_erp/config/src/main/resources/static/image/diy/logo_top.png differ diff --git a/jjj_erp/config/src/main/resources/static/image/diy/navbar/01.png b/jjj_erp/config/src/main/resources/static/image/diy/navbar/01.png new file mode 100644 index 0000000..7d72938 Binary files /dev/null and b/jjj_erp/config/src/main/resources/static/image/diy/navbar/01.png differ diff --git a/jjj_erp/config/src/main/resources/static/image/diy/navbar/02.png b/jjj_erp/config/src/main/resources/static/image/diy/navbar/02.png new file mode 100644 index 0000000..6ed1f86 Binary files /dev/null and b/jjj_erp/config/src/main/resources/static/image/diy/navbar/02.png differ diff --git a/jjj_erp/config/src/main/resources/static/image/diy/navbar/03.png b/jjj_erp/config/src/main/resources/static/image/diy/navbar/03.png new file mode 100644 index 0000000..5e1270c Binary files /dev/null and b/jjj_erp/config/src/main/resources/static/image/diy/navbar/03.png differ diff --git a/jjj_erp/config/src/main/resources/static/image/diy/navbar/04.png b/jjj_erp/config/src/main/resources/static/image/diy/navbar/04.png new file mode 100644 index 0000000..0e6edb5 Binary files /dev/null and b/jjj_erp/config/src/main/resources/static/image/diy/navbar/04.png differ diff --git a/jjj_erp/config/src/main/resources/static/image/diy/notice.png b/jjj_erp/config/src/main/resources/static/image/diy/notice.png new file mode 100644 index 0000000..35b5c9c Binary files /dev/null and b/jjj_erp/config/src/main/resources/static/image/diy/notice.png differ diff --git a/jjj_erp/config/src/main/resources/static/image/diy/service.png b/jjj_erp/config/src/main/resources/static/image/diy/service.png new file mode 100644 index 0000000..00041cc Binary files /dev/null and b/jjj_erp/config/src/main/resources/static/image/diy/service.png differ diff --git a/jjj_erp/config/src/main/resources/static/image/diy/shipin_live.png b/jjj_erp/config/src/main/resources/static/image/diy/shipin_live.png new file mode 100644 index 0000000..d92f75a Binary files /dev/null and b/jjj_erp/config/src/main/resources/static/image/diy/shipin_live.png differ diff --git a/jjj_erp/config/src/main/resources/static/image/diy/special.png b/jjj_erp/config/src/main/resources/static/image/diy/special.png new file mode 100644 index 0000000..1d0592d Binary files /dev/null and b/jjj_erp/config/src/main/resources/static/image/diy/special.png differ diff --git a/jjj_erp/config/src/main/resources/static/image/diy/video_poster.png b/jjj_erp/config/src/main/resources/static/image/diy/video_poster.png new file mode 100644 index 0000000..d0df38c Binary files /dev/null and b/jjj_erp/config/src/main/resources/static/image/diy/video_poster.png differ diff --git a/jjj_erp/config/src/main/resources/static/image/diy/window/01.jpg b/jjj_erp/config/src/main/resources/static/image/diy/window/01.jpg new file mode 100644 index 0000000..fb96fa4 Binary files /dev/null and b/jjj_erp/config/src/main/resources/static/image/diy/window/01.jpg differ diff --git a/jjj_erp/config/src/main/resources/static/image/diy/window/02.jpg b/jjj_erp/config/src/main/resources/static/image/diy/window/02.jpg new file mode 100644 index 0000000..087480a Binary files /dev/null and b/jjj_erp/config/src/main/resources/static/image/diy/window/02.jpg differ diff --git a/jjj_erp/config/src/main/resources/static/image/diy/window/03.jpg b/jjj_erp/config/src/main/resources/static/image/diy/window/03.jpg new file mode 100644 index 0000000..8ee59dd Binary files /dev/null and b/jjj_erp/config/src/main/resources/static/image/diy/window/03.jpg differ diff --git a/jjj_erp/config/src/main/resources/static/image/diy/window/04.jpg b/jjj_erp/config/src/main/resources/static/image/diy/window/04.jpg new file mode 100644 index 0000000..702eadc Binary files /dev/null and b/jjj_erp/config/src/main/resources/static/image/diy/window/04.jpg differ diff --git a/jjj_erp/config/src/main/resources/static/image/poster/product_bg.png b/jjj_erp/config/src/main/resources/static/image/poster/product_bg.png new file mode 100644 index 0000000..e014910 Binary files /dev/null and b/jjj_erp/config/src/main/resources/static/image/poster/product_bg.png differ diff --git a/jjj_erp/config/src/main/resources/static/image/poster/st-heiti-light.ttc b/jjj_erp/config/src/main/resources/static/image/poster/st-heiti-light.ttc new file mode 100644 index 0000000..88aeb7f Binary files /dev/null and b/jjj_erp/config/src/main/resources/static/image/poster/st-heiti-light.ttc differ diff --git a/jjj_erp/config/src/main/resources/static/image/tabbar/cart.png b/jjj_erp/config/src/main/resources/static/image/tabbar/cart.png new file mode 100644 index 0000000..91e6887 Binary files /dev/null and b/jjj_erp/config/src/main/resources/static/image/tabbar/cart.png differ diff --git a/jjj_erp/config/src/main/resources/static/image/tabbar/cart_active.png b/jjj_erp/config/src/main/resources/static/image/tabbar/cart_active.png new file mode 100644 index 0000000..15946a5 Binary files /dev/null and b/jjj_erp/config/src/main/resources/static/image/tabbar/cart_active.png differ diff --git a/jjj_erp/config/src/main/resources/static/image/tabbar/category.png b/jjj_erp/config/src/main/resources/static/image/tabbar/category.png new file mode 100644 index 0000000..590f2bd Binary files /dev/null and b/jjj_erp/config/src/main/resources/static/image/tabbar/category.png differ diff --git a/jjj_erp/config/src/main/resources/static/image/tabbar/category_active.png b/jjj_erp/config/src/main/resources/static/image/tabbar/category_active.png new file mode 100644 index 0000000..981b2e9 Binary files /dev/null and b/jjj_erp/config/src/main/resources/static/image/tabbar/category_active.png differ diff --git a/jjj_erp/config/src/main/resources/static/image/tabbar/home.png b/jjj_erp/config/src/main/resources/static/image/tabbar/home.png new file mode 100644 index 0000000..555c746 Binary files /dev/null and b/jjj_erp/config/src/main/resources/static/image/tabbar/home.png differ diff --git a/jjj_erp/config/src/main/resources/static/image/tabbar/home_active.png b/jjj_erp/config/src/main/resources/static/image/tabbar/home_active.png new file mode 100644 index 0000000..71c5199 Binary files /dev/null and b/jjj_erp/config/src/main/resources/static/image/tabbar/home_active.png differ diff --git a/jjj_erp/config/src/main/resources/static/image/tabbar/user.png b/jjj_erp/config/src/main/resources/static/image/tabbar/user.png new file mode 100644 index 0000000..e1beb95 Binary files /dev/null and b/jjj_erp/config/src/main/resources/static/image/tabbar/user.png differ diff --git a/jjj_erp/config/src/main/resources/static/image/tabbar/user_active.png b/jjj_erp/config/src/main/resources/static/image/tabbar/user_active.png new file mode 100644 index 0000000..e4bc438 Binary files /dev/null and b/jjj_erp/config/src/main/resources/static/image/tabbar/user_active.png differ diff --git a/jjj_erp/config/src/main/resources/static/image/task/article.png b/jjj_erp/config/src/main/resources/static/image/task/article.png new file mode 100644 index 0000000..31dd0a8 Binary files /dev/null and b/jjj_erp/config/src/main/resources/static/image/task/article.png differ diff --git a/jjj_erp/config/src/main/resources/static/image/task/base.png b/jjj_erp/config/src/main/resources/static/image/task/base.png new file mode 100644 index 0000000..050ee73 Binary files /dev/null and b/jjj_erp/config/src/main/resources/static/image/task/base.png differ diff --git a/jjj_erp/config/src/main/resources/static/image/task/image.png b/jjj_erp/config/src/main/resources/static/image/task/image.png new file mode 100644 index 0000000..54cba56 Binary files /dev/null and b/jjj_erp/config/src/main/resources/static/image/task/image.png differ diff --git a/jjj_erp/config/src/main/resources/static/image/task/invite.png b/jjj_erp/config/src/main/resources/static/image/task/invite.png new file mode 100644 index 0000000..b456f57 Binary files /dev/null and b/jjj_erp/config/src/main/resources/static/image/task/invite.png differ diff --git a/jjj_erp/config/src/main/resources/static/image/task/order.png b/jjj_erp/config/src/main/resources/static/image/task/order.png new file mode 100644 index 0000000..a1d48bc Binary files /dev/null and b/jjj_erp/config/src/main/resources/static/image/task/order.png differ diff --git a/jjj_erp/config/src/main/resources/static/image/task/product.png b/jjj_erp/config/src/main/resources/static/image/task/product.png new file mode 100644 index 0000000..82b4dd4 Binary files /dev/null and b/jjj_erp/config/src/main/resources/static/image/task/product.png differ diff --git a/jjj_erp/config/src/main/resources/static/image/task/sign.png b/jjj_erp/config/src/main/resources/static/image/task/sign.png new file mode 100644 index 0000000..e3f9aad Binary files /dev/null and b/jjj_erp/config/src/main/resources/static/image/task/sign.png differ diff --git a/jjj_erp/config/src/main/resources/static/image/task/task.png b/jjj_erp/config/src/main/resources/static/image/task/task.png new file mode 100644 index 0000000..9bbbec0 Binary files /dev/null and b/jjj_erp/config/src/main/resources/static/image/task/task.png differ diff --git a/jjj_erp/config/src/main/resources/static/index.html b/jjj_erp/config/src/main/resources/static/index.html new file mode 100644 index 0000000..64f3a47 --- /dev/null +++ b/jjj_erp/config/src/main/resources/static/index.html @@ -0,0 +1,514 @@ + + + + +spring-boot-jjj Home + + +

+ +

+

+ Everyone can develop projects independently, quickly and efficiently! +

+ + \ No newline at end of file diff --git a/jjj_erp/config/src/main/resources/static/verifyCode.html b/jjj_erp/config/src/main/resources/static/verifyCode.html new file mode 100644 index 0000000..8cd1039 --- /dev/null +++ b/jjj_erp/config/src/main/resources/static/verifyCode.html @@ -0,0 +1,48 @@ + + + + + 验证码 + + + +
+

方式一:获取图片

+ +

verifyToken:查看Responses Headers

+
+ +
+ +
+

方式二:获取base64图片编码

+ +

+
+ + + + + \ No newline at end of file diff --git a/jjj_erp/config/src/main/resources/static/welcome.html b/jjj_erp/config/src/main/resources/static/welcome.html new file mode 100644 index 0000000..95cf17a --- /dev/null +++ b/jjj_erp/config/src/main/resources/static/welcome.html @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/jjj_erp/config/src/main/resources/static/wx_express.xlsx b/jjj_erp/config/src/main/resources/static/wx_express.xlsx new file mode 100644 index 0000000..49205c3 Binary files /dev/null and b/jjj_erp/config/src/main/resources/static/wx_express.xlsx differ diff --git a/jjj_erp/config/target/classes/config/application-prod.yml b/jjj_erp/config/target/classes/config/application-prod.yml new file mode 100644 index 0000000..7217845 --- /dev/null +++ b/jjj_erp/config/target/classes/config/application-prod.yml @@ -0,0 +1,41 @@ +server: + port: 8892 + +spring-boot-jjj: + # 是否启用ansi控制台输出有颜色的字体,dev环境建议开启,服务器环境设置为false + enable-ansi: false + # 当前环境服务IP地址/域名 + server-ip: http://erp3.huadeng.fun +# server-ip: http://192.168.31.226:8892 + # 文件上传下载配置 + upload-path: /www/wwwroot/erp3.huadeng.fun/uploads + # AOP配置 + aop: + # Aop日志配置 + log: + # NONE:不打印日志 + # ORDER:请求和响应日志,按照执行顺序分开打印 + # LINE:方法执行结束时,连续分开打印请求和响应日志 + # MERGE:方法执行结束时,合并请求和响应日志,同时打印 + log-print-type: NONE +# logback.xml中有详细的日志配置 +spring: + datasource: + url: jdbc:mysql://127.0.0.1:3306/jjj_erp_git?autoReconnect=true&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&useSSL=false&allowPublicKeyRetrieval=true + username: root + password: cLGfTNk3sBRmRBnw + + # Redis配置 + redis: + database: 0 + host: localhost + password: 123456 + port: 6379 + +# 打印SQL语句和结果集,本地开发环境可开启,线上注释掉 +mybatis-plus: + configuration: + log-impl: org.apache.ibatis.logging.stdout.StdOutImpl +logging: + file: + path: /www/wwwroot/erp3.huadeng.fun/logs diff --git a/jjj_erp/config/target/classes/config/application.yml b/jjj_erp/config/target/classes/config/application.yml new file mode 100644 index 0000000..ec3d622 --- /dev/null +++ b/jjj_erp/config/target/classes/config/application.yml @@ -0,0 +1,381 @@ +# spring-boot-jjj Common Config + +############################# 访问路径、端口tomcat start ############################# +server: + port: 8892 + servlet: + context-path: /api + encoding: + charset: UTF-8 + enabled: true + force: true + tomcat: + threads: + max: 1000 + min-spare: 30 + uri-encoding: UTF-8 +############################# 访问路径、端口tomcat end ############################### + +################################ spring config start ############################### +spring: + application: + name: spring-boot-jjj + jackson: + date-format: yyyy-MM-dd HH:mm:ss + time-zone: GMT+8 + banner: + charset: UTF-8 + location: classpath:config/banner.txt + servlet: + # 文件上传配置 + multipart: + # 指定上传文件的临时目录 + location: /opt/upload/tmp + # 单个文件最大值 + max-file-size: 10MB + # 单个请求文件总计最大值 + max-request-size: 100MB + mvc: + async: + request-timeout: 20000 + +# 当前项目maven激活环境,例如:dev/test/uat/prod,对应pom.xml中profile设置值 +--- +spring: + profiles: + active: prod + +# logback.xml中有详细的日志配置 +logging: + config: classpath:config/logback.xml + # 方便Spring Boot Admin页面上实时查看日志 + file: + name: logs/${spring.application.name}.log + path: ./logs +################################ spring config end ################################# + + +############################## spring-boot-jjj start ############################## +spring-boot-jjj: + # 当前版本号 + project-version: '1.0' + # 是否启用ansi控制台输出有颜色的字体 + enable-ansi: true + # 服务器IP地址或域名 + server-ip: http://127.0.0.1:${server.port} + # 是否启用验证码 + enable-verify-code: false + # 实现BaseEnum接口的枚举包 + enum-packages: net.jjjerp.framework.common.enums + # Swagger路径 + swagger-paths: /swagger-ui.html,/docs,/doc.html,/swagger-resources/**,/webjars/**,/v2/api-docs,/csrf,/v2/api-docs-ext,/null/swagger-resources/** + # Filter配置 + filter: + request: + enable: true + url-patterns: /* + order: 1 + async: true + xss: + enable: true + url-patterns: /* + order: 2 + async: true + + # 拦截器配置 + interceptor: + permission: + enable: false + include-paths: /** + resource: + enable: false + include-paths: ${spring-boot-jjj.resource-access-patterns} + upload: + enable: false + include-paths: /uploads/** + download: + enable: false + include-paths: /download/** + + # AOP配置 + aop: + # Aop日志配置 + log: + # 是否启用 + enable: true + # 是否启用requestId + enable-request-id: true + # requestId生成规则: UUID/IDWORK + request-id-type: IDWORK + # NONE:不打印日志 + # ORDER:请求和响应日志,按照执行顺序分开打印 + # LINE:方法执行结束时,连续分开打印请求和响应日志 + # MERGE:方法执行结束时,合并请求和响应日志,同时打印 + log-print-type: ORDER + # 请求日志在控制台是否格式化输出,local环境建议开启,服务器环境设置为false + request-log-format: true + # 响应日志在控制台是否格式化输出,local环境建议开启,服务器环境设置为false + response-log-format: true + # 排除的路径 + exclude-paths: /,/csrf + # 操作日志配置 + operation-log: + # 是否启用 + enable: true + # 排除的路径 + exclude-paths: + # 登录日志配置 + login-log: + # 是否启用 + enable: true + # 登录地址 + login-path: /admin/passport/login + # 登出地址 + logout-path: /admin/passport/logout + + # 文件上传下载配置 + # 上传路径配置 + upload-path: /opt/resource/uploads/ + # 资源访问路径 + resource-access-path: /resource/ + # 资源访问路径匹配:/resource/** + resource-access-patterns: ${spring-boot-jjj.resource-access-path}** + # 资源访问全路径前缀:http://127.0.0.1:8888/resource/ + resource-access-url: ${spring-boot-jjj.server-ip}${server.servlet.context-path}${spring-boot-jjj.resource-access-path} + # 静态资源访问目录 + static-access-url: ${spring-boot-jjj.server-ip}${server.servlet.context-path}/static/ + # 全局允许上传的类型 + allow-upload-file-extensions: jpg,png,docx,xlsx,pptx,pdf + # 全局允许下载的类型 + allow-download-file-extensions: jpg,png,docx,xlsx,pptx,pdf + # 租户忽略表 + ignore_tables: jjjerp_region,jjjerp_message,jjjerp_message_field,jjjerp_material_property + + ############################ CORS start ############################ + # CORS跨域配置,默认允许跨域 + cors: + # 是否启用跨域,默认启用 + enable: true + # CORS过滤的路径,默认:/** + path: /** + # 允许访问的源 + allowed-origins: '*' + # 允许访问的请求头 + allowed-headers: '*' + # 是否允许发送cookie + allow-credentials: true + # 允许访问的请求方式 + allowed-methods: OPTION,GET,POST + # 允许响应的头 + exposed-headers: token + # 该响应的有效时间默认为30分钟,在有效时间内,浏览器无须为同一请求再次发起预检请求 + max-age: 1800 + + ############################ CORS end ############################## + + ########################## Resource start ########################## + # 静态资源访问配置 + resource-handlers: | + /static/**=classpath:/static/ + swagger-ui.html=classpath:/META-INF/resources/ + /webjars/**=classpath:/META-INF/resources/webjars/ + doc.html=classpath:/META-INF/resources/ + ########################## Resource end ############################ + + ######################## Spring Shiro start ######################## + shiro: + # 是否启用 + enable: true + # 权限配置 + anon: + # 排除静态资源 + - /static/**,/templates/** + # 排除Swagger + - ${spring-boot-jjj.swagger-paths} + # 排除actuator + - /actuator/** + - # 排除首页 + - /,/index.html + # front模块 + - /front/** + # admin模块 + - /saas/passport/login + # shop模块 + - /admin/index/base,/admin/passport/login + # job模块 + - /job/** + # 多行字符串权限配置 + filter-chain-definitions: | + /resource/**=anon + /uploads/**=anon + /verificationCode/**=anon + /enum=anon + /getSysUserInfo=anon + + ######################## Spring Shiro end ########################## + + ############################ JWT start ############################# + jwt: + # token请求头名称 + token-name: token + # jwt密钥 + secret: 888888 + # 发行人 + issuer: ${spring.application.name} + # 观众 + audience: web + # 默认过期时间1小时,单位:秒 + expire-second: 36000 + # 是否刷新token + refresh-token: true + # 刷新token的时间间隔,默认10分钟,单位:秒 + refresh-token-countdown: 600 + # redis校验jwt token是否存在,可选 + redis-check: true + # true: 同一个账号只能是最后一次登录token有效,false:同一个账号可多次登录 + single-login: false + # 盐值校验,如果不加自定义盐值,则使用secret校验 + salt-check: true + ############################ JWT end ############################### + +############################### spring-boot-jjj end ############################### + + +############################### mybatis-plus start ################################# +mybatis-plus: + # 启动时是否检查MyBatis XML文件是否存在 + check-config-location: true + # 支持统配符 * 或者 ; 分割 + typeEnumsPackage: net.jjjerp.*.enums + # MyBatis原生配置 + configuration: + # 字段名称下划线转驼峰命名 + map-underscore-to-camel-case: true + global-config: + db-config: + # 全局默认主键类型 + id-type: auto + # 逻辑已删除值(默认为 1) + logic-delete-value: 1 + # 逻辑未删除值(默认为 0) + logic-not-delete-value: 0 + # 表前缀 + table-prefix: jjjerp_ + configuration-properties: + # 自定义sql中表名带前缀 + prefix: jjjerp_ + # mapper xml映射路径 + mapper-locations: classpath*:mapper/**/*Mapper.xml +################################ mybatis-plus end ################################## + + +############################### HikariCP 数据源配置 start ################################ +--- +spring: + datasource: + driver-class-name: com.mysql.jdbc.Driver + type: com.zaxxer.hikari.HikariDataSource + cachePrepStmts: true + prepStmtCacheSize: 300 + prepStmtCacheSqlLimit: 2048 + useServerPrepStmts: true + useLocalSessionState: true + rewriteBatchedStatements: true + cacheResultSetMetadata: true + cacheServerConfiguration: true + elideSetAutoCommits: true + maintainTimeStats: false + hikari: + minimum-idle: 10 + maximum-pool-size: 20 + idle-timeout: 10000 + max-lifetime: 1800000 + connection-timeout: 30000 +############################### HikariCP 数据源配置 end ################################ + + +############################### Redis 公共配置 start ############################### +--- +spring: + redis: + timeout: 10s + lettuce: + pool: + max-active: 200 + max-idle: 8 + max-wait: 10s + min-idle: 2 + shutdown-timeout: 3s +############################### Redis 公共配置 end ################################## + + +#################################### Swagger start ################################# +--- +spring-boot-jjj: + swagger: + # 是否启用 + enable: true + base: + # 扫描的包,多个包使用逗号隔开 + package: net.jjjerp + contact: + email: 279517889@qq.com + name: jjjerp + url: https://www.jjjshop.net + description: + title: ${spring.application.name} API Documents + version: 1.0 + # 自定义参数配置,可配置N个 + parameter-config: + - name: ${spring-boot-jjj.jwt.token-name} + description: Token Request Header + # header, cookie, body, query + type: header + data-type: String + required: false + # 测试接口时,自动填充token的值 + default-value: + +# knife4j配置 +knife4j: + enable: ${spring-boot-jjj.swagger.enable} + basic: + enable: false + username: admin + password: admin + +#################################### Swagger end ################################### + + +############################## Spring boot admin start ############################## + +# 开启和暴露端点 +management: + endpoint: + health: + show-details: ALWAYS + logfile: + #可在线查看日志 + enabled: true + endpoints: + web: + exposure: + include: '*' + +# 自定义项目信息,Spring Boot Admin展示使用 +info: + project-groupId: 'net.jjjerp' + project-name: ${spring.application.name} + project-finalName: 'jjj-erp-1.0' + project-author: jjjerp + project-description: ${spring.application.name} project + project-sourceEncoding: 'UTF-8' + project-spring-boot-version: '2.3.12.RELEASE' + project-mybatis-plus-version: '3.4.1' + project-version: '1.0' + project-website: 'https://www.jjjshop.net' + project-home: ${spring-boot-jjj.server-ip}${server.servlet.context-path} + project-swagger: ${spring-boot-jjj.server-ip}${server.servlet.context-path}/swagger-ui.html + project-knife4j: ${spring-boot-jjj.server-ip}${server.servlet.context-path}/doc.html +############################## Spring boot admin end ############################### + diff --git a/jjj_erp/config/target/classes/config/banner.txt b/jjj_erp/config/target/classes/config/banner.txt new file mode 100644 index 0000000..e8b0bf5 --- /dev/null +++ b/jjj_erp/config/target/classes/config/banner.txt @@ -0,0 +1,13 @@ +${AnsiColor.BLUE} + _ _ _ _ + (_) | | | | | | + ___ _ __ _ __ _ _ __ __ _ ______| |__ ___ ___ | |_ ______ _ __ | |_ _ ___ + / __| '_ \| '__| | '_ \ / _` |______| '_ \ / _ \ / _ \| __|______| '_ \| | | | / __| + \__ \ |_) | | | | | | | (_| | | |_) | (_) | (_) | |_ | |_) | | |_| \__ \ + |___/ .__/|_| |_|_| |_|\__, | |_.__/ \___/ \___/ \__| | .__/|_|\__,_|___/ + | | __/ | | | + |_| |___/ |_| + +${AnsiColor.YELLOW} :: Spring Boot :: ${AnsiColor.WHITE}(v2.3.12.RELEASE) +${AnsiColor.YELLOW} :: jjj-erp :: ${AnsiColor.WHITE}(v1.0) + https://www.jjjshop.net diff --git a/jjj_erp/config/target/classes/config/logback.xml b/jjj_erp/config/target/classes/config/logback.xml new file mode 100644 index 0000000..f02bf61 --- /dev/null +++ b/jjj_erp/config/target/classes/config/logback.xml @@ -0,0 +1,89 @@ + + + + + + + + + + ${CONTEXT_NAME} + + + + + + + + + + + + + + + + + + ${CONSOLE_LOG_PATTERN} + + + + + + + ${FILE_LOG_PATTERN} + + ${log.path}/spring-boot-jjj.log + + ${log.path}/spring-boot-jjj-%d{yyyy-MM-dd}.%i.log + ${MAX_FILE_SIZE} + ${MAX_HISTORY} + + + + + + + ${FILE_LOG_PATTERN} + + ${log.path}/spring-boot-jjj-error.log + + ${log.path}/spring-boot-jjj-error-%d{yyyy-MM-dd}.%i.log + ${MAX_FILE_SIZE} + ${MAX_HISTORY} + + + ERROR + ACCEPT + DENY + + + + + + 0 + 1024 + + + + 0 + 1024 + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/jjj_erp/config/target/classes/config/mime-type.properties b/jjj_erp/config/target/classes/config/mime-type.properties new file mode 100644 index 0000000..62e8ca1 --- /dev/null +++ b/jjj_erp/config/target/classes/config/mime-type.properties @@ -0,0 +1,4 @@ +# +# 扩展mime-type +# 参考:https://svn.apache.org/viewvc/httpd/httpd/trunk/docs/conf/mime.types?revision=1752884&view=co +md=text/markdown \ No newline at end of file diff --git a/jjj_erp/config/target/classes/net/jjjerp/config/constant/CacheKey.class b/jjj_erp/config/target/classes/net/jjjerp/config/constant/CacheKey.class new file mode 100644 index 0000000..8a221aa Binary files /dev/null and b/jjj_erp/config/target/classes/net/jjjerp/config/constant/CacheKey.class differ diff --git a/jjj_erp/config/target/classes/net/jjjerp/config/constant/CommonConstant.class b/jjj_erp/config/target/classes/net/jjjerp/config/constant/CommonConstant.class new file mode 100644 index 0000000..78f29cd Binary files /dev/null and b/jjj_erp/config/target/classes/net/jjjerp/config/constant/CommonConstant.class differ diff --git a/jjj_erp/config/target/classes/net/jjjerp/config/constant/CommonRedisKey.class b/jjj_erp/config/target/classes/net/jjjerp/config/constant/CommonRedisKey.class new file mode 100644 index 0000000..043b667 Binary files /dev/null and b/jjj_erp/config/target/classes/net/jjjerp/config/constant/CommonRedisKey.class differ diff --git a/jjj_erp/config/target/classes/net/jjjerp/config/constant/DatePattern.class b/jjj_erp/config/target/classes/net/jjjerp/config/constant/DatePattern.class new file mode 100644 index 0000000..b0861da Binary files /dev/null and b/jjj_erp/config/target/classes/net/jjjerp/config/constant/DatePattern.class differ diff --git a/jjj_erp/config/target/classes/net/jjjerp/config/properties/JwtProperties.class b/jjj_erp/config/target/classes/net/jjjerp/config/properties/JwtProperties.class new file mode 100644 index 0000000..db05fda Binary files /dev/null and b/jjj_erp/config/target/classes/net/jjjerp/config/properties/JwtProperties.class differ diff --git a/jjj_erp/config/target/classes/net/jjjerp/config/properties/ShiroPermissionProperties.class b/jjj_erp/config/target/classes/net/jjjerp/config/properties/ShiroPermissionProperties.class new file mode 100644 index 0000000..570ddcb Binary files /dev/null and b/jjj_erp/config/target/classes/net/jjjerp/config/properties/ShiroPermissionProperties.class differ diff --git a/jjj_erp/config/target/classes/net/jjjerp/config/properties/ShiroProperties.class b/jjj_erp/config/target/classes/net/jjjerp/config/properties/ShiroProperties.class new file mode 100644 index 0000000..cb70e9b Binary files /dev/null and b/jjj_erp/config/target/classes/net/jjjerp/config/properties/ShiroProperties.class differ diff --git a/jjj_erp/config/target/classes/net/jjjerp/config/properties/SpringBootJjjAopProperties$AopConfig.class b/jjj_erp/config/target/classes/net/jjjerp/config/properties/SpringBootJjjAopProperties$AopConfig.class new file mode 100644 index 0000000..e6cd0b2 Binary files /dev/null and b/jjj_erp/config/target/classes/net/jjjerp/config/properties/SpringBootJjjAopProperties$AopConfig.class differ diff --git a/jjj_erp/config/target/classes/net/jjjerp/config/properties/SpringBootJjjAopProperties$LogAopConfig.class b/jjj_erp/config/target/classes/net/jjjerp/config/properties/SpringBootJjjAopProperties$LogAopConfig.class new file mode 100644 index 0000000..81b79d7 Binary files /dev/null and b/jjj_erp/config/target/classes/net/jjjerp/config/properties/SpringBootJjjAopProperties$LogAopConfig.class differ diff --git a/jjj_erp/config/target/classes/net/jjjerp/config/properties/SpringBootJjjAopProperties$LogPrintType.class b/jjj_erp/config/target/classes/net/jjjerp/config/properties/SpringBootJjjAopProperties$LogPrintType.class new file mode 100644 index 0000000..224a88c Binary files /dev/null and b/jjj_erp/config/target/classes/net/jjjerp/config/properties/SpringBootJjjAopProperties$LogPrintType.class differ diff --git a/jjj_erp/config/target/classes/net/jjjerp/config/properties/SpringBootJjjAopProperties$LoginLogConfig.class b/jjj_erp/config/target/classes/net/jjjerp/config/properties/SpringBootJjjAopProperties$LoginLogConfig.class new file mode 100644 index 0000000..9ffba56 Binary files /dev/null and b/jjj_erp/config/target/classes/net/jjjerp/config/properties/SpringBootJjjAopProperties$LoginLogConfig.class differ diff --git a/jjj_erp/config/target/classes/net/jjjerp/config/properties/SpringBootJjjAopProperties$OperationLogConfig.class b/jjj_erp/config/target/classes/net/jjjerp/config/properties/SpringBootJjjAopProperties$OperationLogConfig.class new file mode 100644 index 0000000..aaa0641 Binary files /dev/null and b/jjj_erp/config/target/classes/net/jjjerp/config/properties/SpringBootJjjAopProperties$OperationLogConfig.class differ diff --git a/jjj_erp/config/target/classes/net/jjjerp/config/properties/SpringBootJjjAopProperties$RequestIdType.class b/jjj_erp/config/target/classes/net/jjjerp/config/properties/SpringBootJjjAopProperties$RequestIdType.class new file mode 100644 index 0000000..5080e60 Binary files /dev/null and b/jjj_erp/config/target/classes/net/jjjerp/config/properties/SpringBootJjjAopProperties$RequestIdType.class differ diff --git a/jjj_erp/config/target/classes/net/jjjerp/config/properties/SpringBootJjjAopProperties.class b/jjj_erp/config/target/classes/net/jjjerp/config/properties/SpringBootJjjAopProperties.class new file mode 100644 index 0000000..222ea72 Binary files /dev/null and b/jjj_erp/config/target/classes/net/jjjerp/config/properties/SpringBootJjjAopProperties.class differ diff --git a/jjj_erp/config/target/classes/net/jjjerp/config/properties/SpringBootJjjCorsProperties.class b/jjj_erp/config/target/classes/net/jjjerp/config/properties/SpringBootJjjCorsProperties.class new file mode 100644 index 0000000..44e3130 Binary files /dev/null and b/jjj_erp/config/target/classes/net/jjjerp/config/properties/SpringBootJjjCorsProperties.class differ diff --git a/jjj_erp/config/target/classes/net/jjjerp/config/properties/SpringBootJjjFilterProperties$FilterConfig.class b/jjj_erp/config/target/classes/net/jjjerp/config/properties/SpringBootJjjFilterProperties$FilterConfig.class new file mode 100644 index 0000000..b43e626 Binary files /dev/null and b/jjj_erp/config/target/classes/net/jjjerp/config/properties/SpringBootJjjFilterProperties$FilterConfig.class differ diff --git a/jjj_erp/config/target/classes/net/jjjerp/config/properties/SpringBootJjjFilterProperties.class b/jjj_erp/config/target/classes/net/jjjerp/config/properties/SpringBootJjjFilterProperties.class new file mode 100644 index 0000000..ed32558 Binary files /dev/null and b/jjj_erp/config/target/classes/net/jjjerp/config/properties/SpringBootJjjFilterProperties.class differ diff --git a/jjj_erp/config/target/classes/net/jjjerp/config/properties/SpringBootJjjInterceptorProperties$InterceptorConfig.class b/jjj_erp/config/target/classes/net/jjjerp/config/properties/SpringBootJjjInterceptorProperties$InterceptorConfig.class new file mode 100644 index 0000000..71f60da Binary files /dev/null and b/jjj_erp/config/target/classes/net/jjjerp/config/properties/SpringBootJjjInterceptorProperties$InterceptorConfig.class differ diff --git a/jjj_erp/config/target/classes/net/jjjerp/config/properties/SpringBootJjjInterceptorProperties.class b/jjj_erp/config/target/classes/net/jjjerp/config/properties/SpringBootJjjInterceptorProperties.class new file mode 100644 index 0000000..40333f5 Binary files /dev/null and b/jjj_erp/config/target/classes/net/jjjerp/config/properties/SpringBootJjjInterceptorProperties.class differ diff --git a/jjj_erp/config/target/classes/net/jjjerp/config/properties/SpringBootJjjProperties.class b/jjj_erp/config/target/classes/net/jjjerp/config/properties/SpringBootJjjProperties.class new file mode 100644 index 0000000..fd0193c Binary files /dev/null and b/jjj_erp/config/target/classes/net/jjjerp/config/properties/SpringBootJjjProperties.class differ diff --git a/jjj_erp/config/target/classes/net/jjjerp/config/properties/SpringBootJjjStaticProperties.class b/jjj_erp/config/target/classes/net/jjjerp/config/properties/SpringBootJjjStaticProperties.class new file mode 100644 index 0000000..db24d68 Binary files /dev/null and b/jjj_erp/config/target/classes/net/jjjerp/config/properties/SpringBootJjjStaticProperties.class differ diff --git a/jjj_erp/config/target/classes/net/jjjerp/config/properties/SwaggerProperties$ParameterConfig.class b/jjj_erp/config/target/classes/net/jjjerp/config/properties/SwaggerProperties$ParameterConfig.class new file mode 100644 index 0000000..08d2340 Binary files /dev/null and b/jjj_erp/config/target/classes/net/jjjerp/config/properties/SwaggerProperties$ParameterConfig.class differ diff --git a/jjj_erp/config/target/classes/net/jjjerp/config/properties/SwaggerProperties.class b/jjj_erp/config/target/classes/net/jjjerp/config/properties/SwaggerProperties.class new file mode 100644 index 0000000..1c79e6e Binary files /dev/null and b/jjj_erp/config/target/classes/net/jjjerp/config/properties/SwaggerProperties.class differ diff --git a/jjj_erp/config/target/classes/static/404.html b/jjj_erp/config/target/classes/static/404.html new file mode 100644 index 0000000..bc817f9 --- /dev/null +++ b/jjj_erp/config/target/classes/static/404.html @@ -0,0 +1,10 @@ + + + + + 404 + + +

Not Found

+ + \ No newline at end of file diff --git a/jjj_erp/config/target/classes/static/500.html b/jjj_erp/config/target/classes/static/500.html new file mode 100644 index 0000000..4955871 --- /dev/null +++ b/jjj_erp/config/target/classes/static/500.html @@ -0,0 +1,10 @@ + + + + + 500 + + +

500

+ + \ No newline at end of file diff --git a/jjj_erp/config/target/classes/static/error.html b/jjj_erp/config/target/classes/static/error.html new file mode 100644 index 0000000..556c6bc --- /dev/null +++ b/jjj_erp/config/target/classes/static/error.html @@ -0,0 +1,10 @@ + + + + + 404 + + +

Error

+ + \ No newline at end of file diff --git a/jjj_erp/config/target/classes/static/express.xlsx b/jjj_erp/config/target/classes/static/express.xlsx new file mode 100644 index 0000000..929ecae Binary files /dev/null and b/jjj_erp/config/target/classes/static/express.xlsx differ diff --git a/jjj_erp/config/target/classes/static/favicon.ico b/jjj_erp/config/target/classes/static/favicon.ico new file mode 100644 index 0000000..2524a5d Binary files /dev/null and b/jjj_erp/config/target/classes/static/favicon.ico differ diff --git a/jjj_erp/config/target/classes/static/image/agent/agent-bg.jpg b/jjj_erp/config/target/classes/static/image/agent/agent-bg.jpg new file mode 100644 index 0000000..e421175 Binary files /dev/null and b/jjj_erp/config/target/classes/static/image/agent/agent-bg.jpg differ diff --git a/jjj_erp/config/target/classes/static/image/agent/backdrop.jpg b/jjj_erp/config/target/classes/static/image/agent/backdrop.jpg new file mode 100644 index 0000000..443c926 Binary files /dev/null and b/jjj_erp/config/target/classes/static/image/agent/backdrop.jpg differ diff --git a/jjj_erp/config/target/classes/static/image/center_menu/address.png b/jjj_erp/config/target/classes/static/image/center_menu/address.png new file mode 100644 index 0000000..c137820 Binary files /dev/null and b/jjj_erp/config/target/classes/static/image/center_menu/address.png differ diff --git a/jjj_erp/config/target/classes/static/image/center_menu/agent.png b/jjj_erp/config/target/classes/static/image/center_menu/agent.png new file mode 100644 index 0000000..6edd283 Binary files /dev/null and b/jjj_erp/config/target/classes/static/image/center_menu/agent.png differ diff --git a/jjj_erp/config/target/classes/static/image/center_menu/assemble.png b/jjj_erp/config/target/classes/static/image/center_menu/assemble.png new file mode 100644 index 0000000..5ba2119 Binary files /dev/null and b/jjj_erp/config/target/classes/static/image/center_menu/assemble.png differ diff --git a/jjj_erp/config/target/classes/static/image/center_menu/bargain.png b/jjj_erp/config/target/classes/static/image/center_menu/bargain.png new file mode 100644 index 0000000..d4fb9de Binary files /dev/null and b/jjj_erp/config/target/classes/static/image/center_menu/bargain.png differ diff --git a/jjj_erp/config/target/classes/static/image/center_menu/comment.png b/jjj_erp/config/target/classes/static/image/center_menu/comment.png new file mode 100644 index 0000000..9ef2554 Binary files /dev/null and b/jjj_erp/config/target/classes/static/image/center_menu/comment.png differ diff --git a/jjj_erp/config/target/classes/static/image/center_menu/coupon.png b/jjj_erp/config/target/classes/static/image/center_menu/coupon.png new file mode 100644 index 0000000..1d759e9 Binary files /dev/null and b/jjj_erp/config/target/classes/static/image/center_menu/coupon.png differ diff --git a/jjj_erp/config/target/classes/static/image/center_menu/gift.png b/jjj_erp/config/target/classes/static/image/center_menu/gift.png new file mode 100644 index 0000000..28ce3db Binary files /dev/null and b/jjj_erp/config/target/classes/static/image/center_menu/gift.png differ diff --git a/jjj_erp/config/target/classes/static/image/center_menu/lottery.png b/jjj_erp/config/target/classes/static/image/center_menu/lottery.png new file mode 100644 index 0000000..7124f64 Binary files /dev/null and b/jjj_erp/config/target/classes/static/image/center_menu/lottery.png differ diff --git a/jjj_erp/config/target/classes/static/image/center_menu/my_card.png b/jjj_erp/config/target/classes/static/image/center_menu/my_card.png new file mode 100644 index 0000000..73b18b1 Binary files /dev/null and b/jjj_erp/config/target/classes/static/image/center_menu/my_card.png differ diff --git a/jjj_erp/config/target/classes/static/image/center_menu/my_coupon.png b/jjj_erp/config/target/classes/static/image/center_menu/my_coupon.png new file mode 100644 index 0000000..3e7646b Binary files /dev/null and b/jjj_erp/config/target/classes/static/image/center_menu/my_coupon.png differ diff --git a/jjj_erp/config/target/classes/static/image/center_menu/my_fav.png b/jjj_erp/config/target/classes/static/image/center_menu/my_fav.png new file mode 100644 index 0000000..040cdd2 Binary files /dev/null and b/jjj_erp/config/target/classes/static/image/center_menu/my_fav.png differ diff --git a/jjj_erp/config/target/classes/static/image/center_menu/settings.png b/jjj_erp/config/target/classes/static/image/center_menu/settings.png new file mode 100644 index 0000000..2b87b01 Binary files /dev/null and b/jjj_erp/config/target/classes/static/image/center_menu/settings.png differ diff --git a/jjj_erp/config/target/classes/static/image/center_menu/sign.png b/jjj_erp/config/target/classes/static/image/center_menu/sign.png new file mode 100644 index 0000000..7ed678e Binary files /dev/null and b/jjj_erp/config/target/classes/static/image/center_menu/sign.png differ diff --git a/jjj_erp/config/target/classes/static/image/center_menu/task.png b/jjj_erp/config/target/classes/static/image/center_menu/task.png new file mode 100644 index 0000000..87744fc Binary files /dev/null and b/jjj_erp/config/target/classes/static/image/center_menu/task.png differ diff --git a/jjj_erp/config/target/classes/static/image/diy/active/assemble.png b/jjj_erp/config/target/classes/static/image/diy/active/assemble.png new file mode 100644 index 0000000..5816471 Binary files /dev/null and b/jjj_erp/config/target/classes/static/image/diy/active/assemble.png differ diff --git a/jjj_erp/config/target/classes/static/image/diy/active/assemble_bgimage.png b/jjj_erp/config/target/classes/static/image/diy/active/assemble_bgimage.png new file mode 100644 index 0000000..a628a5c Binary files /dev/null and b/jjj_erp/config/target/classes/static/image/diy/active/assemble_bgimage.png differ diff --git a/jjj_erp/config/target/classes/static/image/diy/active/bargain.png b/jjj_erp/config/target/classes/static/image/diy/active/bargain.png new file mode 100644 index 0000000..c1eac18 Binary files /dev/null and b/jjj_erp/config/target/classes/static/image/diy/active/bargain.png differ diff --git a/jjj_erp/config/target/classes/static/image/diy/active/bargain1.png b/jjj_erp/config/target/classes/static/image/diy/active/bargain1.png new file mode 100644 index 0000000..6b74aac Binary files /dev/null and b/jjj_erp/config/target/classes/static/image/diy/active/bargain1.png differ diff --git a/jjj_erp/config/target/classes/static/image/diy/active/bargain_bgimage.png b/jjj_erp/config/target/classes/static/image/diy/active/bargain_bgimage.png new file mode 100644 index 0000000..7a362b6 Binary files /dev/null and b/jjj_erp/config/target/classes/static/image/diy/active/bargain_bgimage.png differ diff --git a/jjj_erp/config/target/classes/static/image/diy/active/coupon.png b/jjj_erp/config/target/classes/static/image/diy/active/coupon.png new file mode 100644 index 0000000..32631b3 Binary files /dev/null and b/jjj_erp/config/target/classes/static/image/diy/active/coupon.png differ diff --git a/jjj_erp/config/target/classes/static/image/diy/active/live.png b/jjj_erp/config/target/classes/static/image/diy/active/live.png new file mode 100644 index 0000000..358b427 Binary files /dev/null and b/jjj_erp/config/target/classes/static/image/diy/active/live.png differ diff --git a/jjj_erp/config/target/classes/static/image/diy/active/preview.png b/jjj_erp/config/target/classes/static/image/diy/active/preview.png new file mode 100644 index 0000000..2ca07e8 Binary files /dev/null and b/jjj_erp/config/target/classes/static/image/diy/active/preview.png differ diff --git a/jjj_erp/config/target/classes/static/image/diy/active/preview_bg.png b/jjj_erp/config/target/classes/static/image/diy/active/preview_bg.png new file mode 100644 index 0000000..3cbf4c8 Binary files /dev/null and b/jjj_erp/config/target/classes/static/image/diy/active/preview_bg.png differ diff --git a/jjj_erp/config/target/classes/static/image/diy/active/seckill.png b/jjj_erp/config/target/classes/static/image/diy/active/seckill.png new file mode 100644 index 0000000..a4a35be Binary files /dev/null and b/jjj_erp/config/target/classes/static/image/diy/active/seckill.png differ diff --git a/jjj_erp/config/target/classes/static/image/diy/active/seckill_bgimage.png b/jjj_erp/config/target/classes/static/image/diy/active/seckill_bgimage.png new file mode 100644 index 0000000..73c1a4a Binary files /dev/null and b/jjj_erp/config/target/classes/static/image/diy/active/seckill_bgimage.png differ diff --git a/jjj_erp/config/target/classes/static/image/diy/article/01.png b/jjj_erp/config/target/classes/static/image/diy/article/01.png new file mode 100644 index 0000000..01ca99a Binary files /dev/null and b/jjj_erp/config/target/classes/static/image/diy/article/01.png differ diff --git a/jjj_erp/config/target/classes/static/image/diy/circular.png b/jjj_erp/config/target/classes/static/image/diy/circular.png new file mode 100644 index 0000000..12f22ef Binary files /dev/null and b/jjj_erp/config/target/classes/static/image/diy/circular.png differ diff --git a/jjj_erp/config/target/classes/static/image/diy/logo.png b/jjj_erp/config/target/classes/static/image/diy/logo.png new file mode 100644 index 0000000..a183735 Binary files /dev/null and b/jjj_erp/config/target/classes/static/image/diy/logo.png differ diff --git a/jjj_erp/config/target/classes/static/image/diy/logo_top.png b/jjj_erp/config/target/classes/static/image/diy/logo_top.png new file mode 100644 index 0000000..91bcf27 Binary files /dev/null and b/jjj_erp/config/target/classes/static/image/diy/logo_top.png differ diff --git a/jjj_erp/config/target/classes/static/image/diy/navbar/01.png b/jjj_erp/config/target/classes/static/image/diy/navbar/01.png new file mode 100644 index 0000000..7d72938 Binary files /dev/null and b/jjj_erp/config/target/classes/static/image/diy/navbar/01.png differ diff --git a/jjj_erp/config/target/classes/static/image/diy/navbar/02.png b/jjj_erp/config/target/classes/static/image/diy/navbar/02.png new file mode 100644 index 0000000..6ed1f86 Binary files /dev/null and b/jjj_erp/config/target/classes/static/image/diy/navbar/02.png differ diff --git a/jjj_erp/config/target/classes/static/image/diy/navbar/03.png b/jjj_erp/config/target/classes/static/image/diy/navbar/03.png new file mode 100644 index 0000000..5e1270c Binary files /dev/null and b/jjj_erp/config/target/classes/static/image/diy/navbar/03.png differ diff --git a/jjj_erp/config/target/classes/static/image/diy/navbar/04.png b/jjj_erp/config/target/classes/static/image/diy/navbar/04.png new file mode 100644 index 0000000..0e6edb5 Binary files /dev/null and b/jjj_erp/config/target/classes/static/image/diy/navbar/04.png differ diff --git a/jjj_erp/config/target/classes/static/image/diy/notice.png b/jjj_erp/config/target/classes/static/image/diy/notice.png new file mode 100644 index 0000000..35b5c9c Binary files /dev/null and b/jjj_erp/config/target/classes/static/image/diy/notice.png differ diff --git a/jjj_erp/config/target/classes/static/image/diy/service.png b/jjj_erp/config/target/classes/static/image/diy/service.png new file mode 100644 index 0000000..00041cc Binary files /dev/null and b/jjj_erp/config/target/classes/static/image/diy/service.png differ diff --git a/jjj_erp/config/target/classes/static/image/diy/shipin_live.png b/jjj_erp/config/target/classes/static/image/diy/shipin_live.png new file mode 100644 index 0000000..d92f75a Binary files /dev/null and b/jjj_erp/config/target/classes/static/image/diy/shipin_live.png differ diff --git a/jjj_erp/config/target/classes/static/image/diy/special.png b/jjj_erp/config/target/classes/static/image/diy/special.png new file mode 100644 index 0000000..1d0592d Binary files /dev/null and b/jjj_erp/config/target/classes/static/image/diy/special.png differ diff --git a/jjj_erp/config/target/classes/static/image/diy/video_poster.png b/jjj_erp/config/target/classes/static/image/diy/video_poster.png new file mode 100644 index 0000000..d0df38c Binary files /dev/null and b/jjj_erp/config/target/classes/static/image/diy/video_poster.png differ diff --git a/jjj_erp/config/target/classes/static/image/diy/window/01.jpg b/jjj_erp/config/target/classes/static/image/diy/window/01.jpg new file mode 100644 index 0000000..fb96fa4 Binary files /dev/null and b/jjj_erp/config/target/classes/static/image/diy/window/01.jpg differ diff --git a/jjj_erp/config/target/classes/static/image/diy/window/02.jpg b/jjj_erp/config/target/classes/static/image/diy/window/02.jpg new file mode 100644 index 0000000..087480a Binary files /dev/null and b/jjj_erp/config/target/classes/static/image/diy/window/02.jpg differ diff --git a/jjj_erp/config/target/classes/static/image/diy/window/03.jpg b/jjj_erp/config/target/classes/static/image/diy/window/03.jpg new file mode 100644 index 0000000..8ee59dd Binary files /dev/null and b/jjj_erp/config/target/classes/static/image/diy/window/03.jpg differ diff --git a/jjj_erp/config/target/classes/static/image/diy/window/04.jpg b/jjj_erp/config/target/classes/static/image/diy/window/04.jpg new file mode 100644 index 0000000..702eadc Binary files /dev/null and b/jjj_erp/config/target/classes/static/image/diy/window/04.jpg differ diff --git a/jjj_erp/config/target/classes/static/image/poster/product_bg.png b/jjj_erp/config/target/classes/static/image/poster/product_bg.png new file mode 100644 index 0000000..e014910 Binary files /dev/null and b/jjj_erp/config/target/classes/static/image/poster/product_bg.png differ diff --git a/jjj_erp/config/target/classes/static/image/poster/st-heiti-light.ttc b/jjj_erp/config/target/classes/static/image/poster/st-heiti-light.ttc new file mode 100644 index 0000000..88aeb7f Binary files /dev/null and b/jjj_erp/config/target/classes/static/image/poster/st-heiti-light.ttc differ diff --git a/jjj_erp/config/target/classes/static/image/tabbar/cart.png b/jjj_erp/config/target/classes/static/image/tabbar/cart.png new file mode 100644 index 0000000..91e6887 Binary files /dev/null and b/jjj_erp/config/target/classes/static/image/tabbar/cart.png differ diff --git a/jjj_erp/config/target/classes/static/image/tabbar/cart_active.png b/jjj_erp/config/target/classes/static/image/tabbar/cart_active.png new file mode 100644 index 0000000..15946a5 Binary files /dev/null and b/jjj_erp/config/target/classes/static/image/tabbar/cart_active.png differ diff --git a/jjj_erp/config/target/classes/static/image/tabbar/category.png b/jjj_erp/config/target/classes/static/image/tabbar/category.png new file mode 100644 index 0000000..590f2bd Binary files /dev/null and b/jjj_erp/config/target/classes/static/image/tabbar/category.png differ diff --git a/jjj_erp/config/target/classes/static/image/tabbar/category_active.png b/jjj_erp/config/target/classes/static/image/tabbar/category_active.png new file mode 100644 index 0000000..981b2e9 Binary files /dev/null and b/jjj_erp/config/target/classes/static/image/tabbar/category_active.png differ diff --git a/jjj_erp/config/target/classes/static/image/tabbar/home.png b/jjj_erp/config/target/classes/static/image/tabbar/home.png new file mode 100644 index 0000000..555c746 Binary files /dev/null and b/jjj_erp/config/target/classes/static/image/tabbar/home.png differ diff --git a/jjj_erp/config/target/classes/static/image/tabbar/home_active.png b/jjj_erp/config/target/classes/static/image/tabbar/home_active.png new file mode 100644 index 0000000..71c5199 Binary files /dev/null and b/jjj_erp/config/target/classes/static/image/tabbar/home_active.png differ diff --git a/jjj_erp/config/target/classes/static/image/tabbar/user.png b/jjj_erp/config/target/classes/static/image/tabbar/user.png new file mode 100644 index 0000000..e1beb95 Binary files /dev/null and b/jjj_erp/config/target/classes/static/image/tabbar/user.png differ diff --git a/jjj_erp/config/target/classes/static/image/tabbar/user_active.png b/jjj_erp/config/target/classes/static/image/tabbar/user_active.png new file mode 100644 index 0000000..e4bc438 Binary files /dev/null and b/jjj_erp/config/target/classes/static/image/tabbar/user_active.png differ diff --git a/jjj_erp/config/target/classes/static/image/task/article.png b/jjj_erp/config/target/classes/static/image/task/article.png new file mode 100644 index 0000000..31dd0a8 Binary files /dev/null and b/jjj_erp/config/target/classes/static/image/task/article.png differ diff --git a/jjj_erp/config/target/classes/static/image/task/base.png b/jjj_erp/config/target/classes/static/image/task/base.png new file mode 100644 index 0000000..050ee73 Binary files /dev/null and b/jjj_erp/config/target/classes/static/image/task/base.png differ diff --git a/jjj_erp/config/target/classes/static/image/task/image.png b/jjj_erp/config/target/classes/static/image/task/image.png new file mode 100644 index 0000000..54cba56 Binary files /dev/null and b/jjj_erp/config/target/classes/static/image/task/image.png differ diff --git a/jjj_erp/config/target/classes/static/image/task/invite.png b/jjj_erp/config/target/classes/static/image/task/invite.png new file mode 100644 index 0000000..b456f57 Binary files /dev/null and b/jjj_erp/config/target/classes/static/image/task/invite.png differ diff --git a/jjj_erp/config/target/classes/static/image/task/order.png b/jjj_erp/config/target/classes/static/image/task/order.png new file mode 100644 index 0000000..a1d48bc Binary files /dev/null and b/jjj_erp/config/target/classes/static/image/task/order.png differ diff --git a/jjj_erp/config/target/classes/static/image/task/product.png b/jjj_erp/config/target/classes/static/image/task/product.png new file mode 100644 index 0000000..82b4dd4 Binary files /dev/null and b/jjj_erp/config/target/classes/static/image/task/product.png differ diff --git a/jjj_erp/config/target/classes/static/image/task/sign.png b/jjj_erp/config/target/classes/static/image/task/sign.png new file mode 100644 index 0000000..e3f9aad Binary files /dev/null and b/jjj_erp/config/target/classes/static/image/task/sign.png differ diff --git a/jjj_erp/config/target/classes/static/image/task/task.png b/jjj_erp/config/target/classes/static/image/task/task.png new file mode 100644 index 0000000..9bbbec0 Binary files /dev/null and b/jjj_erp/config/target/classes/static/image/task/task.png differ diff --git a/jjj_erp/config/target/classes/static/index.html b/jjj_erp/config/target/classes/static/index.html new file mode 100644 index 0000000..64f3a47 --- /dev/null +++ b/jjj_erp/config/target/classes/static/index.html @@ -0,0 +1,514 @@ + + + + +spring-boot-jjj Home + + +

+ +

+

+ Everyone can develop projects independently, quickly and efficiently! +

+ + \ No newline at end of file diff --git a/jjj_erp/config/target/classes/static/verifyCode.html b/jjj_erp/config/target/classes/static/verifyCode.html new file mode 100644 index 0000000..8cd1039 --- /dev/null +++ b/jjj_erp/config/target/classes/static/verifyCode.html @@ -0,0 +1,48 @@ + + + + + 验证码 + + + +
+

方式一:获取图片

+ +

verifyToken:查看Responses Headers

+
+ +
+ +
+

方式二:获取base64图片编码

+ +

+
+ + + + + \ No newline at end of file diff --git a/jjj_erp/config/target/classes/static/welcome.html b/jjj_erp/config/target/classes/static/welcome.html new file mode 100644 index 0000000..95cf17a --- /dev/null +++ b/jjj_erp/config/target/classes/static/welcome.html @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/jjj_erp/config/target/classes/static/wx_express.xlsx b/jjj_erp/config/target/classes/static/wx_express.xlsx new file mode 100644 index 0000000..3038cd4 Binary files /dev/null and b/jjj_erp/config/target/classes/static/wx_express.xlsx differ diff --git a/jjj_erp/config/target/jjj-erp-1.0.jar b/jjj_erp/config/target/jjj-erp-1.0.jar new file mode 100644 index 0000000..9d93b02 Binary files /dev/null and b/jjj_erp/config/target/jjj-erp-1.0.jar differ diff --git a/jjj_erp/config/target/maven-archiver/pom.properties b/jjj_erp/config/target/maven-archiver/pom.properties new file mode 100644 index 0000000..e61af3f --- /dev/null +++ b/jjj_erp/config/target/maven-archiver/pom.properties @@ -0,0 +1,5 @@ +#Generated by Maven +#Sat Jun 29 14:54:45 CST 2024 +version=1.0 +groupId=net.jjjerp +artifactId=config diff --git a/jjj_erp/config/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/jjj_erp/config/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst new file mode 100644 index 0000000..4e6e4a3 --- /dev/null +++ b/jjj_erp/config/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst @@ -0,0 +1,23 @@ +net\jjjerp\config\properties\SpringBootJjjAopProperties$AopConfig.class +net\jjjerp\config\constant\CommonConstant.class +net\jjjerp\config\properties\SpringBootJjjAopProperties.class +net\jjjerp\config\properties\SpringBootJjjAopProperties$LoginLogConfig.class +net\jjjerp\config\properties\SpringBootJjjAopProperties$OperationLogConfig.class +net\jjjerp\config\properties\SpringBootJjjFilterProperties.class +net\jjjerp\config\properties\SpringBootJjjInterceptorProperties.class +net\jjjerp\config\constant\DatePattern.class +net\jjjerp\config\properties\ShiroProperties.class +net\jjjerp\config\constant\CommonRedisKey.class +net\jjjerp\config\properties\SpringBootJjjAopProperties$RequestIdType.class +net\jjjerp\config\properties\SwaggerProperties$ParameterConfig.class +net\jjjerp\config\properties\SpringBootJjjCorsProperties.class +net\jjjerp\config\properties\SpringBootJjjAopProperties$LogAopConfig.class +net\jjjerp\config\properties\SpringBootJjjStaticProperties.class +net\jjjerp\config\properties\SpringBootJjjInterceptorProperties$InterceptorConfig.class +net\jjjerp\config\constant\CacheKey.class +net\jjjerp\config\properties\SpringBootJjjProperties.class +net\jjjerp\config\properties\SpringBootJjjFilterProperties$FilterConfig.class +net\jjjerp\config\properties\JwtProperties.class +net\jjjerp\config\properties\SwaggerProperties.class +net\jjjerp\config\properties\SpringBootJjjAopProperties$LogPrintType.class +net\jjjerp\config\properties\ShiroPermissionProperties.class diff --git a/jjj_erp/config/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/jjj_erp/config/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst new file mode 100644 index 0000000..bf0645f --- /dev/null +++ b/jjj_erp/config/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst @@ -0,0 +1,14 @@ +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\config\src\main\java\net\jjjerp\config\constant\CommonConstant.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\config\src\main\java\net\jjjerp\config\properties\JwtProperties.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\config\src\main\java\net\jjjerp\config\properties\SpringBootJjjInterceptorProperties.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\config\src\main\java\net\jjjerp\config\constant\CommonRedisKey.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\config\src\main\java\net\jjjerp\config\properties\ShiroProperties.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\config\src\main\java\net\jjjerp\config\properties\SpringBootJjjFilterProperties.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\config\src\main\java\net\jjjerp\config\properties\SpringBootJjjStaticProperties.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\config\src\main\java\net\jjjerp\config\properties\ShiroPermissionProperties.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\config\src\main\java\net\jjjerp\config\properties\SpringBootJjjAopProperties.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\config\src\main\java\net\jjjerp\config\properties\SwaggerProperties.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\config\src\main\java\net\jjjerp\config\properties\SpringBootJjjProperties.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\config\src\main\java\net\jjjerp\config\constant\DatePattern.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\config\src\main\java\net\jjjerp\config\constant\CacheKey.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\config\src\main\java\net\jjjerp\config\properties\SpringBootJjjCorsProperties.java diff --git a/jjj_erp/generator/README.md b/jjj_erp/generator/README.md new file mode 100644 index 0000000..ebdac6f --- /dev/null +++ b/jjj_erp/generator/README.md @@ -0,0 +1 @@ +# generator 项目代码生成模块 \ No newline at end of file diff --git a/jjj_erp/generator/pom.xml b/jjj_erp/generator/pom.xml new file mode 100644 index 0000000..dc7ee26 --- /dev/null +++ b/jjj_erp/generator/pom.xml @@ -0,0 +1,40 @@ + + + + 4.0.0 + + + net.jjjerp + parent + 1.0 + + + generator + generator + 代码生成器模块 + + + + net.jjjerp + jjj-common + + + org.apache.velocity + velocity-engine-core + ${velocity.version} + + + org.springframework.boot + spring-boot-starter-test + test + + + + com.baomidou + mybatis-plus-generator + ${mybatis-plus-boot-starter.version} + + + + diff --git a/jjj_erp/generator/src/main/java/net/jjjerp/generator/CodeGenerator.java b/jjj_erp/generator/src/main/java/net/jjjerp/generator/CodeGenerator.java new file mode 100644 index 0000000..a4bb6b8 --- /dev/null +++ b/jjj_erp/generator/src/main/java/net/jjjerp/generator/CodeGenerator.java @@ -0,0 +1,435 @@ + + +package net.jjjerp.generator; + +import com.baomidou.mybatisplus.annotation.DbType; +import com.baomidou.mybatisplus.core.toolkit.StringPool; +import com.baomidou.mybatisplus.generator.AutoGenerator; +import com.baomidou.mybatisplus.generator.InjectionConfig; +import com.baomidou.mybatisplus.generator.config.*; +import com.baomidou.mybatisplus.generator.config.po.TableInfo; +import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy; +import net.jjjerp.generator.config.*; +import net.jjjerp.generator.config.query.SpringBootJjjMySqlQuery; +import net.jjjerp.generator.config.query.SpringBootJjjSqlServerQuery; +import net.jjjerp.generator.constant.GeneratorConstant; +import net.jjjerp.generator.exception.GeneratorException; +import net.jjjerp.generator.properties.GeneratorProperties; +import lombok.Data; +import lombok.experimental.Accessors; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Component; + +import java.io.File; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.regex.Matcher; + +/** + * spring-boot-jjj代码生成器 + */ +@Slf4j +@Data +@Component +@Accessors(chain = true) +public class CodeGenerator { + + public void generator(GeneratorProperties generatorProperties) { + if (generatorProperties == null) { + throw new GeneratorException("generatorProperties不能为空"); + } + List tableConfig = generatorProperties.getTableConfig(); + if (CollectionUtils.isEmpty(tableConfig)) { + throw new GeneratorException("tableConfig不能为空"); + } + + // 循环生成 + for (TableConfig generatorTable : tableConfig) { + String tableName = generatorTable.getTableName(); + String pkIdName = generatorTable.getPkIdName(); + // 生成代码 + generator(tableName, pkIdName, generatorProperties); + } + } + + /** + * 初始化变量 + */ + public void init(String tableName, GeneratorProperties generatorProperties) { + String parentPackage = generatorProperties.getParentPackage(); + if (StringUtils.isBlank(parentPackage)) { + throw new GeneratorException("项目父包不能为空"); + } + // 如果包路径为空,转换包名称路径 + if (StringUtils.isNotBlank(parentPackage)) { + generatorProperties.setParentPackagePath(parentPackage.replaceAll("\\.", Matcher.quoteReplacement(File.separator))); + } + + String mavenModuleName = generatorProperties.getMavenModuleName(); + if (StringUtils.isBlank(mavenModuleName)) { + throw new GeneratorException("mavenModuleName不能为空"); + } + if (StringUtils.isBlank(tableName)) { + throw new GeneratorException("tableName不能为空"); + } + + // 如果是单表操作,不生成QueryVo + GeneratorConfig generatorConfig = generatorProperties.getGeneratorConfig(); + if (GeneratorStrategy.SINGLE == generatorConfig.generatorStrategy) { + generatorProperties.getGeneratorConfig().setGeneratorQueryVo(false); + } + + } + + + /** + * 生成代码 + */ + public void generator(String tableName, String pkIdName, GeneratorProperties generatorProperties) { + // 初始化变量 + init(tableName, generatorProperties); + + // 代码生成器 + AutoGenerator autoGenerator = new AutoGenerator(); + + MybatisPlusGeneratorConfig mybatisPlusGeneratorConfig = generatorProperties.getMybatisPlusGeneratorConfig(); + if (mybatisPlusGeneratorConfig == null) { + throw new GeneratorException("mybatisPlusGeneratorConfig不能为空"); + } + + // 全局配置 + GlobalConfig globalConfig = mybatisPlusGeneratorConfig.getGlobalConfig(); + if (globalConfig == null) { + throw new GeneratorException("globalConfig不能为空"); + } + + String mavenModuleName = generatorProperties.getMavenModuleName(); + String moduleName = generatorProperties.getModuleName(); + String outputDir = generatorProperties.getOutputDir(); + String javaOutputDir = null; + String resourcesOutputDir = null; + String mapperXmlOutputDir = null; + + if (StringUtils.isBlank(outputDir)) { + String rootProjectFile = System.getProperty(GeneratorConstant.USER_DIR); + outputDir = rootProjectFile + File.separator + mavenModuleName; + } + log.info("outputDir: {}", outputDir); + javaOutputDir = outputDir + GeneratorConstant.JAVA_DIR; + resourcesOutputDir = outputDir + GeneratorConstant.RESOURCES_DIR; + mapperXmlOutputDir = outputDir + GeneratorConstant.MAPPER_DIR; + + // 设置java代码输出目录绝对路径 + globalConfig.setOutputDir(javaOutputDir); + + // 是否覆盖文件 + globalConfig.setFileOverride(generatorProperties.isFileOverride()); + + // 设置作者 + globalConfig.setAuthor(generatorProperties.getAuthor()); + + if (StringUtils.isBlank(globalConfig.getServiceName())) { + // %sService 生成 UserService,%s 为占位符 + globalConfig.setServiceName(GeneratorConstant.SERVICE_NAME); + } + + // 设置全局配置 + autoGenerator.setGlobalConfig(globalConfig); + + // 数据源配置 + DataSourceConfig dataSourceConfig = generatorProperties.getDataSourceConfig(); + if (dataSourceConfig == null) { + throw new GeneratorException("dataSourceConfig不能为空"); + } + + // 设置元数据自定义查询 + DbType dbType = dataSourceConfig.getDbType(); + if (DbType.MYSQL == dbType) { + // 设置MySQL元数据自定义查询 + dataSourceConfig.setDbQuery(new SpringBootJjjMySqlQuery()); + } else if (DbType.SQL_SERVER2005 == dbType || DbType.SQL_SERVER == dbType) { + // 设置SQLServer元数据自定义查询 + dataSourceConfig.setDbQuery(new SpringBootJjjSqlServerQuery()); + } + + // 设置数据源 + autoGenerator.setDataSource(dataSourceConfig); + + // 包配置 + PackageConfig packageConfig = mybatisPlusGeneratorConfig.getPackageConfig(); + packageConfig.setModuleName(moduleName); + packageConfig.setParent(generatorProperties.getParentPackage()); + + // 设置包信息 + autoGenerator.setPackageInfo(packageConfig); + + // 策略配置 + StrategyConfig strategyConfig = mybatisPlusGeneratorConfig.getStrategyConfig(); + if (strategyConfig == null) { + throw new GeneratorException("strategyConfig不能为空"); + } + // 设置生成的表 + strategyConfig.setInclude(tableName); + // 表前缀 + List tablePrefixList = generatorProperties.getTablePrefix(); + if (CollectionUtils.isNotEmpty(tablePrefixList)) { + strategyConfig.setTablePrefix(tablePrefixList.toArray(new String[]{})); + } + + + if (StringUtils.isBlank(strategyConfig.getSuperEntityClass())) { + // 自定义继承的Entity类全称,带包名 + // strategyConfig.setSuperEntityClass(GeneratorConstant.SUPER_ENTITY_CLASS); + } + if (StringUtils.isBlank(strategyConfig.getSuperControllerClass())) { + // 自定义继承的Controller类全称,带包名 + strategyConfig.setSuperControllerClass(GeneratorConstant.SUPER_CONTROLLER_CLASS); + } + // 自定义继承的Service类全称,带包名 + strategyConfig.setSuperServiceClass(GeneratorConstant.SUPER_SERVICE_CLASS); + // 自定义继承的ServiceImpl类全称,带包名 + strategyConfig.setSuperServiceImplClass(GeneratorConstant.SUPER_SERVICE_IMPL_CLASS); + + // 设置策略 + autoGenerator.setStrategy(strategyConfig); + + // 自定义配置 + InjectionConfig injectionConfig = new InjectionConfig() { + @Override + public void initMap() { + List tableInfos = this.getConfig().getTableInfoList(); + if (CollectionUtils.isEmpty(tableInfos)) { + throw new GeneratorException(tableName + "表不存在"); + } + + String finalModuleName = ""; + if (StringUtils.isNotBlank(moduleName)) { + finalModuleName = StringPool.DOT + moduleName; + } + TableInfo tableInfo = this.getConfig().getTableInfoList().get(0); + String entityName = tableInfo.getEntityName(); + String entityObjectName = toCamel(entityName); + String colonTableName = underlineToColon(tableName); + + String parentPackage = generatorProperties.getParentPackage(); + ProjectConfig projectConfig = generatorProperties.getProjectConfig(); + + String superPageParamClass = projectConfig.getSuperPageParamClass(); + String idParamClass = projectConfig.getIdParamClass(); + String pagingClass = projectConfig.getPagingClass(); + String pageInfoClass = projectConfig.getPageInfoClass(); + String apiResultClass = projectConfig.getApiResultClass(); + String superPageOrderParamClass = projectConfig.getSuperPageOrderParamClass(); + + GeneratorConfig generatorConfig = generatorProperties.getGeneratorConfig(); + + GeneratorStrategy generatorStrategy = generatorConfig.getGeneratorStrategy(); + String generatorStrategyName = generatorStrategy.name(); + boolean paramValidation = generatorConfig.isParamValidation(); + boolean requiresPermissions = generatorConfig.isRequiresPermissions(); + + Map map = new HashMap<>(); + // 查询参数包路径 + String pageParamPackage = parentPackage + finalModuleName + StringPool.DOT + GeneratorConstant.PARAM; + map.put("pageParamPackage", pageParamPackage); + // 查询参数类路径 + map.put("pageParamClass", pageParamPackage + StringPool.DOT + entityName + GeneratorConstant.PAGE_PARAM); + // 查询参数共公包路径 + map.put("superPageParamClass", superPageParamClass); + map.put("superPageOrderParamClass", superPageOrderParamClass); + // 查询参数共公包路径 + map.put("idParamClass", idParamClass); + // 响应结果包路径 + String queryVoPackage = parentPackage + finalModuleName + StringPool.DOT + GeneratorConstant.VO; + map.put("queryVoPackage", queryVoPackage); + // 响应结果类路径 + map.put("queryVoClass", queryVoPackage + StringPool.DOT + entityName + GeneratorConstant.QUERY_VO); + // 实体对象名称 + map.put("entityObjectName", entityObjectName); + // service对象名称 + map.put("serviceObjectName", entityObjectName + GeneratorConstant.SERVICE); + // mapper对象名称 + map.put("mapperObjectName", entityObjectName + GeneratorConstant.MAPPER); + // 主键ID列名 + map.put("pkIdName", pkIdName); + // 主键ID驼峰名称 + map.put("pkIdCamelName", underlineToCamel(pkIdName)); + // 导入分页类 + map.put("pagingClass", pagingClass); + map.put("pageInfoClass", pageInfoClass); + // ApiResult + map.put("apiResultClass", apiResultClass); + // 代码生成策略 + map.put("generatorStrategy", generatorStrategyName); + // 代码Validation校验 + map.put("paramValidation", paramValidation); + // 冒号连接的表名称 + map.put("colonTableName", colonTableName); + // 是否生成Shiro RequiresPermissions注解 + map.put("requiresPermissions", requiresPermissions); + // 设置常量值 + map.put("pageParam", GeneratorConstant.PAGE_PARAM); + map.put("validatorAddPackage", GeneratorConstant.VALIDATOR_ADD_PACKAGE); + map.put("validatorUpdatePackage", GeneratorConstant.VALIDATOR_UPDATE_PACKAGE); + // 如果是但表模式,queryVO值为null + if (GeneratorStrategy.SINGLE == generatorStrategy) { + map.put("queryVo", ""); + } else { + map.put("queryVo", GeneratorConstant.QUERY_VO); + } + map.put("generatorQueryVo", generatorConfig.isGeneratorQueryVo()); + map.put("generatorPageParam", generatorConfig.isGeneratorPageParam()); + map.put("pageListOrder", generatorConfig.isPageListOrder()); + map.put("swaggerTags", generatorConfig.isSwaggerTags()); + map.put("operationLog", generatorConfig.isOperationLog()); + map.put("module", moduleName); + this.setMap(map); + } + }; + List focList = new ArrayList<>(); + + + GeneratorConfig generatorConfig = generatorProperties.getGeneratorConfig(); + + String parentPackagePath = generatorProperties.getParentPackagePath(); + String finalJavaOutputDir = javaOutputDir; + String finalMapperXmlOutputDir = mapperXmlOutputDir; + + String modulePath = ""; + if (StringUtils.isNotBlank(moduleName)) { + modulePath = File.separator + moduleName; + } + final String finalModulePath = modulePath; + + // 生成Mapper XML + if (generatorConfig.isGeneratorMapperXml()) { + focList.add(new FileOutConfig(GeneratorConstant.MAPPER_XML_TEMPLATE_PATH) { + @Override + public String outputFile(TableInfo tableInfo) { + // 指定Mapper XML文件路径 + return finalMapperXmlOutputDir + finalModulePath + File.separator + + tableInfo.getEntityName() + GeneratorConstant.MAPPER + StringPool.DOT_XML; + } + }); + } + + // 自定义pageParam模板 + if (generatorConfig.isGeneratorPageParam()) { + focList.add(new FileOutConfig(GeneratorConstant.PAGE_PARAM_TEMPLATE_PATH) { + @Override + public String outputFile(TableInfo tableInfo) { + return finalJavaOutputDir + File.separator + parentPackagePath + finalModulePath + File.separator + GeneratorConstant.PARAM + + File.separator + tableInfo.getEntityName() + GeneratorConstant.PAGE_PARAM + StringPool.DOT_JAVA; + } + }); + } + + // 自定义queryVo模板 + if (generatorConfig.isGeneratorQueryVo()) { + focList.add(new FileOutConfig(GeneratorConstant.QUERY_VO_TEMPLATE_PATH) { + @Override + public String outputFile(TableInfo tableInfo) { + return finalJavaOutputDir + File.separator + parentPackagePath + finalModulePath + File.separator + GeneratorConstant.VO + + File.separator + tableInfo.getEntityName() + GeneratorConstant.QUERY_VO + StringPool.DOT_JAVA; + } + }); + } + + injectionConfig.setFileOutConfigList(focList); + + // 设置自定义配置 + autoGenerator.setCfg(injectionConfig); + + // 模版生成配置,设置为空,表示不生成 + TemplateConfig templateConfig = new TemplateConfig(); + // xml使用自定义输出 + templateConfig.setXml(null); + // 是否生成entity + if (!generatorConfig.isGeneratorEntity()) { + templateConfig.setEntity(null); + } + // 是否生成controller + if (!generatorConfig.isGeneratorController()) { + templateConfig.setController(null); + } + // 是否生成service + if (!generatorConfig.isGeneratorService()) { + templateConfig.setService(null); + } + // 是否生成serviceImpl + if (!generatorConfig.isGeneratorServiceImpl()) { + templateConfig.setServiceImpl(null); + } + // 是否生成mapper + if (!generatorConfig.isGeneratorMapper()) { + templateConfig.setMapper(null); + } + + // 设置模板引擎 + autoGenerator.setTemplate(templateConfig); + + // 执行代码生成 + autoGenerator.execute(); + } + + /** + * 下划线专程驼峰命名 + * sys_user --> sysUser + * + * @param underline + * @return + */ + public static String underlineToCamel(String underline) { + if (StringUtils.isNotBlank(underline)) { + return NamingStrategy.underlineToCamel(underline); + } + return null; + } + + /** + * 下划线转换成帕斯卡命名 + * sys_user --> SysUser + * + * @param underline + * @return + */ + public static String underlineToPascal(String underline) { + if (StringUtils.isNotBlank(underline)) { + return NamingStrategy.capitalFirst(NamingStrategy.underlineToCamel(underline)); + } + return null; + } + + /** + * 下划线转换成冒号连接命名 + * sys_user --> sys:user + * + * @param underline + * @return + */ + public static String underlineToColon(String underline) { + if (StringUtils.isBlank(underline)) { + return null; + } + String string = underline.toLowerCase(); + return string.replaceAll("_", ":"); + } + + /** + * 首字母小写 + * + * @param name + * @return + */ + public static String toCamel(String name) { + if (StringUtils.isBlank(name)) { + return null; + } + return name.substring(0, 1).toLowerCase() + name.substring(1); + } + +} diff --git a/jjj_erp/generator/src/main/java/net/jjjerp/generator/SpringBootJjjGenerator.java b/jjj_erp/generator/src/main/java/net/jjjerp/generator/SpringBootJjjGenerator.java new file mode 100644 index 0000000..ff428c6 --- /dev/null +++ b/jjj_erp/generator/src/main/java/net/jjjerp/generator/SpringBootJjjGenerator.java @@ -0,0 +1,91 @@ + + +package net.jjjerp.generator; + +import com.baomidou.mybatisplus.annotation.DbType; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.generator.config.rules.DateType; +import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy; +import net.jjjerp.generator.config.GeneratorStrategy; +import net.jjjerp.generator.constant.GeneratorConstant; +import net.jjjerp.generator.properties.GeneratorProperties; +import org.springframework.stereotype.Component; + +import java.util.Arrays; + +/** + * spring-boot-jjj代码生成器入口类 + **/ +@Component +public class SpringBootJjjGenerator { + + /** + * 生成代码 + * @param args + */ + public static void main(String[] args) { + GeneratorProperties generatorProperties = new GeneratorProperties(); + + // 设置基本信息 + generatorProperties + .setMavenModuleName("jjj-common") + .setParentPackage("net.jjjerp.common") + //.setModuleName("version") + .setAuthor("jjjerp") + .setFileOverride(true); + + // 设置表信息 + generatorProperties.addTable("jjjerp_app_wx_file","id"); + // 设置表前缀 + generatorProperties.setTablePrefix(Arrays.asList("jjjerp_")); + + // 数据源配置 + generatorProperties.getDataSourceConfig() + .setDbType(DbType.MYSQL) + .setUsername("root") + .setPassword("root") + .setDriverName("com.mysql.jdbc.Driver") + .setUrl("jdbc:mysql://192.168.151.129:3306/jjj_erp?useUnicode=true&characterEncoding=UTF-8&useSSL=false"); + + // 生成配置 + generatorProperties.getGeneratorConfig() + .setGeneratorStrategy(GeneratorStrategy.SIMPLE) + .setGeneratorEntity(true) + .setGeneratorController(false) + .setGeneratorService(true) + .setGeneratorServiceImpl(true) + .setGeneratorMapper(true) + .setGeneratorMapperXml(true) + .setGeneratorPageParam(false) + .setGeneratorQueryVo(false) + .setRequiresPermissions(false) + .setPageListOrder(false) + .setParamValidation(false) + .setSwaggerTags(true) + .setOperationLog(true); + + // 全局配置 + generatorProperties.getMybatisPlusGeneratorConfig().getGlobalConfig() + .setOpen(true) + .setSwagger2(true) + .setIdType(IdType.AUTO) + .setDateType(DateType.ONLY_DATE); + + // 策略配置 + generatorProperties.getMybatisPlusGeneratorConfig().getStrategyConfig() + .setNaming(NamingStrategy.underline_to_camel) + .setColumnNaming(NamingStrategy.underline_to_camel) + .setEntityLombokModel(true) + .setRestControllerStyle(true) + .setControllerMappingHyphenStyle(true) + .setVersionFieldName(GeneratorConstant.VERSION) + .setLogicDeleteFieldName(GeneratorConstant.DELETED); + + // 生成代码 + CodeGenerator codeGenerator = new CodeGenerator(); + codeGenerator.generator(generatorProperties); + + } + + +} diff --git a/jjj_erp/generator/src/main/java/net/jjjerp/generator/config/GeneratorConfig.java b/jjj_erp/generator/src/main/java/net/jjjerp/generator/config/GeneratorConfig.java new file mode 100644 index 0000000..b8b67aa --- /dev/null +++ b/jjj_erp/generator/src/main/java/net/jjjerp/generator/config/GeneratorConfig.java @@ -0,0 +1,76 @@ + + +package net.jjjerp.generator.config; + +import lombok.Data; +import lombok.experimental.Accessors; +import org.springframework.boot.context.properties.NestedConfigurationProperty; + +/** + * 生成配置 + **/ +@Data +@Accessors(chain = true) +public class GeneratorConfig { + /** + * 代码生成策略 + */ + @NestedConfigurationProperty + public GeneratorStrategy generatorStrategy = GeneratorStrategy.ALL; + /** + * 是否生成实体类 + */ + private boolean generatorEntity = true; + /** + * 是否生成控制器 + */ + private boolean generatorController = true; + /** + * 是否生成service接口 + */ + private boolean generatorService = true; + /** + * 是否生成service实现类 + */ + private boolean generatorServiceImpl = true; + /** + * 是否生成Mapper + */ + private boolean generatorMapper = true; + /** + * 是否生成Mapper XML + */ + private boolean generatorMapperXml = true; + /** + * 是否生成查询参数 + */ + private boolean generatorPageParam = true; + /** + * 是否生成查询VO + */ + private boolean generatorQueryVo = true; + /** + * 是否生成Shiro RequiresPermissions 注解 + */ + private boolean requiresPermissions = true; + /** + * 分页列表查询是否排序 true:有排序参数/false:无 + */ + private boolean pageListOrder = true; + /** + * 是否生成validation校验,true:生成/false:不生成 + */ + private boolean paramValidation = true; + /** + * 是否生成Swagger tags + * true: @Api(value = "系统用户API",tags = {"系统用户"}) + * false: @Api("系统用户API") + */ + private boolean swaggerTags = true; + + /** + * 是否生成系统操作日志注解:@OperationLog + */ + private boolean operationLog = true; + +} diff --git a/jjj_erp/generator/src/main/java/net/jjjerp/generator/config/GeneratorStrategy.java b/jjj_erp/generator/src/main/java/net/jjjerp/generator/config/GeneratorStrategy.java new file mode 100644 index 0000000..3cf8f37 --- /dev/null +++ b/jjj_erp/generator/src/main/java/net/jjjerp/generator/config/GeneratorStrategy.java @@ -0,0 +1,13 @@ + + +package net.jjjerp.generator.config; + +/** + * 生成策略 + * SIMPLE 生成最基本的代码 + * SINGLE 生成单表操作代码 + * ALL 生成所有的代码 + **/ +public enum GeneratorStrategy { + SIMPLE, SINGLE, ALL +} diff --git a/jjj_erp/generator/src/main/java/net/jjjerp/generator/config/MybatisPlusGeneratorConfig.java b/jjj_erp/generator/src/main/java/net/jjjerp/generator/config/MybatisPlusGeneratorConfig.java new file mode 100644 index 0000000..768085c --- /dev/null +++ b/jjj_erp/generator/src/main/java/net/jjjerp/generator/config/MybatisPlusGeneratorConfig.java @@ -0,0 +1,35 @@ + + +package net.jjjerp.generator.config; + +import com.baomidou.mybatisplus.generator.config.GlobalConfig; +import com.baomidou.mybatisplus.generator.config.PackageConfig; +import com.baomidou.mybatisplus.generator.config.StrategyConfig; +import lombok.Data; +import lombok.experimental.Accessors; +import org.springframework.boot.context.properties.NestedConfigurationProperty; + +/** + * mybatisplus相关配置 + **/ +@Data +@Accessors(chain = true) +public class MybatisPlusGeneratorConfig { + /** + * 全局配置 + */ + @NestedConfigurationProperty + private GlobalConfig globalConfig = new GlobalConfig(); + + /** + * 包配置 + */ + @NestedConfigurationProperty + private PackageConfig packageConfig = new PackageConfig(); + + /** + * 策略配置 + */ + private StrategyConfig strategyConfig = new StrategyConfig(); + +} diff --git a/jjj_erp/generator/src/main/java/net/jjjerp/generator/config/ProjectConfig.java b/jjj_erp/generator/src/main/java/net/jjjerp/generator/config/ProjectConfig.java new file mode 100644 index 0000000..ecc8733 --- /dev/null +++ b/jjj_erp/generator/src/main/java/net/jjjerp/generator/config/ProjectConfig.java @@ -0,0 +1,48 @@ + + +package net.jjjerp.generator.config; + +import net.jjjerp.generator.constant.GeneratorConstant; +import lombok.Data; +import lombok.experimental.Accessors; + +/** + * 项目信息配置 + **/ +@Data +@Accessors(chain = true) +public class ProjectConfig { + + /** + * 分页参数后缀 + */ + private String pageParamSuffix = GeneratorConstant.PAGE_PARAM; + /** + * QueryVo后缀 + */ + private String queryVoSuffix = GeneratorConstant.QUERY_VO; + /** + * 分页参数父类全称,带包名 + */ + private String superPageParamClass = GeneratorConstant.SUPER_PAGE_PARAM_CLASS; + /** + * 分页对象类全称,带包名 + */ + private String pagingClass = GeneratorConstant.PAGING_CLASS; + /** + * 分页信息类全称,带包名 + */ + private String pageInfoClass = GeneratorConstant.PAGE_INFO_CLASS; + /** + * 分页排序参数父类全称,带包名 + */ + private String superPageOrderParamClass = GeneratorConstant.SUPER_PAGE_ORDER_PARAM_CLASS; + /** + * 公共id参数类全称,带包名 + */ + private String idParamClass = GeneratorConstant.ID_PARAM_CLASS; + /** + * 公共结果类全称,带包名 + */ + private String apiResultClass = GeneratorConstant.API_RESULT_CLASS; +} diff --git a/jjj_erp/generator/src/main/java/net/jjjerp/generator/config/TableConfig.java b/jjj_erp/generator/src/main/java/net/jjjerp/generator/config/TableConfig.java new file mode 100644 index 0000000..be4fa15 --- /dev/null +++ b/jjj_erp/generator/src/main/java/net/jjjerp/generator/config/TableConfig.java @@ -0,0 +1,25 @@ + + +package net.jjjerp.generator.config; + +import lombok.Data; +import lombok.experimental.Accessors; + +/** + * 生成的表信息配置 + **/ +@Data +@Accessors(chain = true) +public class TableConfig { + + /** + * 生成的表名称 + */ + private String tableName; + + /** + * 主键数据库列名称 + */ + private String pkIdName = "id"; + +} diff --git a/jjj_erp/generator/src/main/java/net/jjjerp/generator/config/query/SpringBootJjjMySqlQuery.java b/jjj_erp/generator/src/main/java/net/jjjerp/generator/config/query/SpringBootJjjMySqlQuery.java new file mode 100644 index 0000000..06af0bf --- /dev/null +++ b/jjj_erp/generator/src/main/java/net/jjjerp/generator/config/query/SpringBootJjjMySqlQuery.java @@ -0,0 +1,17 @@ + + +package net.jjjerp.generator.config.query; + +import com.baomidou.mybatisplus.generator.config.querys.MySqlQuery; + +/** + * MySQL代码生成查询是否为空的列 + **/ +public class SpringBootJjjMySqlQuery extends MySqlQuery { + + @Override + public String[] fieldCustom() { + return new String[]{"null", "default"}; + } + +} diff --git a/jjj_erp/generator/src/main/java/net/jjjerp/generator/config/query/SpringBootJjjSqlServerQuery.java b/jjj_erp/generator/src/main/java/net/jjjerp/generator/config/query/SpringBootJjjSqlServerQuery.java new file mode 100644 index 0000000..bed0a22 --- /dev/null +++ b/jjj_erp/generator/src/main/java/net/jjjerp/generator/config/query/SpringBootJjjSqlServerQuery.java @@ -0,0 +1,27 @@ + + +package net.jjjerp.generator.config.query; + +import com.baomidou.mybatisplus.generator.config.querys.SqlServerQuery; + +/** + * SQLServer自定义生成器查询SQL + **/ +public class SpringBootJjjSqlServerQuery extends SqlServerQuery { + + /** + * fix mybatisplus3.3.1 SQLServer SQL过滤表,TABLE_NAME报错问题 + * @return + */ + @Override + public String tablesSql() { + return "select TABLE_NAME,COMMENTS from (" + + " select cast(so.name as varchar(500)) as TABLE_NAME, " + + " cast(sep.value as varchar(500)) as COMMENTS from sysobjects so " + + " left JOIN sys.extended_properties sep on sep.major_id=so.id and sep.minor_id=0 " + + " where (xtype='U' or xtype='v')" + + ") tb " + + "where 1 = 1 "; + + } +} diff --git a/jjj_erp/generator/src/main/java/net/jjjerp/generator/constant/GeneratorConstant.java b/jjj_erp/generator/src/main/java/net/jjjerp/generator/constant/GeneratorConstant.java new file mode 100644 index 0000000..5fdf257 --- /dev/null +++ b/jjj_erp/generator/src/main/java/net/jjjerp/generator/constant/GeneratorConstant.java @@ -0,0 +1,124 @@ + + +package net.jjjerp.generator.constant; + +import java.io.File; + +/** + * 生成器常量 + **/ +public interface GeneratorConstant { + + /** + * 用户目录 + */ + String USER_DIR = "user.dir"; + /** + * java目录 src/main/java + */ + String JAVA_DIR = File.separator + "src" + File.separator + "main" + File.separator + "java"; + /** + * resources目录 src/main/resources + */ + String RESOURCES_DIR = File.separator + "src" + File.separator + "main" + File.separator + "resources"; + /** + * mapper目录 src/main/resources/mapper + */ + String MAPPER_DIR = RESOURCES_DIR + File.separator + "mapper"; + /** + * 参数 + */ + String PARAM = "param"; + /** + * 分页参数 + */ + String PAGE_PARAM = "PageParam"; + /** + * VO + */ + String VO = "vo"; + /** + * 查询VO + */ + String QUERY_VO = "QueryVo"; + /** + * Service + */ + String SERVICE = "Service"; + /** + * Mapper + */ + String MAPPER = "Mapper"; + /** + * Mapper XML template路径 + */ + String MAPPER_XML_TEMPLATE_PATH = File.separator + "templates" + File.separator + "mapper.xml.vm"; + /** + * 分页参数 template路径 + */ + String PAGE_PARAM_TEMPLATE_PATH = File.separator + "templates" + File.separator + "pageParam.java.vm"; + /** + * 查询VO template路径 + */ + String QUERY_VO_TEMPLATE_PATH = File.separator + "templates" + File.separator + "queryVo.java.vm"; + /** + * 乐观锁属性名称 + */ + String VERSION = "version"; + /** + * 逻辑删除属性名称 + */ + String DELETED = "deleted"; + /** + * Service名称 + */ + String SERVICE_NAME = "%sService"; + /** + * 自定义继承的Entity类全称,带包名 + */ + String SUPER_ENTITY_CLASS = "net.jjjerp.framework.common.entity.BaseEntity"; + /** + * 自定义继承的Controller类全称,带包名 + */ + String SUPER_CONTROLLER_CLASS = "net.jjjerp.framework.common.controller.BaseController"; + /** + * 自定义继承的Service类全称,带包名 + */ + String SUPER_SERVICE_CLASS = "net.jjjerp.framework.common.service.BaseService"; + /** + * 自定义继承的ServiceImpl类全称,带包名 + */ + String SUPER_SERVICE_IMPL_CLASS = "net.jjjerp.framework.common.service.impl.BaseServiceImpl"; + /** + * 分页参数父类全称,带包名 + */ + String SUPER_PAGE_PARAM_CLASS = "net.jjjerp.framework.core.pagination.BasePageParam"; + /** + * 分页排序参数父类全称,带包名 + */ + String SUPER_PAGE_ORDER_PARAM_CLASS = "net.jjjerp.framework.core.pagination.BasePageOrderParam"; + /** + * 公共id参数类全称,带包名 + */ + String ID_PARAM_CLASS = "net.jjjerp.framework.common.param.IdParam"; + /** + * 分页对象类全称,带包名 + */ + String PAGING_CLASS = "net.jjjerp.framework.core.pagination.Paging"; + /** + * 分页信息类全称,带包名 + */ + String PAGE_INFO_CLASS = "net.jjjerp.framework.core.pagination.PageInfo"; + /** + * 公共结果类全称,带包名 + */ + String API_RESULT_CLASS = "net.jjjerp.framework.common.api.ApiResult"; + /** + * 分组验证Add.class类路径 + */ + String VALIDATOR_ADD_PACKAGE = "net.jjjerp.framework.core.validator.groups.Add"; + /** + * 分组验证Update.class类路径 + */ + String VALIDATOR_UPDATE_PACKAGE = "net.jjjerp.framework.core.validator.groups.Update"; +} diff --git a/jjj_erp/generator/src/main/java/net/jjjerp/generator/exception/GeneratorException.java b/jjj_erp/generator/src/main/java/net/jjjerp/generator/exception/GeneratorException.java new file mode 100644 index 0000000..0d87957 --- /dev/null +++ b/jjj_erp/generator/src/main/java/net/jjjerp/generator/exception/GeneratorException.java @@ -0,0 +1,25 @@ + + +package net.jjjerp.generator.exception; + +import net.jjjerp.framework.common.api.ApiCode; +import net.jjjerp.framework.common.exception.SpringBootJjjException; + +/** + * 代码生成异常 + */ +public class GeneratorException extends SpringBootJjjException { + private static final long serialVersionUID = 2556853577480934761L; + + public GeneratorException(String message) { + super(message); + } + + public GeneratorException(Integer errorCode, String message) { + super(errorCode, message); + } + + public GeneratorException(ApiCode apiCode) { + super(apiCode); + } +} diff --git a/jjj_erp/generator/src/main/java/net/jjjerp/generator/properties/GeneratorProperties.java b/jjj_erp/generator/src/main/java/net/jjjerp/generator/properties/GeneratorProperties.java new file mode 100644 index 0000000..78c2240 --- /dev/null +++ b/jjj_erp/generator/src/main/java/net/jjjerp/generator/properties/GeneratorProperties.java @@ -0,0 +1,118 @@ + + +package net.jjjerp.generator.properties; + +import com.baomidou.mybatisplus.generator.config.DataSourceConfig; +import net.jjjerp.generator.config.GeneratorConfig; +import net.jjjerp.generator.config.MybatisPlusGeneratorConfig; +import net.jjjerp.generator.config.ProjectConfig; +import net.jjjerp.generator.config.TableConfig; +import lombok.Data; +import lombok.experimental.Accessors; +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.boot.context.properties.NestedConfigurationProperty; +import org.springframework.stereotype.Component; + +import java.util.ArrayList; +import java.util.List; + +/** + * spring-boot-jjj代码生成配置属性 + **/ +@Data +@Accessors(chain = true) +@Component +@ConfigurationProperties(prefix = "spring-boot-jjj.generator") +public class GeneratorProperties { + + /** + * Maven模块名称 + */ + private String mavenModuleName; + + /** + * 业务模块名称 + */ + private String moduleName; + + /** + * 生成的父包全路径名称 + */ + private String parentPackage; + + /** + * 生成的类文件路径 + */ + private String parentPackagePath; + + /** + * 开发人员名称 + */ + private String author; + + /** + * 生成文件的输出目录,root: 表示当前项目根目录 + */ + private String outputDir; + + /** + * 是否覆盖已有文件 + */ + private boolean fileOverride = false; + + /** + * 表前缀 + */ + private List tablePrefix; + + /** + * 表信息配置 + */ + @NestedConfigurationProperty + private List tableConfig = new ArrayList<>(); + + /** + * 数据库连接信息配置 + */ + @NestedConfigurationProperty + public DataSourceConfig dataSourceConfig = new DataSourceConfig(); + + /** + * 代码生成配置 + */ + @NestedConfigurationProperty + private GeneratorConfig generatorConfig = new GeneratorConfig(); + + /** + * mybatisplus相关配置 + */ + @NestedConfigurationProperty + private MybatisPlusGeneratorConfig mybatisPlusGeneratorConfig = new MybatisPlusGeneratorConfig(); + + /** + * 项目信息配置 + */ + @NestedConfigurationProperty + private ProjectConfig projectConfig = new ProjectConfig(); + + + public GeneratorProperties addTable(String tableName) { + this.addTable(tableName, null); + return this; + } + + public GeneratorProperties addTable(String tableName, String pkIdName) { + this.getTableConfig().add(new TableConfig().setTableName(tableName).setPkIdName(pkIdName)); + return this; + } + + public GeneratorProperties setTables(String... tableNames) { + if (tableNames == null) { + return this; + } + for (String tableName : tableNames) { + this.addTable(tableName); + } + return this; + } +} diff --git a/jjj_erp/generator/src/main/resources/application.yml b/jjj_erp/generator/src/main/resources/application.yml new file mode 100644 index 0000000..b428b47 --- /dev/null +++ b/jjj_erp/generator/src/main/resources/application.yml @@ -0,0 +1,90 @@ +spring-boot-jjj: + generator: + # Maven模块名称 + maven-module-name: example + # 生成的父包全路径名称 + parent-package: com.example + # 业务模块名称 + module-name: foorbar + # 表前缀 + table-prefix: + # 生成的表名称,可配置多张表 + table-config: + # 表名称 + - table-name: foo_bar + # 主键列名称 + pk-id-name: id + # 开发人员名称 + author: jjjerp + # 是否覆盖已有文件 + file-override: true + # 生成文件的输出目录,如果为空: 表示当前项目根目录 + output-dir: + # 数据源配置 + data-source-config: + # 数据库类型 + db-type: MYSQL + # 数据库连接用户名 + username: root + # 数据库连接密码 + password: root + # 驱动URL + driver-name: com.mysql.jdbc.Driver + # 驱动URL + url: jdbc:mysql://localhost:3306/jjjerp?useUnicode=true&characterEncoding=UTF-8&useSSL=false + # 代码生成配置 + generator-config: + # 代码生成策略 SIMPLE:生成最基本的代码,NORMAL:生成普通代码, ALL:生成所有的代码 + generator-strategy: ALL + # 是否生成实体类 + generator-entity: true + # 是否生成控制器 + generator-controller: true + # 是否生成service接口 + generator-service: true + # 是否生成service实现类 + generator-service-impl: true + # 是否生成Mapper + generator-mapper: true + # 是否生成Mapper XML + generator-mapper-xml: true + # 是否生成查询参数 + generator-page-param: true + # 是否生成查询VO + generator-query-vo: true + # 是否生成Shiro RequiresPermissions 注解 + requires-permissions: true + # 分页列表查询是否排序 true:有排序参数/false:无 + page-list-order: true + # 是否生成validation校验,true:生成/false:不生成 + param-validation: true + # mybatisplus配置 + mybatis-plus-generator-config: + global-config: + # 是否打开输出目录 + open: false + # 开启 swagger2 模式 + swagger2: true + # 指定生成的主键的ID类型 + id-type: AUTO + # 时间类型对应策略 + date-type: ONLY_DATE + strategy-config: + # 数据库表映射到实体的命名策略 + naming: underline_to_camel + # 数据库表字段映射到实体的命名策略 + column-naming: underline_to_camel + # 实体】是否为lombok模型 + entity-lombok-model: true + # RestController + rest-controller-style: true + # 自定义基础的Entity类,公共字段 + super-entity-columns: + # 表填充字段 + table-fill-list: + # 驼峰转连字符 + controller-mapping-hyphenstyle: true + # 乐观锁属性名称 + version-field-name: version + # 逻辑删除属性名称 + logic-delete-field-name: deleted \ No newline at end of file diff --git a/jjj_erp/generator/src/main/resources/templates/controller.java.vm b/jjj_erp/generator/src/main/resources/templates/controller.java.vm new file mode 100644 index 0000000..c61b2dd --- /dev/null +++ b/jjj_erp/generator/src/main/resources/templates/controller.java.vm @@ -0,0 +1,162 @@ +package ${package.Controller}; + +import ${package.Entity}.${entity}; +import ${package.Service}.${table.serviceName}; +import lombok.extern.slf4j.Slf4j; +#if(${cfg.generatorStrategy} != 'SIMPLE') +#if(${cfg.generatorPageParam}) +import ${cfg.pageParamClass}; +#end +#if(${superControllerClassPackage}) +import ${superControllerClassPackage}; +#end +#if(${cfg.generatorQueryVo}) +import ${cfg.queryVoClass}; +#end +import ${cfg.apiResultClass}; +import ${cfg.pagingClass}; +import ${cfg.idParamClass}; +#if(${cfg.operationLog}) +import net.jjjerp.framework.log.annotation.Module; +import net.jjjerp.framework.log.annotation.OperationLog; +import net.jjjerp.framework.log.enums.OperationLogType; +#end +#if(${cfg.paramValidation}) +import ${cfg.validatorAddPackage}; +import ${cfg.validatorUpdatePackage}; +import org.springframework.validation.annotation.Validated; +#end +#if(${cfg.requiresPermissions}) +import org.apache.shiro.authz.annotation.RequiresPermissions; +#end +#end +#if(${swagger2}) +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +#end +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +/** + * $!{table.comment} 控制器 + * + * @author ${author} + * @since ${date} + */ +@Slf4j +#if(${restControllerStyle}) +@RestController +#else +@Controller +#end +@RequestMapping("/${cfg.entityObjectName}") +#if(${cfg.operationLog}) +@Module("${cfg.module}") +#end +#if(${cfg.swaggerTags}) +@Api(value = "$!{table.comment}API", tags = {"$!{table.comment}"}) +#else +@Api("$!{table.comment}API") +#end +#if(${kotlin}) +class ${table.controllerName}#if(${superControllerClass}) : ${superControllerClass}()#end + +#else +#if(${superControllerClass}) +public class ${table.controllerName} extends ${superControllerClass} { +#else +public class ${table.controllerName} { +#end + + @Autowired + private ${table.serviceName} ${cfg.serviceObjectName}; + +#if(${cfg.generatorStrategy} != 'SIMPLE') + /** + * 添加$!{table.comment} + */ + @PostMapping("/add") +#if(${cfg.requiresPermissions}) + //@RequiresPermissions("$!{cfg.colonTableName}:add") +#end +#if(${cfg.operationLog}) + @OperationLog(name = "添加$!{table.comment}", type = OperationLogType.ADD) +#end + @ApiOperation(value = "添加$!{table.comment}", response = ApiResult.class) + public ApiResult add${entity}(#if(${cfg.paramValidation})@Validated(Add.class) #end@RequestBody ${entity} ${cfg.entityObjectName}) throws Exception { + boolean flag = ${cfg.serviceObjectName}.save${entity}(${cfg.entityObjectName}); + return ApiResult.result(flag); + } + + /** + * 修改$!{table.comment} + */ + @PostMapping("/update") +#if(${cfg.requiresPermissions}) + //@RequiresPermissions("$!{cfg.colonTableName}:update") +#end +#if(${cfg.operationLog}) + @OperationLog(name = "修改$!{table.comment}", type = OperationLogType.UPDATE) +#end + @ApiOperation(value = "修改$!{table.comment}", response = ApiResult.class) + public ApiResult update${entity}(#if(${cfg.paramValidation})@Validated(Update.class) #end@RequestBody ${entity} ${cfg.entityObjectName}) throws Exception { + boolean flag = ${cfg.serviceObjectName}.update${entity}(${cfg.entityObjectName}); + return ApiResult.result(flag); + } + + /** + * 删除$!{table.comment} + */ + @PostMapping("/delete/{id}") +#if(${cfg.requiresPermissions}) + //@RequiresPermissions("$!{cfg.colonTableName}:delete") +#end +#if(${cfg.operationLog}) + @OperationLog(name = "删除$!{table.comment}", type = OperationLogType.DELETE) +#end + @ApiOperation(value = "删除$!{table.comment}", response = ApiResult.class) + public ApiResult delete${entity}(@PathVariable("id") Long id) throws Exception { + boolean flag = ${cfg.serviceObjectName}.delete${entity}(id); + return ApiResult.result(flag); + } + + /** + * 获取$!{table.comment}详情 + */ + @GetMapping("/info/{id}") +#if(${cfg.requiresPermissions}) + //@RequiresPermissions("$!{cfg.colonTableName}:info") +#end +#if(${cfg.operationLog}) + @OperationLog(name = "$!{table.comment}详情", type = OperationLogType.INFO) +#end + @ApiOperation(value = "$!{table.comment}详情", response = ${entity}${cfg.queryVo}.class) + public ApiResult<${entity}${cfg.queryVo}> get${entity}(@PathVariable("id") Long id) throws Exception { +#if(${cfg.generatorStrategy} == 'SINGLE') + ${entity}${cfg.queryVo} ${cfg.entityObjectName}${cfg.queryVo} = ${cfg.serviceObjectName}.getById(id); +#else + ${entity}${cfg.queryVo} ${cfg.entityObjectName}${cfg.queryVo} = ${cfg.serviceObjectName}.get${entity}ById(id); +#end + return ApiResult.ok(${cfg.entityObjectName}${cfg.queryVo}); + } + + /** + * $!{table.comment}分页列表 + */ + @PostMapping("/getPageList") +#if(${cfg.requiresPermissions}) + //@RequiresPermissions("$!{cfg.colonTableName}:page") +#end +#if(${cfg.operationLog}) + @OperationLog(name = "$!{table.comment}分页列表", type = OperationLogType.PAGE) +#end + @ApiOperation(value = "$!{table.comment}分页列表", response = ${entity}${cfg.queryVo}.class) + public ApiResult> get${entity}PageList(#if(${cfg.paramValidation})@Validated #end@RequestBody ${entity}${cfg.pageParam} ${cfg.entityObjectName}${cfg.pageParam}) throws Exception { + Paging<${entity}${cfg.queryVo}> paging = ${cfg.entityObjectName}Service.get${entity}PageList(${cfg.entityObjectName}${cfg.pageParam}); + return ApiResult.ok(paging); + } +#end + +} + +#end \ No newline at end of file diff --git a/jjj_erp/generator/src/main/resources/templates/entity.java.vm b/jjj_erp/generator/src/main/resources/templates/entity.java.vm new file mode 100644 index 0000000..abb94e2 --- /dev/null +++ b/jjj_erp/generator/src/main/resources/templates/entity.java.vm @@ -0,0 +1,95 @@ +package ${package.Entity}; + +#foreach($pkg in ${table.importPackages}) +import ${pkg}; +#end +#if(${swagger2}) +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +#end +#if(${entityLombokModel}) +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +#end +#if(${cfg.paramValidation}) +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import ${cfg.validatorUpdatePackage}; +#end +import java.io.Serializable; + +/** + * $!{table.comment} + * + * @author ${author} + * @since ${date} + */ +#if(${entityLombokModel}) +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +#end +#if(${table.convert}) +@TableName("${table.name}") +#end +#if(${swagger2}) +@ApiModel(value = "${entity}对象") +#end +public class ${entity} implements Serializable { + private static final long serialVersionUID = 1L; + +## ---------- BEGIN 字段循环遍历 ---------- +#foreach($field in ${table.fields}) +## 如果没有默认值,且不为空,则设置非空校验 +#if(${cfg.paramValidation} && ${field.customMap.null} == 'NO' && !${field.customMap.default}) + #if(${field.keyIdentityFlag}) + @NotNull(message = "${field.propertyName}不能为空", groups = {Update.class}) + #elseif(${field.propertyType} == 'String') + @NotBlank(message = "${field.comment}不能为空") + #else + @NotNull(message = "${field.comment}不能为空") + #end +#end +#if("$!field.comment" != "") + #if(${swagger2}) + @ApiModelProperty("${field.comment}") + #else +/** + * ${field.comment} + */ + #end +#end +#if(${field.keyFlag}) +## 主键 +#if(${field.keyIdentityFlag}) + @TableId(value = "${field.name}", type = IdType.AUTO) +#elseif(!$null.isNull(${idType}) && "$!idType" != "") +## 设置主键注解 + @TableId(value = "${field.name}", type = IdType.${idType}) +#elseif(${field.convert}) + @TableId("${field.name}") +#end +## 普通字段 +#elseif(${field.fill}) +## ----- 存在字段填充设置 ----- +#if(${field.convert}) + @TableField(value = "${field.name}", fill = FieldFill.${field.fill}) +#else + @TableField(fill = FieldFill.${field.fill}) +#end +#elseif(${field.convert}) + @TableField("${field.name}") +#end +## 乐观锁注解 +#if(${versionFieldName}==${field.name}) + @Version +#end +## 逻辑删除注解 +#if(${logicDeleteFieldName}==${field.name}) + @TableLogic +#end + private ${field.propertyType} ${field.propertyName}; + +#end +} diff --git a/jjj_erp/generator/src/main/resources/templates/mapper.java.vm b/jjj_erp/generator/src/main/resources/templates/mapper.java.vm new file mode 100644 index 0000000..3131cbe --- /dev/null +++ b/jjj_erp/generator/src/main/resources/templates/mapper.java.vm @@ -0,0 +1,53 @@ +package ${package.Mapper}; + +import ${superMapperClassPackage}; +import ${package.Entity}.${entity}; +#if(${cfg.generatorPageParam}) +import ${cfg.pageParamClass}; +#end +#if(${cfg.generatorQueryVo}) +import ${cfg.queryVoClass}; +#end + +import org.springframework.stereotype.Repository; + +#if(${cfg.generatorStrategy} != 'SIMPLE') +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Param; +import java.io.Serializable; +#end + +/** + * $!{table.comment} Mapper 接口 + * + * @author ${author} + * @since ${date} + */ +#if(${kotlin}) +interface ${table.mapperName} : ${superMapperClass}<${entity}> +#else +@Repository +public interface ${table.mapperName} extends ${superMapperClass}<${entity}> { + +#if(${cfg.generatorStrategy} == 'ALL') + /** + * 根据ID获取查询对象 + * + * @param id + * @return + */ + ${entity}${cfg.queryVo} get${entity}ById(Serializable id); + + /** + * 获取分页对象 + * + * @param page + * @param ${cfg.entityObjectName}QueryParam + * @return + */ + IPage<${entity}${cfg.queryVo}> get${entity}PageList(@Param("page") Page page, @Param("param") ${entity}${cfg.pageParam} ${cfg.entityObjectName}${cfg.pageParam}); +#end + +} +#end diff --git a/jjj_erp/generator/src/main/resources/templates/mapper.xml.vm b/jjj_erp/generator/src/main/resources/templates/mapper.xml.vm new file mode 100644 index 0000000..b46f3ed --- /dev/null +++ b/jjj_erp/generator/src/main/resources/templates/mapper.xml.vm @@ -0,0 +1,51 @@ + + + + +#if(${enableCache}) + + + +#end +#if(${baseResultMap}) + + +#foreach($field in ${table.fields}) +#if(${field.keyFlag})##生成主键排在第一位 + +#end +#end +#foreach($field in ${table.commonFields})##生成公共字段 + +#end +#foreach($field in ${table.fields}) +#if(!${field.keyFlag})##生成普通字段 + +#end +#end + + +#end +#if(${cfg.generatorStrategy} == 'ALL') + + +#foreach($field in ${table.commonFields}) + ${field.name}, +#end + ${table.fieldNames} + + + + + + +#end + diff --git a/jjj_erp/generator/src/main/resources/templates/pageParam.java.vm b/jjj_erp/generator/src/main/resources/templates/pageParam.java.vm new file mode 100644 index 0000000..7574529 --- /dev/null +++ b/jjj_erp/generator/src/main/resources/templates/pageParam.java.vm @@ -0,0 +1,31 @@ +package ${cfg.pageParamPackage}; + +import io.swagger.annotations.ApiModel; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +#if(${cfg.pageListOrder}) +import ${cfg.superPageOrderParamClass}; +#else +import ${cfg.superPageParamClass}; +#end + +/** + *
+ * $!{table.comment} 分页参数对象
+ * 
+ * + * @author ${author} + * @date ${date} + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = true) +@ApiModel(value = "$!{table.comment}分页参数") +#if(${cfg.pageListOrder}) +public class ${entity}${cfg.pageParam} extends BasePageOrderParam { +#else +public class ${entity}${cfg.pageParam} extends BasePageParam { +#end + private static final long serialVersionUID = 1L; +} diff --git a/jjj_erp/generator/src/main/resources/templates/queryVo.java.vm b/jjj_erp/generator/src/main/resources/templates/queryVo.java.vm new file mode 100644 index 0000000..027d7fa --- /dev/null +++ b/jjj_erp/generator/src/main/resources/templates/queryVo.java.vm @@ -0,0 +1,46 @@ +package ${cfg.queryVoPackage}; + +#if(${swagger2}) +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +#end +#if(${entityLombokModel}) +import lombok.Data; +import lombok.experimental.Accessors; +#end +import java.io.Serializable; +import java.util.Date; + +/** + *
+ * $!{table.comment} 查询结果对象
+ * 
+ * + * @author ${author} + * @date ${date} + */ +#if(${entityLombokModel}) +@Data +@Accessors(chain = true) +#end +@ApiModel(value = "${entity}${cfg.queryVo}对象") +public class ${entity}${cfg.queryVo} implements Serializable { + private static final long serialVersionUID = 1L; +## ---------- BEGIN 字段循环遍历 ---------- +#foreach($field in ${table.fields}) + +#if(${field.keyFlag}) +#set($keyPropertyName=${field.propertyName}) +#end +#if("$!field.comment" != "") + #if(${swagger2}) + @ApiModelProperty("${field.comment}") + #else +/** + * ${field.comment} + */ + #end +#end + private ${field.propertyType} ${field.propertyName}; +#end +} \ No newline at end of file diff --git a/jjj_erp/generator/src/main/resources/templates/service.java.vm b/jjj_erp/generator/src/main/resources/templates/service.java.vm new file mode 100644 index 0000000..fc04575 --- /dev/null +++ b/jjj_erp/generator/src/main/resources/templates/service.java.vm @@ -0,0 +1,23 @@ +package ${package.Service}; + +import ${package.Entity}.${entity}; +#if(${cfg.generatorPageParam}) +import ${cfg.pageParamClass}; +#end +import ${superServiceClassPackage}; +#if(${cfg.generatorQueryVo}) +import ${cfg.queryVoClass}; +#end +#if(${cfg.generatorStrategy} != 'SIMPLE') +import ${cfg.pagingClass}; +#end + +/** + * $!{table.comment} 服务类 + * + * @author ${author} + * @since ${date} + */ +public interface ${table.serviceName} extends ${superServiceClass}<${entity}> { + +} diff --git a/jjj_erp/generator/src/main/resources/templates/serviceImpl.java.vm b/jjj_erp/generator/src/main/resources/templates/serviceImpl.java.vm new file mode 100644 index 0000000..be9e073 --- /dev/null +++ b/jjj_erp/generator/src/main/resources/templates/serviceImpl.java.vm @@ -0,0 +1,41 @@ +package ${package.ServiceImpl}; + +import ${package.Entity}.${entity}; +import ${package.Mapper}.${table.mapperName}; +import ${package.Service}.${table.serviceName}; +#if(${cfg.generatorPageParam}) +import ${cfg.pageParamClass}; +#end +#if(${cfg.generatorQueryVo}) +import ${cfg.queryVoClass}; +#end +#if(${cfg.generatorStrategy} == 'SINGLE') +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +#end +import ${superServiceImplClassPackage}; +#if(${cfg.generatorStrategy} != 'SIMPLE') +import ${cfg.pagingClass}; +import ${cfg.pageInfoClass}; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.metadata.OrderItem; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.springframework.transaction.annotation.Transactional; +#end +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.beans.factory.annotation.Autowired; + +/** + * $!{table.comment} 服务实现类 + * + * @author ${author} + * @since ${date} + */ +@Slf4j +@Service +public class ${table.serviceImplName} extends BaseServiceImpl<${table.mapperName}, ${entity}> implements ${entity}Service { + + @Autowired + private ${table.mapperName} ${cfg.mapperObjectName}; + +} diff --git a/jjj_erp/generator/src/test/java/net/jjjerp/generator/test/GeneratorPropertiesTest.java b/jjj_erp/generator/src/test/java/net/jjjerp/generator/test/GeneratorPropertiesTest.java new file mode 100644 index 0000000..ca728eb --- /dev/null +++ b/jjj_erp/generator/src/test/java/net/jjjerp/generator/test/GeneratorPropertiesTest.java @@ -0,0 +1,31 @@ + + +package net.jjjerp.generator.test; + +import net.jjjerp.generator.CodeGenerator; +import net.jjjerp.generator.properties.GeneratorProperties; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.context.junit4.SpringRunner; + +/** + * 生成代码配置文件读取测试 + **/ +@RunWith(SpringRunner.class) +@SpringBootTest(classes = GeneratorTestApplication.class) +public class GeneratorPropertiesTest { + + @Autowired + private GeneratorProperties generatorProperties; + + @Autowired + private CodeGenerator codeGenerator; + + @Test + public void test(){ +// codeGenerator.generator(generatorProperties); + } + +} diff --git a/jjj_erp/generator/src/test/java/net/jjjerp/generator/test/GeneratorTestApplication.java b/jjj_erp/generator/src/test/java/net/jjjerp/generator/test/GeneratorTestApplication.java new file mode 100644 index 0000000..cd55096 --- /dev/null +++ b/jjj_erp/generator/src/test/java/net/jjjerp/generator/test/GeneratorTestApplication.java @@ -0,0 +1,9 @@ + + +package net.jjjerp.generator.test; + +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@SpringBootApplication(scanBasePackages = "net.jjjerp.generator") +public class GeneratorTestApplication { +} diff --git a/jjj_erp/generator/target/classes/application.yml b/jjj_erp/generator/target/classes/application.yml new file mode 100644 index 0000000..b428b47 --- /dev/null +++ b/jjj_erp/generator/target/classes/application.yml @@ -0,0 +1,90 @@ +spring-boot-jjj: + generator: + # Maven模块名称 + maven-module-name: example + # 生成的父包全路径名称 + parent-package: com.example + # 业务模块名称 + module-name: foorbar + # 表前缀 + table-prefix: + # 生成的表名称,可配置多张表 + table-config: + # 表名称 + - table-name: foo_bar + # 主键列名称 + pk-id-name: id + # 开发人员名称 + author: jjjerp + # 是否覆盖已有文件 + file-override: true + # 生成文件的输出目录,如果为空: 表示当前项目根目录 + output-dir: + # 数据源配置 + data-source-config: + # 数据库类型 + db-type: MYSQL + # 数据库连接用户名 + username: root + # 数据库连接密码 + password: root + # 驱动URL + driver-name: com.mysql.jdbc.Driver + # 驱动URL + url: jdbc:mysql://localhost:3306/jjjerp?useUnicode=true&characterEncoding=UTF-8&useSSL=false + # 代码生成配置 + generator-config: + # 代码生成策略 SIMPLE:生成最基本的代码,NORMAL:生成普通代码, ALL:生成所有的代码 + generator-strategy: ALL + # 是否生成实体类 + generator-entity: true + # 是否生成控制器 + generator-controller: true + # 是否生成service接口 + generator-service: true + # 是否生成service实现类 + generator-service-impl: true + # 是否生成Mapper + generator-mapper: true + # 是否生成Mapper XML + generator-mapper-xml: true + # 是否生成查询参数 + generator-page-param: true + # 是否生成查询VO + generator-query-vo: true + # 是否生成Shiro RequiresPermissions 注解 + requires-permissions: true + # 分页列表查询是否排序 true:有排序参数/false:无 + page-list-order: true + # 是否生成validation校验,true:生成/false:不生成 + param-validation: true + # mybatisplus配置 + mybatis-plus-generator-config: + global-config: + # 是否打开输出目录 + open: false + # 开启 swagger2 模式 + swagger2: true + # 指定生成的主键的ID类型 + id-type: AUTO + # 时间类型对应策略 + date-type: ONLY_DATE + strategy-config: + # 数据库表映射到实体的命名策略 + naming: underline_to_camel + # 数据库表字段映射到实体的命名策略 + column-naming: underline_to_camel + # 实体】是否为lombok模型 + entity-lombok-model: true + # RestController + rest-controller-style: true + # 自定义基础的Entity类,公共字段 + super-entity-columns: + # 表填充字段 + table-fill-list: + # 驼峰转连字符 + controller-mapping-hyphenstyle: true + # 乐观锁属性名称 + version-field-name: version + # 逻辑删除属性名称 + logic-delete-field-name: deleted \ No newline at end of file diff --git a/jjj_erp/generator/target/classes/net/jjjerp/generator/CodeGenerator$1.class b/jjj_erp/generator/target/classes/net/jjjerp/generator/CodeGenerator$1.class new file mode 100644 index 0000000..2704826 Binary files /dev/null and b/jjj_erp/generator/target/classes/net/jjjerp/generator/CodeGenerator$1.class differ diff --git a/jjj_erp/generator/target/classes/net/jjjerp/generator/CodeGenerator$2.class b/jjj_erp/generator/target/classes/net/jjjerp/generator/CodeGenerator$2.class new file mode 100644 index 0000000..b392c3c Binary files /dev/null and b/jjj_erp/generator/target/classes/net/jjjerp/generator/CodeGenerator$2.class differ diff --git a/jjj_erp/generator/target/classes/net/jjjerp/generator/CodeGenerator$3.class b/jjj_erp/generator/target/classes/net/jjjerp/generator/CodeGenerator$3.class new file mode 100644 index 0000000..7016f6a Binary files /dev/null and b/jjj_erp/generator/target/classes/net/jjjerp/generator/CodeGenerator$3.class differ diff --git a/jjj_erp/generator/target/classes/net/jjjerp/generator/CodeGenerator$4.class b/jjj_erp/generator/target/classes/net/jjjerp/generator/CodeGenerator$4.class new file mode 100644 index 0000000..bb5e2c2 Binary files /dev/null and b/jjj_erp/generator/target/classes/net/jjjerp/generator/CodeGenerator$4.class differ diff --git a/jjj_erp/generator/target/classes/net/jjjerp/generator/CodeGenerator.class b/jjj_erp/generator/target/classes/net/jjjerp/generator/CodeGenerator.class new file mode 100644 index 0000000..6af4f21b Binary files /dev/null and b/jjj_erp/generator/target/classes/net/jjjerp/generator/CodeGenerator.class differ diff --git a/jjj_erp/generator/target/classes/net/jjjerp/generator/SpringBootJjjGenerator.class b/jjj_erp/generator/target/classes/net/jjjerp/generator/SpringBootJjjGenerator.class new file mode 100644 index 0000000..58e62d9 Binary files /dev/null and b/jjj_erp/generator/target/classes/net/jjjerp/generator/SpringBootJjjGenerator.class differ diff --git a/jjj_erp/generator/target/classes/net/jjjerp/generator/config/GeneratorConfig.class b/jjj_erp/generator/target/classes/net/jjjerp/generator/config/GeneratorConfig.class new file mode 100644 index 0000000..d3644ca Binary files /dev/null and b/jjj_erp/generator/target/classes/net/jjjerp/generator/config/GeneratorConfig.class differ diff --git a/jjj_erp/generator/target/classes/net/jjjerp/generator/config/GeneratorStrategy.class b/jjj_erp/generator/target/classes/net/jjjerp/generator/config/GeneratorStrategy.class new file mode 100644 index 0000000..7f88fe3 Binary files /dev/null and b/jjj_erp/generator/target/classes/net/jjjerp/generator/config/GeneratorStrategy.class differ diff --git a/jjj_erp/generator/target/classes/net/jjjerp/generator/config/MybatisPlusGeneratorConfig.class b/jjj_erp/generator/target/classes/net/jjjerp/generator/config/MybatisPlusGeneratorConfig.class new file mode 100644 index 0000000..d66eaf7 Binary files /dev/null and b/jjj_erp/generator/target/classes/net/jjjerp/generator/config/MybatisPlusGeneratorConfig.class differ diff --git a/jjj_erp/generator/target/classes/net/jjjerp/generator/config/ProjectConfig.class b/jjj_erp/generator/target/classes/net/jjjerp/generator/config/ProjectConfig.class new file mode 100644 index 0000000..ebe0b8b Binary files /dev/null and b/jjj_erp/generator/target/classes/net/jjjerp/generator/config/ProjectConfig.class differ diff --git a/jjj_erp/generator/target/classes/net/jjjerp/generator/config/TableConfig.class b/jjj_erp/generator/target/classes/net/jjjerp/generator/config/TableConfig.class new file mode 100644 index 0000000..6953e5b Binary files /dev/null and b/jjj_erp/generator/target/classes/net/jjjerp/generator/config/TableConfig.class differ diff --git a/jjj_erp/generator/target/classes/net/jjjerp/generator/config/query/SpringBootJjjMySqlQuery.class b/jjj_erp/generator/target/classes/net/jjjerp/generator/config/query/SpringBootJjjMySqlQuery.class new file mode 100644 index 0000000..3465dae Binary files /dev/null and b/jjj_erp/generator/target/classes/net/jjjerp/generator/config/query/SpringBootJjjMySqlQuery.class differ diff --git a/jjj_erp/generator/target/classes/net/jjjerp/generator/config/query/SpringBootJjjSqlServerQuery.class b/jjj_erp/generator/target/classes/net/jjjerp/generator/config/query/SpringBootJjjSqlServerQuery.class new file mode 100644 index 0000000..22e4928 Binary files /dev/null and b/jjj_erp/generator/target/classes/net/jjjerp/generator/config/query/SpringBootJjjSqlServerQuery.class differ diff --git a/jjj_erp/generator/target/classes/net/jjjerp/generator/constant/GeneratorConstant.class b/jjj_erp/generator/target/classes/net/jjjerp/generator/constant/GeneratorConstant.class new file mode 100644 index 0000000..1507bbf Binary files /dev/null and b/jjj_erp/generator/target/classes/net/jjjerp/generator/constant/GeneratorConstant.class differ diff --git a/jjj_erp/generator/target/classes/net/jjjerp/generator/exception/GeneratorException.class b/jjj_erp/generator/target/classes/net/jjjerp/generator/exception/GeneratorException.class new file mode 100644 index 0000000..fa278d2 Binary files /dev/null and b/jjj_erp/generator/target/classes/net/jjjerp/generator/exception/GeneratorException.class differ diff --git a/jjj_erp/generator/target/classes/net/jjjerp/generator/properties/GeneratorProperties.class b/jjj_erp/generator/target/classes/net/jjjerp/generator/properties/GeneratorProperties.class new file mode 100644 index 0000000..2cefdb8 Binary files /dev/null and b/jjj_erp/generator/target/classes/net/jjjerp/generator/properties/GeneratorProperties.class differ diff --git a/jjj_erp/generator/target/classes/templates/controller.java.vm b/jjj_erp/generator/target/classes/templates/controller.java.vm new file mode 100644 index 0000000..c61b2dd --- /dev/null +++ b/jjj_erp/generator/target/classes/templates/controller.java.vm @@ -0,0 +1,162 @@ +package ${package.Controller}; + +import ${package.Entity}.${entity}; +import ${package.Service}.${table.serviceName}; +import lombok.extern.slf4j.Slf4j; +#if(${cfg.generatorStrategy} != 'SIMPLE') +#if(${cfg.generatorPageParam}) +import ${cfg.pageParamClass}; +#end +#if(${superControllerClassPackage}) +import ${superControllerClassPackage}; +#end +#if(${cfg.generatorQueryVo}) +import ${cfg.queryVoClass}; +#end +import ${cfg.apiResultClass}; +import ${cfg.pagingClass}; +import ${cfg.idParamClass}; +#if(${cfg.operationLog}) +import net.jjjerp.framework.log.annotation.Module; +import net.jjjerp.framework.log.annotation.OperationLog; +import net.jjjerp.framework.log.enums.OperationLogType; +#end +#if(${cfg.paramValidation}) +import ${cfg.validatorAddPackage}; +import ${cfg.validatorUpdatePackage}; +import org.springframework.validation.annotation.Validated; +#end +#if(${cfg.requiresPermissions}) +import org.apache.shiro.authz.annotation.RequiresPermissions; +#end +#end +#if(${swagger2}) +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +#end +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +/** + * $!{table.comment} 控制器 + * + * @author ${author} + * @since ${date} + */ +@Slf4j +#if(${restControllerStyle}) +@RestController +#else +@Controller +#end +@RequestMapping("/${cfg.entityObjectName}") +#if(${cfg.operationLog}) +@Module("${cfg.module}") +#end +#if(${cfg.swaggerTags}) +@Api(value = "$!{table.comment}API", tags = {"$!{table.comment}"}) +#else +@Api("$!{table.comment}API") +#end +#if(${kotlin}) +class ${table.controllerName}#if(${superControllerClass}) : ${superControllerClass}()#end + +#else +#if(${superControllerClass}) +public class ${table.controllerName} extends ${superControllerClass} { +#else +public class ${table.controllerName} { +#end + + @Autowired + private ${table.serviceName} ${cfg.serviceObjectName}; + +#if(${cfg.generatorStrategy} != 'SIMPLE') + /** + * 添加$!{table.comment} + */ + @PostMapping("/add") +#if(${cfg.requiresPermissions}) + //@RequiresPermissions("$!{cfg.colonTableName}:add") +#end +#if(${cfg.operationLog}) + @OperationLog(name = "添加$!{table.comment}", type = OperationLogType.ADD) +#end + @ApiOperation(value = "添加$!{table.comment}", response = ApiResult.class) + public ApiResult add${entity}(#if(${cfg.paramValidation})@Validated(Add.class) #end@RequestBody ${entity} ${cfg.entityObjectName}) throws Exception { + boolean flag = ${cfg.serviceObjectName}.save${entity}(${cfg.entityObjectName}); + return ApiResult.result(flag); + } + + /** + * 修改$!{table.comment} + */ + @PostMapping("/update") +#if(${cfg.requiresPermissions}) + //@RequiresPermissions("$!{cfg.colonTableName}:update") +#end +#if(${cfg.operationLog}) + @OperationLog(name = "修改$!{table.comment}", type = OperationLogType.UPDATE) +#end + @ApiOperation(value = "修改$!{table.comment}", response = ApiResult.class) + public ApiResult update${entity}(#if(${cfg.paramValidation})@Validated(Update.class) #end@RequestBody ${entity} ${cfg.entityObjectName}) throws Exception { + boolean flag = ${cfg.serviceObjectName}.update${entity}(${cfg.entityObjectName}); + return ApiResult.result(flag); + } + + /** + * 删除$!{table.comment} + */ + @PostMapping("/delete/{id}") +#if(${cfg.requiresPermissions}) + //@RequiresPermissions("$!{cfg.colonTableName}:delete") +#end +#if(${cfg.operationLog}) + @OperationLog(name = "删除$!{table.comment}", type = OperationLogType.DELETE) +#end + @ApiOperation(value = "删除$!{table.comment}", response = ApiResult.class) + public ApiResult delete${entity}(@PathVariable("id") Long id) throws Exception { + boolean flag = ${cfg.serviceObjectName}.delete${entity}(id); + return ApiResult.result(flag); + } + + /** + * 获取$!{table.comment}详情 + */ + @GetMapping("/info/{id}") +#if(${cfg.requiresPermissions}) + //@RequiresPermissions("$!{cfg.colonTableName}:info") +#end +#if(${cfg.operationLog}) + @OperationLog(name = "$!{table.comment}详情", type = OperationLogType.INFO) +#end + @ApiOperation(value = "$!{table.comment}详情", response = ${entity}${cfg.queryVo}.class) + public ApiResult<${entity}${cfg.queryVo}> get${entity}(@PathVariable("id") Long id) throws Exception { +#if(${cfg.generatorStrategy} == 'SINGLE') + ${entity}${cfg.queryVo} ${cfg.entityObjectName}${cfg.queryVo} = ${cfg.serviceObjectName}.getById(id); +#else + ${entity}${cfg.queryVo} ${cfg.entityObjectName}${cfg.queryVo} = ${cfg.serviceObjectName}.get${entity}ById(id); +#end + return ApiResult.ok(${cfg.entityObjectName}${cfg.queryVo}); + } + + /** + * $!{table.comment}分页列表 + */ + @PostMapping("/getPageList") +#if(${cfg.requiresPermissions}) + //@RequiresPermissions("$!{cfg.colonTableName}:page") +#end +#if(${cfg.operationLog}) + @OperationLog(name = "$!{table.comment}分页列表", type = OperationLogType.PAGE) +#end + @ApiOperation(value = "$!{table.comment}分页列表", response = ${entity}${cfg.queryVo}.class) + public ApiResult> get${entity}PageList(#if(${cfg.paramValidation})@Validated #end@RequestBody ${entity}${cfg.pageParam} ${cfg.entityObjectName}${cfg.pageParam}) throws Exception { + Paging<${entity}${cfg.queryVo}> paging = ${cfg.entityObjectName}Service.get${entity}PageList(${cfg.entityObjectName}${cfg.pageParam}); + return ApiResult.ok(paging); + } +#end + +} + +#end \ No newline at end of file diff --git a/jjj_erp/generator/target/classes/templates/entity.java.vm b/jjj_erp/generator/target/classes/templates/entity.java.vm new file mode 100644 index 0000000..abb94e2 --- /dev/null +++ b/jjj_erp/generator/target/classes/templates/entity.java.vm @@ -0,0 +1,95 @@ +package ${package.Entity}; + +#foreach($pkg in ${table.importPackages}) +import ${pkg}; +#end +#if(${swagger2}) +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +#end +#if(${entityLombokModel}) +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +#end +#if(${cfg.paramValidation}) +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import ${cfg.validatorUpdatePackage}; +#end +import java.io.Serializable; + +/** + * $!{table.comment} + * + * @author ${author} + * @since ${date} + */ +#if(${entityLombokModel}) +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +#end +#if(${table.convert}) +@TableName("${table.name}") +#end +#if(${swagger2}) +@ApiModel(value = "${entity}对象") +#end +public class ${entity} implements Serializable { + private static final long serialVersionUID = 1L; + +## ---------- BEGIN 字段循环遍历 ---------- +#foreach($field in ${table.fields}) +## 如果没有默认值,且不为空,则设置非空校验 +#if(${cfg.paramValidation} && ${field.customMap.null} == 'NO' && !${field.customMap.default}) + #if(${field.keyIdentityFlag}) + @NotNull(message = "${field.propertyName}不能为空", groups = {Update.class}) + #elseif(${field.propertyType} == 'String') + @NotBlank(message = "${field.comment}不能为空") + #else + @NotNull(message = "${field.comment}不能为空") + #end +#end +#if("$!field.comment" != "") + #if(${swagger2}) + @ApiModelProperty("${field.comment}") + #else +/** + * ${field.comment} + */ + #end +#end +#if(${field.keyFlag}) +## 主键 +#if(${field.keyIdentityFlag}) + @TableId(value = "${field.name}", type = IdType.AUTO) +#elseif(!$null.isNull(${idType}) && "$!idType" != "") +## 设置主键注解 + @TableId(value = "${field.name}", type = IdType.${idType}) +#elseif(${field.convert}) + @TableId("${field.name}") +#end +## 普通字段 +#elseif(${field.fill}) +## ----- 存在字段填充设置 ----- +#if(${field.convert}) + @TableField(value = "${field.name}", fill = FieldFill.${field.fill}) +#else + @TableField(fill = FieldFill.${field.fill}) +#end +#elseif(${field.convert}) + @TableField("${field.name}") +#end +## 乐观锁注解 +#if(${versionFieldName}==${field.name}) + @Version +#end +## 逻辑删除注解 +#if(${logicDeleteFieldName}==${field.name}) + @TableLogic +#end + private ${field.propertyType} ${field.propertyName}; + +#end +} diff --git a/jjj_erp/generator/target/classes/templates/mapper.java.vm b/jjj_erp/generator/target/classes/templates/mapper.java.vm new file mode 100644 index 0000000..3131cbe --- /dev/null +++ b/jjj_erp/generator/target/classes/templates/mapper.java.vm @@ -0,0 +1,53 @@ +package ${package.Mapper}; + +import ${superMapperClassPackage}; +import ${package.Entity}.${entity}; +#if(${cfg.generatorPageParam}) +import ${cfg.pageParamClass}; +#end +#if(${cfg.generatorQueryVo}) +import ${cfg.queryVoClass}; +#end + +import org.springframework.stereotype.Repository; + +#if(${cfg.generatorStrategy} != 'SIMPLE') +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Param; +import java.io.Serializable; +#end + +/** + * $!{table.comment} Mapper 接口 + * + * @author ${author} + * @since ${date} + */ +#if(${kotlin}) +interface ${table.mapperName} : ${superMapperClass}<${entity}> +#else +@Repository +public interface ${table.mapperName} extends ${superMapperClass}<${entity}> { + +#if(${cfg.generatorStrategy} == 'ALL') + /** + * 根据ID获取查询对象 + * + * @param id + * @return + */ + ${entity}${cfg.queryVo} get${entity}ById(Serializable id); + + /** + * 获取分页对象 + * + * @param page + * @param ${cfg.entityObjectName}QueryParam + * @return + */ + IPage<${entity}${cfg.queryVo}> get${entity}PageList(@Param("page") Page page, @Param("param") ${entity}${cfg.pageParam} ${cfg.entityObjectName}${cfg.pageParam}); +#end + +} +#end diff --git a/jjj_erp/generator/target/classes/templates/mapper.xml.vm b/jjj_erp/generator/target/classes/templates/mapper.xml.vm new file mode 100644 index 0000000..b46f3ed --- /dev/null +++ b/jjj_erp/generator/target/classes/templates/mapper.xml.vm @@ -0,0 +1,51 @@ + + + + +#if(${enableCache}) + + + +#end +#if(${baseResultMap}) + + +#foreach($field in ${table.fields}) +#if(${field.keyFlag})##生成主键排在第一位 + +#end +#end +#foreach($field in ${table.commonFields})##生成公共字段 + +#end +#foreach($field in ${table.fields}) +#if(!${field.keyFlag})##生成普通字段 + +#end +#end + + +#end +#if(${cfg.generatorStrategy} == 'ALL') + + +#foreach($field in ${table.commonFields}) + ${field.name}, +#end + ${table.fieldNames} + + + + + + +#end + diff --git a/jjj_erp/generator/target/classes/templates/pageParam.java.vm b/jjj_erp/generator/target/classes/templates/pageParam.java.vm new file mode 100644 index 0000000..7574529 --- /dev/null +++ b/jjj_erp/generator/target/classes/templates/pageParam.java.vm @@ -0,0 +1,31 @@ +package ${cfg.pageParamPackage}; + +import io.swagger.annotations.ApiModel; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +#if(${cfg.pageListOrder}) +import ${cfg.superPageOrderParamClass}; +#else +import ${cfg.superPageParamClass}; +#end + +/** + *
+ * $!{table.comment} 分页参数对象
+ * 
+ * + * @author ${author} + * @date ${date} + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = true) +@ApiModel(value = "$!{table.comment}分页参数") +#if(${cfg.pageListOrder}) +public class ${entity}${cfg.pageParam} extends BasePageOrderParam { +#else +public class ${entity}${cfg.pageParam} extends BasePageParam { +#end + private static final long serialVersionUID = 1L; +} diff --git a/jjj_erp/generator/target/classes/templates/queryVo.java.vm b/jjj_erp/generator/target/classes/templates/queryVo.java.vm new file mode 100644 index 0000000..027d7fa --- /dev/null +++ b/jjj_erp/generator/target/classes/templates/queryVo.java.vm @@ -0,0 +1,46 @@ +package ${cfg.queryVoPackage}; + +#if(${swagger2}) +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +#end +#if(${entityLombokModel}) +import lombok.Data; +import lombok.experimental.Accessors; +#end +import java.io.Serializable; +import java.util.Date; + +/** + *
+ * $!{table.comment} 查询结果对象
+ * 
+ * + * @author ${author} + * @date ${date} + */ +#if(${entityLombokModel}) +@Data +@Accessors(chain = true) +#end +@ApiModel(value = "${entity}${cfg.queryVo}对象") +public class ${entity}${cfg.queryVo} implements Serializable { + private static final long serialVersionUID = 1L; +## ---------- BEGIN 字段循环遍历 ---------- +#foreach($field in ${table.fields}) + +#if(${field.keyFlag}) +#set($keyPropertyName=${field.propertyName}) +#end +#if("$!field.comment" != "") + #if(${swagger2}) + @ApiModelProperty("${field.comment}") + #else +/** + * ${field.comment} + */ + #end +#end + private ${field.propertyType} ${field.propertyName}; +#end +} \ No newline at end of file diff --git a/jjj_erp/generator/target/classes/templates/service.java.vm b/jjj_erp/generator/target/classes/templates/service.java.vm new file mode 100644 index 0000000..fc04575 --- /dev/null +++ b/jjj_erp/generator/target/classes/templates/service.java.vm @@ -0,0 +1,23 @@ +package ${package.Service}; + +import ${package.Entity}.${entity}; +#if(${cfg.generatorPageParam}) +import ${cfg.pageParamClass}; +#end +import ${superServiceClassPackage}; +#if(${cfg.generatorQueryVo}) +import ${cfg.queryVoClass}; +#end +#if(${cfg.generatorStrategy} != 'SIMPLE') +import ${cfg.pagingClass}; +#end + +/** + * $!{table.comment} 服务类 + * + * @author ${author} + * @since ${date} + */ +public interface ${table.serviceName} extends ${superServiceClass}<${entity}> { + +} diff --git a/jjj_erp/generator/target/classes/templates/serviceImpl.java.vm b/jjj_erp/generator/target/classes/templates/serviceImpl.java.vm new file mode 100644 index 0000000..be9e073 --- /dev/null +++ b/jjj_erp/generator/target/classes/templates/serviceImpl.java.vm @@ -0,0 +1,41 @@ +package ${package.ServiceImpl}; + +import ${package.Entity}.${entity}; +import ${package.Mapper}.${table.mapperName}; +import ${package.Service}.${table.serviceName}; +#if(${cfg.generatorPageParam}) +import ${cfg.pageParamClass}; +#end +#if(${cfg.generatorQueryVo}) +import ${cfg.queryVoClass}; +#end +#if(${cfg.generatorStrategy} == 'SINGLE') +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +#end +import ${superServiceImplClassPackage}; +#if(${cfg.generatorStrategy} != 'SIMPLE') +import ${cfg.pagingClass}; +import ${cfg.pageInfoClass}; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.metadata.OrderItem; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.springframework.transaction.annotation.Transactional; +#end +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.beans.factory.annotation.Autowired; + +/** + * $!{table.comment} 服务实现类 + * + * @author ${author} + * @since ${date} + */ +@Slf4j +@Service +public class ${table.serviceImplName} extends BaseServiceImpl<${table.mapperName}, ${entity}> implements ${entity}Service { + + @Autowired + private ${table.mapperName} ${cfg.mapperObjectName}; + +} diff --git a/jjj_erp/generator/target/jjj-erp-1.0.jar b/jjj_erp/generator/target/jjj-erp-1.0.jar new file mode 100644 index 0000000..dc7271c Binary files /dev/null and b/jjj_erp/generator/target/jjj-erp-1.0.jar differ diff --git a/jjj_erp/generator/target/maven-archiver/pom.properties b/jjj_erp/generator/target/maven-archiver/pom.properties new file mode 100644 index 0000000..d2b188d --- /dev/null +++ b/jjj_erp/generator/target/maven-archiver/pom.properties @@ -0,0 +1,5 @@ +#Generated by Maven +#Sat Jun 29 14:55:13 CST 2024 +version=1.0 +groupId=net.jjjerp +artifactId=generator diff --git a/jjj_erp/generator/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/jjj_erp/generator/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst new file mode 100644 index 0000000..5cd0ae6 --- /dev/null +++ b/jjj_erp/generator/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst @@ -0,0 +1,16 @@ +net\jjjerp\generator\CodeGenerator$1.class +net\jjjerp\generator\properties\GeneratorProperties.class +net\jjjerp\generator\CodeGenerator$3.class +net\jjjerp\generator\CodeGenerator.class +net\jjjerp\generator\SpringBootJjjGenerator.class +net\jjjerp\generator\config\TableConfig.class +net\jjjerp\generator\constant\GeneratorConstant.class +net\jjjerp\generator\CodeGenerator$4.class +net\jjjerp\generator\config\GeneratorStrategy.class +net\jjjerp\generator\config\query\SpringBootJjjMySqlQuery.class +net\jjjerp\generator\config\GeneratorConfig.class +net\jjjerp\generator\CodeGenerator$2.class +net\jjjerp\generator\config\MybatisPlusGeneratorConfig.class +net\jjjerp\generator\exception\GeneratorException.class +net\jjjerp\generator\config\query\SpringBootJjjSqlServerQuery.class +net\jjjerp\generator\config\ProjectConfig.class diff --git a/jjj_erp/generator/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/jjj_erp/generator/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst new file mode 100644 index 0000000..506d31c --- /dev/null +++ b/jjj_erp/generator/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst @@ -0,0 +1,12 @@ +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\generator\src\main\java\net\jjjerp\generator\config\GeneratorConfig.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\generator\src\main\java\net\jjjerp\generator\config\TableConfig.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\generator\src\main\java\net\jjjerp\generator\exception\GeneratorException.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\generator\src\main\java\net\jjjerp\generator\config\ProjectConfig.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\generator\src\main\java\net\jjjerp\generator\config\query\SpringBootJjjMySqlQuery.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\generator\src\main\java\net\jjjerp\generator\config\query\SpringBootJjjSqlServerQuery.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\generator\src\main\java\net\jjjerp\generator\properties\GeneratorProperties.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\generator\src\main\java\net\jjjerp\generator\constant\GeneratorConstant.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\generator\src\main\java\net\jjjerp\generator\SpringBootJjjGenerator.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\generator\src\main\java\net\jjjerp\generator\CodeGenerator.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\generator\src\main\java\net\jjjerp\generator\config\GeneratorStrategy.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\generator\src\main\java\net\jjjerp\generator\config\MybatisPlusGeneratorConfig.java diff --git a/jjj_erp/generator/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst b/jjj_erp/generator/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst new file mode 100644 index 0000000..2eb6236 --- /dev/null +++ b/jjj_erp/generator/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst @@ -0,0 +1,2 @@ +net\jjjerp\generator\test\GeneratorTestApplication.class +net\jjjerp\generator\test\GeneratorPropertiesTest.class diff --git a/jjj_erp/generator/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst b/jjj_erp/generator/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst new file mode 100644 index 0000000..c299182 --- /dev/null +++ b/jjj_erp/generator/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst @@ -0,0 +1,2 @@ +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\generator\src\test\java\net\jjjerp\generator\test\GeneratorPropertiesTest.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\generator\src\test\java\net\jjjerp\generator\test\GeneratorTestApplication.java diff --git a/jjj_erp/generator/target/test-classes/net/jjjerp/generator/test/GeneratorPropertiesTest.class b/jjj_erp/generator/target/test-classes/net/jjjerp/generator/test/GeneratorPropertiesTest.class new file mode 100644 index 0000000..b4375d4 Binary files /dev/null and b/jjj_erp/generator/target/test-classes/net/jjjerp/generator/test/GeneratorPropertiesTest.class differ diff --git a/jjj_erp/generator/target/test-classes/net/jjjerp/generator/test/GeneratorTestApplication.class b/jjj_erp/generator/target/test-classes/net/jjjerp/generator/test/GeneratorTestApplication.class new file mode 100644 index 0000000..b5e59c8 Binary files /dev/null and b/jjj_erp/generator/target/test-classes/net/jjjerp/generator/test/GeneratorTestApplication.class differ diff --git a/jjj_erp/jjj-admin/README.md b/jjj_erp/jjj-admin/README.md new file mode 100644 index 0000000..795f758 --- /dev/null +++ b/jjj_erp/jjj-admin/README.md @@ -0,0 +1 @@ +# system 项目系统模块 \ No newline at end of file diff --git a/jjj_erp/jjj-admin/pom.xml b/jjj_erp/jjj-admin/pom.xml new file mode 100644 index 0000000..d9a8903 --- /dev/null +++ b/jjj_erp/jjj-admin/pom.xml @@ -0,0 +1,25 @@ + + + + 4.0.0 + + + net.jjjerp + parent + 1.0 + + + jjj-admin + jjj-admin + 系统模块 + + + + net.jjjerp + jjj-common + + + + diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/IndexController.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/IndexController.java new file mode 100644 index 0000000..3fe614e --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/IndexController.java @@ -0,0 +1,69 @@ + + +package net.jjjerp.admin.controller; + +import com.alibaba.fastjson.JSONObject; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.admin.service.bill.BillHeadService; +import net.jjjerp.common.enums.SettingEnum; +import net.jjjerp.common.param.CommonPageParam; +import net.jjjerp.common.util.SettingUtils; +import net.jjjerp.framework.common.api.ApiResult; +import net.jjjerp.framework.log.annotation.OperationLog; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RestController; + +import java.util.HashMap; +import java.util.Map; + +@Slf4j +@Api(value = "index", tags = {"首页"}) +@RestController +@RequestMapping("/admin/index") +public class IndexController { + @Autowired + private SettingUtils settingUtils; + @Autowired + private BillHeadService billHeadService; + + @RequestMapping(value = "/base", method = RequestMethod.POST) + @OperationLog(name = "base") + @ApiOperation(value = "base", response = String.class) + public ApiResult> base() { + JSONObject vo = settingUtils.getSetting(SettingEnum.SYS_CONFIG.getKey(), null); + Map result = new HashMap(); + result.put("shopName", vo.getString("shopName")); + result.put("shopBgImg", vo.getString("shopBgImg")); + return ApiResult.ok(result); + } + + //首页数据 + @RequestMapping(value = "/index", method = RequestMethod.POST) + @OperationLog(name = "首页数据") + @ApiOperation(value = "首页数据", response = String.class) + public ApiResult> getHomeData(@RequestBody CommonPageParam param) { + return ApiResult.ok(billHeadService.getHomeData(param)); + } + + //首页订单趋势 + @RequestMapping(value = "/deal", method = RequestMethod.POST) + @OperationLog(name = "首页订单趋势") + @ApiOperation(value = "首页订单趋势", response = String.class) + public ApiResult> getHomeDeal(@RequestBody CommonPageParam param) { + return ApiResult.ok(billHeadService.getHomeDeal(param)); + } + + //登录设置 + @RequestMapping(value = "/loginSetting", method = RequestMethod.GET) + @OperationLog(name = "loginSetting") + @ApiOperation(value = "loginSetting", response = String.class) + public ApiResult loginSetting(){ + JSONObject vo = settingUtils.getSetting(SettingEnum.STORE.getKey(), null); + return ApiResult.ok(vo); + } +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/PassportController.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/PassportController.java new file mode 100644 index 0000000..ef7f44b --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/PassportController.java @@ -0,0 +1,58 @@ + + +package net.jjjerp.admin.controller; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.framework.common.api.ApiResult; +import net.jjjerp.framework.log.annotation.OperationLog; +import net.jjjerp.framework.log.annotation.OperationLogIgnore; +import net.jjjerp.framework.shiro.util.JwtTokenUtil; +import net.jjjerp.admin.service.shop.ShopUserService; +import net.jjjerp.framework.shiro.vo.LoginShopUserTokenVo; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; + +@Slf4j +@Api(value = "login", tags = {"shop登录"}) +@RestController +@RequestMapping("/admin/passport") +public class PassportController { + + @Autowired + private ShopUserService shopUserService; + + @RequestMapping(value = "/login", method = RequestMethod.POST) + @OperationLog(name = "login") + @ApiOperation(value = "login", response = String.class) + public ApiResult login(@RequestParam String username, @RequestParam String password, HttpServletResponse response) throws IOException { + log.debug("username..."+username); + log.debug("password..."+password); + LoginShopUserTokenVo user = shopUserService.login(username, password); + // 设置token响应头 + response.setHeader(JwtTokenUtil.getTokenName("admin"), user.getToken()); + return ApiResult.ok(user, "登录成功"); + } + + @PostMapping("/editPass") + @OperationLogIgnore + public ApiResult editPass(String oldpass, String password, String confirmPass) throws Exception { + if(shopUserService.renew(oldpass, password, confirmPass)){ + return ApiResult.ok("修改成功"); + }else{ + return ApiResult.ok("修改失败"); + } + } + + @PostMapping("/logout") + @OperationLogIgnore + public ApiResult logout(HttpServletRequest request) throws Exception { + shopUserService.logout(request); + return ApiResult.ok("退出成功"); + } +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/bill/BillController.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/bill/BillController.java new file mode 100644 index 0000000..dffab9f --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/bill/BillController.java @@ -0,0 +1,58 @@ + + +package net.jjjerp.admin.controller.bill; + +import com.alibaba.fastjson.JSONObject; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.admin.service.bill.BillHeadService; +import net.jjjerp.common.entity.bill.BillAddress; +import net.jjjerp.common.entity.bill.BillHead; +import net.jjjerp.common.enums.BillTypeEnum; +import net.jjjerp.common.enums.BusinessTypeEnum; +import net.jjjerp.common.enums.SettingEnum; +import net.jjjerp.common.param.CommonPageParam; +import net.jjjerp.common.util.SettingUtils; +import net.jjjerp.framework.common.api.ApiResult; +import net.jjjerp.framework.log.annotation.OperationLog; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RestController; + +import java.util.HashMap; +import java.util.Map; + +@Slf4j +@Api(value = "index", tags = {"单据通用接口"}) +@RestController +@RequestMapping("/admin/bill") +public class BillController { + @Autowired + private BillHeadService billHeadService; + + @RequestMapping(value = "/editAddress", method = RequestMethod.POST) + @OperationLog(name = "修改收货地址") + @ApiOperation(value = "修改收货地址", response = String.class) + public ApiResult editAddress(@RequestBody @Validated BillAddress address) { + if(billHeadService.editAddress(address)) { + return ApiResult.ok(null, "操作成功"); + }else{ + return ApiResult.fail("操作失败"); + } + } + + @RequestMapping(value = "/editRemark", method = RequestMethod.POST) + @OperationLog(name = "修改单据备注信息") + @ApiOperation(value = "修改单据备注信息", response = String.class) + public ApiResult editRemark(@RequestBody @Validated BillHead head) { + if(billHeadService.editRemark(head)) { + return ApiResult.ok(null, "操作成功"); + }else{ + return ApiResult.fail("操作失败"); + } + } +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/file/FileController.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/file/FileController.java new file mode 100644 index 0000000..21c5c49 --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/file/FileController.java @@ -0,0 +1,101 @@ + + +package net.jjjerp.admin.controller.file; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.common.entity.file.UploadGroup; +import net.jjjerp.framework.common.api.ApiResult; +import net.jjjerp.framework.core.pagination.Paging; +import net.jjjerp.framework.log.annotation.OperationLog; +import net.jjjerp.admin.param.file.UploadFilePageParam; +import net.jjjerp.admin.service.file.UploadFileService; +import net.jjjerp.admin.service.file.UploadGroupService; +import net.jjjerp.admin.vo.file.UploadFileVo; +import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +@Slf4j +@Api(value = "file", tags = {"文件管理"}) +@RestController +@RequestMapping("/admin/file/file") +public class FileController { + @Autowired + private UploadGroupService uploadGroupService; + @Autowired + private UploadFileService uploadFileService; + + @RequestMapping(value = "/category", method = RequestMethod.POST) + @OperationLog(name = "category") + @ApiOperation(value = "category", response = String.class) + public ApiResult> category(@RequestParam String type) throws Exception{ + return ApiResult.ok(uploadGroupService.getAll(type)); + } + + @RequestMapping(value = "/addGroup", method = RequestMethod.POST) + @OperationLog(name = "addGroup") + @ApiOperation(value = "addGroup", response = String.class) + public ApiResult addGroup(@RequestParam String groupName, @RequestParam String groupType) throws Exception{ + if(uploadGroupService.addGroup(groupName, groupType)) { + return ApiResult.ok(null, "新增成功"); + }else{ + return ApiResult.fail("新增失败"); + } + } + + @RequestMapping(value = "/editGroup", method = RequestMethod.POST) + @OperationLog(name = "editGroup") + @ApiOperation(value = "editGroup", response = String.class) + public ApiResult editGroup(Integer groupId, String groupName) throws Exception{ + if(uploadGroupService.editGroup(groupId, groupName)) { + return ApiResult.ok(null, "修改成功"); + }else{ + return ApiResult.fail("修改失败"); + } + } + + @RequestMapping(value = "/deleteGroup", method = RequestMethod.POST) + @OperationLog(name = "deleteGroup") + @ApiOperation(value = "deleteGroup", response = String.class) + public ApiResult deleteGroup(Integer groupId) throws Exception{ + if(uploadGroupService.deleteGroup(groupId)) { + return ApiResult.ok(null, "删除成功"); + }else{ + return ApiResult.fail("删除失败"); + } + } + + @RequestMapping(value = "/deleteFiles", method = RequestMethod.POST) + @OperationLog(name = "deleteFiles") + @ApiOperation(value = "deleteFiles", response = String.class) + public ApiResult deleteFiles(String fileIds) throws Exception{ + if(uploadGroupService.deleteFiles(fileIds)) { + return ApiResult.ok(null, "删除成功"); + }else{ + return ApiResult.fail("删除失败"); + } + } + + @RequestMapping(value = "/lists", method = RequestMethod.POST) + @OperationLog(name = "lists") + @ApiOperation(value = "lists", response = String.class) + public ApiResult> lists(@Validated @RequestBody UploadFilePageParam uploadFilePageParam) throws Exception{ + return ApiResult.ok(uploadFileService.getList(uploadFilePageParam)); + } + + @RequestMapping(value = "/moveFiles", method = RequestMethod.POST) + @OperationLog(name = "moveFiles") + @ApiOperation(value = "moveFiles", response = String.class) + public ApiResult moveFiles(Integer groupId, String fileIds) throws Exception{ + if(uploadGroupService.moveFiles(groupId, fileIds)) { + return ApiResult.ok(null, "移动成功"); + }else{ + return ApiResult.fail("移动失败"); + } + } +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/file/ImageBankController.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/file/ImageBankController.java new file mode 100644 index 0000000..361f4a8 --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/file/ImageBankController.java @@ -0,0 +1,43 @@ +package net.jjjerp.admin.controller.file; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.common.param.ImageBankPageParam; +import net.jjjerp.common.util.ImageBankUtils; +import net.jjjerp.common.vo.image.ImageBankVo; +import net.jjjerp.framework.common.api.ApiResult; +import net.jjjerp.framework.core.pagination.Paging; +import net.jjjerp.framework.log.annotation.OperationLog; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +@Slf4j +@Api(value = "image", tags = {"图片库列表"}) +@RestController +@RequestMapping("/admin/image/bank") +public class ImageBankController { + @Autowired + private ImageBankUtils imageBankUtils; + + //列表 + @RequestMapping(value = "/index", method = RequestMethod.POST) + @OperationLog(name = "index") + @ApiOperation(value = "index", response = String.class) + public ApiResult> index() throws Exception{ + return ApiResult.ok(imageBankUtils.index()); + } + + //分页列表 + @RequestMapping(value = "/list", method = RequestMethod.POST) + @OperationLog(name = "list") + @ApiOperation(value = "list", response = String.class) + public ApiResult> list(@RequestBody ImageBankPageParam param) throws Exception{ + return ApiResult.ok(imageBankUtils.list(param)); + } +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/file/UploadController.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/file/UploadController.java new file mode 100644 index 0000000..7d86c7e --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/file/UploadController.java @@ -0,0 +1,72 @@ +/* + * Copyright 2019-2029 geekidea(https://github.com/geekidea) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package net.jjjerp.admin.controller.file; + + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.common.entity.file.UploadFile; +import net.jjjerp.common.util.UploadFileUtils; +import net.jjjerp.framework.common.api.ApiResult; +import net.jjjerp.framework.log.annotation.OperationLog; +import net.jjjerp.framework.util.UploadUtil; +import net.jjjerp.admin.service.file.UploadFileService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.multipart.MultipartFile; + +@Slf4j +@RestController +@RequestMapping("/admin/file/upload") +@Api(value = "文件上传", tags = {"文件上传"}) +public class UploadController { + @Autowired + private UploadFileService uploadFileService; + @Autowired + private UploadUtil uploadUtil; + @Autowired + private UploadFileUtils uploadFileUtils; + + @RequestMapping(value = "/image", method = RequestMethod.POST) + @OperationLog(name = "上传单个图片") + @ApiOperation(value = "上传单个图片", response = String.class) + public ApiResult upload(@RequestParam("iFile") MultipartFile multipartFile, + @RequestParam Integer groupId, @RequestParam String fileType) throws Exception { + // 保存文件到数据库 + UploadFile file = new UploadFile(); + file.setGroupId(groupId); + file.setFileSize(multipartFile.getSize()); + file.setFileType(fileType); + file.setRealName(multipartFile.getOriginalFilename()); + // 上传文件 + uploadUtil.upload(multipartFile, file); + // 文件后缀 + String extension = multipartFile.getOriginalFilename().substring(multipartFile.getOriginalFilename().lastIndexOf(".") + 1).toLowerCase(); + file.setExtension(extension); + if(uploadFileService.addFile(file)) { + String filePath = uploadFileUtils.getFilePathByFile(file); + return ApiResult.ok(filePath, "上传成功"); + }else{ + return ApiResult.fail("上传失败"); + } + } + +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/finance/capital/AccountController.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/finance/capital/AccountController.java new file mode 100644 index 0000000..1c3e7c2 --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/finance/capital/AccountController.java @@ -0,0 +1,101 @@ +package net.jjjerp.admin.controller.finance.capital; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.common.entity.finance.capital.Account; +import net.jjjerp.common.entity.product.ProductMfrs; +import net.jjjerp.common.param.CommonPageParam; +import net.jjjerp.admin.service.finance.capital.AccountService; +import net.jjjerp.admin.service.product.ProductMfrsService; +import net.jjjerp.framework.common.api.ApiResult; +import net.jjjerp.framework.core.pagination.Paging; +import net.jjjerp.framework.log.annotation.OperationLog; +import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; + +@Slf4j +@Api(value = "index", tags = {"账户管理"}) +@RestController +@RequestMapping("/admin/finance/capital/account") +public class AccountController { + + @Resource + private AccountService accountService; + + @RequestMapping(value = "/index", method = RequestMethod.POST) + @RequiresPermissions("/finance/capital/account/index") + @OperationLog(name = "index") + @ApiOperation(value = "index", response = String.class) + public ApiResult> index(@RequestBody CommonPageParam param) { + return ApiResult.ok(accountService.index(param)); + } + + @RequestMapping(value = "/add", method = RequestMethod.POST) + @RequiresPermissions("/finance/capital/account/add") + @OperationLog(name = "add") + @ApiOperation(value = "add", response = String.class) + public ApiResult add(@RequestBody @Validated Account account) { + if(accountService.add(account)) { + return ApiResult.ok(null, "新增成功"); + }else{ + return ApiResult.fail("新增失败"); + } + } + + @RequestMapping(value = "/edit", method = RequestMethod.POST) + @RequiresPermissions("/finance/capital/account/edit") + @OperationLog(name = "edit") + @ApiOperation(value = "edit", response = String.class) + public ApiResult edit(@RequestBody @Validated Account account) { + if(accountService.edit(account)) { + return ApiResult.ok(null, "修改成功"); + }else{ + return ApiResult.fail("修改失败"); + } + } + + //修改状态 + @RequestMapping(value = "/state", method = RequestMethod.POST) + @RequiresPermissions("/finance/capital/account/state") + @OperationLog(name = "state") + @ApiOperation(value = "state", response = String.class) + public ApiResult state(Long accountId, Integer enabled) { + if(accountService.setState(accountId, enabled)) { + return ApiResult.ok(null, "修改成功"); + }else{ + return ApiResult.fail("修改失败"); + } + } + + //默认账户 + @RequestMapping(value = "/defaultAccount", method = RequestMethod.POST) + @RequiresPermissions("/finance/capital/account/defaultAccount") + @OperationLog(name = "defaultAccount") + @ApiOperation(value = "defaultAccount", response = String.class) + public ApiResult defaultAccount(Long accountId) { + if(accountService.defaultAccount(accountId)) { + return ApiResult.ok(null, "设置成功"); + }else{ + return ApiResult.fail("设置失败"); + } + } + + @RequestMapping(value = "/delete", method = RequestMethod.POST) + @RequiresPermissions("/finance/capital/account/delete") + @OperationLog(name = "delete") + @ApiOperation(value = "delete", response = String.class) + public ApiResult delete(Long accountId){ + if(accountService.delById(accountId)) { + return ApiResult.ok(null, "删除成功"); + }else{ + return ApiResult.fail("删除失败"); + } + } +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/finance/capital/LogController.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/finance/capital/LogController.java new file mode 100644 index 0000000..245fb9f --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/finance/capital/LogController.java @@ -0,0 +1,56 @@ +package net.jjjerp.admin.controller.finance.capital; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.common.entity.bill.BillHead; +import net.jjjerp.common.entity.finance.capital.Account; +import net.jjjerp.common.entity.finance.capital.AccountMoneyLog; +import net.jjjerp.common.param.CommonPageParam; +import net.jjjerp.admin.service.bill.BillHeadService; +import net.jjjerp.admin.service.finance.capital.AccountMoneyLogService; +import net.jjjerp.admin.service.finance.capital.AccountService; +import net.jjjerp.framework.common.api.ApiResult; +import net.jjjerp.framework.core.pagination.Paging; +import net.jjjerp.framework.log.annotation.OperationLog; +import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; +import java.util.Map; + +@Slf4j +@Api(value = "index", tags = {"资金流水"}) +@RestController +@RequestMapping("/admin/finance/capital/log") +public class LogController { + + @Autowired + private AccountMoneyLogService accountMoneyLogService; + @Autowired + private BillHeadService billHeadService; + + //资金流水列表 + @RequestMapping(value = "/index", method = RequestMethod.POST) + @RequiresPermissions("/finance/capital/log/index") + @OperationLog(name = "资金流水") + @ApiOperation(value = "index", response = String.class) + public ApiResult> index(@RequestBody CommonPageParam param) { + return ApiResult.ok(accountMoneyLogService.index(param)); + } + + //单据详情 + @RequestMapping(value = "/billDetail", method = RequestMethod.POST) + @RequiresPermissions("/finance/capital/log/billDetail") + @OperationLog(name = "单据详情") + @ApiOperation(value = "billDetail", response = String.class) + public ApiResult billDetail(Long billId) { + return ApiResult.ok(billHeadService.billDetail(billId)); + } + +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/finance/statement/CollectController.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/finance/statement/CollectController.java new file mode 100644 index 0000000..5816f8e --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/finance/statement/CollectController.java @@ -0,0 +1,43 @@ +package net.jjjerp.admin.controller.finance.statement; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.common.entity.bill.BillHead; +import net.jjjerp.common.entity.finance.capital.Account; +import net.jjjerp.common.param.CommonPageParam; +import net.jjjerp.admin.service.bill.BillHeadService; +import net.jjjerp.admin.service.finance.capital.AccountService; +import net.jjjerp.framework.common.api.ApiResult; +import net.jjjerp.framework.core.pagination.Paging; +import net.jjjerp.framework.log.annotation.OperationLog; +import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; +import java.util.Map; + +@Slf4j +@Api(value = "index", tags = {"账户汇总表"}) +@RestController +@RequestMapping("/admin/finance/capital/collect") +public class CollectController { + + @Autowired + private BillHeadService billHeadService; + + //账户汇总表列表 + @RequestMapping(value = "/index", method = RequestMethod.POST) + @RequiresPermissions("/finance/capital/collect/index") + @OperationLog(name = "index") + @ApiOperation(value = "账户汇总表", response = String.class) + public ApiResult> collectIndex(@RequestBody CommonPageParam param) { + return ApiResult.ok(billHeadService.collectIndex(param)); + } + +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/finance/statement/CustomerController.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/finance/statement/CustomerController.java new file mode 100644 index 0000000..fc3c8bb --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/finance/statement/CustomerController.java @@ -0,0 +1,42 @@ +package net.jjjerp.admin.controller.finance.statement; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.common.entity.bill.BillHead; +import net.jjjerp.common.entity.finance.capital.Account; +import net.jjjerp.common.param.CommonPageParam; +import net.jjjerp.admin.service.bill.BillHeadService; +import net.jjjerp.admin.service.finance.capital.AccountService; +import net.jjjerp.framework.common.api.ApiResult; +import net.jjjerp.framework.core.pagination.Paging; +import net.jjjerp.framework.log.annotation.OperationLog; +import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; + +@Slf4j +@Api(value = "index", tags = {"客户对账单"}) +@RestController +@RequestMapping("/admin/finance/capital/customer") +public class CustomerController { + + @Autowired + private BillHeadService billHeadService; + + //客户对账单列表 + @RequestMapping(value = "/index", method = RequestMethod.POST) + @RequiresPermissions("/finance/capital/customer/index") + @OperationLog(name = "index") + @ApiOperation(value = "客户对账单", response = String.class) + public ApiResult> customerIndex(@RequestBody CommonPageParam param) { + return ApiResult.ok(billHeadService.customerIndex(param)); + } + +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/market/audit/MarketOrderController.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/market/audit/MarketOrderController.java new file mode 100644 index 0000000..26e14d8 --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/market/audit/MarketOrderController.java @@ -0,0 +1,126 @@ +package net.jjjerp.admin.controller.market.audit; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.common.entity.bill.BillDelivery; +import net.jjjerp.common.entity.bill.BillHead; +import net.jjjerp.common.enums.BillTypeEnum; +import net.jjjerp.common.enums.BusinessTypeEnum; +import net.jjjerp.common.param.CommonPageParam; +import net.jjjerp.admin.service.bill.BillHeadService; +import net.jjjerp.framework.common.api.ApiResult; +import net.jjjerp.framework.log.annotation.OperationLog; +import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; +import java.util.Map; + +@Slf4j +@Api(value = "index", tags = {"销售审单"}) +@RestController +@RequestMapping("/admin/market/audit/order") +public class MarketOrderController { + + @Resource + private BillHeadService billHeadService; + + //待审核订单列表 + @RequestMapping(value = "/index", method = RequestMethod.POST) + @RequiresPermissions("/market/audit/order/index") + @OperationLog(name = "index") + @ApiOperation(value = "index", response = String.class) + public ApiResult> index(@RequestBody CommonPageParam param) { + param.setBillType(BillTypeEnum.XSDD.getValue()); + //审核状态,10待审核20通过30拒绝 + param.setAuditStatus(10); + return ApiResult.ok(billHeadService.indexOrder(param)); + } + + @RequestMapping(value = "/add", method = RequestMethod.POST) + @RequiresPermissions("/market/audit/order/add") + @OperationLog(name = "add") + @ApiOperation(value = "add", response = String.class) + public ApiResult add(@RequestBody @Validated BillHead head) { + head.setBillType(BillTypeEnum.XSDD.getValue()); + //业务类型,1直接采购入库,2订单采购入库,3直接出库,4采购入库单退货,5实际调拨,6虚拟调拨,7销售单原路退回,8线下销售订单,9线上销售订单,10预售销售订单 + head.setBusinessType(BusinessTypeEnum.XXXSDD.getValue()); + if(billHeadService.addOrder(head)) { + return ApiResult.ok(null, "新增成功"); + }else{ + return ApiResult.fail("新增失败"); + } + } + + @RequestMapping(value = "/edit", method = RequestMethod.POST) + @RequiresPermissions("/market/audit/order/edit") + @OperationLog(name = "edit") + @ApiOperation(value = "edit", response = String.class) + public ApiResult edit(@RequestBody @Validated BillHead head) { + if(billHeadService.editOrder(head)) { + return ApiResult.ok(null, "修改成功"); + }else{ + return ApiResult.fail("修改失败"); + } + } + + //审核销售订单 + @RequestMapping(value = "/audit", method = RequestMethod.POST) + @RequiresPermissions("/market/audit/order/audit") + @OperationLog(name = "audit") + @ApiOperation(value = "audit", response = String.class) + public ApiResult audit(@RequestBody BillHead head) { + if(billHeadService.auditMarketOrder(head)) { + return ApiResult.ok(null, "操作成功"); + }else{ + return ApiResult.fail("操作失败"); + } + } + + //打回审核 + @RequestMapping(value = "/repulseAudit", method = RequestMethod.POST) + @RequiresPermissions("/market/audit/order/repulseAudit") + @OperationLog(name = "repulseAudit") + @ApiOperation(value = "repulseAudit", response = String.class) + public ApiResult repulseAudit(Long billId) { + if(billHeadService.repulseAudit(billId)) { + return ApiResult.ok(null, "操作成功"); + }else{ + return ApiResult.fail("操作失败"); + } + } + + //提交异常订单 + @RequestMapping(value = "/abnormal", method = RequestMethod.POST) + @RequiresPermissions("/market/audit/order/abnormal") + @OperationLog(name = "abnormal") + @ApiOperation(value = "abnormal", response = String.class) + public ApiResult abnormal(@RequestBody BillHead head) { + if(billHeadService.abnormal(head)) { + return ApiResult.ok(null, "操作成功"); + }else{ + return ApiResult.fail("操作失败"); + } + } + + //修改快递 + @RequestMapping(value = "/editDeliver", method = RequestMethod.POST) + @RequiresPermissions("/market/audit/order/editDeliver") + @OperationLog(name = "editDeliver") + @ApiOperation(value = "editDeliver", response = String.class) + public ApiResult editDeliver(@RequestBody @Validated BillDelivery delivery) { + if(billHeadService.editDeliver(delivery)) { + return ApiResult.ok(null, "修改成功"); + }else{ + return ApiResult.fail("修改失败"); + } + } + + + +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/market/deliver/DeliverOrderController.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/market/deliver/DeliverOrderController.java new file mode 100644 index 0000000..373ef3b --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/market/deliver/DeliverOrderController.java @@ -0,0 +1,88 @@ +package net.jjjerp.admin.controller.market.deliver; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.common.entity.bill.BillDelivery; +import net.jjjerp.common.entity.bill.BillHead; +import net.jjjerp.common.enums.BillTypeEnum; +import net.jjjerp.common.enums.BusinessTypeEnum; +import net.jjjerp.common.param.CommonPageParam; +import net.jjjerp.admin.service.bill.BillHeadService; +import net.jjjerp.framework.common.api.ApiResult; +import net.jjjerp.framework.log.annotation.OperationLog; +import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; +import java.util.Map; + +@Slf4j +@Api(value = "index", tags = {"发货出库"}) +@RestController +@RequestMapping("/admin/market/deliver/order") +public class DeliverOrderController { + + @Resource + private BillHeadService billHeadService; + + //已配货待发货订单列表 + @RequestMapping(value = "/index", method = RequestMethod.POST) + @RequiresPermissions("/market/deliver/order/index") + @OperationLog(name = "index") + @ApiOperation(value = "index", response = String.class) + public ApiResult> index(@RequestBody CommonPageParam param) { + param.setBillType(BillTypeEnum.XSDD.getValue()); + //审核状态,10待审核20通过30拒绝 + param.setAuditStatus(20); + //单据状态,0未采购、1完成采购|销售、2部分采购|销售单待发货,3已关闭,4异常,5待配货,6已发货 + param.setPurchaseStatus(2); + return ApiResult.ok(billHeadService.indexOrder(param)); + } + + //出库单列表 + @RequestMapping(value = "/ckIndex", method = RequestMethod.POST) + @RequiresPermissions("/market/deliver/order/ckIndex") + @OperationLog(name = "ckIndex") + @ApiOperation(value = "ckIndex", response = String.class) + public ApiResult> ckIndex(@RequestBody CommonPageParam param) { + //出库单 + param.setBillType(BillTypeEnum.XSCKD.getValue()); + //单据状态,0未采购、1完成采购|销售、2部分采购|销售单待发货,3已关闭,4异常,5待配货,6已发货 + return ApiResult.ok(billHeadService.indexOrder(param)); + } + + //确认发货 + @RequestMapping(value = "/deliver", method = RequestMethod.POST) + @RequiresPermissions("/market/deliver/order/deliver") + @OperationLog(name = "deliver") + @ApiOperation(value = "deliver", response = String.class) + public ApiResult deliver(Long billId) { + if(billHeadService.deliver(billId)) { + return ApiResult.ok(null, "操作成功"); + }else{ + return ApiResult.fail("操作失败"); + } + } + + //新增线下出库单 + @RequestMapping(value = "/add", method = RequestMethod.POST) + @RequiresPermissions("/market/deliver/order/add") + @OperationLog(name = "add") + @ApiOperation(value = "add", response = String.class) + public ApiResult addCk(@RequestBody @Validated BillHead head) { + head.setBillType(BillTypeEnum.XSCKD.getValue()); + //业务类型,1直接采购入库,2订单采购入库,3直接出库,4采购入库单退货,5实际调拨,6虚拟调拨,7销售单原路退回,8线下销售订单,9线上销售订单,10预售销售订单,11线下出库单 + head.setBusinessType(BusinessTypeEnum.XXCKD.getValue()); + if(billHeadService.addOrder(head)) { + return ApiResult.ok(null, "新增成功"); + }else{ + return ApiResult.fail("新增失败"); + } + } + +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/market/other/OtherOrderController.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/market/other/OtherOrderController.java new file mode 100644 index 0000000..5e8c368 --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/market/other/OtherOrderController.java @@ -0,0 +1,93 @@ +package net.jjjerp.admin.controller.market.other; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.common.enums.BillTypeEnum; +import net.jjjerp.common.param.CommonPageParam; +import net.jjjerp.admin.service.bill.BillHeadService; +import net.jjjerp.framework.common.api.ApiResult; +import net.jjjerp.framework.log.annotation.OperationLog; +import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; +import java.util.Map; + +@Slf4j +@Api(value = "index", tags = {"销售-其他"}) +@RestController +@RequestMapping("/admin/market/other/order") +public class OtherOrderController { + + @Resource + private BillHeadService billHeadService; + + //订单列表 + @RequestMapping(value = "/index", method = RequestMethod.POST) + @RequiresPermissions("/market/other/order/index") + @OperationLog(name = "index") + @ApiOperation(value = "index", response = String.class) + public ApiResult> index(@RequestBody CommonPageParam param) { + param.setBillType(BillTypeEnum.XSDD.getValue()); + //审核状态,10待审核20通过30拒绝 + param.setAuditStatus(20); + return ApiResult.ok(billHeadService.indexOrder(param)); + } + + //异常订单列表 + @RequestMapping(value = "/abnormalIndex", method = RequestMethod.POST) + @RequiresPermissions("/market/other/order/abnormalIndex") + @OperationLog(name = "abnormalIndex") + @ApiOperation(value = "abnormalIndex", response = String.class) + public ApiResult> abnormalIndex(@RequestBody CommonPageParam param) { + param.setBillType(BillTypeEnum.XSDD.getValue()); + //单据状态,0未采购、1完成采购|销售单已发货、2部分采购|销售单待发货,3已关闭,4异常,5待配货 + param.setPurchaseStatus(4); + return ApiResult.ok(billHeadService.indexOrder(param)); + } + + //关闭异常订单 + @RequestMapping(value = "/close", method = RequestMethod.POST) + @RequiresPermissions("/market/other/order/close") + @OperationLog(name = "close") + @ApiOperation(value = "close", response = String.class) + public ApiResult close(Long billId, String closeReason) { + if(billHeadService.closeMarketOrder(billId, closeReason)) { + return ApiResult.ok(null, "操作成功"); + }else{ + return ApiResult.fail("操作失败"); + } + } + + //恢复异常订单 + @RequestMapping(value = "/recover", method = RequestMethod.POST) + @RequiresPermissions("/market/other/order/recover") + @OperationLog(name = "recover") + @ApiOperation(value = "recover", response = String.class) + public ApiResult recover(Long billId) { + if(billHeadService.recoverMarketOrder(billId)) { + return ApiResult.ok(null, "操作成功"); + }else{ + return ApiResult.fail("操作失败"); + } + } + + //已发货订单列表 + @RequestMapping(value = "/deliverIndex", method = RequestMethod.POST) + @RequiresPermissions("/market/other/order/deliverIndex") + @OperationLog(name = "deliverIndex") + @ApiOperation(value = "deliverIndex", response = String.class) + public ApiResult> deliverIndex(@RequestBody CommonPageParam param) { + param.setBillType(BillTypeEnum.XSDD.getValue()); + //审核状态,10待审核20通过30拒绝 + param.setAuditStatus(20); + //单据状态,0未采购、1完成采购|销售、2部分采购|销售单待发货,3已关闭,4异常,5待配货,6已发货 + param.setPurchaseStatus(6); + return ApiResult.ok(billHeadService.indexOrder(param)); + } + +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/market/picking/PickingOrderController.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/market/picking/PickingOrderController.java new file mode 100644 index 0000000..819063a --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/market/picking/PickingOrderController.java @@ -0,0 +1,59 @@ +package net.jjjerp.admin.controller.market.picking; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.common.entity.bill.BillDelivery; +import net.jjjerp.common.entity.bill.BillHead; +import net.jjjerp.common.enums.BillTypeEnum; +import net.jjjerp.common.param.CommonPageParam; +import net.jjjerp.admin.service.bill.BillHeadService; +import net.jjjerp.framework.common.api.ApiResult; +import net.jjjerp.framework.log.annotation.OperationLog; +import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; +import java.util.Map; + +@Slf4j +@Api(value = "index", tags = {"仓内拣货"}) +@RestController +@RequestMapping("/admin/market/picking/order") +public class PickingOrderController { + + @Resource + private BillHeadService billHeadService; + + //已审核待配货订单列表 + @RequestMapping(value = "/index", method = RequestMethod.POST) + @RequiresPermissions("/market/picking/order/index") + @OperationLog(name = "index") + @ApiOperation(value = "index", response = String.class) + public ApiResult> index(@RequestBody CommonPageParam param) { + param.setBillType(BillTypeEnum.XSDD.getValue()); + //审核状态,10待审核20通过30拒绝 + param.setAuditStatus(20); + //单据状态,0未采购、1完成采购|销售、2部分采购|销售单待发货,3已关闭,4异常,5待配货,6已发货 + param.setPurchaseStatus(5); + return ApiResult.ok(billHeadService.indexOrder(param)); + } + + //确认配货 + @RequestMapping(value = "/picking", method = RequestMethod.POST) + @RequiresPermissions("/market/picking/order/picking") + @OperationLog(name = "picking") + @ApiOperation(value = "picking", response = String.class) + public ApiResult picking(Long billId) { + if(billHeadService.picking(billId)) { + return ApiResult.ok(null, "操作成功"); + }else{ + return ApiResult.fail("操作失败"); + } + } + +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/product/base/CategoryController.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/product/base/CategoryController.java new file mode 100644 index 0000000..e636a13 --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/product/base/CategoryController.java @@ -0,0 +1,86 @@ +package net.jjjerp.admin.controller.product.base; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.admin.service.product.ProductCategoryService; +import net.jjjerp.framework.common.api.ApiResult; +import net.jjjerp.framework.log.annotation.OperationLog; +import net.jjjerp.common.param.product.CategoryParam; +import net.jjjerp.common.vo.product.CategoryVo; +import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +@Slf4j +@Api(value = "index", tags = {"商品分类列表"}) +@RestController +@RequestMapping("/admin/product/base/category") +public class CategoryController { + @Autowired + private ProductCategoryService productCategoryService; + + //查询分类列表 + @RequestMapping(value = "/index", method = RequestMethod.POST) + @RequiresPermissions("/product/base/category/index") + @OperationLog(name = "index") + @ApiOperation(value = "index", response = String.class) + public ApiResult> index(@RequestBody CategoryParam categoryParam) { + return ApiResult.ok(productCategoryService.getList(categoryParam)); + } + + @RequestMapping(value = "/add", method = RequestMethod.POST) + @RequiresPermissions("/product/base/category/add") + @OperationLog(name = "add") + @ApiOperation(value = "add", response = String.class) + public ApiResult add(@RequestBody @Validated CategoryParam categoryParam) { + if(productCategoryService.add(categoryParam)) { + return ApiResult.ok(null, "新增成功"); + }else{ + return ApiResult.fail("新增失败"); + } + } + + @RequestMapping(value = "/edit", method = RequestMethod.POST) + @RequiresPermissions("/product/base/category/edit") + @OperationLog(name = "edit") + @ApiOperation(value = "edit", response = String.class) + public ApiResult edit(@RequestBody @Validated CategoryParam categoryParam) { + if(productCategoryService.edit(categoryParam)) { + return ApiResult.ok(null, "修改成功"); + }else{ + return ApiResult.fail("修改失败"); + } + } + + @RequestMapping(value = "/delete", method = RequestMethod.POST) + @RequiresPermissions("/product/base/category/delete") + @OperationLog(name = "delete") + @ApiOperation(value = "delete", response = String.class) + public ApiResult delete(Integer categoryId) { + if(productCategoryService.delById(categoryId)) { + return ApiResult.ok(null, "删除成功"); + }else{ + return ApiResult.fail("删除失败"); + } + } + + //修改状态 + @RequestMapping(value = "/set", method = RequestMethod.POST) + @RequiresPermissions("/product/base/category/set") + @OperationLog(name = "set") + @ApiOperation(value = "set", response = String.class) + public ApiResult set(Integer categoryId, Integer status) { + if(productCategoryService.setState(categoryId, status)) { + return ApiResult.ok(null, "修改成功"); + }else{ + return ApiResult.fail("修改失败"); + } + } +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/product/base/MfrsController.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/product/base/MfrsController.java new file mode 100644 index 0000000..1511b14 --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/product/base/MfrsController.java @@ -0,0 +1,73 @@ +package net.jjjerp.admin.controller.product.base; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.common.entity.product.ProductMfrs; +import net.jjjerp.common.entity.product.ProductUnit; +import net.jjjerp.common.param.CommonPageParam; +import net.jjjerp.admin.service.product.ProductMfrsService; +import net.jjjerp.framework.common.api.ApiResult; +import net.jjjerp.framework.core.pagination.Paging; +import net.jjjerp.framework.log.annotation.OperationLog; +import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.HashMap; +import java.util.Map; + +@Slf4j +@Api(value = "index", tags = {"品牌管理"}) +@RestController +@RequestMapping("/admin/product/base/mfrs") +public class MfrsController { + + @Resource + private ProductMfrsService mfrsService; + + @RequestMapping(value = "/index", method = RequestMethod.POST) + @RequiresPermissions("/product/base/mfrs/index") + @OperationLog(name = "index") + @ApiOperation(value = "index", response = String.class) + public ApiResult> index(@RequestBody CommonPageParam param) { + return ApiResult.ok(mfrsService.index(param)); + } + + @RequestMapping(value = "/add", method = RequestMethod.POST) + @RequiresPermissions("/product/base/mfrs/add") + @OperationLog(name = "add") + @ApiOperation(value = "add", response = String.class) + public ApiResult add(@RequestBody @Validated ProductMfrs mfrs) { + if(mfrsService.add(mfrs)) { + return ApiResult.ok(null, "新增成功"); + }else{ + return ApiResult.fail("新增失败"); + } + } + + @RequestMapping(value = "/edit", method = RequestMethod.POST) + @RequiresPermissions("/product/base/mfrs/edit") + @OperationLog(name = "edit") + @ApiOperation(value = "edit", response = String.class) + public ApiResult edit(@RequestBody @Validated ProductMfrs mfrs) { + if(mfrsService.edit(mfrs)) { + return ApiResult.ok(null, "修改成功"); + }else{ + return ApiResult.fail("修改失败"); + } + } + + @RequestMapping(value = "/delete", method = RequestMethod.POST) + @RequiresPermissions("/product/base/mfrs/delete") + @OperationLog(name = "delete") + @ApiOperation(value = "delete", response = String.class) + public ApiResult delete(Integer id){ + if(mfrsService.delById(id)) { + return ApiResult.ok(null, "删除成功"); + }else{ + return ApiResult.fail("删除失败"); + } + } +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/product/base/ProductAttributeController.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/product/base/ProductAttributeController.java new file mode 100644 index 0000000..36e21e4 --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/product/base/ProductAttributeController.java @@ -0,0 +1,89 @@ +package net.jjjerp.admin.controller.product.base; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.common.entity.product.ProductAttribute; +import net.jjjerp.admin.service.product.ProductAttributeService; +import net.jjjerp.framework.common.api.ApiResult; +import net.jjjerp.framework.log.annotation.OperationLog; +import net.jjjerp.common.param.CommonPageParam; +import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.HashMap; +import java.util.Map; + +/** + * @author jjjerp + */ +@Slf4j +@RestController +@RequestMapping(value = "/admin/product/base/attribute") +@Api(tags = {"商品属性"}) +public class ProductAttributeController { + + @Resource + private ProductAttributeService productAttributeService; + + /** + * 获取商品属性列表 + * @return + */ + @RequestMapping(value = "/index", method = RequestMethod.POST) + @ApiOperation(value = "获取商品属性列表") + @RequiresPermissions("/product/base/attribute/index") + @OperationLog(name = "index") + public ApiResult> index(@RequestBody CommonPageParam param) { + Map result = new HashMap<>(); + result.put("attribute", productAttributeService.getproductAttribute(param)); + return ApiResult.ok(result); + } + + @RequestMapping(value = "/add", method = RequestMethod.POST) + @RequiresPermissions("/product/base/attribute/add") + @OperationLog(name = "add") + @ApiOperation(value = "add", response = String.class) + public ApiResult add(@Validated @RequestBody ProductAttribute param) { + if(productAttributeService.add(param)) { + return ApiResult.ok(null, "新增成功"); + }else{ + return ApiResult.fail("新增失败"); + } + } + + @RequestMapping(value = "/toEdit", method = RequestMethod.GET) + @RequiresPermissions("/product/base/attribute/edit") + @OperationLog(name = "toEdit") + @ApiOperation(value = "toEdit", response = String.class) + public ApiResult toEdit(Long id) { + return ApiResult.ok(productAttributeService.toEdit(id)); + } + + @RequestMapping(value = "/edit", method = RequestMethod.POST) + @RequiresPermissions("/product/base/attribute/edit") + @OperationLog(name = "edit") + @ApiOperation(value = "edit", response = String.class) + public ApiResult edit(@Validated @RequestBody ProductAttribute param) { + if(productAttributeService.edit(param)) { + return ApiResult.ok(null, "修改成功"); + }else{ + return ApiResult.fail("修改失败"); + } + } + + @RequestMapping(value = "/delete", method = RequestMethod.POST) + @RequiresPermissions("/product/base/attribute/delete") + @OperationLog(name = "delete") + @ApiOperation(value = "delete", response = String.class) + public ApiResult delete(Long id) { + if(productAttributeService.setDelete(id)) { + return ApiResult.ok(null, "删除成功"); + }else{ + return ApiResult.fail("删除失败"); + } + } + +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/product/base/ProductController.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/product/base/ProductController.java new file mode 100644 index 0000000..3a4bb8f --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/product/base/ProductController.java @@ -0,0 +1,128 @@ +package net.jjjerp.admin.controller.product.base; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.common.entity.product.ProductExtend; +import net.jjjerp.common.entity.product.ProductMfrs; +import net.jjjerp.common.param.CommonPageParam; +import net.jjjerp.common.param.product.ProductPageParam; +import net.jjjerp.common.param.product.ProductParam; +import net.jjjerp.admin.service.product.ProductExtendService; +import net.jjjerp.admin.service.product.ProductMfrsService; +import net.jjjerp.admin.service.product.ProductService; +import net.jjjerp.framework.common.api.ApiResult; +import net.jjjerp.framework.core.pagination.Paging; +import net.jjjerp.framework.log.annotation.OperationLog; +import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.HashMap; +import java.util.Map; + +@Slf4j +@Api(value = "index", tags = {"商品管理"}) +@RestController +@RequestMapping("/admin/product/base/product") +public class ProductController { + + @Autowired + private ProductService productService; + @Autowired + private ProductExtendService productExtendService; + + @RequestMapping(value = "/index", method = RequestMethod.POST) + @RequiresPermissions("/product/base/product/index") + @OperationLog(name = "index") + @ApiOperation(value = "index", response = String.class) + public ApiResult> index(@Validated @RequestBody ProductPageParam productPageParam) { + return ApiResult.ok(productService.getList(productPageParam)); + } + + @RequestMapping(value = "/add", method = RequestMethod.GET) + @RequiresPermissions("/product/base/product/add") + @OperationLog(name = "add") + @ApiOperation(value = "add", response = String.class) + public ApiResult> toAdd() { + return ApiResult.ok(productService.getBaseData(0L)); + } + + @RequestMapping(value = "/add", method = RequestMethod.POST) + @RequiresPermissions("/product/base/product/add") + @OperationLog(name = "add") + @ApiOperation(value = "add", response = String.class) + public ApiResult add(@RequestBody @Validated ProductParam productParam) { + if(productService.add(productParam)) { + return ApiResult.ok(null, "新增成功"); + }else{ + return ApiResult.fail("新增失败"); + } + } + + @RequestMapping(value = "/edit", method = RequestMethod.GET) + @RequiresPermissions("/product/base/product/edit") + @OperationLog(name = "edit") + @ApiOperation(value = "edit", response = String.class) + public ApiResult> toEdit(Long productId) { + return ApiResult.ok(productService.getBaseData(productId)); + } + + @RequestMapping(value = "/edit", method = RequestMethod.POST) + @RequiresPermissions("/product/base/product/edit") + @OperationLog(name = "edit") + @ApiOperation(value = "edit", response = String.class) + public ApiResult edit(@RequestBody @Validated ProductParam productParam) { + if(productService.edit(productParam)) { + return ApiResult.ok(null, "修改成功"); + }else{ + return ApiResult.fail("修改失败"); + } + } + + //修改商品状态 + @RequestMapping(value = "/state", method = RequestMethod.POST) + @RequiresPermissions("/product/base/product/state") + @OperationLog(name = "state") + @ApiOperation(value = "state", response = String.class) + public ApiResult state(String productId, Integer enabled) { + if(productService.setState(productId, enabled)) { + return ApiResult.ok(null, "修改成功"); + }else{ + return ApiResult.fail("修改失败"); + } + } + + @RequestMapping(value = "/delete", method = RequestMethod.POST) + @RequiresPermissions("/product/base/product/delete") + @OperationLog(name = "delete") + @ApiOperation(value = "delete", response = String.class) + public ApiResult delete(Long productId) { + if(productService.setDelete(productId)) { + return ApiResult.ok(null, "删除成功"); + }else{ + return ApiResult.fail("删除失败"); + } + } + + + /** + * 获取最大规格编码 + * @return + */ + @GetMapping(value = "/getMaxProductCode") + @ApiOperation(value = "获取最大规格编码") + public ApiResult getMaxProductCode() { + return ApiResult.ok(productService.getMaxProductExtendCode(), "操作成功"); + } + + @RequestMapping(value = "/extendIndex", method = RequestMethod.POST) + @RequiresPermissions("/product/base/product/index") + @OperationLog(name = "extendIndex") + @ApiOperation(value = "extendIndex", response = String.class) + public ApiResult> extendIndex(@Validated @RequestBody ProductPageParam productPageParam) { + return ApiResult.ok(productExtendService.getList(productPageParam)); + } +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/product/base/UnitController.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/product/base/UnitController.java new file mode 100644 index 0000000..6994e68 --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/product/base/UnitController.java @@ -0,0 +1,92 @@ +package net.jjjerp.admin.controller.product.base; + +import com.alibaba.fastjson.JSONObject; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.common.entity.product.ProductAttribute; +import net.jjjerp.common.entity.product.ProductUnit; +import net.jjjerp.common.param.CommonPageParam; +import net.jjjerp.common.param.product.CategoryParam; +import net.jjjerp.admin.service.product.ProductUnitService; +import net.jjjerp.common.vo.product.CategoryVo; +import net.jjjerp.framework.common.api.ApiResult; +import net.jjjerp.framework.core.pagination.Paging; +import net.jjjerp.framework.log.annotation.OperationLog; +import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.HashMap; +import java.util.Map; + +@Slf4j +@Api(value = "index", tags = {"计量单位管理"}) +@RestController +@RequestMapping("/admin/product/base/unit") +public class UnitController { + + @Resource + private ProductUnitService unitService; + + @RequestMapping(value = "/index", method = RequestMethod.POST) + @RequiresPermissions("/product/base/unit/index") + @OperationLog(name = "index") + @ApiOperation(value = "index", response = String.class) + public ApiResult> index(@RequestBody CommonPageParam param) { + return ApiResult.ok(unitService.index(param)); + } + + @RequestMapping(value = "/add", method = RequestMethod.POST) + @RequiresPermissions("/product/base/unit/add") + @OperationLog(name = "add") + @ApiOperation(value = "add", response = String.class) + public ApiResult add(@RequestBody @Validated ProductUnit productUnit) { + if(unitService.add(productUnit)) { + return ApiResult.ok(null, "新增成功"); + }else{ + return ApiResult.fail("新增失败"); + } + } + + @RequestMapping(value = "/edit", method = RequestMethod.POST) + @RequiresPermissions("/product/base/unit/edit") + @OperationLog(name = "edit") + @ApiOperation(value = "edit", response = String.class) + public ApiResult edit(@RequestBody @Validated ProductUnit productUnit) { + if(unitService.edit(productUnit)) { + return ApiResult.ok(null, "修改成功"); + }else{ + return ApiResult.fail("修改失败"); + } + } + + @RequestMapping(value = "/delete", method = RequestMethod.POST) + @RequiresPermissions("/product/base/unit/delete") + @OperationLog(name = "delete") + @ApiOperation(value = "delete", response = String.class) + public ApiResult delete(String ids){ + if(unitService.delById(ids)) { + return ApiResult.ok(null, "删除成功"); + }else{ + return ApiResult.fail("删除失败"); + } + } + + /** + * 批量设置状态-启用或者禁用 + * @return + */ + @PostMapping(value = "/setStatus") + @RequiresPermissions("/product/base/unit/setStatus") + @OperationLog(name = "setStatus") + @ApiOperation(value = "批量设置状态") + public ApiResult batchSetStatus(Integer state,String ids){ + if(unitService.batchSetStatus(state, ids)) { + return ApiResult.ok(null, "操作成功"); + }else{ + return ApiResult.fail("操作失败"); + } + } +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/purchase/purchase/PurchaseOrderController.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/purchase/purchase/PurchaseOrderController.java new file mode 100644 index 0000000..0985e19 --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/purchase/purchase/PurchaseOrderController.java @@ -0,0 +1,105 @@ +package net.jjjerp.admin.controller.purchase.purchase; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.common.entity.bill.BillHead; +import net.jjjerp.common.enums.BillTypeEnum; +import net.jjjerp.common.param.CommonPageParam; +import net.jjjerp.admin.service.bill.BillHeadService; +import net.jjjerp.framework.common.api.ApiResult; +import net.jjjerp.framework.log.annotation.OperationLog; +import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; +import java.util.Map; + +@Slf4j +@Api(value = "index", tags = {"采购订单"}) +@RestController +@RequestMapping("/admin/purchase/purchase/order") +public class PurchaseOrderController { + + @Resource + private BillHeadService billHeadService; + + @RequestMapping(value = "/index", method = RequestMethod.POST) + @RequiresPermissions("/purchase/purchase/order/index") + @OperationLog(name = "index") + @ApiOperation(value = "index", response = String.class) + public ApiResult> index(@RequestBody CommonPageParam param) { + param.setBillType(BillTypeEnum.CGDD.getValue()); + return ApiResult.ok(billHeadService.indexOrder(param)); + } + + @RequestMapping(value = "/add", method = RequestMethod.POST) + @RequiresPermissions("/purchase/purchase/order/add") + @OperationLog(name = "add") + @ApiOperation(value = "add", response = String.class) + public ApiResult add(@RequestBody @Validated BillHead head) { + head.setBillType(BillTypeEnum.CGDD.getValue()); + if(billHeadService.addOrder(head)) { + return ApiResult.ok(null, "新增成功"); + }else{ + return ApiResult.fail("新增失败"); + } + } + + @RequestMapping(value = "/edit", method = RequestMethod.POST) + @RequiresPermissions("/purchase/purchase/order/edit") + @OperationLog(name = "edit") + @ApiOperation(value = "edit", response = String.class) + public ApiResult edit(@RequestBody @Validated BillHead head) { + if(billHeadService.editOrder(head)) { + return ApiResult.ok(null, "修改成功"); + }else{ + return ApiResult.fail("修改失败"); + } + } + + //关闭 + @RequestMapping(value = "/close", method = RequestMethod.POST) + @RequiresPermissions("/purchase/purchase/order/close") + @OperationLog(name = "close") + @ApiOperation(value = "close", response = String.class) + public ApiResult close(Long billId, String closeReason) { + if(billHeadService.closeOrder(billId, closeReason)) { + return ApiResult.ok(null, "操作成功"); + }else{ + return ApiResult.fail("操作失败"); + } + } + + //审核 + @RequestMapping(value = "/audit", method = RequestMethod.POST) + @RequiresPermissions("/purchase/purchase/order/audit") + @OperationLog(name = "audit") + @ApiOperation(value = "audit", response = String.class) + public ApiResult audit(@RequestBody BillHead head) { + if(billHeadService.auditOrder(head)) { + return ApiResult.ok(null, "操作成功"); + }else{ + return ApiResult.fail("操作失败"); + } + } + + //设置物流 + @RequestMapping(value = "/delivery", method = RequestMethod.POST) + @RequiresPermissions("/purchase/purchase/order/delivery") + @OperationLog(name = "delivery") + @ApiOperation(value = "delivery", response = String.class) + public ApiResult delivery(@RequestBody BillHead head) { + if(billHeadService.addOrderDelivery(head)) { + return ApiResult.ok(null, "操作成功"); + }else{ + return ApiResult.fail("操作失败"); + } + } + + +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/purchase/purchase/PurchaseReturnController.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/purchase/purchase/PurchaseReturnController.java new file mode 100644 index 0000000..a7d7cc0 --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/purchase/purchase/PurchaseReturnController.java @@ -0,0 +1,81 @@ +package net.jjjerp.admin.controller.purchase.purchase; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.common.entity.bill.BillHead; +import net.jjjerp.common.enums.BillTypeEnum; +import net.jjjerp.common.param.CommonPageParam; +import net.jjjerp.admin.service.bill.BillHeadService; +import net.jjjerp.framework.common.api.ApiResult; +import net.jjjerp.framework.core.pagination.Paging; +import net.jjjerp.framework.log.annotation.OperationLog; +import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; +import java.util.Map; + +@Slf4j +@Api(value = "index", tags = {"采购退货单"}) +@RestController +@RequestMapping("/admin/purchase/purchase/return") +public class PurchaseReturnController { + + @Resource + private BillHeadService billHeadService; + + @RequestMapping(value = "/index", method = RequestMethod.POST) + @RequiresPermissions("/purchase/purchase/return/index") + @OperationLog(name = "index") + @ApiOperation(value = "index", response = String.class) + public ApiResult> index(@RequestBody CommonPageParam param) { + param.setBillType(BillTypeEnum.CGTHD.getValue()); + return ApiResult.ok(billHeadService.indexOrder(param)); + } + + @RequestMapping(value = "/add", method = RequestMethod.POST) + @RequiresPermissions("/purchase/purchase/return/add") + @OperationLog(name = "add") + @ApiOperation(value = "add", response = String.class) + public ApiResult addStorage(@RequestBody @Validated BillHead head) { + head.setBillType(BillTypeEnum.CGTHD.getValue()); + if(billHeadService.addOrder(head)) { + return ApiResult.ok(null, "新增成功"); + }else{ + return ApiResult.fail("新增失败"); + } + } + + @RequestMapping(value = "/edit", method = RequestMethod.POST) + @RequiresPermissions("/purchase/purchase/return/edit") + @OperationLog(name = "edit") + @ApiOperation(value = "edit", response = String.class) + public ApiResult edit(@RequestBody @Validated BillHead head) { + if(billHeadService.editOrder(head)) { + return ApiResult.ok(null, "修改成功"); + }else{ + return ApiResult.fail("修改失败"); + } + } + + + + //审核 + @RequestMapping(value = "/audit", method = RequestMethod.POST) + @RequiresPermissions("/purchase/purchase/return/audit") + @OperationLog(name = "audit") + @ApiOperation(value = "audit", response = String.class) + public ApiResult audit(@RequestBody BillHead head) { + if(billHeadService.auditOrder(head)) { + return ApiResult.ok(null, "操作成功"); + }else{ + return ApiResult.fail("操作失败"); + } + } + +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/purchase/purchase/PurchaseStorageController.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/purchase/purchase/PurchaseStorageController.java new file mode 100644 index 0000000..f876644 --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/purchase/purchase/PurchaseStorageController.java @@ -0,0 +1,99 @@ +package net.jjjerp.admin.controller.purchase.purchase; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.common.entity.bill.BillHead; +import net.jjjerp.common.enums.BillTypeEnum; +import net.jjjerp.common.param.CommonPageParam; +import net.jjjerp.admin.service.bill.BillHeadService; +import net.jjjerp.framework.common.api.ApiResult; +import net.jjjerp.framework.log.annotation.OperationLog; +import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; +import java.util.Map; + +@Slf4j +@Api(value = "index", tags = {"采购入库单"}) +@RestController +@RequestMapping("/admin/purchase/purchase/storage") +public class PurchaseStorageController { + + @Resource + private BillHeadService billHeadService; + + @RequestMapping(value = "/index", method = RequestMethod.POST) + @RequiresPermissions("/purchase/purchase/storage/index") + @OperationLog(name = "index") + @ApiOperation(value = "index", response = String.class) + public ApiResult> index(@RequestBody CommonPageParam param) { + param.setBillType(BillTypeEnum.CGRKD.getValue()); + return ApiResult.ok(billHeadService.indexOrder(param)); + } + + //查询单据列表 + @RequestMapping(value = "/bill", method = RequestMethod.POST) + @OperationLog(name = "bill") + @ApiOperation(value = "bill", response = String.class) + public ApiResult> bill(@RequestBody CommonPageParam param) { + return ApiResult.ok(billHeadService.bill(param)); + } + + @RequestMapping(value = "/add", method = RequestMethod.POST) + @RequiresPermissions("/purchase/purchase/storage/add") + @OperationLog(name = "add") + @ApiOperation(value = "add", response = String.class) + public ApiResult addStorage(@RequestBody @Validated BillHead head) { + head.setBillType(BillTypeEnum.CGRKD.getValue()); + if(billHeadService.addOrder(head)) { + return ApiResult.ok(null, "新增成功"); + }else{ + return ApiResult.fail("新增失败"); + } + } + + @RequestMapping(value = "/edit", method = RequestMethod.POST) + @RequiresPermissions("/purchase/purchase/storage/edit") + @OperationLog(name = "edit") + @ApiOperation(value = "edit", response = String.class) + public ApiResult edit(@RequestBody @Validated BillHead head) { + if(billHeadService.editOrder(head)) { + return ApiResult.ok(null, "修改成功"); + }else{ + return ApiResult.fail("修改失败"); + } + } + + //关闭 + @RequestMapping(value = "/close", method = RequestMethod.POST) + @RequiresPermissions("/purchase/purchase/storage/close") + @OperationLog(name = "close") + @ApiOperation(value = "close", response = String.class) + public ApiResult close(Long billId, String closeReason) { + if(billHeadService.closeOrder(billId, closeReason)) { + return ApiResult.ok(null, "操作成功"); + }else{ + return ApiResult.fail("操作失败"); + } + } + + //审核 + @RequestMapping(value = "/audit", method = RequestMethod.POST) + @RequiresPermissions("/purchase/purchase/storage/audit") + @OperationLog(name = "audit") + @ApiOperation(value = "audit", response = String.class) + public ApiResult audit(@RequestBody BillHead head) { + if(billHeadService.auditOrder(head)) { + return ApiResult.ok(null, "操作成功"); + }else{ + return ApiResult.fail("操作失败"); + } + } + +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/refund/flow/AuditController.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/refund/flow/AuditController.java new file mode 100644 index 0000000..7e6711e --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/refund/flow/AuditController.java @@ -0,0 +1,84 @@ +package net.jjjerp.admin.controller.refund.flow; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.common.entity.bill.BillHead; +import net.jjjerp.common.enums.BillTypeEnum; +import net.jjjerp.common.param.CommonPageParam; +import net.jjjerp.admin.service.bill.BillHeadService; +import net.jjjerp.admin.service.product.ProductExtendService; +import net.jjjerp.common.vo.product.ProductStockVo; +import net.jjjerp.framework.common.api.ApiResult; +import net.jjjerp.framework.log.annotation.OperationLog; +import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; +import java.util.List; +import java.util.Map; + +@Slf4j +@Api(value = "index", tags = {"售后单审核"}) +@RestController +@RequestMapping("/admin/refund/flow/audit") +public class AuditController { + + @Resource + private BillHeadService billHeadService; + + //待审核售后单 + @RequestMapping(value = "/index", method = RequestMethod.POST) + @RequiresPermissions("/refund/flow/audit/index") + @OperationLog(name = "index") + @ApiOperation(value = "index", response = String.class) + public ApiResult> index(@RequestBody CommonPageParam param) { + param.setBillType(BillTypeEnum.SHSQD.getValue()); + //审核状态,10待审核20通过30拒绝 + param.setAuditStatus(10); + return ApiResult.ok(billHeadService.indexOrder(param)); + } + + //审核售后单 + @RequestMapping(value = "/audit", method = RequestMethod.POST) + @RequiresPermissions("/refund/flow/audit/audit") + @OperationLog(name = "audit") + @ApiOperation(value = "audit", response = String.class) + public ApiResult audit(@RequestBody BillHead head) { + if(billHeadService.auditRefundOrder(head)) { + return ApiResult.ok(null, "操作成功"); + }else{ + return ApiResult.fail("操作失败"); + } + } + + //打回审核 + @RequestMapping(value = "/repulseAudit", method = RequestMethod.POST) + @RequiresPermissions("/refund/flow/audit/repulseAudit") + @OperationLog(name = "repulseAudit") + @ApiOperation(value = "repulseAudit", response = String.class) + public ApiResult repulseAudit(Long billId) { + if(billHeadService.repulseAudit(billId)) { + return ApiResult.ok(null, "操作成功"); + }else{ + return ApiResult.fail("操作失败"); + } + } + + //关闭 + @RequestMapping(value = "/close", method = RequestMethod.POST) + @RequiresPermissions("/refund/flow/audit/close") + @OperationLog(name = "close") + @ApiOperation(value = "close", response = String.class) + public ApiResult close(Long billId, String closeReason) { + if(billHeadService.closeOrder(billId, closeReason)) { + return ApiResult.ok(null, "操作成功"); + }else{ + return ApiResult.fail("操作失败"); + } + } +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/refund/flow/HandleController.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/refund/flow/HandleController.java new file mode 100644 index 0000000..84dc25e --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/refund/flow/HandleController.java @@ -0,0 +1,98 @@ +package net.jjjerp.admin.controller.refund.flow; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.common.entity.bill.BillHead; +import net.jjjerp.common.enums.BillTypeEnum; +import net.jjjerp.common.enums.BusinessTypeEnum; +import net.jjjerp.common.param.CommonPageParam; +import net.jjjerp.admin.service.bill.BillHeadService; +import net.jjjerp.admin.service.product.ProductExtendService; +import net.jjjerp.framework.common.api.ApiResult; +import net.jjjerp.framework.common.exception.BusinessException; +import net.jjjerp.framework.log.annotation.OperationLog; +import org.apache.commons.lang3.StringUtils; +import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; +import java.util.Map; + +@Slf4j +@Api(value = "index", tags = {"待处理售后单"}) +@RestController +@RequestMapping("/admin/refund/flow/handle") +public class HandleController { + + @Resource + private BillHeadService billHeadService; + + + //已审核待处理售后单 + @RequestMapping(value = "/index", method = RequestMethod.POST) + @RequiresPermissions("/refund/flow/handle/index") + @OperationLog(name = "index") + @ApiOperation(value = "index", response = String.class) + public ApiResult> index(@RequestBody CommonPageParam param) { + param.setBillType(BillTypeEnum.SHSQD.getValue()); + //审核状态,10待审核20通过30拒绝 + param.setAuditStatus(20); + return ApiResult.ok(billHeadService.indexOrder(param)); + } + + //入库 + @RequestMapping(value = "/put", method = RequestMethod.POST) + @RequiresPermissions("/refund/flow/handle/put") + @OperationLog(name = "put") + @ApiOperation(value = "put", response = String.class) + public ApiResult put(@RequestBody @Validated BillHead head) { + head.setBillType(BillTypeEnum.XSTHD.getValue()); + if(billHeadService.addOrder(head)) { + return ApiResult.ok(null, "操作成功"); + }else{ + return ApiResult.fail("操作失败"); + } + } + + //下单 + @RequestMapping(value = "/order", method = RequestMethod.POST) + @RequiresPermissions("/refund/flow/handle/order") + @OperationLog(name = "order") + @ApiOperation(value = "order", response = String.class) + public ApiResult order(@RequestBody @Validated BillHead head) { + head.setBillType(BillTypeEnum.XSDD.getValue()); + if( StringUtils.isBlank(head.getLinkBillId()) || StringUtils.isBlank(head.getLinkBillNum())){ + throw new BusinessException("关联售后单号不能为空"); + } + //业务类型,1直接采购入库,2订单采购入库,3直接出库,4采购入库单退货,5实际调拨,6虚拟调拨,7销售单原路退回,8线下销售订单,9线上销售订单,10预售销售订单 + head.setBusinessType(BusinessTypeEnum.XXXSDD.getValue()); + head.setSystemRemark("【来自售后-换货】售后单号:" + head.getLinkBillNum()); + //是否换货单,0否,1是 + head.setIsExchange(1); + if(billHeadService.addOrder(head)) { + return ApiResult.ok(null, "操作成功"); + }else{ + return ApiResult.fail("操作失败"); + } + } + + //售后处理 + @RequestMapping(value = "/manage", method = RequestMethod.POST) + @RequiresPermissions("/refund/flow/handle/manage") + @OperationLog(name = "manage") + @ApiOperation(value = "manage", response = String.class) + public ApiResult manage(@RequestBody @Validated BillHead head) { + if(billHeadService.refundManage(head)) { + return ApiResult.ok(null, "操作成功"); + }else{ + return ApiResult.fail("操作失败"); + } + } + +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/refund/flow/QueryController.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/refund/flow/QueryController.java new file mode 100644 index 0000000..3947165 --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/refund/flow/QueryController.java @@ -0,0 +1,41 @@ +package net.jjjerp.admin.controller.refund.flow; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.common.enums.BillTypeEnum; +import net.jjjerp.common.param.CommonPageParam; +import net.jjjerp.admin.service.bill.BillHeadService; +import net.jjjerp.admin.service.product.ProductExtendService; +import net.jjjerp.framework.common.api.ApiResult; +import net.jjjerp.framework.log.annotation.OperationLog; +import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; +import java.util.Map; + +@Slf4j +@Api(value = "index", tags = {"售后单查询"}) +@RestController +@RequestMapping("/admin/refund/flow/query") +public class QueryController { + + @Resource + private BillHeadService billHeadService; + + //售后单列表 + @RequestMapping(value = "/index", method = RequestMethod.POST) + @RequiresPermissions("/refund/flow/query/index") + @OperationLog(name = "index") + @ApiOperation(value = "index", response = String.class) + public ApiResult> index(@RequestBody CommonPageParam param) { + param.setBillType(BillTypeEnum.SHSQD.getValue()); + return ApiResult.ok(billHeadService.indexOrder(param)); + } + +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/refund/flow/refundController.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/refund/flow/refundController.java new file mode 100644 index 0000000..289da1f --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/refund/flow/refundController.java @@ -0,0 +1,81 @@ +package net.jjjerp.admin.controller.refund.flow; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.common.entity.bill.BillDelivery; +import net.jjjerp.common.entity.bill.BillHead; +import net.jjjerp.common.enums.BillTypeEnum; +import net.jjjerp.common.param.CommonPageParam; +import net.jjjerp.admin.service.bill.BillHeadService; +import net.jjjerp.framework.common.api.ApiResult; +import net.jjjerp.framework.log.annotation.OperationLog; +import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; +import java.util.Map; + +@Slf4j +@Api(value = "index", tags = {"新建售后单"}) +@RestController +@RequestMapping("/admin/refund/flow/refund") +public class refundController { + + @Resource + private BillHeadService billHeadService; + + //可退货的销售单列表 + @RequestMapping(value = "/marketIndex", method = RequestMethod.POST) + @RequiresPermissions("/refund/flow/refund/marketIndex") + @OperationLog(name = "marketIndex") + @ApiOperation(value = "marketIndex", response = String.class) + public ApiResult> marketIndex(@RequestBody CommonPageParam param) { + param.setBillType(BillTypeEnum.XSDD.getValue()); + return ApiResult.ok(billHeadService.bill(param)); + } + + //新建售后单 + @RequestMapping(value = "/add", method = RequestMethod.POST) + @RequiresPermissions("/refund/flow/refund/add") + @OperationLog(name = "add") + @ApiOperation(value = "add", response = String.class) + public ApiResult add(@RequestBody @Validated BillHead head) { + head.setBillType(BillTypeEnum.SHSQD.getValue()); + if(billHeadService.addOrder(head)) { + return ApiResult.ok(null, "新增成功"); + }else{ + return ApiResult.fail("新增失败"); + } + } + + @RequestMapping(value = "/edit", method = RequestMethod.POST) + @RequiresPermissions("/refund/flow/refund/edit") + @OperationLog(name = "edit") + @ApiOperation(value = "edit", response = String.class) + public ApiResult edit(@RequestBody @Validated BillHead head) { + if(billHeadService.editOrder(head)) { + return ApiResult.ok(null, "修改成功"); + }else{ + return ApiResult.fail("修改失败"); + } + } + + //修改快递 + @RequestMapping(value = "/editDeliver", method = RequestMethod.POST) + @RequiresPermissions("/refund/flow/refund/editDeliver") + @OperationLog(name = "editDeliver") + @ApiOperation(value = "editDeliver", response = String.class) + public ApiResult editDeliver(@RequestBody @Validated BillDelivery delivery) { + if(billHeadService.editDeliver(delivery)) { + return ApiResult.ok(null, "修改成功"); + }else{ + return ApiResult.fail("修改失败"); + } + } + +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/refund/put/MarketController.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/refund/put/MarketController.java new file mode 100644 index 0000000..aef8e1a --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/refund/put/MarketController.java @@ -0,0 +1,42 @@ +package net.jjjerp.admin.controller.refund.put; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.common.enums.BillTypeEnum; +import net.jjjerp.common.param.CommonPageParam; +import net.jjjerp.admin.service.bill.BillHeadService; +import net.jjjerp.admin.service.product.ProductExtendService; +import net.jjjerp.framework.common.api.ApiResult; +import net.jjjerp.framework.log.annotation.OperationLog; +import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; +import java.util.Map; + +@Slf4j +@Api(value = "index", tags = {"销售退货入库"}) +@RestController +@RequestMapping("/admin/refund/put/market") +public class MarketController { + + @Resource + private BillHeadService billHeadService; + + //销售退货单列表 + @RequestMapping(value = "/index", method = RequestMethod.POST) + @RequiresPermissions("/refund/put/market/index") + @OperationLog(name = "index") + @ApiOperation(value = "index", response = String.class) + public ApiResult> index(@RequestBody CommonPageParam param) { + param.setBillType(BillTypeEnum.XSTHD.getValue()); + return ApiResult.ok(billHeadService.indexOrder(param)); + } + + +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/refund/put/RoadController.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/refund/put/RoadController.java new file mode 100644 index 0000000..7b6dc9b --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/refund/put/RoadController.java @@ -0,0 +1,45 @@ +package net.jjjerp.admin.controller.refund.put; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.common.enums.BillTypeEnum; +import net.jjjerp.common.param.CommonPageParam; +import net.jjjerp.admin.service.bill.BillHeadService; +import net.jjjerp.admin.service.product.ProductExtendService; +import net.jjjerp.framework.common.api.ApiResult; +import net.jjjerp.framework.log.annotation.OperationLog; +import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; +import java.util.Map; + +@Slf4j +@Api(value = "index", tags = {"原路退回"}) +@RestController +@RequestMapping("/admin/refund/put/road") +public class RoadController { + + @Resource + private BillHeadService billHeadService; + + + //已发货销售单(未收货,未售后) + @RequestMapping(value = "/index", method = RequestMethod.POST) + @RequiresPermissions("/refund/put/road/index") + @OperationLog(name = "index") + @ApiOperation(value = "index", response = String.class) + public ApiResult> scanIndex(@RequestBody CommonPageParam param) { + param.setBillType(BillTypeEnum.XSDD.getValue()); + //单据状态,0未采购、1完成采购|销售、2部分采购|销售单待发货,3已关闭,4异常,5待配货,6已发货 + param.setPurchaseStatus(6); + return ApiResult.ok(billHeadService.scanIndex(param)); + } + + +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/refund/put/ScanController.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/refund/put/ScanController.java new file mode 100644 index 0000000..880fd80 --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/refund/put/ScanController.java @@ -0,0 +1,43 @@ +package net.jjjerp.admin.controller.refund.put; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.common.entity.bill.BillItem; +import net.jjjerp.common.enums.BillTypeEnum; +import net.jjjerp.common.param.CommonPageParam; +import net.jjjerp.admin.service.bill.BillHeadService; +import net.jjjerp.admin.service.product.ProductExtendService; +import net.jjjerp.framework.common.api.ApiResult; +import net.jjjerp.framework.log.annotation.OperationLog; +import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; +import java.util.Map; + +@Slf4j +@Api(value = "index", tags = {"扫描入库"}) +@RestController +@RequestMapping("/admin/refund/put/scan") +public class ScanController { + + @Resource + private BillHeadService billHeadService; + + + //已审核售后单 + @RequestMapping(value = "/index", method = RequestMethod.POST) + @RequiresPermissions("/refund/put/scan/index") + @OperationLog(name = "index") + @ApiOperation(value = "index", response = String.class) + public ApiResult> scanIndex(@RequestBody CommonPageParam param) { + param.setBillType(BillTypeEnum.SHSQD.getValue()); + return ApiResult.ok(billHeadService.scanIndex(param)); + } + +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/region/RegionController.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/region/RegionController.java new file mode 100644 index 0000000..6a04786 --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/region/RegionController.java @@ -0,0 +1,35 @@ + + +package net.jjjerp.admin.controller.region; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.common.cache.RegionCache; +import net.jjjerp.common.vo.RegionVo; +import net.jjjerp.framework.common.api.ApiResult; +import net.jjjerp.framework.log.annotation.OperationLog; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +@Slf4j +@Api(value = "index", tags = {"地区管理"}) +@RestController +@RequestMapping("/admin/region") +public class RegionController { + + @Autowired + private RegionCache regionCache; + + @RequestMapping(value = "/index", method = RequestMethod.GET) + @OperationLog(name = "index") + @ApiOperation(value = "index", response = String.class) + public ApiResult> index() { + return ApiResult.ok(regionCache.getCacheTree()); + } + +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/setting/basic/CustomerController.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/setting/basic/CustomerController.java new file mode 100644 index 0000000..814a392 --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/setting/basic/CustomerController.java @@ -0,0 +1,101 @@ + + +package net.jjjerp.admin.controller.setting.basic; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.common.cache.RegionCache; +import net.jjjerp.common.entity.customer.Customer; +import net.jjjerp.common.enums.StoreTypeEnum; +import net.jjjerp.common.param.CommonPageParam; +import net.jjjerp.admin.service.customer.CustomerService; +import net.jjjerp.framework.common.api.ApiResult; +import net.jjjerp.framework.core.pagination.Paging; +import net.jjjerp.framework.log.annotation.OperationLog; +import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RestController; + +import java.util.HashMap; +import java.util.Map; + +@Slf4j +@Api(value = "setting", tags = {"客户管理"}) +@RestController +@RequestMapping("/admin/setting/basic/user") +public class CustomerController { + + @Autowired + private CustomerService customerService; + @Autowired + private RegionCache regionCache; + + @RequestMapping(value = "/index", method = RequestMethod.POST) + @RequiresPermissions("/setting/basic/user/index") + @OperationLog(name = "index") + @ApiOperation(value = "index", response = String.class) + public ApiResult> index(@Validated @RequestBody CommonPageParam param) { + return ApiResult.ok(customerService.getList(param)); + } + + @RequestMapping(value = "/add", method = RequestMethod.POST) + @RequiresPermissions("/setting/basic/user/add") + @OperationLog(name = "add") + @ApiOperation(value = "add", response = String.class) + public ApiResult add(@RequestBody @Validated Customer customer) { + if(customerService.add(customer)) { + return ApiResult.ok(null, "新增成功"); + }else{ + return ApiResult.fail("新增失败"); + } + } + + + @RequestMapping(value = "/add", method = RequestMethod.GET) + @RequiresPermissions("/setting/basic/user/add") + @OperationLog(name = "add") + @ApiOperation(value = "add", response = String.class) + public ApiResult> toAdd() { + Map map = new HashMap<>(); + map.put("region",regionCache.getCacheTree()); + map.put("platformType", StoreTypeEnum.getList()); + return ApiResult.ok(map); + } + + @RequestMapping(value = "/edit", method = RequestMethod.GET) + @RequiresPermissions("/setting/basic/user/edit") + @OperationLog(name = "edit") + @ApiOperation(value = "edit", response = String.class) + public ApiResult> toEdit(Integer userId) { + return ApiResult.ok(customerService.toEdit(userId)); + } + + @RequestMapping(value = "/edit", method = RequestMethod.POST) + @RequiresPermissions("/setting/basic/user/edit") + @OperationLog(name = "edit") + @ApiOperation(value = "edit", response = String.class) + public ApiResult edit(@RequestBody @Validated Customer customer) { + if(customerService.edit(customer)) { + return ApiResult.ok(null, "修改成功"); + }else{ + return ApiResult.fail("修改失败"); + } + } + + @RequestMapping(value = "/delete", method = RequestMethod.POST) + @RequiresPermissions("/setting/basic/user/delete") + @OperationLog(name = "delete") + @ApiOperation(value = "delete", response = String.class) + public ApiResult delete(Integer userId) { + if(customerService.delById(userId)) { + return ApiResult.ok(null, "删除成功"); + }else{ + return ApiResult.fail("删除失败"); + } + } +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/setting/basic/DeliveryAreaController.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/setting/basic/DeliveryAreaController.java new file mode 100644 index 0000000..3c26a5c --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/setting/basic/DeliveryAreaController.java @@ -0,0 +1,97 @@ + + +package net.jjjerp.admin.controller.setting.basic; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.common.entity.depot.DeliverArea; +import net.jjjerp.common.entity.depot.DepotArea; +import net.jjjerp.common.entity.depot.DepotStorage; +import net.jjjerp.common.param.CommonPageParam; +import net.jjjerp.admin.service.depot.DeliverAreaService; +import net.jjjerp.admin.service.depot.DepotAreaService; +import net.jjjerp.framework.common.api.ApiResult; +import net.jjjerp.framework.log.annotation.OperationLog; +import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; +import java.util.Map; + +@Slf4j +@Api(value = "setting", tags = {"配送区域管理"}) +@RestController +@RequestMapping("/admin/setting/basic/deliverArea") +public class DeliveryAreaController { + + @Autowired + private DeliverAreaService areaService; + + @RequestMapping(value = "/index", method = RequestMethod.POST) + @RequiresPermissions("/setting/basic/deliverArea/index") + @OperationLog(name = "index") + @ApiOperation(value = "index", response = String.class) + public ApiResult> index() { + return ApiResult.ok(areaService.getList()); + } + + //新增详情 + @RequestMapping(value = "/add", method = RequestMethod.GET) + @RequiresPermissions("/setting/basic/deliverArea/add") + @OperationLog(name = "add") + @ApiOperation(value = "add", response = String.class) + public ApiResult> getAdd() { + return ApiResult.ok(areaService.getAdd()); + } + + @RequestMapping(value = "/add", method = RequestMethod.POST) + @RequiresPermissions("/setting/basic/deliverArea/add") + @OperationLog(name = "add") + @ApiOperation(value = "add", response = String.class) + public ApiResult add(@RequestBody @Validated DeliverArea area) { + if(areaService.add(area)) { + return ApiResult.ok(null, "新增成功"); + }else{ + return ApiResult.fail("新增失败"); + } + } + + //编辑详情 + @RequestMapping(value = "/edit", method = RequestMethod.GET) + @RequiresPermissions("/setting/basic/deliverArea/edit") + @OperationLog(name = "edit") + @ApiOperation(value = "edit", response = String.class) + public ApiResult> getEdit(Integer deliverAreaId) { + return ApiResult.ok(areaService.getEdit(deliverAreaId)); + } + + @RequestMapping(value = "/edit", method = RequestMethod.POST) + @RequiresPermissions("/setting/basic/deliverArea/edit") + @OperationLog(name = "edit") + @ApiOperation(value = "edit", response = String.class) + public ApiResult edit(@RequestBody @Validated DeliverArea area) { + if(areaService.edit(area)) { + return ApiResult.ok(null, "修改成功"); + }else{ + return ApiResult.fail("修改失败"); + } + } + + @RequestMapping(value = "/delete", method = RequestMethod.POST) + @RequiresPermissions("/setting/basic/deliverArea/delete") + @OperationLog(name = "delete") + @ApiOperation(value = "delete", response = String.class) + public ApiResult delete(Integer deliverAreaId) { + if(areaService.delById(deliverAreaId)) { + return ApiResult.ok(null, "删除成功"); + }else{ + return ApiResult.fail("删除失败"); + } + } +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/setting/basic/DepotAreaController.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/setting/basic/DepotAreaController.java new file mode 100644 index 0000000..7b1900c --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/setting/basic/DepotAreaController.java @@ -0,0 +1,79 @@ + + +package net.jjjerp.admin.controller.setting.basic; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.common.cache.RegionCache; +import net.jjjerp.common.entity.depot.Depot; +import net.jjjerp.common.entity.depot.DepotArea; +import net.jjjerp.common.param.CommonPageParam; +import net.jjjerp.admin.service.depot.DepotAreaService; +import net.jjjerp.admin.service.depot.DepotService; +import net.jjjerp.framework.common.api.ApiResult; +import net.jjjerp.framework.core.pagination.Paging; +import net.jjjerp.framework.log.annotation.OperationLog; +import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +@Slf4j +@Api(value = "setting", tags = {"仓库区域管理"}) +@RestController +@RequestMapping("/admin/setting/basic/depotArea") +public class DepotAreaController { + + @Autowired + private DepotAreaService areaService; + + @RequestMapping(value = "/index", method = RequestMethod.POST) + @RequiresPermissions("/setting/basic/depotArea/index") + @OperationLog(name = "index") + @ApiOperation(value = "index", response = String.class) + public ApiResult> index(@Validated @RequestBody CommonPageParam param) { + return ApiResult.ok(areaService.getList(param)); + } + + @RequestMapping(value = "/add", method = RequestMethod.POST) + @RequiresPermissions("/setting/basic/depotArea/add") + @OperationLog(name = "add") + @ApiOperation(value = "add", response = String.class) + public ApiResult add(@RequestBody @Validated DepotArea area) { + if(areaService.add(area)) { + return ApiResult.ok(null, "新增成功"); + }else{ + return ApiResult.fail("新增失败"); + } + } + + @RequestMapping(value = "/edit", method = RequestMethod.POST) + @RequiresPermissions("/setting/basic/depotArea/edit") + @OperationLog(name = "edit") + @ApiOperation(value = "edit", response = String.class) + public ApiResult edit(@RequestBody @Validated DepotArea area) { + if(areaService.edit(area)) { + return ApiResult.ok(null, "修改成功"); + }else{ + return ApiResult.fail("修改失败"); + } + } + + @RequestMapping(value = "/delete", method = RequestMethod.POST) + @RequiresPermissions("/setting/basic/depotArea/delete") + @OperationLog(name = "delete") + @ApiOperation(value = "delete", response = String.class) + public ApiResult delete(Integer depotAreaId) { + if(areaService.delById(depotAreaId)) { + return ApiResult.ok(null, "删除成功"); + }else{ + return ApiResult.fail("删除失败"); + } + } +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/setting/basic/DepotController.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/setting/basic/DepotController.java new file mode 100644 index 0000000..b9aa038 --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/setting/basic/DepotController.java @@ -0,0 +1,87 @@ + + +package net.jjjerp.admin.controller.setting.basic; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.common.entity.depot.Depot; +import net.jjjerp.common.param.CommonPageParam; +import net.jjjerp.admin.service.depot.DepotService; +import net.jjjerp.framework.common.api.ApiResult; +import net.jjjerp.framework.core.pagination.Paging; +import net.jjjerp.framework.log.annotation.OperationLog; +import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RestController; + +@Slf4j +@Api(value = "setting", tags = {"仓库管理"}) +@RestController +@RequestMapping("/admin/setting/basic/depot") +public class DepotController { + + @Autowired + private DepotService depotService; + + @RequestMapping(value = "/index", method = RequestMethod.POST) + @RequiresPermissions("/setting/basic/depot/index") + @OperationLog(name = "index") + @ApiOperation(value = "index", response = String.class) + public ApiResult> index(@Validated @RequestBody CommonPageParam param) { + return ApiResult.ok(depotService.getList(param)); + } + + @RequestMapping(value = "/add", method = RequestMethod.POST) + @RequiresPermissions("/setting/basic/depot/add") + @OperationLog(name = "add") + @ApiOperation(value = "add", response = String.class) + public ApiResult add(@RequestBody @Validated Depot depot) { + if(depotService.add(depot)) { + return ApiResult.ok(null, "新增成功"); + }else{ + return ApiResult.fail("新增失败"); + } + } + + @RequestMapping(value = "/edit", method = RequestMethod.POST) + @RequiresPermissions("/setting/basic/depot/edit") + @OperationLog(name = "edit") + @ApiOperation(value = "edit", response = String.class) + public ApiResult edit(@RequestBody @Validated Depot depot) { + if(depotService.edit(depot)) { + return ApiResult.ok(null, "修改成功"); + }else{ + return ApiResult.fail("修改失败"); + } + } + + //修改状态 + @RequestMapping(value = "/set", method = RequestMethod.POST) + @RequiresPermissions("/setting/basic/depot/set") + @OperationLog(name = "set") + @ApiOperation(value = "set", response = String.class) + public ApiResult set(Long depotId, Integer enabled) { + if(depotService.setState(depotId, enabled)) { + return ApiResult.ok(null, "修改成功"); + }else{ + return ApiResult.fail("修改失败"); + } + } + + @RequestMapping(value = "/delete", method = RequestMethod.POST) + @RequiresPermissions("/setting/basic/depot/delete") + @OperationLog(name = "delete") + @ApiOperation(value = "delete", response = String.class) + public ApiResult delete(Long depotId) { + if(depotService.delById(depotId)) { + return ApiResult.ok(null, "删除成功"); + }else{ + return ApiResult.fail("删除失败"); + } + } +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/setting/basic/DepotReservoirController.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/setting/basic/DepotReservoirController.java new file mode 100644 index 0000000..844eef7 --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/setting/basic/DepotReservoirController.java @@ -0,0 +1,78 @@ + + +package net.jjjerp.admin.controller.setting.basic; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.common.entity.depot.DepotArea; +import net.jjjerp.common.entity.depot.DepotReservoir; +import net.jjjerp.common.param.CommonPageParam; +import net.jjjerp.admin.service.depot.DepotAreaService; +import net.jjjerp.admin.service.depot.DepotReservoirService; +import net.jjjerp.framework.common.api.ApiResult; +import net.jjjerp.framework.core.pagination.Paging; +import net.jjjerp.framework.log.annotation.OperationLog; +import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +@Slf4j +@Api(value = "setting", tags = {"仓库库区管理"}) +@RestController +@RequestMapping("/admin/setting/basic/depotReservoir") +public class DepotReservoirController { + + @Autowired + private DepotReservoirService reservoirService; + + @RequestMapping(value = "/index", method = RequestMethod.POST) + @RequiresPermissions("/setting/basic/depotReservoir/index") + @OperationLog(name = "index") + @ApiOperation(value = "index", response = String.class) + public ApiResult> index(@Validated @RequestBody CommonPageParam param) { + return ApiResult.ok(reservoirService.getList(param)); + } + + @RequestMapping(value = "/add", method = RequestMethod.POST) + @RequiresPermissions("/setting/basic/depotReservoir/add") + @OperationLog(name = "add") + @ApiOperation(value = "add", response = String.class) + public ApiResult add(@RequestBody @Validated DepotReservoir reservoir) { + if(reservoirService.add(reservoir)) { + return ApiResult.ok(null, "新增成功"); + }else{ + return ApiResult.fail("新增失败"); + } + } + + @RequestMapping(value = "/edit", method = RequestMethod.POST) + @RequiresPermissions("/setting/basic/depotReservoir/edit") + @OperationLog(name = "edit") + @ApiOperation(value = "edit", response = String.class) + public ApiResult edit(@RequestBody @Validated DepotReservoir reservoir) { + if(reservoirService.edit(reservoir)) { + return ApiResult.ok(null, "修改成功"); + }else{ + return ApiResult.fail("修改失败"); + } + } + + @RequestMapping(value = "/delete", method = RequestMethod.POST) + @RequiresPermissions("/setting/basic/depotReservoir/delete") + @OperationLog(name = "delete") + @ApiOperation(value = "delete", response = String.class) + public ApiResult delete(Integer depotReservoirId) { + if(reservoirService.delById(depotReservoirId)) { + return ApiResult.ok(null, "删除成功"); + }else{ + return ApiResult.fail("删除失败"); + } + } +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/setting/basic/DepotShelfController.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/setting/basic/DepotShelfController.java new file mode 100644 index 0000000..f3240b3 --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/setting/basic/DepotShelfController.java @@ -0,0 +1,77 @@ + + +package net.jjjerp.admin.controller.setting.basic; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.common.entity.depot.DepotReservoir; +import net.jjjerp.common.entity.depot.DepotShelf; +import net.jjjerp.common.param.CommonPageParam; +import net.jjjerp.admin.service.depot.DepotReservoirService; +import net.jjjerp.admin.service.depot.DepotShelfService; +import net.jjjerp.framework.common.api.ApiResult; +import net.jjjerp.framework.log.annotation.OperationLog; +import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +@Slf4j +@Api(value = "setting", tags = {"仓库货架管理"}) +@RestController +@RequestMapping("/admin/setting/basic/depotShelf") +public class DepotShelfController { + + @Autowired + private DepotShelfService shelfService; + + @RequestMapping(value = "/index", method = RequestMethod.POST) + @RequiresPermissions("/setting/basic/depotShelf/index") + @OperationLog(name = "index") + @ApiOperation(value = "index", response = String.class) + public ApiResult> index(@Validated @RequestBody CommonPageParam param) { + return ApiResult.ok(shelfService.getList(param)); + } + + @RequestMapping(value = "/add", method = RequestMethod.POST) + @RequiresPermissions("/setting/basic/depotShelf/add") + @OperationLog(name = "add") + @ApiOperation(value = "add", response = String.class) + public ApiResult add(@RequestBody @Validated DepotShelf shelf) { + if(shelfService.add(shelf)) { + return ApiResult.ok(null, "新增成功"); + }else{ + return ApiResult.fail("新增失败"); + } + } + + @RequestMapping(value = "/edit", method = RequestMethod.POST) + @RequiresPermissions("/setting/basic/depotShelf/edit") + @OperationLog(name = "edit") + @ApiOperation(value = "edit", response = String.class) + public ApiResult edit(@RequestBody @Validated DepotShelf shelf) { + if(shelfService.edit(shelf)) { + return ApiResult.ok(null, "修改成功"); + }else{ + return ApiResult.fail("修改失败"); + } + } + + @RequestMapping(value = "/delete", method = RequestMethod.POST) + @RequiresPermissions("/setting/basic/depotShelf/delete") + @OperationLog(name = "delete") + @ApiOperation(value = "delete", response = String.class) + public ApiResult delete(Integer depotShelfId) { + if(shelfService.delById(depotShelfId)) { + return ApiResult.ok(null, "删除成功"); + }else{ + return ApiResult.fail("删除失败"); + } + } +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/setting/basic/DepotStorageController.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/setting/basic/DepotStorageController.java new file mode 100644 index 0000000..aa0b530 --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/setting/basic/DepotStorageController.java @@ -0,0 +1,110 @@ + + +package net.jjjerp.admin.controller.setting.basic; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.common.entity.depot.DepotShelf; +import net.jjjerp.common.entity.depot.DepotStorage; +import net.jjjerp.common.param.CommonPageParam; +import net.jjjerp.common.param.depot.StorageParam; +import net.jjjerp.admin.service.depot.DepotShelfService; +import net.jjjerp.admin.service.depot.DepotStorageService; +import net.jjjerp.framework.common.api.ApiResult; +import net.jjjerp.framework.core.pagination.Paging; +import net.jjjerp.framework.log.annotation.OperationLog; +import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +@Slf4j +@Api(value = "setting", tags = {"仓库货位管理"}) +@RestController +@RequestMapping("/admin/setting/basic/depotStorage") +public class DepotStorageController { + + @Autowired + private DepotStorageService storageService; + + @RequestMapping(value = "/index", method = RequestMethod.POST) + @RequiresPermissions("/setting/basic/depotStorage/index") + @OperationLog(name = "index") + @ApiOperation(value = "index", response = String.class) + public ApiResult> index(@Validated @RequestBody CommonPageParam param) { + return ApiResult.ok(storageService.getList(param)); + } + + @RequestMapping(value = "/add", method = RequestMethod.POST) + @RequiresPermissions("/setting/basic/depotStorage/add") + @OperationLog(name = "add") + @ApiOperation(value = "add", response = String.class) + public ApiResult add(@RequestBody @Validated DepotStorage storage) { + if(storageService.add(storage)) { + return ApiResult.ok(null, "新增成功"); + }else{ + return ApiResult.fail("新增失败"); + } + } + + @RequestMapping(value = "/edit", method = RequestMethod.POST) + @RequiresPermissions("/setting/basic/depotStorage/edit") + @OperationLog(name = "edit") + @ApiOperation(value = "edit", response = String.class) + public ApiResult edit(@RequestBody @Validated DepotStorage storage) { + if(storageService.edit(storage)) { + return ApiResult.ok(null, "修改成功"); + }else{ + return ApiResult.fail("修改失败"); + } + } + + @RequestMapping(value = "/delete", method = RequestMethod.POST) + @RequiresPermissions("/setting/basic/depotStorage/delete") + @OperationLog(name = "delete") + @ApiOperation(value = "delete", response = String.class) + public ApiResult delete(Integer depotStorageId) { + if(storageService.delById(depotStorageId)) { + return ApiResult.ok(null, "删除成功"); + }else{ + return ApiResult.fail("删除失败"); + } + } + + //货位库存详情 + @RequestMapping(value = "/settingStock", method = RequestMethod.GET) + @RequiresPermissions("/setting/basic/depotStorage/settingStock") + @OperationLog(name = "settingStock") + @ApiOperation(value = "settingStock", response = String.class) + public ApiResult getStock(Integer depotStorageId) { + return ApiResult.ok(storageService.getStock(depotStorageId)); + } + + //设置货位库存 + @RequestMapping(value = "/settingStock", method = RequestMethod.POST) + @RequiresPermissions("/setting/basic/depotStorage/settingStock") + @OperationLog(name = "settingStock") + @ApiOperation(value = "settingStock", response = String.class) + public ApiResult settingStock(@RequestBody DepotStorage storage) { + if(storageService.settingStock(storage)) { + return ApiResult.ok(null, "操作成功"); + }else{ + return ApiResult.fail("操作失败"); + } + } + + //批量添加 + @RequestMapping(value = "/batchAdd", method = RequestMethod.POST) + @RequiresPermissions("/setting/basic/depotStorage/batchAdd") + @OperationLog(name = "batchAdd") + @ApiOperation(value = "batchAdd", response = String.class) + public ApiResult> batchAdd(@RequestBody @Validated StorageParam param) { + return ApiResult.ok(storageService.batchAdd(param)); + } +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/setting/basic/StoreController.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/setting/basic/StoreController.java new file mode 100644 index 0000000..59fd372 --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/setting/basic/StoreController.java @@ -0,0 +1,126 @@ + + +package net.jjjerp.admin.controller.setting.basic; + +import com.alibaba.fastjson.JSONObject; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.common.cache.RegionCache; +import net.jjjerp.common.entity.store.Store; +import net.jjjerp.common.entity.supplier.Supplier; +import net.jjjerp.common.enums.DeliveryTypeEnum; +import net.jjjerp.common.enums.SettingEnum; +import net.jjjerp.common.enums.StoreTypeEnum; +import net.jjjerp.common.param.CommonPageParam; +import net.jjjerp.admin.service.finance.capital.AccountService; +import net.jjjerp.admin.service.store.StoreService; +import net.jjjerp.admin.service.supplier.SupplierService; +import net.jjjerp.common.util.SettingUtils; +import net.jjjerp.common.vo.RegionVo; +import net.jjjerp.framework.common.api.ApiResult; +import net.jjjerp.framework.core.pagination.Paging; +import net.jjjerp.framework.log.annotation.OperationLog; +import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RestController; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +@Slf4j +@Api(value = "setting", tags = {"店铺管理"}) +@RestController +@RequestMapping("/admin/setting/basic/store") +public class StoreController { + + @Autowired + private StoreService storeService; + @Autowired + private RegionCache regionCache; + @Autowired + private AccountService accountService; + + @RequestMapping(value = "/index", method = RequestMethod.POST) + @RequiresPermissions("/setting/basic/store/index") + @OperationLog(name = "index") + @ApiOperation(value = "index", response = String.class) + public ApiResult> index(@Validated @RequestBody CommonPageParam param) { + return ApiResult.ok(storeService.getList(param)); + } + + @RequestMapping(value = "/add", method = RequestMethod.POST) + @RequiresPermissions("/setting/basic/store/add") + @OperationLog(name = "add") + @ApiOperation(value = "add", response = String.class) + public ApiResult add(@RequestBody @Validated Store store) { + if(storeService.add(store)) { + return ApiResult.ok(null, "新增成功"); + }else{ + return ApiResult.fail("新增失败"); + } + } + + + @RequestMapping(value = "/add", method = RequestMethod.GET) + @RequiresPermissions("/setting/basic/store/add") + @OperationLog(name = "add") + @ApiOperation(value = "add", response = String.class) + public ApiResult> toAdd() { + Map map = new HashMap<>(); + map.put("region",regionCache.getCacheTree()); + map.put("storeType", StoreTypeEnum.getList()); + map.put("account", accountService.getAll()); + return ApiResult.ok(map); + } + + @RequestMapping(value = "/edit", method = RequestMethod.GET) + @RequiresPermissions("/setting/basic/store/edit") + @OperationLog(name = "edit") + @ApiOperation(value = "edit", response = String.class) + public ApiResult> toEdit(Long storeId) { + return ApiResult.ok(storeService.toEdit(storeId)); + } + + @RequestMapping(value = "/edit", method = RequestMethod.POST) + @RequiresPermissions("/setting/basic/store/edit") + @OperationLog(name = "edit") + @ApiOperation(value = "edit", response = String.class) + public ApiResult edit(@RequestBody @Validated Store store) { + if(storeService.edit(store)) { + return ApiResult.ok(null, "修改成功"); + }else{ + return ApiResult.fail("修改失败"); + } + } + + @RequestMapping(value = "/delete", method = RequestMethod.POST) + @RequiresPermissions("/setting/basic/store/delete") + @OperationLog(name = "delete") + @ApiOperation(value = "delete", response = String.class) + public ApiResult delete(Long storeId) { + if(storeService.delById(storeId)) { + return ApiResult.ok(null, "删除成功"); + }else{ + return ApiResult.fail("删除失败"); + } + } + + //修改状态 + @RequestMapping(value = "/set", method = RequestMethod.POST) + @RequiresPermissions("/setting/basic/store/set") + @OperationLog(name = "set") + @ApiOperation(value = "set", response = String.class) + public ApiResult set(Long storeId, Integer enabled) { + if(storeService.setState(storeId, enabled)) { + return ApiResult.ok(null, "修改成功"); + }else{ + return ApiResult.fail("修改失败"); + } + } +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/setting/basic/SupplierController.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/setting/basic/SupplierController.java new file mode 100644 index 0000000..1e5e596 --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/setting/basic/SupplierController.java @@ -0,0 +1,97 @@ +package net.jjjerp.admin.controller.setting.basic; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.common.cache.RegionCache; +import net.jjjerp.common.entity.supplier.Supplier; +import net.jjjerp.common.param.CommonPageParam; +import net.jjjerp.admin.service.supplier.SupplierService; +import net.jjjerp.common.vo.RegionVo; +import net.jjjerp.framework.common.api.ApiResult; +import net.jjjerp.framework.core.pagination.Paging; +import net.jjjerp.framework.log.annotation.OperationLog; +import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; +import java.util.Map; + +@Slf4j +@Api(value = "index", tags = {"供应商管理"}) +@RestController +@RequestMapping("/admin/setting/basic/supplier") +public class SupplierController { + @Autowired + private SupplierService supplierService; + + @RequestMapping(value = "/index", method = RequestMethod.POST) + @RequiresPermissions("/setting/basic/supplier/index") + @OperationLog(name = "index") + @ApiOperation(value = "index", response = String.class) + public ApiResult> index(@Validated @RequestBody CommonPageParam param) { + return ApiResult.ok(supplierService.getList(param)); + } + + @RequestMapping(value = "/add", method = RequestMethod.POST) + @RequiresPermissions("/setting/basic/supplier/add") + @OperationLog(name = "add") + @ApiOperation(value = "add", response = String.class) + public ApiResult add(@RequestBody @Validated Supplier supplier) { + if(supplierService.add(supplier)) { + return ApiResult.ok(null, "新增成功"); + }else{ + return ApiResult.fail("新增失败"); + } + } + + @RequestMapping(value = "/edit", method = RequestMethod.GET) + @RequiresPermissions("/setting/basic/supplier/edit") + @OperationLog(name = "edit") + @ApiOperation(value = "edit", response = String.class) + public ApiResult> toEdit(Long supplierId) { + return ApiResult.ok(supplierService.toEdit(supplierId)); + } + + @RequestMapping(value = "/edit", method = RequestMethod.POST) + @RequiresPermissions("/setting/basic/supplier/edit") + @OperationLog(name = "edit") + @ApiOperation(value = "edit", response = String.class) + public ApiResult edit(@RequestBody @Validated Supplier supplier) { + if(supplierService.edit(supplier)) { + return ApiResult.ok(null, "修改成功"); + }else{ + return ApiResult.fail("修改失败"); + } + } + + @RequestMapping(value = "/delete", method = RequestMethod.POST) + @RequiresPermissions("/setting/basic/supplier/delete") + @OperationLog(name = "delete") + @ApiOperation(value = "delete", response = String.class) + public ApiResult delete(Long supplierId) { + if(supplierService.delById(supplierId)) { + return ApiResult.ok(null, "删除成功"); + }else{ + return ApiResult.fail("删除失败"); + } + } + + //修改状态 + @RequestMapping(value = "/set", method = RequestMethod.POST) + @RequiresPermissions("/setting/basic/supplier/set") + @OperationLog(name = "set") + @ApiOperation(value = "set", response = String.class) + public ApiResult set(Long supplierId, Integer enabled) { + if(supplierService.setState(supplierId, enabled)) { + return ApiResult.ok(null, "修改成功"); + }else{ + return ApiResult.fail("修改失败"); + } + } +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/setting/delivery/ExpressController.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/setting/delivery/ExpressController.java new file mode 100644 index 0000000..d2fab8c --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/setting/delivery/ExpressController.java @@ -0,0 +1,85 @@ +package net.jjjerp.admin.controller.setting.delivery; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.common.entity.settings.Express; +import net.jjjerp.common.param.setting.ExpressPageParam; +import net.jjjerp.common.param.setting.ExpressParam; +import net.jjjerp.admin.service.bill.BillDeliveryService; +import net.jjjerp.admin.service.settings.ExpressService; +import net.jjjerp.framework.common.api.ApiResult; +import net.jjjerp.framework.core.pagination.Paging; +import net.jjjerp.framework.log.annotation.OperationLog; +import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RestController; + +@Slf4j +@Api(value = "express", tags = {"快递公司"}) +@RestController +@RequestMapping("/admin/setting/delivery/express") +public class ExpressController { + @Autowired + private ExpressService expressService; + + + @RequestMapping(value = "/index", method = RequestMethod.POST) + @RequiresPermissions("/setting/delivery/express/index") + @OperationLog(name = "index") + @ApiOperation(value = "index", response = String.class) + public ApiResult> index(@RequestBody @Validated ExpressPageParam expressPageParam) throws Exception { + return ApiResult.ok(expressService.getList(expressPageParam)); + } + + + @RequestMapping(value = "/add", method = RequestMethod.POST) + @RequiresPermissions("/setting/delivery/express/add") + @OperationLog(name = "add") + @ApiOperation(value = "add", response = String.class) + public ApiResult add(@RequestBody @Validated ExpressParam expressParam) { + if (expressService.add(expressParam)) { + return ApiResult.ok(null, "添加成功"); + } else { + return ApiResult.fail("添加失败"); + } + + } + + @RequestMapping(value = "/edit", method = RequestMethod.POST) + @RequiresPermissions("/setting/delivery/express/edit") + @OperationLog(name = "edit") + @ApiOperation(value = "edit", response = String.class) + public ApiResult edit(@RequestBody @Validated ExpressParam expressParam) { + if (expressService.edit(expressParam)) { + return ApiResult.ok(null, "修改成功"); + } else { + return ApiResult.fail("修改失败"); + } + } + + @RequestMapping(value = "/toEdit", method = RequestMethod.GET) + @RequiresPermissions("/setting/delivery/express/edit") + @OperationLog(name = "edit") + @ApiOperation(value = "edit", response = String.class) + public ApiResult toEdit(Integer expressId) { + return ApiResult.ok(expressService.getById(expressId)); + } + + @RequestMapping(value = "/delete", method = RequestMethod.POST) + @RequiresPermissions("/setting/delivery/express/delete") + @OperationLog(name = "delete") + @ApiOperation(value = "delete", response = String.class) + public ApiResult delById(Integer id) { + if (expressService.delById(id)) { + return ApiResult.ok("删除成功"); + } else { + return ApiResult.fail("删除失败"); + } + } + +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/setting/system/ClearController.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/setting/system/ClearController.java new file mode 100644 index 0000000..e53c9a4 --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/setting/system/ClearController.java @@ -0,0 +1,40 @@ + + +package net.jjjerp.admin.controller.setting.system; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.config.constant.CommonRedisKey; +import net.jjjerp.framework.common.api.ApiResult; +import net.jjjerp.framework.core.util.RequestDetailThreadLocal; +import net.jjjerp.framework.log.annotation.OperationLog; +import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.redis.core.RedisTemplate; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RestController; + +import java.util.Set; + +@Slf4j +@Api(value = "clear", tags = {"清理缓存"}) +@RestController +@RequestMapping("/admin/setting/system/clear") +public class ClearController { + + @Autowired + private RedisTemplate redisTemplate; + + @RequestMapping(value = "/index", method = RequestMethod.POST) + @RequiresPermissions("/setting/system/clear/index") + @OperationLog(name = "index") + @ApiOperation(value = "index", response = String.class) + public ApiResult index() { + String allKey = String.format(CommonRedisKey.SETTING_DATA_ALL, RequestDetailThreadLocal.getRequestDetail().getAppId()); + Set keysSet = redisTemplate.keys(allKey); + redisTemplate.delete(keysSet); + return ApiResult.ok(null, "清理成功"); + } +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/setting/system/LoginLogController.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/setting/system/LoginLogController.java new file mode 100644 index 0000000..e5abef5 --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/setting/system/LoginLogController.java @@ -0,0 +1,35 @@ +package net.jjjerp.admin.controller.setting.system; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.framework.common.api.ApiResult; +import net.jjjerp.framework.core.pagination.Paging; +import net.jjjerp.framework.log.annotation.OperationLog; +import net.jjjerp.admin.param.shop.LoginLogPageParam; +import net.jjjerp.admin.service.shop.ShopLoginLogService; +import net.jjjerp.admin.vo.shop.LoginLogVo; +import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RestController; + +@Slf4j +@Api(value = "setting", tags = {"登录日志"}) +@RestController +@RequestMapping("/admin/setting/system/loginlog") +public class LoginLogController { + + @Autowired + private ShopLoginLogService shopLoginLogService; + + @RequestMapping(value = "/index", method = RequestMethod.POST) + @RequiresPermissions("/setting/system/loginlog/index") + @OperationLog(name = "index") + @ApiOperation(value = "index", response = String.class) + public ApiResult> index(@RequestBody LoginLogPageParam loginLogPageParam) throws Exception{ + return ApiResult.ok(shopLoginLogService.getList(loginLogPageParam)); + } +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/setting/system/OptLogController.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/setting/system/OptLogController.java new file mode 100644 index 0000000..e4ee3ae --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/setting/system/OptLogController.java @@ -0,0 +1,35 @@ +package net.jjjerp.admin.controller.setting.system; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.framework.common.api.ApiResult; +import net.jjjerp.framework.core.pagination.Paging; +import net.jjjerp.framework.log.annotation.OperationLog; +import net.jjjerp.admin.param.shop.OptLogPageParam; +import net.jjjerp.admin.service.shop.ShopOptLogService; +import net.jjjerp.admin.vo.shop.OptLogVo; +import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RestController; + +@Slf4j +@Api(value = "setting", tags = {"操作日志"}) +@RestController +@RequestMapping("/admin/setting/system/optlog") +public class OptLogController { + + @Autowired + private ShopOptLogService shopOptLogService; + + @RequestMapping(value = "/index", method = RequestMethod.POST) + @RequiresPermissions("/setting/system/optlog/index") + @OperationLog(name = "index") + @ApiOperation(value = "index", response = String.class) + public ApiResult> index(@RequestBody OptLogPageParam optLogPageParam) throws Exception{ + return ApiResult.ok(shopOptLogService.getList(optLogPageParam)); + } +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/setting/system/ShopRoleController.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/setting/system/ShopRoleController.java new file mode 100644 index 0000000..b9f8163 --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/setting/system/ShopRoleController.java @@ -0,0 +1,87 @@ +package net.jjjerp.admin.controller.setting.system; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.common.entity.shop.AdminRole; +import net.jjjerp.common.util.ShopAccessUtils; +import net.jjjerp.common.vo.shop.AdminAccessVo; +import net.jjjerp.framework.common.api.ApiResult; +import net.jjjerp.framework.log.annotation.OperationLog; +import net.jjjerp.admin.param.shopUser.ShopRoleParam; +import net.jjjerp.admin.service.shop.ShopRoleService; +import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RestController; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +@Slf4j +@Api(value = "index", tags = {"角色管理"}) +@RestController +@RequestMapping("/admin/setting/system/role") +public class ShopRoleController { + @Autowired + private ShopRoleService shopRoleService; + @Autowired + private ShopAccessUtils shopAccessUtils; + + @RequestMapping(value = "/index", method = RequestMethod.POST) + @RequiresPermissions("/setting/system/role/index") + @OperationLog(name = "index") + @ApiOperation(value = "index", response = String.class) + public ApiResult> index() throws Exception{ + return ApiResult.ok(shopRoleService.getList()); + } + + @RequestMapping(value = "/toAdd", method = RequestMethod.GET) + @RequiresPermissions("/setting/system/role/add") + @OperationLog(name = "toAdd") + @ApiOperation(value = "toAdd", response = String.class) + public ApiResult> toAdd() { + return ApiResult.ok(shopAccessUtils.getShopAll()); + } + + @RequestMapping(value = "/add", method = RequestMethod.POST) + @RequiresPermissions("/setting/system/role/add") + @OperationLog(name = "add") + @ApiOperation(value = "add", response = String.class) + public ApiResult add(@Validated @RequestBody ShopRoleParam shopRoleParam) { + return ApiResult.ok(shopRoleService.add(shopRoleParam)); + } + + @RequestMapping(value = "/toEdit", method = RequestMethod.GET) + @RequiresPermissions("/setting/system/role/edit") + @OperationLog(name = "toEdit") + @ApiOperation(value = "toEdit", response = String.class) + public ApiResult> toEdit(Integer roleId) { + Map result = new HashMap<>(); + result.put("menu", shopAccessUtils.getShopAll()); + List selectMenu = shopRoleService.getSelectList(roleId); + result.put("selectMenu", selectMenu); + result.put("model", shopRoleService.getById(roleId)); + return ApiResult.ok(result); + } + + @RequestMapping(value = "/edit", method = RequestMethod.POST) + @RequiresPermissions("/setting/system/role/edit") + @OperationLog(name = "edit") + @ApiOperation(value = "edit", response = String.class) + public ApiResult edit(@Validated @RequestBody ShopRoleParam shopRoleParam) { + return ApiResult.ok(shopRoleService.edit(shopRoleParam)); + } + + @RequestMapping(value = "/delete", method = RequestMethod.POST) + @RequiresPermissions("/setting/system/role/delete") + @OperationLog(name = "delete") + @ApiOperation(value = "delete", response = String.class) + public ApiResult delete(Integer roleId) { + return ApiResult.ok(shopRoleService.delete(roleId)); + } +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/setting/system/ShopUserController.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/setting/system/ShopUserController.java new file mode 100644 index 0000000..f4a1840 --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/setting/system/ShopUserController.java @@ -0,0 +1,110 @@ + + +package net.jjjerp.admin.controller.setting.system; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.common.entity.app.App; +import net.jjjerp.common.util.SettingUtils; +import net.jjjerp.config.properties.SpringBootJjjProperties; +import net.jjjerp.framework.common.api.ApiResult; +import net.jjjerp.framework.log.annotation.OperationLog; +import net.jjjerp.framework.shiro.vo.LoginAdminAccessVo; +import net.jjjerp.framework.shiro.vo.LoginShopUserRedisVo; +import net.jjjerp.framework.util.ShopLoginUtil; +import net.jjjerp.admin.param.shopUser.ShopUserPageParam; +import net.jjjerp.admin.param.shopUser.ShopUserParam; +import net.jjjerp.admin.service.app.AppService; +import net.jjjerp.admin.service.shop.ShopRoleService; +import net.jjjerp.admin.service.shop.ShopUserService; +import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RestController; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +@Slf4j +@Api(value = "index", tags = {"用户管理"}) +@RestController +@RequestMapping("/admin/setting/system/user") +public class ShopUserController { + @Autowired + private ShopUserService shopUserService; + @Autowired + private ShopRoleService shopRoleService; + @Autowired + private SettingUtils settingUtils; + @Autowired + private SpringBootJjjProperties springBootJjjProperties; + @Autowired + private AppService appService; + + @RequestMapping(value = "/getRoleList", method = RequestMethod.POST) + @OperationLog(name = "getRoleList") + @ApiOperation(value = "getRoleList", response = String.class) + public ApiResult> getRoleList() throws Exception{ + LoginShopUserRedisVo loginShopUserRedisVo = ShopLoginUtil.getLoginShopUserRedisVo(); + return ApiResult.ok(loginShopUserRedisVo.getMenus()); + } + + @RequestMapping(value = "/getUserInfo", method = RequestMethod.POST) + @OperationLog(name = "getUserInfo") + @ApiOperation(value = "getUserInfo", response = String.class) + public ApiResult> getUserInfo() throws Exception{ + Map result = new HashMap(); + // 登录用户名 + result.put("username", ShopLoginUtil.getUsername()); + // 版本号 + result.put("version", springBootJjjProperties.getProjectVersion()); + // 商城名称 + App app = appService.getById(ShopLoginUtil.getAppId()); + if(app != null){ + result.put("shop_name", app.getAppName()); + }else { + result.put("shop_name", ""); + } + return ApiResult.ok(result); + } + + @RequestMapping(value = "/index", method = RequestMethod.POST) + @RequiresPermissions("/setting/system/user/index") + @OperationLog(name = "index") + @ApiOperation(value = "index", response = String.class) + public ApiResult> index(@Validated @RequestBody ShopUserPageParam params) throws Exception{ + Map result = new HashMap<>(); + result.put("userList", shopUserService.getList(params)); + result.put("roleList", shopRoleService.getList()); + return ApiResult.ok(result); + } + + @RequestMapping(value = "/add", method = RequestMethod.POST) + @RequiresPermissions("/setting/system/user/add") + @OperationLog(name = "add") + @ApiOperation(value = "add", response = String.class) + public ApiResult add(@Validated @RequestBody ShopUserParam shopUserParam) { + return ApiResult.ok(shopUserService.add(shopUserParam)); + } + + @RequestMapping(value = "/edit", method = RequestMethod.POST) + @RequiresPermissions("/setting/system/user/edit") + @OperationLog(name = "edit") + @ApiOperation(value = "edit", response = String.class) + public ApiResult edit(@Validated @RequestBody ShopUserParam shopUserParam) { + return ApiResult.ok(shopUserService.edit(shopUserParam)); + } + + @RequestMapping(value = "/delete", method = RequestMethod.POST) + @RequiresPermissions("/setting/system/user/delete") + @OperationLog(name = "delete") + @ApiOperation(value = "delete", response = String.class) + public ApiResult delete(Integer shopUserId) { + return ApiResult.ok(shopUserService.setDelete(shopUserId)); + } +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/setting/system/SmsController.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/setting/system/SmsController.java new file mode 100644 index 0000000..f8d5111 --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/setting/system/SmsController.java @@ -0,0 +1,43 @@ +package net.jjjerp.admin.controller.setting.system; + +import com.alibaba.fastjson.JSONObject; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.common.enums.SettingEnum; +import net.jjjerp.common.util.SettingUtils; +import net.jjjerp.framework.common.api.ApiResult; +import net.jjjerp.framework.log.annotation.OperationLog; +import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RestController; + +@Slf4j +@Api(value = "sms", tags = {"短信设置"}) +@RestController +@RequestMapping("/admin/setting/system/sms") +public class SmsController { + @Autowired + private SettingUtils settingUtils; + + @RequestMapping(value = "/index", method = RequestMethod.GET) + @RequiresPermissions("/setting/system/sms/index") + @OperationLog(name = "index") + @ApiOperation(value = "index", response = String.class) + public ApiResult index() throws Exception{ + JSONObject vo = settingUtils.getSetting(SettingEnum.SMS.getKey(), null); + return ApiResult.ok(vo); + } + + @RequestMapping(value = "/index", method = RequestMethod.POST) + @RequiresPermissions("/setting/system/sms/index") + @OperationLog(name = "index") + @ApiOperation(value = "index", response = String.class) + public ApiResult index(@RequestBody JSONObject jsonData) throws Exception{ + settingUtils.saveSetting(SettingEnum.SMS.getKey(), jsonData); + return ApiResult.ok("保存成功"); + } +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/setting/system/StorageController.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/setting/system/StorageController.java new file mode 100644 index 0000000..2e57e85 --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/setting/system/StorageController.java @@ -0,0 +1,46 @@ + + +package net.jjjerp.admin.controller.setting.system; + +import com.alibaba.fastjson.JSONObject; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.common.enums.SettingEnum; +import net.jjjerp.common.util.SettingUtils; +import net.jjjerp.framework.common.api.ApiResult; +import net.jjjerp.framework.log.annotation.OperationLog; +import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RestController; + +@Slf4j +@Api(value = "setting", tags = {"上传设置"}) +@RestController +@RequestMapping("/admin/setting/system/storage") +public class StorageController { + + @Autowired + private SettingUtils settingUtils; + + @RequestMapping(value = "/index", method = RequestMethod.GET) + @RequiresPermissions("/setting/system/storage/index") + @OperationLog(name = "index") + @ApiOperation(value = "index", response = String.class) + public ApiResult index() throws Exception{ + JSONObject vo = settingUtils.getSetting(SettingEnum.STORAGE.getKey(), null); + return ApiResult.ok(vo); + } + + @RequestMapping(value = "/index", method = RequestMethod.POST) + @RequiresPermissions("/setting/system/storage/index") + @OperationLog(name = "index") + @ApiOperation(value = "index", response = String.class) + public ApiResult index(@RequestBody JSONObject jsonData) throws Exception{ + settingUtils.saveSetting(SettingEnum.STORAGE.getKey(), jsonData); + return ApiResult.ok("保存成功"); + } +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/setting/system/SystemController.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/setting/system/SystemController.java new file mode 100644 index 0000000..58ac519 --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/setting/system/SystemController.java @@ -0,0 +1,47 @@ + + +package net.jjjerp.admin.controller.setting.system; + +import com.alibaba.fastjson.JSONObject; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.common.enums.DeliveryTypeEnum; +import net.jjjerp.common.enums.SettingEnum; +import net.jjjerp.common.util.SettingUtils; +import net.jjjerp.framework.common.api.ApiResult; +import net.jjjerp.framework.log.annotation.OperationLog; +import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RestController; + +@Slf4j +@Api(value = "setting", tags = {"系统设置"}) +@RestController +@RequestMapping("/admin/setting/system/system") +public class SystemController { + + @Autowired + private SettingUtils settingUtils; + + @RequestMapping(value = "/index", method = RequestMethod.GET) + @RequiresPermissions("/setting/system/system/index") + @OperationLog(name = "index") + @ApiOperation(value = "index", response = String.class) + public ApiResult index() throws Exception{ + JSONObject vo = settingUtils.getSetting(SettingEnum.STORE.getKey(), null); + return ApiResult.ok(vo); + } + + @RequestMapping(value = "/index", method = RequestMethod.POST) + @RequiresPermissions("/setting/system/system/index") + @OperationLog(name = "index") + @ApiOperation(value = "index", response = String.class) + public ApiResult index(@RequestBody JSONObject jsonData) throws Exception{ + settingUtils.saveSetting(SettingEnum.STORE.getKey(), jsonData); + return ApiResult.ok("保存成功"); + } +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/statement/market/BoardController.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/statement/market/BoardController.java new file mode 100644 index 0000000..e5491b7 --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/statement/market/BoardController.java @@ -0,0 +1,66 @@ +package net.jjjerp.admin.controller.statement.market; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.common.entity.bill.BillHead; +import net.jjjerp.common.param.CommonPageParam; +import net.jjjerp.admin.service.bill.BillHeadService; +import net.jjjerp.admin.service.finance.capital.AccountMoneyLogService; +import net.jjjerp.framework.common.api.ApiResult; +import net.jjjerp.framework.log.annotation.OperationLog; +import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RestController; + +import java.util.Map; + +@Slf4j +@Api(value = "index", tags = {"报表"}) +@RestController +@RequestMapping("/admin/statement/market/board") +public class BoardController { + + @Autowired + private BillHeadService billHeadService; + + //作业看板 + @RequestMapping(value = "/job", method = RequestMethod.POST) + @RequiresPermissions("/statement/market/board/job") + @OperationLog(name = "作业看板") + @ApiOperation(value = "job", response = String.class) + public ApiResult> jobBoard(@RequestBody CommonPageParam param) { + return ApiResult.ok(billHeadService.jobBoard(param)); + } + + //交易趋势 + @RequestMapping(value = "/deal", method = RequestMethod.POST) + @RequiresPermissions("/statement/market/board/deal") + @OperationLog(name = "交易趋势") + @ApiOperation(value = "deal", response = String.class) + public ApiResult> dealBoard(@RequestBody CommonPageParam param) { + return ApiResult.ok(billHeadService.dealBoard(param)); + } + + //库存看板 + @RequestMapping(value = "/stock", method = RequestMethod.POST) + @RequiresPermissions("/statement/market/board/stock") + @OperationLog(name = "库存看板") + @ApiOperation(value = "stock", response = String.class) + public ApiResult> stockBoard(@RequestBody CommonPageParam param) { + return ApiResult.ok(billHeadService.stockBoard(param)); + } + + //商品排行 + @RequestMapping(value = "/product", method = RequestMethod.POST) + @RequiresPermissions("/statement/market/board/product") + @OperationLog(name = "商品排行") + @ApiOperation(value = "product", response = String.class) + public ApiResult> productBoard(@RequestBody CommonPageParam param) { + return ApiResult.ok(billHeadService.productBoard(param)); + } + +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/stock/allot/AllocateController.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/stock/allot/AllocateController.java new file mode 100644 index 0000000..476c168 --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/stock/allot/AllocateController.java @@ -0,0 +1,62 @@ +package net.jjjerp.admin.controller.stock.allot; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.common.entity.bill.BillHead; +import net.jjjerp.common.enums.BillTypeEnum; +import net.jjjerp.common.param.CommonPageParam; +import net.jjjerp.admin.service.bill.BillHeadService; +import net.jjjerp.admin.service.product.ProductExtendService; +import net.jjjerp.common.vo.product.ProductStockVo; +import net.jjjerp.framework.common.api.ApiResult; +import net.jjjerp.framework.log.annotation.OperationLog; +import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; +import java.util.List; +import java.util.Map; + +@Slf4j +@Api(value = "index", tags = {"库存调拨单"}) +@RestController +@RequestMapping("/admin/stock/allot/allocate") +public class AllocateController { + + @Resource + private BillHeadService billHeadService; + @Autowired + private ProductExtendService productExtendService; + + //库存调拨单列表 + @RequestMapping(value = "/index", method = RequestMethod.POST) + @RequiresPermissions("/stock/allot/allocate/index") + @OperationLog(name = "index") + @ApiOperation(value = "index", response = String.class) + public ApiResult> index(@RequestBody CommonPageParam param) { + param.setBillType(BillTypeEnum.KCDBD.getValue()); + return ApiResult.ok(billHeadService.indexOrder(param)); + } + + //新增库存调拨单 + @RequestMapping(value = "/add", method = RequestMethod.POST) + @RequiresPermissions("/stock/allot/allocate/add") + @OperationLog(name = "add") + @ApiOperation(value = "add", response = String.class) + public ApiResult add(@RequestBody @Validated BillHead head) { + head.setBillType(BillTypeEnum.KCDBD.getValue()); + if(billHeadService.addOrder(head)) { + return ApiResult.ok(null, "新增成功"); + }else{ + return ApiResult.fail("新增失败"); + } + } + + +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/stock/allot/AllocateInController.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/stock/allot/AllocateInController.java new file mode 100644 index 0000000..e5b93b4 --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/stock/allot/AllocateInController.java @@ -0,0 +1,72 @@ +package net.jjjerp.admin.controller.stock.allot; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.common.entity.bill.BillHead; +import net.jjjerp.common.enums.BillTypeEnum; +import net.jjjerp.common.param.CommonPageParam; +import net.jjjerp.admin.service.bill.BillHeadService; +import net.jjjerp.admin.service.product.ProductExtendService; +import net.jjjerp.common.vo.product.ProductStockVo; +import net.jjjerp.framework.common.api.ApiResult; +import net.jjjerp.framework.log.annotation.OperationLog; +import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; +import java.util.List; +import java.util.Map; + +@Slf4j +@Api(value = "index", tags = {"调拨入库单"}) +@RestController +@RequestMapping("/admin/stock/allot/allocateIn") +public class AllocateInController { + + @Resource + private BillHeadService billHeadService; + + //调拨入库单列表 + @RequestMapping(value = "/index", method = RequestMethod.POST) + @RequiresPermissions("/stock/allot/allocateIn/index") + @OperationLog(name = "index") + @ApiOperation(value = "调拨入库单列表", response = String.class) + public ApiResult> index(@RequestBody CommonPageParam param) { + param.setBillType(BillTypeEnum.DBRKD.getValue()); + return ApiResult.ok(billHeadService.indexOrder(param)); + } + + //待入库调拨单 + @RequestMapping(value = "/indexOut", method = RequestMethod.POST) + @RequiresPermissions("/stock/allot/allocateIn/indexOut") + @OperationLog(name = "indexOut") + @ApiOperation(value = "待入库调拨单", response = String.class) + public ApiResult> indexOut(@RequestBody CommonPageParam param) { + param.setBillType(BillTypeEnum.KCDBD.getValue()); + //调拨类型,0出库,1入库 + param.setAllot(1); + return ApiResult.ok(billHeadService.bill(param)); + } + + //新增调拨入库单 + @RequestMapping(value = "/add", method = RequestMethod.POST) + @RequiresPermissions("/stock/allot/allocateIn/add") + @OperationLog(name = "add") + @ApiOperation(value = "新增调拨入库单", response = String.class) + public ApiResult add(@RequestBody @Validated BillHead head) { + head.setBillType(BillTypeEnum.DBRKD.getValue()); + if(billHeadService.addOrder(head)) { + return ApiResult.ok(null, "新增成功"); + }else{ + return ApiResult.fail("新增失败"); + } + } + + +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/stock/allot/AllocateOutController.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/stock/allot/AllocateOutController.java new file mode 100644 index 0000000..05c31bf --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/stock/allot/AllocateOutController.java @@ -0,0 +1,70 @@ +package net.jjjerp.admin.controller.stock.allot; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.common.entity.bill.BillHead; +import net.jjjerp.common.enums.BillTypeEnum; +import net.jjjerp.common.param.CommonPageParam; +import net.jjjerp.admin.service.bill.BillHeadService; +import net.jjjerp.admin.service.product.ProductExtendService; +import net.jjjerp.common.vo.product.ProductStockVo; +import net.jjjerp.framework.common.api.ApiResult; +import net.jjjerp.framework.log.annotation.OperationLog; +import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; +import java.util.List; +import java.util.Map; + +@Slf4j +@Api(value = "index", tags = {"调拨出库单"}) +@RestController +@RequestMapping("/admin/stock/allot/allocateOut") +public class AllocateOutController { + + @Resource + private BillHeadService billHeadService; + + //调拨出库单列表 + @RequestMapping(value = "/index", method = RequestMethod.POST) + @RequiresPermissions("/stock/allot/allocateOut/index") + @OperationLog(name = "index") + @ApiOperation(value = "index", response = String.class) + public ApiResult> index(@RequestBody CommonPageParam param) { + param.setBillType(BillTypeEnum.DBCKD.getValue()); + return ApiResult.ok(billHeadService.indexOrder(param)); + } + + //待出库调拨单 + @RequestMapping(value = "/indexOut", method = RequestMethod.POST) + @RequiresPermissions("/stock/allot/allocateOut/indexOut") + @OperationLog(name = "indexOut") + @ApiOperation(value = "indexOut", response = String.class) + public ApiResult> indexOut(@RequestBody CommonPageParam param) { + param.setBillType(BillTypeEnum.KCDBD.getValue()); + //调拨类型,0出库,1入库 + param.setAllot(0); + return ApiResult.ok(billHeadService.bill(param)); + } + + //新增调拨出库单 + @RequestMapping(value = "/add", method = RequestMethod.POST) + @RequiresPermissions("/stock/allot/allocateOut/add") + @OperationLog(name = "add") + @ApiOperation(value = "add", response = String.class) + public ApiResult add(@RequestBody @Validated BillHead head) { + head.setBillType(BillTypeEnum.DBCKD.getValue()); + if(billHeadService.addOrder(head)) { + return ApiResult.ok(null, "新增成功"); + }else{ + return ApiResult.fail("新增失败"); + } + } +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/stock/allot/OtherInController.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/stock/allot/OtherInController.java new file mode 100644 index 0000000..e47acf9 --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/stock/allot/OtherInController.java @@ -0,0 +1,72 @@ +package net.jjjerp.admin.controller.stock.allot; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.common.entity.bill.BillDelivery; +import net.jjjerp.common.entity.bill.BillHead; +import net.jjjerp.common.enums.BillTypeEnum; +import net.jjjerp.common.param.CommonPageParam; +import net.jjjerp.admin.service.bill.BillHeadService; +import net.jjjerp.admin.service.product.ProductExtendService; +import net.jjjerp.common.vo.product.ProductStockVo; +import net.jjjerp.framework.common.api.ApiResult; +import net.jjjerp.framework.log.annotation.OperationLog; +import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; +import java.util.List; +import java.util.Map; + +@Slf4j +@Api(value = "index", tags = {"其他入库单"}) +@RestController +@RequestMapping("/admin/stock/allot/otherIn") +public class OtherInController { + + @Resource + private BillHeadService billHeadService; + + //其他入库单列表 + @RequestMapping(value = "/index", method = RequestMethod.POST) + @RequiresPermissions("/stock/allot/otherIn/index") + @OperationLog(name = "index") + @ApiOperation(value = "其他入库单列表", response = String.class) + public ApiResult> index(@RequestBody CommonPageParam param) { + param.setBillType(BillTypeEnum.QTRKD.getValue()); + return ApiResult.ok(billHeadService.indexOrder(param)); + } + + //新增其他入库单 + @RequestMapping(value = "/add", method = RequestMethod.POST) + @RequiresPermissions("/stock/allot/otherIn/add") + @OperationLog(name = "add") + @ApiOperation(value = "新增其他入库单", response = String.class) + public ApiResult add(@RequestBody @Validated BillHead head) { + head.setBillType(BillTypeEnum.QTRKD.getValue()); + if(billHeadService.addOrder(head)) { + return ApiResult.ok(null, "新增成功"); + }else{ + return ApiResult.fail("新增失败"); + } + } + + //修改快递 + @RequestMapping(value = "/editDeliver", method = RequestMethod.POST) + @RequiresPermissions("/stock/allot/otherIn/editDeliver") + @OperationLog(name = "editDeliver") + @ApiOperation(value = "editDeliver", response = String.class) + public ApiResult editDeliver(@RequestBody @Validated BillDelivery delivery) { + if(billHeadService.editDeliver(delivery)) { + return ApiResult.ok(null, "修改成功"); + }else{ + return ApiResult.fail("修改失败"); + } + } +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/stock/allot/OtherOutController.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/stock/allot/OtherOutController.java new file mode 100644 index 0000000..f539f6b --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/stock/allot/OtherOutController.java @@ -0,0 +1,74 @@ +package net.jjjerp.admin.controller.stock.allot; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.common.entity.bill.BillDelivery; +import net.jjjerp.common.entity.bill.BillHead; +import net.jjjerp.common.enums.BillTypeEnum; +import net.jjjerp.common.param.CommonPageParam; +import net.jjjerp.admin.service.bill.BillHeadService; +import net.jjjerp.admin.service.product.ProductExtendService; +import net.jjjerp.common.vo.product.ProductStockVo; +import net.jjjerp.framework.common.api.ApiResult; +import net.jjjerp.framework.log.annotation.OperationLog; +import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; +import java.util.List; +import java.util.Map; + +@Slf4j +@Api(value = "index", tags = {"其他出库单"}) +@RestController +@RequestMapping("/admin/stock/allot/otherOut") +public class OtherOutController { + + @Resource + private BillHeadService billHeadService; + + //其他出库单列表 + @RequestMapping(value = "/index", method = RequestMethod.POST) + @RequiresPermissions("/stock/allot/otherOut/index") + @OperationLog(name = "index") + @ApiOperation(value = "其他出库单列表", response = String.class) + public ApiResult> index(@RequestBody CommonPageParam param) { + param.setBillType(BillTypeEnum.QTCKD.getValue()); + return ApiResult.ok(billHeadService.indexOrder(param)); + } + + //新增其他出库单 + @RequestMapping(value = "/add", method = RequestMethod.POST) + @RequiresPermissions("/stock/allot/otherOut/add") + @OperationLog(name = "add") + @ApiOperation(value = "新增其他出库单", response = String.class) + public ApiResult add(@RequestBody @Validated BillHead head) { + head.setBillType(BillTypeEnum.QTCKD.getValue()); + if(billHeadService.addOrder(head)) { + return ApiResult.ok(null, "新增成功"); + }else{ + return ApiResult.fail("新增失败"); + } + } + + //修改快递 + @RequestMapping(value = "/editDeliver", method = RequestMethod.POST) + @RequiresPermissions("/stock/allot/otherOut/editDeliver") + @OperationLog(name = "editDeliver") + @ApiOperation(value = "editDeliver", response = String.class) + public ApiResult editDeliver(@RequestBody @Validated BillDelivery delivery) { + if(billHeadService.editDeliver(delivery)) { + return ApiResult.ok(null, "修改成功"); + }else{ + return ApiResult.fail("修改失败"); + } + } + + +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/stock/allot/StockCheckController.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/stock/allot/StockCheckController.java new file mode 100644 index 0000000..6ddfdf9 --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/stock/allot/StockCheckController.java @@ -0,0 +1,58 @@ +package net.jjjerp.admin.controller.stock.allot; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.common.entity.bill.BillHead; +import net.jjjerp.common.enums.BillTypeEnum; +import net.jjjerp.common.param.CommonPageParam; +import net.jjjerp.admin.service.bill.BillHeadService; +import net.jjjerp.admin.service.product.ProductExtendService; +import net.jjjerp.framework.common.api.ApiResult; +import net.jjjerp.framework.log.annotation.OperationLog; +import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; +import java.util.Map; + +@Slf4j +@Api(value = "index", tags = {"库存盘点"}) +@RestController +@RequestMapping("/admin/stock/allot/stockCheck") +public class StockCheckController { + + @Resource + private BillHeadService billHeadService; + @Autowired + private ProductExtendService productExtendService; + + + //库存盘点列表 + @RequestMapping(value = "/index", method = RequestMethod.POST) + @RequiresPermissions("/stock/allot/stockCheck/index") + @OperationLog(name = "index") + @ApiOperation(value = "index", response = String.class) + public ApiResult> index(@RequestBody CommonPageParam param) { + return ApiResult.ok(productExtendService.checkIndex(param)); + } + + //保存库存盘点 + @RequestMapping(value = "/add", method = RequestMethod.POST) + @RequiresPermissions("/stock/allot/stockCheck/add") + @OperationLog(name = "add") + @ApiOperation(value = "add", response = String.class) + public ApiResult add(@RequestBody @Validated BillHead head) { + head.setBillType(BillTypeEnum.PYPKD.getValue()); + if(billHeadService.addOrder(head)) { + return ApiResult.ok(null, "新增成功"); + }else{ + return ApiResult.fail("新增失败"); + } + } +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/stock/allot/StockRecordController.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/stock/allot/StockRecordController.java new file mode 100644 index 0000000..096f458 --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/stock/allot/StockRecordController.java @@ -0,0 +1,40 @@ +package net.jjjerp.admin.controller.stock.allot; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.common.param.CommonPageParam; +import net.jjjerp.admin.service.bill.BillHeadService; +import net.jjjerp.admin.service.product.ProductExtendService; +import net.jjjerp.framework.common.api.ApiResult; +import net.jjjerp.framework.log.annotation.OperationLog; +import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; +import java.util.Map; + +@Slf4j +@Api(value = "index", tags = {"出入库查询"}) +@RestController +@RequestMapping("/admin/stock/allot/stockRecord") +public class StockRecordController { + + @Resource + private BillHeadService billHeadService; + + //出入库明细列表 + @RequestMapping(value = "/index", method = RequestMethod.POST) + @RequiresPermissions("/stock/allot/stockRecord/index") + @OperationLog(name = "index") + @ApiOperation(value = "index", response = String.class) + public ApiResult> index(@RequestBody CommonPageParam param) { + return ApiResult.ok(billHeadService.stockIndex(param)); + } + + +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/stock/condition/ConditionController.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/stock/condition/ConditionController.java new file mode 100644 index 0000000..e3226b2 --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/stock/condition/ConditionController.java @@ -0,0 +1,67 @@ +package net.jjjerp.admin.controller.stock.condition; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.common.entity.bill.BillHead; +import net.jjjerp.common.entity.product.ProductExtend; +import net.jjjerp.common.enums.BillTypeEnum; +import net.jjjerp.common.param.CommonPageParam; +import net.jjjerp.common.param.product.ProductPageParam; +import net.jjjerp.admin.service.bill.BillHeadService; +import net.jjjerp.admin.service.product.ProductExtendService; +import net.jjjerp.common.vo.product.ProductStockVo; +import net.jjjerp.framework.common.api.ApiResult; +import net.jjjerp.framework.core.pagination.Paging; +import net.jjjerp.framework.log.annotation.OperationLog; +import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; +import java.util.List; +import java.util.Map; + +@Slf4j +@Api(value = "index", tags = {"库存状况"}) +@RestController +@RequestMapping("/admin/stock/condition/condition") +public class ConditionController { + + @Resource + private BillHeadService billHeadService; + @Autowired + private ProductExtendService productExtendService; + + //商品规格库存状况 + @RequestMapping(value = "/index", method = RequestMethod.POST) + @RequiresPermissions("/stock/condition/condition/index") + @OperationLog(name = "index") + @ApiOperation(value = "index", response = String.class) + public ApiResult> index(@RequestBody CommonPageParam param) { + return ApiResult.ok(productExtendService.conditionIndex(param)); + } + + //商品规格库存变化详情 + @RequestMapping(value = "/stockIndex", method = RequestMethod.POST) + @RequiresPermissions("/stock/condition/condition/stockIndex") + @OperationLog(name = "stockIndex") + @ApiOperation(value = "stockIndex", response = String.class) + public ApiResult> stockIndex(@RequestBody CommonPageParam param) { + return ApiResult.ok(billHeadService.stockIndex(param)); + } + + //商品规格仓库库存 + @RequestMapping(value = "/depotIndex", method = RequestMethod.POST) + @RequiresPermissions("/stock/condition/condition/depotIndex") + @OperationLog(name = "depotIndex") + @ApiOperation(value = "depotIndex", response = String.class) + public ApiResult> depotIndex(@RequestBody CommonPageParam param) { + return ApiResult.ok(billHeadService.depotIndex(param)); + } + +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/stock/condition/DistributionController.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/stock/condition/DistributionController.java new file mode 100644 index 0000000..83d8357 --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/stock/condition/DistributionController.java @@ -0,0 +1,42 @@ +package net.jjjerp.admin.controller.stock.condition; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.common.entity.bill.BillHead; +import net.jjjerp.common.enums.BillTypeEnum; +import net.jjjerp.common.param.CommonPageParam; +import net.jjjerp.admin.service.bill.BillHeadService; +import net.jjjerp.admin.service.product.ProductExtendService; +import net.jjjerp.framework.common.api.ApiResult; +import net.jjjerp.framework.log.annotation.OperationLog; +import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; +import java.util.Map; + +@Slf4j +@Api(value = "index", tags = {"库存分布"}) +@RestController +@RequestMapping("/admin/stock/condition/distribution") +public class DistributionController { + + @Autowired + private ProductExtendService productExtendService; + + //商品库存分布表 + @RequestMapping(value = "/index", method = RequestMethod.POST) + @RequiresPermissions("/stock/condition/distribution/index") + @OperationLog(name = "index") + @ApiOperation(value = "index", response = String.class) + public ApiResult> index(@RequestBody CommonPageParam param) { + return ApiResult.ok(productExtendService.distributionIndex(param)); + } + +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/stock/condition/OpenningController.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/stock/condition/OpenningController.java new file mode 100644 index 0000000..aceaf9a --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/controller/stock/condition/OpenningController.java @@ -0,0 +1,59 @@ +package net.jjjerp.admin.controller.stock.condition; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.common.entity.bill.BillHead; +import net.jjjerp.common.enums.BillTypeEnum; +import net.jjjerp.common.param.CommonPageParam; +import net.jjjerp.admin.service.bill.BillHeadService; +import net.jjjerp.admin.service.product.ProductExtendService; +import net.jjjerp.framework.common.api.ApiResult; +import net.jjjerp.framework.log.annotation.OperationLog; +import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; +import java.util.Map; + +@Slf4j +@Api(value = "index", tags = {"期初库存"}) +@RestController +@RequestMapping("/admin/stock/condition/openning") +public class OpenningController { + + @Autowired + private ProductExtendService productExtendService; + + @Autowired + private BillHeadService billHeadService; + + //期初库存列表 + @RequestMapping(value = "/index", method = RequestMethod.POST) + @RequiresPermissions("/stock/condition/openning/index") + @OperationLog(name = "index") + @ApiOperation(value = "index", response = String.class) + public ApiResult> index(@RequestBody CommonPageParam param) { + return ApiResult.ok(productExtendService.openningIndex(param)); + } + + //保存期初库存 + @RequestMapping(value = "/add", method = RequestMethod.POST) + @RequiresPermissions("/stock/condition/openning/add") + @OperationLog(name = "add") + @ApiOperation(value = "add", response = String.class) + public ApiResult add(@RequestBody @Validated BillHead head) { + head.setBillType(BillTypeEnum.QCKCD.getValue()); + if(billHeadService.addOrder(head)) { + return ApiResult.ok(null, "新增成功"); + }else{ + return ApiResult.fail("新增失败"); + } + } + +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/enums/settings/PrinterTypeEnum.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/enums/settings/PrinterTypeEnum.java new file mode 100644 index 0000000..1df17df --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/enums/settings/PrinterTypeEnum.java @@ -0,0 +1,26 @@ +package net.jjjerp.admin.enums.settings; + + +import lombok.AllArgsConstructor; +import lombok.Getter; + +import java.util.*; + +@Getter +@AllArgsConstructor +public enum PrinterTypeEnum{ + FEI_E_YUN("飞鹅打印机"), + PRINTER_CENTER("365云打印"); + + + private String text; + + public static List getTypeName(){ + List result = new ArrayList<>(); + for (PrinterTypeEnum type : EnumSet.allOf(PrinterTypeEnum.class)){ + result.add(type.getText()); + } + return result; + } + +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/exception/SysLoginException.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/exception/SysLoginException.java new file mode 100644 index 0000000..7fa8efa --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/exception/SysLoginException.java @@ -0,0 +1,43 @@ +/* + * Copyright 2019-2029 geekidea(https://github.com/geekidea) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package net.jjjerp.admin.exception; + + +import net.jjjerp.framework.common.api.ApiCode; +import net.jjjerp.framework.common.exception.SpringBootJjjException; + +/** + * 系统登录异常 + * + * @author geekidea + * @date 2019-08-04 + */ +public class SysLoginException extends SpringBootJjjException { + private static final long serialVersionUID = -3157438982569715170L; + + public SysLoginException(String message) { + super(message); + } + + public SysLoginException(Integer errorCode, String message) { + super(errorCode, message); + } + + public SysLoginException(ApiCode apiCode) { + super(apiCode); + } +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/mapper/bill/BillHeadMapper.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/mapper/bill/BillHeadMapper.java new file mode 100644 index 0000000..3f3ae1b --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/mapper/bill/BillHeadMapper.java @@ -0,0 +1,44 @@ +package net.jjjerp.admin.mapper.bill; + +import com.baomidou.mybatisplus.annotation.InterceptorIgnore; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import net.jjjerp.common.entity.bill.BillHead; +import net.jjjerp.common.param.CommonPageParam; +import net.jjjerp.common.vo.statement.BacklogVo; +import net.jjjerp.common.vo.statement.DealVo; +import net.jjjerp.common.vo.statement.HomeDealVo; +import net.jjjerp.common.vo.statement.ProductBoardVo; +import org.springframework.stereotype.Repository; + +import java.util.List; +import java.util.Map; + + +/** + * 单据主表 Mapper 接口 + * + * @author jjjerp + * @since 2024-05-07 + */ +@Repository +public interface BillHeadMapper extends BaseMapper { + + //作业看板 + @InterceptorIgnore(tenantLine = "true") + Map jobBoard(CommonPageParam param); + + //交易趋势 + @InterceptorIgnore(tenantLine = "true") + DealVo dealBoard(CommonPageParam param); + + //商品排行 + List productBoard(CommonPageParam param); + + //首页交易趋势 + @InterceptorIgnore(tenantLine = "true") + HomeDealVo dealHome(CommonPageParam param); + + //今日待办 + @InterceptorIgnore(tenantLine = "true") + BacklogVo backlog(CommonPageParam param); +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/mapper/product/ProductMapper.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/mapper/product/ProductMapper.java new file mode 100644 index 0000000..bcb5efb --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/mapper/product/ProductMapper.java @@ -0,0 +1,28 @@ +package net.jjjerp.admin.mapper.product; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import net.jjjerp.common.entity.product.Product; +import org.springframework.stereotype.Repository; + + +/** + * 产品表 Mapper 接口 + * + * @author jjjerp + * @since 2024-04-12 + */ +@Repository +public interface ProductMapper extends BaseMapper { + + /** + * 获取最大商品编码 + * @return + */ + String getMaxProductCode(); + + /** + * 获取最大规格编码 + * @return + */ + String getMaxProductExtendCode(); +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/mapper/shop/ShopUserMapper.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/mapper/shop/ShopUserMapper.java new file mode 100644 index 0000000..fb75f62 --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/mapper/shop/ShopUserMapper.java @@ -0,0 +1,20 @@ +package net.jjjerp.admin.mapper.shop; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import net.jjjerp.common.entity.shop.AdminAccess; +import net.jjjerp.common.entity.shop.AdminUser; +import org.apache.ibatis.annotations.Param; +import org.springframework.stereotype.Repository; + +import java.util.List; + +/** + * 商家用户记录表 Mapper 接口 + * + * @author jjjerp + * @since 2022-06-23 + */ +@Repository +public interface ShopUserMapper extends BaseMapper { + List getAccessByUserId(@Param("userId") Integer userId); +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/mapper/shop/ShopUserRoleMapper.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/mapper/shop/ShopUserRoleMapper.java new file mode 100644 index 0000000..1933c7e --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/mapper/shop/ShopUserRoleMapper.java @@ -0,0 +1,32 @@ +package net.jjjerp.admin.mapper.shop; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import net.jjjerp.common.entity.shop.AdminUserRole; +import org.springframework.stereotype.Repository; + +import java.util.List; +import java.util.Map; + + +/** + * 商家用户角色记录表 Mapper 接口 + * + * @author jjjerp + * @since 2022-07-09 + */ +@Repository +public interface ShopUserRoleMapper extends BaseMapper { + /** + * 根据角色id查询下面的用户数量 + * @param roleId + * @return + */ + Integer getUserRoleCount(Integer roleId); + + /** + * 通过用户查找角色名称 + * @param shopUserId + * @return + */ + List getRoleListByUser(Integer shopUserId); +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/param/app/AppUpdateParam.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/param/app/AppUpdateParam.java new file mode 100644 index 0000000..6229df7 --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/param/app/AppUpdateParam.java @@ -0,0 +1,39 @@ +package net.jjjerp.admin.param.app; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.experimental.Accessors; +import net.jjjerp.framework.core.validator.groups.Update; + +import javax.validation.constraints.NotNull; +import java.io.Serializable; + +@Data +@Accessors(chain = true) +@ApiModel(value = "app升级参数", description = "app升级参数") +public class AppUpdateParam implements Serializable { + private static final long serialVersionUID = 1L; + + @NotNull(message = "id不能为空", groups = {Update.class}) + @ApiModelProperty("update_id") + private Integer updateId; + + @ApiModelProperty("appid") + private Integer appId; + + @ApiModelProperty("android版本号") + private String versionAndroid; + + @ApiModelProperty("ios版本号") + private String versionIos; + + @ApiModelProperty("热更新包下载地址") + private String wgtUrl; + + @ApiModelProperty("安卓整包升级地址") + private String pkgUrlAndroid; + + @ApiModelProperty("ios整包升级地址") + private String pkgUrlIos; +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/param/app/PayParam.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/param/app/PayParam.java new file mode 100644 index 0000000..c059c38 --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/param/app/PayParam.java @@ -0,0 +1,49 @@ +package net.jjjerp.admin.param.app; + +import com.alibaba.fastjson.JSONObject; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.experimental.Accessors; + +import java.io.Serializable; + +@Data +@Accessors(chain = true) +@ApiModel(value = "支付方式参数", description = "支付方式参数") +public class PayParam implements Serializable { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("支付类型,json格式") + private JSONObject payType; + + @ApiModelProperty("微信支付方式v2:2,v3:3") + private Integer wxPayKind; + + @ApiModelProperty("微信提现方式v2:2 v3:3") + private Integer wxCashType; + + @ApiModelProperty("支付宝提现方式,1=手动打款, 2=审核通过自动转账") + private Integer aliCashType; + + @ApiModelProperty("微信商户号id") + private String mchid; + + @ApiModelProperty("微信支付密钥") + private String apikey; + + @ApiModelProperty("证书文件cert") + private String certPem; + + @ApiModelProperty("证书文件key") + private String keyPem; + + @ApiModelProperty("支付宝商户号") + private String alipayAppid; + + @ApiModelProperty("支付宝公钥") + private String alipayPublickey; + + @ApiModelProperty("应用私钥") + private String alipayPrivatekey; +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/param/file/UploadFilePageParam.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/param/file/UploadFilePageParam.java new file mode 100644 index 0000000..a724fe9 --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/param/file/UploadFilePageParam.java @@ -0,0 +1,27 @@ + + +package net.jjjerp.admin.param.file; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import net.jjjerp.framework.core.pagination.BasePageOrderParam; + +/** + * 部门 查询参数对象 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = true) +@ApiModel(value = "UploadFilePageParam对象", description = "app查询参数") +public class UploadFilePageParam extends BasePageOrderParam { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("分组id") + private Integer groupId; + + @ApiModelProperty("文件类型") + private String fileType; +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/param/page/CenterParam.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/param/page/CenterParam.java new file mode 100644 index 0000000..c2d4a3c --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/param/page/CenterParam.java @@ -0,0 +1,57 @@ + + +package net.jjjerp.admin.param.page; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.experimental.Accessors; +import net.jjjerp.framework.core.validator.groups.Update; + +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; +import java.io.Serializable; + +/** + * 参数对象 + */ +@Data +@Accessors(chain = true) +@ApiModel(value = "CenterParam对象", description = "Center新增修改参数") +public class CenterParam implements Serializable { + private static final long serialVersionUID = 1L; + + @NotNull(message = "id不能为空", groups = {Update.class}) + @ApiModelProperty("menu_id") + private Integer menuId; + + @NotNull(message = "id不能为空", groups = {Update.class}) + @ApiModelProperty("menu_id") + private Integer pageId; + + @ApiModelProperty("菜单名称") + @NotEmpty(message = "菜单名称不能为空") + private String name; + + @ApiModelProperty("图片url") + @NotEmpty(message = "图片url不能为空") + private String icon; + + @ApiModelProperty("排序(越小越靠前)") + @NotNull(message = "排序不能为空") + private Integer sort; + + @ApiModelProperty("跳转链接") + @NotEmpty(message = "跳转链接不能为空") + private String path; + + @ApiModelProperty("params") + private String params; + + @ApiModelProperty("链接名称") + @NotEmpty(message = "链接名称不能为空") + private String pathName; + + @ApiModelProperty("1显示0隐藏") + private Integer isShow; +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/param/shop/FullReducePageParam.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/param/shop/FullReducePageParam.java new file mode 100644 index 0000000..5dc8279 --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/param/shop/FullReducePageParam.java @@ -0,0 +1,16 @@ +package net.jjjerp.admin.param.shop; + + +import io.swagger.annotations.ApiModel; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import net.jjjerp.framework.core.pagination.BasePageOrderParam; + +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = true) +@ApiModel(value = "用户操作日志分页对象", description = "用户操作日志分页对象") +public class FullReducePageParam extends BasePageOrderParam { + private static final long serialVersionUID = 1L; +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/param/shop/FullReduceParam.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/param/shop/FullReduceParam.java new file mode 100644 index 0000000..45162f8 --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/param/shop/FullReduceParam.java @@ -0,0 +1,38 @@ +package net.jjjerp.admin.param.shop; + + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.experimental.Accessors; + +import java.io.Serializable; + +@Data +@Accessors(chain = true) +@ApiModel(value = "用户操作日志分页对象", description = "用户操作日志分页对象") +public class FullReduceParam implements Serializable { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + private Integer fullreduceId; + + @ApiModelProperty("活动名称") + private String activeName; + + @ApiModelProperty("满类型1,满额2,满件数") + private Integer fullType; + + @ApiModelProperty("满值") + private Integer fullValue; + + @ApiModelProperty("减类型,1,减金额 2,打折") + private Integer reduceType; + + @ApiModelProperty("减值") + private Integer reduceValue; + + @ApiModelProperty("商品id") + private Integer productId; + +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/param/shop/LoginLogPageParam.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/param/shop/LoginLogPageParam.java new file mode 100644 index 0000000..5f5d6c8 --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/param/shop/LoginLogPageParam.java @@ -0,0 +1,19 @@ +package net.jjjerp.admin.param.shop; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import net.jjjerp.framework.core.pagination.BasePageOrderParam; + +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = true) +@ApiModel(value = "用户登陆日志分页对象", description = "用户登陆日志分页对象") +public class LoginLogPageParam extends BasePageOrderParam { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("用户真实姓名") + private String username; +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/param/shop/OptLogPageParam.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/param/shop/OptLogPageParam.java new file mode 100644 index 0000000..11b5167 --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/param/shop/OptLogPageParam.java @@ -0,0 +1,19 @@ +package net.jjjerp.admin.param.shop; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import net.jjjerp.framework.core.pagination.BasePageOrderParam; + +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = true) +@ApiModel(value = "用户操作日志分页对象", description = "用户操作日志分页对象") +public class OptLogPageParam extends BasePageOrderParam { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("用户真实姓名") + private String username; +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/param/shopUser/ShopRoleParam.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/param/shopUser/ShopRoleParam.java new file mode 100644 index 0000000..891d681 --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/param/shopUser/ShopRoleParam.java @@ -0,0 +1,33 @@ +package net.jjjerp.admin.param.shopUser; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import net.jjjerp.framework.core.pagination.BasePageOrderParam; + +import java.util.List; + +/** + * 部门 查询参数对象 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = true) +@ApiModel(value = "ShopRole操作对象", description = "ShopRole操作对象") +public class ShopRoleParam extends BasePageOrderParam { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("角色id") + private Integer roleId; + + @ApiModelProperty("角色名称") + private String roleName; + + @ApiModelProperty("排序") + private Integer sort; + + @ApiModelProperty("权限集合") + private List accessId; +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/param/shopUser/ShopUserPageParam.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/param/shopUser/ShopUserPageParam.java new file mode 100644 index 0000000..e69b7c8 --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/param/shopUser/ShopUserPageParam.java @@ -0,0 +1,20 @@ + + +package net.jjjerp.admin.param.shopUser; + +import io.swagger.annotations.ApiModel; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import net.jjjerp.framework.core.pagination.BasePageOrderParam; + +/** + * 部门 查询参数对象 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = true) +@ApiModel(value = "ShopUser分页查询对象", description = "ShopUser分页查询对象") +public class ShopUserPageParam extends BasePageOrderParam { + private static final long serialVersionUID = 1L; +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/param/shopUser/ShopUserParam.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/param/shopUser/ShopUserParam.java new file mode 100644 index 0000000..ec9269a --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/param/shopUser/ShopUserParam.java @@ -0,0 +1,38 @@ + + +package net.jjjerp.admin.param.shopUser; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.io.Serializable; +import java.util.List; + +/** + * 部门 查询参数对象 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@ApiModel(value = "ShopUser对象", description = "ShopUser对象") +public class ShopUserParam implements Serializable { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + private Integer shopUserId; + + @ApiModelProperty("用户名") + private String userName; + + @ApiModelProperty("登录密码") + private String password; + + @ApiModelProperty("姓名") + private String realName; + + @ApiModelProperty("用户角色") + private List roleId; +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/app/AppMpService.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/app/AppMpService.java new file mode 100644 index 0000000..8d58db9 --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/app/AppMpService.java @@ -0,0 +1,14 @@ +package net.jjjerp.admin.service.app; + +import net.jjjerp.common.entity.app.AppMp; +import net.jjjerp.framework.common.service.BaseService; + +/** + * 微信公众号记录表 服务类 + * @author jjjerp + * @since 2022-07-27 + */ +public interface AppMpService extends BaseService { + + +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/app/AppOpenService.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/app/AppOpenService.java new file mode 100644 index 0000000..2a9cec0 --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/app/AppOpenService.java @@ -0,0 +1,20 @@ +package net.jjjerp.admin.service.app; + +import net.jjjerp.common.entity.app.AppOpen; +import net.jjjerp.framework.common.service.BaseService; + +/** + * app应用记录表 服务类 + * @author jjjerp + * @since 2022-07-27 + */ +public interface AppOpenService extends BaseService { + + /** + * 修改 + * @param openappId + * @param openappSecret + * @return + */ + Boolean edit(String openappId, String openappSecret, String logo); +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/app/AppService.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/app/AppService.java new file mode 100644 index 0000000..3949cf7 --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/app/AppService.java @@ -0,0 +1,43 @@ +package net.jjjerp.admin.service.app; + +import net.jjjerp.common.entity.app.App; +import net.jjjerp.framework.common.service.BaseService; +import net.jjjerp.admin.param.app.PayParam; +import net.jjjerp.admin.vo.app.AppVo; +import org.springframework.web.multipart.MultipartFile; + +/** + * 微信小程序记录表 服务类 + * @author jjjerp + * @since 2022-06-23 + */ +public interface AppService extends BaseService { + + /** + * 修改app + * @param passportType + * @return + */ + Boolean edit(Integer passportType); + + /** + * 详情 + * @param + * @return + */ + AppVo detail(); + + /** + * 修改支付设置 + * @param payParam + * @return + */ + Boolean editPay(PayParam payParam); + + /** + * 保存p12证书 + * @param multipartFile + * @throws Exception + */ + Boolean uploadP12(MultipartFile multipartFile); +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/app/AppUpdateService.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/app/AppUpdateService.java new file mode 100644 index 0000000..11b4dc5 --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/app/AppUpdateService.java @@ -0,0 +1,43 @@ +package net.jjjerp.admin.service.app; + +import net.jjjerp.common.entity.app.AppUpdate; +import net.jjjerp.framework.common.service.BaseService; +import net.jjjerp.framework.core.pagination.Paging; +import net.jjjerp.common.param.CommonPageParam; +import net.jjjerp.admin.param.app.AppUpdateParam; + +/** + * app升级记录表 服务类 + * @author jjjerp + * @since 2022-07-27 + */ +public interface AppUpdateService extends BaseService { + + /** + * 分页查询 + * @param commonPageParam + * @return + */ + Paging getList(CommonPageParam commonPageParam); + + /** + * 添加 + * @param appUpdateParam + * @return + */ + boolean add(AppUpdateParam appUpdateParam); + + /** + * 修改 + * @param appUpdateParam + * @return + */ + boolean edit(AppUpdateParam appUpdateParam); + + /** + * 删除 + * @param id + * @return + */ + boolean delById(Integer id); +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/app/AppWxService.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/app/AppWxService.java new file mode 100644 index 0000000..440326e --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/app/AppWxService.java @@ -0,0 +1,21 @@ +package net.jjjerp.admin.service.app; + +import net.jjjerp.common.entity.app.AppWx; +import net.jjjerp.framework.common.service.BaseService; + +/** + * 微信小程序记录表 服务类 + * + * @author jjjerp + * @since 2022-07-03 + */ +public interface AppWxService extends BaseService { + + /** + * 修改 + * @param wxappId + * @param wxappSecret + * @return + */ + Boolean edit(String wxappId, String wxappSecret); +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/app/impl/AppMpServiceImpl.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/app/impl/AppMpServiceImpl.java new file mode 100644 index 0000000..9ee3e15 --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/app/impl/AppMpServiceImpl.java @@ -0,0 +1,38 @@ +package net.jjjerp.admin.service.app.impl; + +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import lombok.extern.slf4j.Slf4j; +import me.chanjar.weixin.mp.api.WxMpService; +import net.jjjerp.common.entity.app.AppMp; +import net.jjjerp.common.entity.settings.Setting; +import net.jjjerp.common.enums.SettingEnum; +import net.jjjerp.common.mapper.app.AppMpMapper; +import net.jjjerp.common.mapper.settings.SettingMapper; +import net.jjjerp.common.settings.vo.StoreVo; +import net.jjjerp.common.util.SettingUtils; +import net.jjjerp.framework.common.exception.BusinessException; +import net.jjjerp.framework.common.service.impl.BaseServiceImpl; +import net.jjjerp.admin.service.app.AppMpService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Lazy; +import org.springframework.stereotype.Service; + +/** + * 微信公众号记录表 服务实现类 + * @author jjjerp + * @since 2022-07-27 + */ +@Slf4j +@Service +public class AppMpServiceImpl extends BaseServiceImpl implements AppMpService { + @Lazy + @Autowired + private WxMpService wxMpService; + @Autowired + private SettingMapper settingMapper; + @Autowired + private SettingUtils settingUtils; + + +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/app/impl/AppOpenServiceImpl.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/app/impl/AppOpenServiceImpl.java new file mode 100644 index 0000000..a42885f --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/app/impl/AppOpenServiceImpl.java @@ -0,0 +1,40 @@ +package net.jjjerp.admin.service.app.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.common.entity.app.AppOpen; +import net.jjjerp.common.mapper.app.AppOpenMapper; +import net.jjjerp.framework.common.service.impl.BaseServiceImpl; +import net.jjjerp.admin.service.app.AppOpenService; +import org.springframework.stereotype.Service; + +/** + * app应用记录表 服务实现类 + * @author jjjerp + * @since 2022-07-27 + */ +@Slf4j +@Service +public class AppOpenServiceImpl extends BaseServiceImpl implements AppOpenService { + + /** + * 修改 + * @param openappId + * @param openappSecret + * @param logo + * @return + */ + public Boolean edit(String openappId, String openappSecret, String logo) { + AppOpen app = this.getOne(new LambdaQueryWrapper<>()); + AppOpen updateBean = new AppOpen(); + updateBean.setOpenappId(openappId); + updateBean.setOpenappSecret(openappSecret); + updateBean.setLogo(logo); + if (app == null) { + return this.save(updateBean); + } else { + return this.update(updateBean, new LambdaQueryWrapper<>()); + } + } + +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/app/impl/AppServiceImpl.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/app/impl/AppServiceImpl.java new file mode 100644 index 0000000..c4d17b3 --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/app/impl/AppServiceImpl.java @@ -0,0 +1,135 @@ +package net.jjjerp.admin.service.app.impl; + + +import com.alibaba.fastjson.JSON; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.github.binarywang.wxpay.service.WxPayService; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.common.entity.app.App; +import net.jjjerp.common.mapper.app.AppMapper; +import net.jjjerp.common.util.wx.WxPayUtils; +import net.jjjerp.framework.common.exception.BusinessException; +import net.jjjerp.framework.common.service.impl.BaseServiceImpl; +import net.jjjerp.framework.util.ShopLoginUtil; +import net.jjjerp.admin.param.app.PayParam; +import net.jjjerp.admin.service.app.AppService; +import net.jjjerp.admin.vo.app.AppVo; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.multipart.MultipartFile; + +import java.io.InputStream; + +/** + * 微信小程序记录表 服务实现类 + * @author jjjerp + * @since 2022-06-23 + */ +@Slf4j +@Service +public class AppServiceImpl extends BaseServiceImpl implements AppService { + @Autowired + private WxPayService wxPayService; + @Autowired + private WxPayUtils wxPayUtils; + /** + * 修改app + * @param passportType + * @return + */ + public Boolean edit(Integer passportType){ + // 先查询,admin端过期时间可以设置为null + App app = this.detail(); + App updateBean = new App(); + updateBean.setPassportType(passportType); + // 重新设置,防止更新成null + updateBean.setExpireTime(app.getExpireTime()); + updateBean.setAppId(app.getAppId()); + return this.updateById(updateBean); + } + + /** + * 详情 + * @param + * @return + */ + public AppVo detail(){ + App app = this.getOne(new LambdaQueryWrapper() + .eq(App::getAppId, ShopLoginUtil.getLoginShopUserRedisVo().getAppId())); + AppVo vo = new AppVo(); + BeanUtils.copyProperties(app, vo); + vo.setPayTypeJson(JSON.parseObject(app.getPayType())); + return vo; + } + + /** + * 修改支付设置 + * @param payParam + * @return + */ + @Transactional(rollbackFor = Exception.class) + public Boolean editPay(PayParam payParam){ + // 先查询,admin端过期时间可以设置为null + App app = this.detail(); + App updateBean = new App(); + BeanUtils.copyProperties(payParam, updateBean); + updateBean.setPayType(payParam.getPayType().toJSONString()); + updateBean.setExpireTime(app.getExpireTime()); + updateBean.setAppId(app.getAppId()); + this.updateById(updateBean); + // 删除缓存 + try{ + wxPayService.removeConfig(payParam.getMchid()+"_mp"); + wxPayService.removeConfig(payParam.getMchid()+"_wx"); + wxPayService.removeConfig(payParam.getMchid()+"_open"); + // 旧的也删除 + if(!payParam.getMchid().equals(app.getMchid())){ + wxPayService.removeConfig(app.getMchid()+"_mp"); + wxPayService.removeConfig(app.getMchid()+"_wx"); + wxPayService.removeConfig(app.getMchid()+"_open"); + } + // v3支付获取平台序列号 + if(payParam.getWxPayKind() == 3){ + wxPayUtils.getConfig(wxPayService, "wx", Long.valueOf(app.getAppId())); + } + }catch (BusinessException e){ + throw new BusinessException("证书错误,请检查或重试"); + } catch (Exception e){ + log.info("保存设置删除缓存错误"); + return false; + } + return true; + } + /** + * 保存p12证书 + * @param multipartFile + * @throws Exception + */ + public Boolean uploadP12(MultipartFile multipartFile){ + try{ + InputStream inputStream = multipartFile.getInputStream(); + byte[] p12 = null; + p12 = new byte[inputStream.available()]; + inputStream.read(p12); + inputStream.close(); + // 先查询,admin端过期时间可以设置为null + App app = this.detail(); + App updateBean = new App(); + updateBean.setP12(p12); + updateBean.setExpireTime(app.getExpireTime()); + updateBean.setAppId(app.getAppId()); + // 删除缓存 + try{ + wxPayService.removeConfig(app.getMchid()); + }catch (Exception e){ + log.info("保存设置删除缓存错误"); + } + return this.updateById(updateBean); + }catch (Exception e){ + log.info("p12证书上传失败{}",e.getMessage()); + return false; + } + } +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/app/impl/AppUpdateServiceImpl.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/app/impl/AppUpdateServiceImpl.java new file mode 100644 index 0000000..d7663d5 --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/app/impl/AppUpdateServiceImpl.java @@ -0,0 +1,64 @@ +package net.jjjerp.admin.service.app.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.common.entity.app.AppUpdate; +import net.jjjerp.common.mapper.app.AppUpdateMapper; +import net.jjjerp.framework.common.service.impl.BaseServiceImpl; +import net.jjjerp.framework.core.pagination.PageInfo; +import net.jjjerp.framework.core.pagination.Paging; +import net.jjjerp.common.param.CommonPageParam; +import net.jjjerp.admin.param.app.AppUpdateParam; +import net.jjjerp.admin.service.app.AppUpdateService; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Service; + +/** + * app升级记录表 服务实现类 + * @author jjjerp + * @since 2022-07-27 + */ +@Slf4j +@Service +public class AppUpdateServiceImpl extends BaseServiceImpl implements AppUpdateService { + + /** + * 分页查询 + * @param + * @return + */ + public Paging getList(CommonPageParam commonPageParam) { + return new Paging<>(this.page(new PageInfo<>(commonPageParam), new LambdaQueryWrapper().orderByDesc(AppUpdate::getCreateTime))); + } + + /** + * 添加 + * @param appUpdateParam + * @return + */ + public boolean add(AppUpdateParam appUpdateParam) { + AppUpdate bean = new AppUpdate(); + BeanUtils.copyProperties(appUpdateParam, bean); + return this.save(bean); + } + + /** + * 修改 + * @param appUpdateParam + * @return + */ + public boolean edit(AppUpdateParam appUpdateParam) { + AppUpdate bean = new AppUpdate(); + BeanUtils.copyProperties(appUpdateParam, bean); + return this.updateById(bean); + } + + /** + * 真删除 + * @param id + * @return + */ + public boolean delById(Integer id) { + return this.removeById(id); + } +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/app/impl/AppWxServiceImpl.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/app/impl/AppWxServiceImpl.java new file mode 100644 index 0000000..8ef62d9 --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/app/impl/AppWxServiceImpl.java @@ -0,0 +1,54 @@ +package net.jjjerp.admin.service.app.impl; + +import cn.binarywang.wx.miniapp.api.WxMaService; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.common.entity.app.AppWx; +import net.jjjerp.common.mapper.app.AppWxMapper; +import net.jjjerp.framework.common.service.impl.BaseServiceImpl; +import net.jjjerp.framework.core.bean.RequestDetail; +import net.jjjerp.framework.core.util.RequestDetailThreadLocal; +import net.jjjerp.admin.service.app.AppWxService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Lazy; +import org.springframework.stereotype.Service; + +/** + * 微信小程序记录表 服务实现类 + * @author jjjerp + * @since 2022-07-03 + */ +@Slf4j +@Service +public class AppWxServiceImpl extends BaseServiceImpl implements AppWxService { + @Lazy + @Autowired + private WxMaService wxMaService; + /** + * 修改 + * @param wxappId + * @param wxappSecret + * @return + */ + public Boolean edit(String wxappId, String wxappSecret){ + AppWx app = this.getOne(new LambdaQueryWrapper<>()); + AppWx updateBean = new AppWx(); + updateBean.setWxappId(wxappId); + updateBean.setWxappSecret(wxappSecret); + // 删除缓存 + try{ + wxMaService.removeConfig(wxappId); + // 旧的也删除 + if(!wxappId.equals(app.getWxappId())){ + wxMaService.removeConfig(app.getWxappId()); + } + }catch (Exception e){ + log.info("保存设置删除缓存错误"); + } + if(app == null){ + return this.save(updateBean); + }else{ + return this.update(updateBean, new LambdaQueryWrapper<>()); + } + } +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/bill/BillAddressService.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/bill/BillAddressService.java new file mode 100644 index 0000000..c1fd391 --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/bill/BillAddressService.java @@ -0,0 +1,14 @@ +package net.jjjerp.admin.service.bill; + +import net.jjjerp.common.entity.bill.BillAddress; +import net.jjjerp.framework.common.service.BaseService; + +/** + * 用户收货地址表 服务类 + * + * @author jjjerp + * @since 2024-06-06 + */ +public interface BillAddressService extends BaseService { + +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/bill/BillDeliveryService.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/bill/BillDeliveryService.java new file mode 100644 index 0000000..b25aff6 --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/bill/BillDeliveryService.java @@ -0,0 +1,14 @@ +package net.jjjerp.admin.service.bill; + +import net.jjjerp.common.entity.bill.BillDelivery; +import net.jjjerp.framework.common.service.BaseService; + +/** + * 单据物流表 服务类 + * + * @author jjjerp + * @since 2024-05-07 + */ +public interface BillDeliveryService extends BaseService { + +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/bill/BillHeadService.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/bill/BillHeadService.java new file mode 100644 index 0000000..52a21e2 --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/bill/BillHeadService.java @@ -0,0 +1,94 @@ +package net.jjjerp.admin.service.bill; + +import net.jjjerp.common.entity.bill.BillAddress; +import net.jjjerp.common.entity.bill.BillDelivery; +import net.jjjerp.common.entity.bill.BillHead; +import net.jjjerp.common.entity.bill.BillItem; +import net.jjjerp.common.entity.finance.capital.Account; +import net.jjjerp.common.param.CommonPageParam; +import net.jjjerp.common.vo.product.ProductStockVo; +import net.jjjerp.framework.common.service.BaseService; +import net.jjjerp.framework.core.pagination.Paging; + +import java.util.List; +import java.util.Map; + +/** + * 单据主表 服务类 + * + * @author jjjerp + * @since 2024-05-07 + */ +public interface BillHeadService extends BaseService { + + Map indexOrder(CommonPageParam param); + + boolean addOrder(BillHead head); + + boolean editOrder(BillHead head); + + boolean closeOrder(Long billId, String closeReason); + + boolean auditOrder(BillHead head); + + boolean addOrderDelivery(BillHead head); + + Map bill(CommonPageParam param); + + //审核销售订单 + boolean auditMarketOrder(BillHead head); + + boolean repulseAudit(Long billId); + + boolean abnormal(BillHead head); + + boolean closeMarketOrder(Long billId, String closeReason); + + boolean picking(Long billId); + + boolean editDeliver(BillDelivery delivery); + + boolean deliver(Long billId); + + boolean recoverMarketOrder(Long billId); + + Map stockIndex(CommonPageParam param); + + List depotIndex(CommonPageParam param); + + List getStockitemList(CommonPageParam param); + + List getFreezeitemList(CommonPageParam param); + + List getOpenningList(CommonPageParam param); + + boolean auditRefundOrder(BillHead head); + + Map scanIndex(CommonPageParam param); + + boolean refundManage(BillHead head); + + Paging customerIndex(CommonPageParam param); + + Map collectIndex(CommonPageParam param); + + BillHead transVo(BillHead head); + + BillHead billDetail(Long billId); + + Map jobBoard(CommonPageParam param); + + Map dealBoard(CommonPageParam param); + + Map stockBoard(CommonPageParam param); + + Map productBoard(CommonPageParam param); + + Map getHomeData(CommonPageParam param); + + Map getHomeDeal(CommonPageParam param); + + boolean editAddress(BillAddress address); + + boolean editRemark(BillHead head); +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/bill/BillItemService.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/bill/BillItemService.java new file mode 100644 index 0000000..33cf27f --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/bill/BillItemService.java @@ -0,0 +1,14 @@ +package net.jjjerp.admin.service.bill; + +import net.jjjerp.common.entity.bill.BillItem; +import net.jjjerp.framework.common.service.BaseService; + +/** + * 单据子表 服务类 + * + * @author jjjerp + * @since 2024-05-07 + */ +public interface BillItemService extends BaseService { + +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/bill/impl/BillAddressServiceImpl.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/bill/impl/BillAddressServiceImpl.java new file mode 100644 index 0000000..2714b92 --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/bill/impl/BillAddressServiceImpl.java @@ -0,0 +1,24 @@ +package net.jjjerp.admin.service.bill.impl; + +import net.jjjerp.common.entity.bill.BillAddress; +import net.jjjerp.common.mapper.bill.BillAddressMapper; +import net.jjjerp.admin.service.bill.BillAddressService; +import net.jjjerp.framework.common.service.impl.BaseServiceImpl; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.beans.factory.annotation.Autowired; + +/** + * 用户收货地址表 服务实现类 + * + * @author jjjerp + * @since 2024-06-06 + */ +@Slf4j +@Service +public class BillAddressServiceImpl extends BaseServiceImpl implements BillAddressService { + + @Autowired + private BillAddressMapper billAddressMapper; + +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/bill/impl/BillDeliveryServiceImpl.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/bill/impl/BillDeliveryServiceImpl.java new file mode 100644 index 0000000..aef4a21 --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/bill/impl/BillDeliveryServiceImpl.java @@ -0,0 +1,24 @@ +package net.jjjerp.admin.service.bill.impl; + +import net.jjjerp.common.entity.bill.BillDelivery; +import net.jjjerp.common.mapper.bill.BillDeliveryMapper; +import net.jjjerp.admin.service.bill.BillDeliveryService; +import net.jjjerp.framework.common.service.impl.BaseServiceImpl; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.beans.factory.annotation.Autowired; + +/** + * 单据物流表 服务实现类 + * + * @author jjjerp + * @since 2024-05-07 + */ +@Slf4j +@Service +public class BillDeliveryServiceImpl extends BaseServiceImpl implements BillDeliveryService { + + @Autowired + private BillDeliveryMapper billDeliveryMapper; + +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/bill/impl/BillHeadServiceImpl.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/bill/impl/BillHeadServiceImpl.java new file mode 100644 index 0000000..5b9ca8c --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/bill/impl/BillHeadServiceImpl.java @@ -0,0 +1,2281 @@ +package net.jjjerp.admin.service.bill.impl; + +import cn.hutool.core.date.DateTime; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import net.jjjerp.common.entity.bill.BillAddress; +import net.jjjerp.common.entity.bill.BillDelivery; +import net.jjjerp.common.entity.bill.BillHead; +import net.jjjerp.common.entity.bill.BillItem; +import net.jjjerp.common.entity.customer.Customer; +import net.jjjerp.common.entity.customer.CustomerAddress; +import net.jjjerp.common.entity.depot.Depot; +import net.jjjerp.common.entity.depot.DepotStorage; +import net.jjjerp.common.entity.finance.capital.Account; +import net.jjjerp.common.entity.finance.capital.AccountMoneyLog; +import net.jjjerp.common.entity.product.ProductExtend; +import net.jjjerp.common.entity.settings.Express; +import net.jjjerp.common.entity.shop.AdminUser; +import net.jjjerp.common.entity.store.Store; +import net.jjjerp.common.entity.supplier.Supplier; +import net.jjjerp.common.enums.BillTypeEnum; +import net.jjjerp.common.enums.BusinessTypeEnum; +import net.jjjerp.admin.mapper.bill.BillHeadMapper; +import net.jjjerp.common.param.CommonPageParam; +import net.jjjerp.admin.service.bill.BillAddressService; +import net.jjjerp.admin.service.bill.BillDeliveryService; +import net.jjjerp.admin.service.bill.BillHeadService; +import net.jjjerp.admin.service.bill.BillItemService; +import net.jjjerp.admin.service.customer.CustomerAddressService; +import net.jjjerp.admin.service.customer.CustomerService; +import net.jjjerp.admin.service.depot.DepotService; +import net.jjjerp.admin.service.depot.DepotStorageStockService; +import net.jjjerp.admin.service.finance.capital.AccountMoneyLogService; +import net.jjjerp.admin.service.finance.capital.AccountService; +import net.jjjerp.admin.service.product.ProductExtendService; +import net.jjjerp.admin.service.settings.ExpressService; +import net.jjjerp.admin.service.shop.ShopUserService; +import net.jjjerp.admin.service.store.StoreService; +import net.jjjerp.admin.service.supplier.SupplierService; +import net.jjjerp.common.util.CodeUtils; +import net.jjjerp.common.util.ProductUtils; +import net.jjjerp.common.vo.product.ProductStockVo; +import net.jjjerp.common.vo.statement.BacklogVo; +import net.jjjerp.common.vo.statement.DealVo; +import net.jjjerp.common.vo.statement.HomeDealVo; +import net.jjjerp.common.vo.statement.ProductBoardVo; +import net.jjjerp.config.constant.DatePattern; +import net.jjjerp.framework.common.exception.BusinessException; +import net.jjjerp.framework.common.service.impl.BaseServiceImpl; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.framework.core.pagination.PageInfo; +import net.jjjerp.framework.core.pagination.Paging; +import net.jjjerp.framework.util.DateUtil; +import net.jjjerp.framework.util.ShopLoginUtil; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.BeanFactoryUtils; +import org.springframework.stereotype.Service; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.transaction.annotation.Transactional; + +import java.math.BigDecimal; +import java.math.RoundingMode; +import java.util.*; +import java.util.stream.Collectors; + +/** + * 单据主表 服务实现类 + * + * @author jjjerp + * @since 2024-05-07 + */ +@Slf4j +@Service +public class BillHeadServiceImpl extends BaseServiceImpl implements BillHeadService { + + @Autowired + private BillHeadMapper billHeadMapper; + @Autowired + private SupplierService supplierService; + @Autowired + private DepotService depotService; + @Autowired + private BillItemService billItemService; + @Autowired + private ShopUserService shopUserService; + @Autowired + private BillDeliveryService billDeliveryService; + @Autowired + private ProductExtendService productExtendService; + @Autowired + private AccountService accountService; + @Autowired + private AccountMoneyLogService accountMoneyLogService; + @Autowired + private ProductUtils productUtils; + @Autowired + private StoreService storeService; + @Autowired + private ExpressService expressService; + @Autowired + private CustomerService customerService; + @Autowired + private DepotStorageStockService storageStockService; + @Autowired + private CustomerAddressService customerAddressService; + @Autowired + private BillAddressService billAddressService; + + @Override + public Map indexOrder(CommonPageParam param) { + Map map = new HashMap<>(); + Page page = new PageInfo(param); + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.orderByDesc(BillHead::getBillId); + if(param.getBillType() == null){ + throw new BusinessException("单据类型不能为空"); + } + wrapper.eq(BillHead::getBillType, param.getBillType()); + if(param.getAuditStatus() != null && param.getAuditStatus() > 0){ + //审核状态,10待审核20通过30拒绝 + wrapper.eq(BillHead::getAuditStatus, param.getAuditStatus()); + if(param.getAuditStatus() == 20 && BillTypeEnum.SHSQD.getValue().equals(param.getBillType())){ + //已审核待处理售后单过滤已完成和已关闭状态 + wrapper.ne(BillHead::getPurchaseStatus, 1); + wrapper.ne(BillHead::getPurchaseStatus, 3); + } + } + if(param.getPurchaseStatus() != null && param.getPurchaseStatus() >= 0){ + //单据状态,0未采购、1完成采购|销售、2部分采购|销售单待发货,3已关闭,4异常,5待配货,6已发货 + wrapper.eq(BillHead::getPurchaseStatus, param.getPurchaseStatus()); + }else { + wrapper.ne(BillHead::getPurchaseStatus, 4); + } + if(param.getDepotId() != null && param.getDepotId() > 0){ + //仓库id + wrapper.eq(BillHead::getDepotId, param.getDepotId()); + } + if(param.getSupplierId() != null && param.getSupplierId() > 0){ + //供应商id + wrapper.eq(BillHead::getSupplierId, param.getSupplierId()); + } + IPage iPage = this.page(page, wrapper); + // 最终返回分页对象 + IPage resultPage = iPage.convert(this::transVo); + map.put("bill", new Paging<>(resultPage)); + //供应商列表 + map.put("supplier", supplierService.getAll()); + //仓库列表 + map.put("depot", depotService.getAll()); + //业务员列表 + map.put("sales", shopUserService.getSales()); + //店铺列表 + map.put("store", storeService.getAll()); + //物流公司列表 + map.put("express", expressService.getAll()); + //系统用户列表 + map.put("shopUser", shopUserService.getAll()); + return map; + } + + @Override + public Map scanIndex(CommonPageParam param) { + if(StringUtils.isBlank(param.getSearch())){ + throw new BusinessException("请输入搜索条件"); + } + Map map = new HashMap<>(); + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.orderByDesc(BillHead::getCreateTime); + //审核状态,10待审核20通过30拒绝 + wrapper.eq(BillHead::getAuditStatus, 20); + if(param.getPurchaseStatus() != null && param.getPurchaseStatus() > 0){ + //单据状态,0未采购、1完成采购|销售、2部分采购|销售单待发货,3已关闭,4异常,5待配货,6已发货 + wrapper.eq(BillHead::getPurchaseStatus, param.getPurchaseStatus()); + } + if(BillTypeEnum.XSDD.getValue().equals(param.getBillType())){ + //售后类型(0无售后 10退货退款 20换货 30退款 40补发 50 维修 60 其他) + wrapper.eq(BillHead::getRefundType, 0); + } + LambdaQueryWrapper wrapperDelivery = new LambdaQueryWrapper<>(); + wrapperDelivery.eq(BillDelivery::getExpressNo, param.getSearch()); + wrapperDelivery.eq(BillDelivery::getIsDelete, 0); + List billIds = billDeliveryService.list(wrapperDelivery).stream() + .map(BillDelivery::getBillId).collect(Collectors.toList()); + if(CollectionUtils.isEmpty(billIds)){ + billIds.add(0L); + } + wrapper.in(BillHead::getBillId, billIds); + List list = this.list(wrapper); + if(CollectionUtils.isNotEmpty(list)){ + list = list.stream().map(this::transVo).collect(Collectors.toList()); + } + map.put("bill", list); + map.put("supplier", supplierService.getAll()); + map.put("depot", depotService.getAll()); + map.put("sales", shopUserService.getSales()); + map.put("store", storeService.getAll()); + map.put("express", expressService.getAll()); + map.put("shopUser", shopUserService.getAll()); + return map; + } + + //售后处理 + @Override + public boolean refundManage(BillHead head) { + BillHead oldHead = this.getById(head.getBillId()); + //单据状态,0未开始、1完成、2进行中,3已关闭,4异常,5待配货,6已发货 + if(head.getPurchaseStatus() == null){ + throw new BusinessException("操作状态不能为空"); + } + if(head.getPurchaseStatus() != 1 && head.getPurchaseStatus() != 2){ + throw new BusinessException("操作状态只能是处理中或已完成"); + } + if(StringUtils.isBlank(head.getManageDetails())){ + throw new BusinessException("处理详情不能为空"); + } + oldHead.setPurchaseStatus(head.getPurchaseStatus()); + oldHead.setManageDetails(head.getManageDetails()); + return this.updateById(oldHead); + } + + //客户对账单列表 + @Override + public Paging customerIndex(CommonPageParam param) { + if(CollectionUtils.isEmpty(param.getTime()) || param.getTime().size() != 2){ + throw new BusinessException("查询日期不能为空"); + } + Page page = new PageInfo(param); + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + //查询时间 + wrapper.between(BillHead::getBusinessTime, param.getTime().get(0) + " 00:00:00", param.getTime().get(1) + " 23:59:59"); + if(param.getCustomerId() == null || param.getCustomerId() <= 0){ + throw new BusinessException("客户不能为空"); + } + wrapper.eq(BillHead::getCustomerId, param.getCustomerId()); + //单据类型,8销售出库单,18销售退货单 + wrapper.in(BillHead::getBillType, Arrays.asList(8, 18)); + if(StringUtils.isNotBlank(param.getBillTypeStr())){ + //单据类型名称 + wrapper.like(BillHead::getTypeName, param.getBillTypeStr()); + } + wrapper.orderByDesc(BillHead::getBusinessTime); + IPage iPage = this.page(page, wrapper); + // 最终返回分页对象 + IPage resultPage = iPage.convert(this::transCustomer); + return new Paging<>(resultPage); + } + + //账户汇总表列表 + @Override + public Map collectIndex(CommonPageParam param) { + Map map = new HashMap<>(); + + if(CollectionUtils.isEmpty(param.getTime()) || param.getTime().size() != 2){ + throw new BusinessException("查询日期不能为空"); + } + Page page = new PageInfo(param); + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + + LambdaQueryWrapper wrapperLog = new LambdaQueryWrapper<>(); + //查询时间 + wrapperLog.between(AccountMoneyLog::getBillTime, param.getTime().get(0) + " 00:00:00", param.getTime().get(1) + " 23:59:59"); + wrapperLog.orderByDesc(AccountMoneyLog::getBillTime); + if(param.getAccountId() != null && param.getAccountId() > 0){ + wrapperLog.eq(AccountMoneyLog::getAccountId,param.getAccountId()); + } + //账户IDList + List accountIdList = accountMoneyLogService.list(wrapperLog).stream().map(AccountMoneyLog::getAccountId).collect(Collectors.toList()); + if(CollectionUtils.isEmpty(accountIdList)){ + accountIdList.add(0L); + } + wrapper.in(Account::getAccountId,accountIdList); + wrapper.orderByDesc(Account::getCreateTime); + IPage iPage = accountService.page(page, wrapper); + // 最终返回分页对象 + IPage resultPage = iPage.convert(this::transCollect); + map.put("collect", new Paging<>(resultPage)); + map.put("account", accountService.getAll()); + return map; + } + + //账户汇总转换 + private Account transCollect(Account account) { + List logList = accountMoneyLogService.list(new LambdaQueryWrapper() + .eq(AccountMoneyLog::getAccountId, account.getAccountId()) + ); + //累积本期付款 type收支方向,1支出,2收入 + BigDecimal payment = logList.stream().filter( i -> i.getDirectionType() == 1).map(AccountMoneyLog::getMoney).reduce(BigDecimal.ZERO, BigDecimal::add); + //累积本期收款 + BigDecimal receipt = logList.stream().filter( i -> i.getDirectionType() == 2).map(AccountMoneyLog::getMoney).reduce(BigDecimal.ZERO, BigDecimal::add); + //本期变化金额 + BigDecimal change = payment.add(receipt); + //期末余额 + BigDecimal balance = account.getOpeningMoney().add(change); + account.setPayment(payment); + account.setReceipt(receipt); + account.setBalance(balance); + account.setChange(change); + return account; + } + + //客户对账转换 + private BillHead transCustomer(BillHead head) { + List billItemList = billItemService.list(new LambdaQueryWrapper() + .eq(BillItem::getBillId, head.getBillId()) + //删除标记,0未删除,1删除 + .eq(BillItem::getIsDelete, 0) + ); + head.setBillItemList(billItemList); + if(BillTypeEnum.XSTHD.getValue().equals(head.getBillType())){ + head.setTotalPrice(head.getTotalPrice().negate()); + head.setTotalNum(-head.getTotalNum()); + } + List logList = accountMoneyLogService.list(new LambdaQueryWrapper() + .eq(AccountMoneyLog::getBillId, head.getBillId()) + ); + //累积变动金额 + BigDecimal money = logList.stream().map(AccountMoneyLog::getMoney).reduce(BigDecimal.ZERO, BigDecimal::add); + //已收金额 + head.setReceivedMoney(money); + //单据应收款余额 + head.setBalanceMoney(head.getTotalPrice().subtract(head.getReceivedMoney())); + return head; + } + + + //商品规格库存变化详情 + @Override + public Map stockIndex(CommonPageParam param) { + //子单据 + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + if(param.getProductExtendId() != null && param.getProductExtendId() > 0){ + wrapper.eq(BillItem::getProductExtendId, param.getProductExtendId()); + } + Map map = new HashMap<>(); + Page page = new PageInfo(param); + + if(CollectionUtils.isNotEmpty(param.getDepotIdList())){ + wrapper.in(BillItem::getDepotId, param.getDepotIdList()); + } + wrapper.orderByDesc(BillItem::getCreateTime); + wrapper.eq(BillItem::getIsDelete, 0); + //查询时间 + if(CollectionUtils.isNotEmpty(param.getTime()) && param.getTime().size() == 2) { + wrapper.between(BillItem::getCreateTime, param.getTime().get(0), param.getTime().get(1)); + } + //库存变化数量 + wrapper.ne(BillItem::getDifferenceNum, 0); + IPage iPage = billItemService.page(page, wrapper); + // 最终返回分页对象 + IPage resultPage = iPage.convert(this::transItemStock); + map.put("stock", new Paging<>(resultPage)); + map.put("depot", depotService.getAll()); + map.put("store", storeService.getAll()); + return map; + } + + + //转换库存变化子单 + public BillItem transItemStock(BillItem item){ + item.setHead(transVo(this.getById(item.getBillId()))); + item.setProductExtend(productExtendService.transVo(productExtendService.getById(item.getProductExtendId()))); + return item; + } + + + //商品规格库存变化详情 + @Override + public List depotIndex(CommonPageParam param) { + if(param.getProductExtendId() == null){ + throw new BusinessException("商品规格id不能为空"); + } + List list = new ArrayList<>(); + LambdaQueryWrapper depotWrapper = new LambdaQueryWrapper<>(); + if(CollectionUtils.isNotEmpty(param.getDepotIdList())){ + depotWrapper.in(Depot::getDepotId, param.getDepotIdList()); + } + //删除标记,0未删除,1删除 + depotWrapper.eq(Depot::getDeleteFlag,0); + //查询的仓库 + List depositList = depotService.list(depotWrapper); + for(Depot depot : depositList){ + ProductStockVo productStockVo = new ProductStockVo(); + param.setDepotIdList(Collections.singletonList(depot.getDepotId())); + //获取出库入库类型子单据 + List itemStockList = this.getStockitemList(param); + //获取锁定类型子单据 + List itemFreezeList = this.getFreezeitemList(param); + //实际总库存 + Long totalStock = 0l; + //锁定库存,实物数量中已经被销售订单、库存调拨单锁定的数量 + Long freezeStock = 0l; + totalStock = totalStock + itemStockList.stream().mapToLong(BillItem::getDifferenceNum).sum(); + freezeStock = freezeStock + itemFreezeList.stream().mapToLong(BillItem::getFreezeStock).sum(); + //当前可用库存(实际库存-锁定库存) + Long stockNum = totalStock - freezeStock; + productStockVo.setDepotId(depot.getDepotId()); + productStockVo.setDepotName(depot.getName()); + productStockVo.setStockNum(stockNum); + productStockVo.setTotalStock(totalStock); + productStockVo.setFreezeStock(freezeStock); + list.add(productStockVo); + } + return list; + } + + //获取锁定类型子单据 + public List getFreezeitemList(CommonPageParam param) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + if(CollectionUtils.isNotEmpty(param.getDepotIdList())){ + //仓库id + wrapper.in(BillItem::getDepotId, param.getDepotIdList()); + } + if(param.getSupplierId() != null && param.getSupplierId() > 0){ + //供应商id + wrapper.eq(BillItem::getSupplierId, param.getSupplierId()); + } + wrapper.orderByDesc(BillItem::getCreateTime); + wrapper.eq(BillItem::getIsDelete, 0); + if(param.getProductExtendId() != null){ + wrapper.eq(BillItem::getProductExtendId, param.getProductExtendId()); + } + if(param.getProductId() != null){ + wrapper.eq(BillItem::getProductId, param.getProductId()); + } + //锁定库存,实物数量中已经被销售订单、库存调拨单锁定的数量 + wrapper.ge(BillItem::getFreezeStock, 1); + return billItemService.list(wrapper); + } + + //获取期初库存子单据 + public List getOpenningList(CommonPageParam param) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + if(CollectionUtils.isNotEmpty(param.getDepotIdList())){ + //仓库id + wrapper.in(BillItem::getDepotId, param.getDepotIdList()); + } + if(param.getSupplierId() != null && param.getSupplierId() > 0){ + //供应商id + wrapper.eq(BillItem::getSupplierId, param.getSupplierId()); + } + wrapper.orderByDesc(BillItem::getCreateTime); + wrapper.eq(BillItem::getIsDelete, 0); + if(param.getProductExtendId() != null){ + wrapper.eq(BillItem::getProductExtendId, param.getProductExtendId()); + } + if(param.getProductId() != null){ + wrapper.eq(BillItem::getProductId, param.getProductId()); + } + //期初库存单 + wrapper.eq(BillItem::getBillType, BillTypeEnum.QCKCD.getValue()); + return billItemService.list(wrapper); + } + + //获取出库入库类型子单据 + public List getStockitemList(CommonPageParam param) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + if(CollectionUtils.isNotEmpty(param.getDepotIdList())){ + //仓库id + wrapper.in(BillItem::getDepotId, param.getDepotIdList()); + } + if(param.getSupplierId() != null && param.getSupplierId() > 0){ + //供应商id + wrapper.eq(BillItem::getSupplierId, param.getSupplierId()); + } + wrapper.orderByDesc(BillItem::getCreateTime); + wrapper.eq(BillItem::getIsDelete, 0); + if(param.getProductExtendId() != null){ + wrapper.eq(BillItem::getProductExtendId, param.getProductExtendId()); + } + if(param.getProductId() != null){ + wrapper.eq(BillItem::getProductId, param.getProductId()); + } + //库存变化数量 + wrapper.ne(BillItem::getDifferenceNum, 0); + return billItemService.list(wrapper); + } + + //查询单据列表 + @Override + public Map bill(CommonPageParam param) { + Map map = new HashMap<>(); + Page page = new PageInfo(param); + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.orderByDesc(BillHead::getCreateTime); + if(param.getBillType() == null){ + throw new BusinessException("单据类型不能为空"); + } + //单据类型 + wrapper.eq(BillHead::getBillType, param.getBillType()); + if(CollectionUtils.isNotEmpty(param.getDepotIdList())){ + //仓库id + wrapper.in(BillHead::getDepotId, param.getDepotIdList()); + } + if(param.getSupplierId() != null && param.getSupplierId() > 0){ + //仓库id + wrapper.eq(BillHead::getSupplierId, param.getSupplierId()); + } + //单据状态,0未采购、1完成采购|销售、2部分采购|销售单待发货,3已关闭,4异常,5待配货,6已发货 + if(param.getPurchaseStatus() != null && param.getPurchaseStatus() > 0){ + wrapper.eq(BillHead::getPurchaseStatus, param.getPurchaseStatus()); + } + if(BillTypeEnum.CGDD.getValue().equals(param.getBillType())){ + //审核状态,10待审核20通过30拒绝 + wrapper.eq(BillHead::getAuditStatus, 20); + //单据状态,0未采购、1完成采购|销售、2部分采购|销售单待发货,3已关闭,4异常,5待配货,6已发货 + wrapper.ne(BillHead::getPurchaseStatus, 3); + List headIdList = billItemService.list(new LambdaQueryWrapper() + //删除标记,0未删除,1删除 + .eq(BillItem::getIsDelete, 0) + //可入库总数量 > 0 + .ge(BillItem::getAvailableAllNumber, 1)) + .stream().map(BillItem::getBillId).collect(Collectors.toList()); + if(CollectionUtils.isEmpty(headIdList)){ + headIdList.add(0L); + } + //待入库数量>0的采购订单 + wrapper.in(BillHead::getBillId, headIdList); + } + if(BillTypeEnum.KCDBD.getValue().equals(param.getBillType())){ + //调拨类型,0待出库,1待入库 + if(param.getAllot() != null && param.getAllot() == 0){ + List itemList = billItemService.list(new LambdaQueryWrapper() + //可出库总数 + .ge(BillItem::getAvailableAllNumber, 1) + //删除标记,0未删除,1删除 + .eq(BillItem::getIsDelete, 0)); + List headIdList = itemList.stream().map(BillItem::getBillId).collect(Collectors.toList()); + if(CollectionUtils.isEmpty(headIdList)){ + headIdList.add(0L); + } + //待出库数量>0的库存调拨单 + wrapper.in(BillHead::getBillId, headIdList); + } + //调拨类型,0待出库,1待入库 + if(param.getAllot() != null && param.getAllot() == 1){ + List itemList = billItemService.list(new LambdaQueryWrapper() + //待入库总数量 + .ge(BillItem::getNoArrivalAllNumber, 1) + //删除标记,0未删除,1删除 + .eq(BillItem::getIsDelete, 0)); + List headIdList = itemList.stream().map(BillItem::getBillId).collect(Collectors.toList()); + if(CollectionUtils.isEmpty(headIdList)){ + headIdList.add(0L); + } + //待入库数量>0的库存调拨单 + wrapper.in(BillHead::getBillId, headIdList); + } + } + if(BillTypeEnum.XSDD.getValue().equals(param.getBillType()) || BillTypeEnum.CGRKD.getValue().equals(param.getBillType())){ + List itemList = billItemService.list(new LambdaQueryWrapper() + //可操作数量大于0的子单 + .ge(BillItem::getAvailableAllNumber, 1) + //删除标记,0未删除,1删除 + .eq(BillItem::getIsDelete, 0)); + //取到货数量大于退货数量的BillItem + itemList = itemList.stream().filter(item -> item.getOperNumber() > item.getReturnNumber()) + .collect(Collectors.toList()); + List headIdList = itemList.stream().map(BillItem::getBillId).collect(Collectors.toList()); + if(CollectionUtils.isEmpty(headIdList)){ + headIdList.add(0L); + } + //可退货数量>0的采购入库订单 + wrapper.in(BillHead::getBillId, headIdList); + } + + IPage iPage = this.page(page, wrapper); + // 最终返回分页对象 + IPage resultPage = iPage.convert(this::transVo); + if(BillTypeEnum.XSDD.getValue().equals(param.getBillType()) || BillTypeEnum.CGRKD.getValue().equals(param.getBillType())){ + //过滤可操作数量大于0的子单 + resultPage = this.filterAvailable(resultPage); + } + if(BillTypeEnum.CGDD.getValue().equals(param.getBillType())){ + //过滤可入库总数量大于0的子单 + resultPage = this.filterAvailable(resultPage); + } + if(BillTypeEnum.KCDBD.getValue().equals(param.getBillType())){ + //调拨类型,0待出库,1待入库 + if(param.getAllot() != null && param.getAllot() == 0){ + //过滤可操作数量大于0的子单 + resultPage = this.filterAvailable(resultPage); + } + //调拨类型,0待出库,1待入库 + if(param.getAllot() != null && param.getAllot() == 1){ + //过滤待入库总数量大于0的子单 + resultPage = this.filterNoAvailable(resultPage); + } + } + map.put("bill", new Paging<>(resultPage)); + //仓库列表 + map.put("depot", depotService.getAll()); + //物流公司列表 + map.put("express", expressService.getAll()); + //店铺列表 + map.put("store", storeService.getAll()); + return map; + } + + //待入库总数量大于0的子单 + private IPage filterNoAvailable(IPage resultPage) { + List headList = resultPage.getRecords(); + for(BillHead head : headList){ + //待入库总数量大于0的子单 + head.setBillItemList(head.getBillItemList().stream().filter(item -> item.getNoArrivalAllNumber() > 0) + .collect(Collectors.toList())); + } + resultPage.setRecords(headList); + return resultPage; + } + + //过滤可操作数量大于0的子单 + private IPage filterAvailable(IPage resultPage) { + List headList = resultPage.getRecords(); + for(BillHead head : headList){ + //可退货总数量大于0的子单 + head.setBillItemList(head.getBillItemList().stream().filter(item -> item.getAvailableAllNumber() > 0) + .collect(Collectors.toList())); + } + resultPage.setRecords(headList); + return resultPage; + } + + public BillHead transVo(BillHead head){ + if(head == null){ + return null; + } + if(StringUtils.isNotEmpty(head.getFileUrls())){ + head.setFileList(Arrays.asList(head.getFileUrls().split(","))); + } + List billItemList = billItemService.list(new LambdaQueryWrapper() + .eq(BillItem::getBillId, head.getBillId()) + //删除标记,0未删除,1删除 + .eq(BillItem::getIsDelete, 0) + ); + for(BillItem item : billItemList){ + ProductExtend extend = productExtendService.getById(item.getProductExtendId()); + if(extend != null){ + extend = productExtendService.transVo(extend); + //获取商品绑定货位 + DepotStorage storage = storageStockService.getStorage(extend.getId()); + item.setStorage(storage); + } + item.setProductExtend(extend); + item.setCodeNum(head.getCodeNum()); + if(BillTypeEnum.CGDD.getValue().equals(head.getBillType())){ + //可入库总数 + if(item.getAvailableAllNumber() > 0){ + item.setHint("部分到货"); + } + if(item.getAvailableAllNumber() >= item.getBasicNumber()){ + item.setHint("未到货"); + } + if(item.getAvailableAllNumber() <= 0){ + item.setHint("完成"); + } + } + } + Integer purchaseStatus = 0; + //单据状态,0未采购、1完成采购|销售、2部分采购|销售单待发货,3已关闭,4异常,5待配货,6已发货 + if(BillTypeEnum.CGDD.getValue().equals(head.getBillType()) && head.getPurchaseStatus() != 3){ + //可入库总数量大于等于实际操作总数量的采购子单 + List NoArrivalList = billItemList.stream().filter(item -> item.getAvailableAllNumber() >= item.getBasicNumber()).collect(Collectors.toList()); + //可入库总数大于0的采购子单 + List AvailableList = billItemList.stream().filter(item -> item.getAvailableAllNumber() > 0).collect(Collectors.toList()); + if(CollectionUtils.isEmpty(AvailableList)){ + //全部入库了 + purchaseStatus = 1; + head.setHint("已完成"); + }else if (NoArrivalList.size() == billItemList.size()){ + //全部没有入库 + purchaseStatus = 0; + head.setHint("未到货"); + }else { + purchaseStatus = 2; + head.setHint("部分到货"); + } + if(!purchaseStatus.equals(head.getPurchaseStatus())){ + //单据状态,0未开始、1完成、2进行中,3已关闭,4异常,5待配货,6已发货 + head.setPurchaseStatus(purchaseStatus); + this.updateById(head); + } + } + head.setBillItemList(billItemList); + Customer customer = customerService.getById(head.getCustomerId()); + if(customer != null){ + head.setCustomerName(customer.getNickName()); + } + Account account = accountService.getById(head.getAccountId()); + if(account != null){ + head.setAccountName(account.getAccountName()); + } + List deliveryList = billDeliveryService.list(new LambdaQueryWrapper() + .eq(BillDelivery::getBillId, head.getBillId()) + //删除标记,0未删除,1删除 + .eq(BillDelivery::getIsDelete, 0) + .orderByDesc(BillDelivery::getCreateTime) + ); + String expressNo = deliveryList.stream().map(BillDelivery::getExpressNo).collect(Collectors.joining(",")); + head.setExpressNo(expressNo); + head.setDeliveryList(deliveryList); + //设置订单状态文本 + head.setStateText(this.getStateTextAttr(head)); + Depot depot = depotService.getById(head.getDepotId()); + if(depot != null){ + //仓库名称 + head.setDepotName(depot.getName()); + } + Supplier supplier = supplierService.getById(head.getSupplierId()); + if(supplier != null){ + //供应商名称 + head.setSupplierName(supplier.getSupplierName()); + } + AdminUser sales = shopUserService.getById(head.getSalesId()); + if(sales != null){ + //业务员名称 + head.setSalesName(sales.getRealName()); + } + AdminUser audit = shopUserService.getById(head.getAuditId()); + if(audit != null){ + //审核员名称 + head.setAuditName(audit.getRealName()); + } + AdminUser creator = shopUserService.getById(head.getCreatorId()); + if(creator != null){ + //创建人名称 + head.setCreatorName(creator.getRealName()); + } + if(BillTypeEnum.CGRKD.getValue().equals(head.getBillType())){ + //业务类型,1直接采购入库,2订单采购入库 + if(BusinessTypeEnum.DDCGRK.getValue().equals(head.getBusinessType())){ + head.setBusinessTypeString("订单采购入库"); + }else { + head.setBusinessTypeString("直接采购入库"); + } + //结算状态,0待结算、1已结算、2已结清 + head.setSettlementText(head.getSettlementStatus() == 0 ? "待结算" : head.getSettlementStatus() == 1 ? "已结算" : "已结清"); + } + if(BillTypeEnum.SHSQD.getValue().equals(head.getBillType())){ + LambdaQueryWrapper wrapperRk = new LambdaQueryWrapper<>(); + wrapperRk.orderByDesc(BillHead::getCreateTime); + wrapperRk.eq(BillHead::getBillType, BillTypeEnum.XSTHD.getValue()); + wrapperRk.apply("FIND_IN_SET({0}, link_bill_num)",head.getCodeNum()); + //关联的已入库单 + head.setRKList(this.list(wrapperRk)); + LambdaQueryWrapper wrapperXd = new LambdaQueryWrapper<>(); + wrapperXd.orderByDesc(BillHead::getCreateTime); + wrapperXd.eq(BillHead::getBillType, BillTypeEnum.XSDD.getValue()); + wrapperXd.apply("FIND_IN_SET({0}, link_bill_num)",head.getCodeNum()); + //关联的已换货单 + head.setXDList(this.list(wrapperXd)); + } + BillAddress address = billAddressService.getOne(new LambdaQueryWrapper() + .eq(BillAddress::getBillId, head.getBillId()) + ); + head.setAddress(address==null?new BillAddress():address); + if(head.getStoreId() != null && head.getStoreId() > 0){ + Store store = storeService.getById(head.getStoreId()); + if(store != null){ + head.setStoreName(store.getStoreName()); + } + } + return head; + } + + //单据详情 + @Override + public BillHead billDetail(Long billId) { + BillHead head = this.getById(billId); + return this.transVo(head); + } + + //作业看板 + @Override + public Map jobBoard(CommonPageParam param) { + param.setAppId(ShopLoginUtil.getAppId()); + return this.getBaseMapper().jobBoard(param); + } + + //商品排行 + @Override + public Map productBoard(CommonPageParam param) { + Map map = new HashMap<>(); + //热销 + List hot = this.getBaseMapper().productBoard(param); + map.put("hot", hot); + return map; + } + + //首页数据 + @Override + public Map getHomeData(CommonPageParam param) { + Map map = new HashMap<>(); + param.setAppId(ShopLoginUtil.getAppId()); + param.setStartDate(null); + param.setEndDate(null); + DealVo sketch = this.getBaseMapper().dealBoard(param); + //支付金额 + BigDecimal depositMoney = sketch.getDepositMoney(); + //支付客户数 + BigDecimal customerNum = sketch.getCustomerNum(); + //平均客单价 + BigDecimal customerMoney = BigDecimal.ZERO; + if(depositMoney != null && customerNum != null && customerNum.compareTo(BigDecimal.ZERO) > 0){ + customerMoney = depositMoney.divide(customerNum, 2, RoundingMode.DOWN); + } + sketch.setCustomerMoney(customerMoney); + BacklogVo backlog = this.getBaseMapper().backlog(param); + //数据概况 + map.put("sketch", sketch); + //销售概况 + map.put("backlog", backlog); + return map; + } + + //首页订单趋势 + @Override + public Map getHomeDeal(CommonPageParam param) { + //查询报表日期类型,0最近一周,1最近一个月,3本年 + if(param.getDateType() == 3){ + //查询本年 + }else if(StringUtils.isBlank(param.getStartDate()) || StringUtils.isBlank(param.getEndDate())){ + throw new BusinessException("请选择搜索日期"); + } + param.setAppId(ShopLoginUtil.getAppId()); + Map map = new HashMap<>(); + List data = new ArrayList<>(); + List days = new ArrayList<>(); + if(param.getDateType() == 3){ + //年份 + int year = cn.hutool.core.date.DateUtil.year(new Date()); + for (int i = 1; i <= 12; i++) { + //月份第一天 + String startDate = year + "-" + i + "-" + "01"; + DateTime dateTime = cn.hutool.core.date.DateUtil.parse(startDate,DatePattern.YYYY_MM_DD); + //月份最后一天 + DateTime endDate = cn.hutool.core.date.DateUtil.endOfMonth(dateTime);//获取月份最后一天(带时分秒) + param.setStartDate(dateTime.toString()); + param.setEndDate(endDate.toString()); + HomeDealVo dealVo = this.getBaseMapper().dealHome(param); + dealVo.setDay(year + "-" + i); + days.add(year + "-" + i); + data.add(dealVo); + } + }else { + Date startTime = cn.hutool.core.date.DateUtil.parse(param.getStartDate()); + Date endTime = cn.hutool.core.date.DateUtil.parse(param.getEndDate()); + //endTime加一天 + endTime = cn.hutool.core.date.DateUtil.offsetDay(endTime,1); + for (Date t = startTime; t.before(endTime); t = cn.hutool.core.date.DateUtil.offsetDay(t,1)) { + String day = cn.hutool.core.date.DateUtil.format(t, "yyyy-MM-dd"); + param.setStartDate(day + " 00:00:00"); + param.setEndDate(day + " 23:59:59"); + HomeDealVo dealVo = this.getBaseMapper().dealHome(param); + dealVo.setDay(day); + days.add(day); + data.add(dealVo); + } + } + //订单趋势 + map.put("deal", data); + //订单趋势时间范围 + map.put("days", days); + return map; + } + + //修改收货地址 + @Override + public boolean editAddress(BillAddress address) { + if(address.getBillId() == null){ + throw new BusinessException("单据id不能为空"); + } + BillAddress oldAddress = billAddressService.getOne(new LambdaQueryWrapper() + .eq(BillAddress::getBillId, address.getBillId()) + ); + if(oldAddress == null){ + oldAddress = address; + billAddressService.save(oldAddress); + }else { + BeanUtils.copyProperties(address, oldAddress); + billAddressService.updateById(oldAddress); + } + return true; + } + + //修改备注信息 + @Override + public boolean editRemark(BillHead head) { + if(head.getBillId() == null){ + throw new BusinessException("单据id不能为空"); + } + BillHead oldHead = new BillHead(); + oldHead.setBillId(head.getBillId()); + oldHead.setPrintRemark(head.getPrintRemark()); + oldHead.setSystemRemark(head.getSystemRemark()); + //附件List + if(CollectionUtils.isNotEmpty(head.getFileList())){ + oldHead.setFileUrls(String.join(",", head.getFileList())); + } + return this.updateById(oldHead); + } + + //库存看板 + @Override + public Map stockBoard(CommonPageParam param) { + Map map = new HashMap<>(); + //子单据 + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.orderByDesc(BillItem::getCreateTime); + wrapper.eq(BillItem::getIsDelete, 0); + //年份 + int year = cn.hutool.core.date.DateUtil.year(new Date()); + //月份 + int month = cn.hutool.core.date.DateUtil.month(new Date()) + 1; + //月份第一天 + String start = year + "-" + month + "-" + "01"; + DateTime startDate = cn.hutool.core.date.DateUtil.parse(start,"yyyy-MM-dd"); + //月份最后一天 + DateTime endDate = cn.hutool.core.date.DateUtil.endOfMonth(startDate);//获取月份最后一天(带时分秒) + //查询时间 + wrapper.between(BillItem::getCreateTime, startDate, endDate); + //库存变化数量 + wrapper.ne(BillItem::getDifferenceNum, 0); + //入库数量 + long rkNum = 0L; + //出库数量 + long ckNum = 0L; + //动销率 + BigDecimal rate = BigDecimal.ZERO; + List list = billItemService.list(wrapper); + //出库的商品规格 + Set extendIds = list.stream().map(BillItem::getProductExtendId).collect(Collectors.toSet()); + int num = extendIds.size(); + int count = productExtendService.count(new LambdaQueryWrapper() + //删除标记,0未删除,1删除 + .eq(ProductExtend::getDeleteFlag,0) + ); + for(BillItem item : list){ + if(item.getDifferenceNum() > 0){ + rkNum = rkNum + item.getDifferenceNum(); + }else { + ckNum = ckNum - item.getDifferenceNum(); + } + } + if(count > 0 && num > 0){ + rate = new BigDecimal(num).divide(new BigDecimal(count),1,RoundingMode.HALF_UP); + } + map.put("rkNum", rkNum); + map.put("ckNum", ckNum); + map.put("rate", rate); + return map; + } + + //交易趋势 + @Override + public Map dealBoard(CommonPageParam param) { + //查询报表日期类型,0最近一周,1最近一个月,3本年 + if(param.getDateType() == 3){ + //查询本年 + }else if(StringUtils.isBlank(param.getStartDate()) || StringUtils.isBlank(param.getEndDate())){ + throw new BusinessException("请选择搜索日期"); + } + param.setAppId(ShopLoginUtil.getAppId()); + Map map = new HashMap<>(); + List data = new ArrayList<>(); + List days = new ArrayList<>(); + if(param.getDateType() == 3){ + //年份 + int year = cn.hutool.core.date.DateUtil.year(new Date()); + for (int i = 1; i <= 12; i++) { + //月份第一天 + String startDate = year + "-" + i + "-" + "01"; + DateTime dateTime = cn.hutool.core.date.DateUtil.parse(startDate,DatePattern.YYYY_MM_DD); + //月份最后一天 + DateTime endDate = cn.hutool.core.date.DateUtil.endOfMonth(dateTime);//获取月份最后一天(带时分秒) + param.setStartDate(dateTime.toString()); + param.setEndDate(endDate.toString()); + DealVo dealVo = this.getBaseMapper().dealBoard(param); + //支付金额 + BigDecimal depositMoney = dealVo.getDepositMoney(); + //支付客户数 + BigDecimal customerNum = dealVo.getCustomerNum(); + //平均客单价 + BigDecimal customerMoney = BigDecimal.ZERO; + if(depositMoney != null && customerNum != null && customerNum.compareTo(BigDecimal.ZERO) > 0){ + customerMoney = depositMoney.divide(customerNum, 2, RoundingMode.DOWN); + } + dealVo.setCustomerMoney(customerMoney); + dealVo.setDay(year + "-" + i); + days.add(year + "-" + i); + data.add(dealVo); + } + }else { + Date startTime = cn.hutool.core.date.DateUtil.parse(param.getStartDate()); + Date endTime = cn.hutool.core.date.DateUtil.parse(param.getEndDate()); + //endTime加一天 + endTime = cn.hutool.core.date.DateUtil.offsetDay(endTime,1); + for (Date t = startTime; t.before(endTime); t = cn.hutool.core.date.DateUtil.offsetDay(t,1)) { + String day = cn.hutool.core.date.DateUtil.format(t, "yyyy-MM-dd"); + param.setStartDate(day + " 00:00:00"); + param.setEndDate(day + " 23:59:59"); + DealVo dealVo = this.getBaseMapper().dealBoard(param); + //支付金额 + BigDecimal depositMoney = dealVo.getDepositMoney(); + //支付客户数 + BigDecimal customerNum = dealVo.getCustomerNum(); + //平均客单价 + BigDecimal customerMoney = BigDecimal.ZERO; + if(depositMoney != null && customerNum != null && customerNum.compareTo(BigDecimal.ZERO) > 0){ + customerMoney = depositMoney.divide(customerNum, 2, RoundingMode.DOWN); + } + dealVo.setCustomerMoney(customerMoney); + dealVo.setDay(day); + days.add(day); + data.add(dealVo); + } + } + map.put("data", data); + map.put("days", days); + return map; + } + + /** + * 订单状态文字描述 + * + * @param head + * @return + */ + private String getStateTextAttr(BillHead head) { + //单据状态,0未采购、1完成采购|销售、2部分采购|销售单待发货,3已关闭,4异常,5待配货,6已发货 + if(head.getPurchaseStatus() == 0){ + return "未开始"; + } + if(head.getPurchaseStatus() == 1){ + return "完成"; + } + if(head.getPurchaseStatus() == 2){ + return "进行中"; + } + if(head.getPurchaseStatus() == 3){ + return "已关闭"; + } + return ""; + } + + //确认发货 + @Override + @Transactional(rollbackFor = Exception.class) + public boolean deliver(Long billId) { + BillHead oldHead = this.getById(billId); + BillDelivery oldDelivery = null; + List list = billDeliveryService.list(new LambdaQueryWrapper() + .eq(BillDelivery::getBillId, billId) + .eq(BillDelivery::getIsDelete, 0) + .orderByDesc(BillDelivery::getCreateTime) + ); + //配送方式(10快递发货 20上门自提 30无需物流 40多包裹) + if(oldHead.getDeliveryType() != 30 && CollectionUtils.isEmpty(list)){ + throw new BusinessException("请先添加物流信息"); + } + if(oldHead.getDeliveryType() != 30){ + oldDelivery = list.get(0); + if(StringUtils.isBlank(oldDelivery.getExpressNo())){ + throw new BusinessException("请填写快递单号"); + } + if(oldDelivery.getExpressId() == null){ + throw new BusinessException("请选择快递公司"); + } + } + //单据状态,0未采购、1完成采购|销售、2部分采购|销售单待发货,3已关闭,4异常,5待配货,6已发货 + oldHead.setPurchaseStatus(6); + BillHead head = new BillHead(); + BeanUtils.copyProperties(oldHead, head); + head.setCodeNum(null); + head.setBillType(BillTypeEnum.XSCKD.getValue()); + List billItemList = billItemService.list(new LambdaQueryWrapper() + .eq(BillItem::getBillId, oldHead.getBillId()) + //删除标记,0未删除,1删除 + .eq(BillItem::getIsDelete, 0) + ); + for(BillItem item : billItemList){ + //已出库,锁定库存改为0 + item.setFreezeStock(0l); + billItemService.updateById(item); + } + head.setBillItemList(billItemList); + //生成销售出货单 + this.addOrder(head); + //出库操作 + this.outStock(head); + //出入库时间 + oldHead.setOperTime(new Date()); + return this.updateById(oldHead); + } + + + @Override + @Transactional(rollbackFor = Exception.class) + public synchronized boolean addOrder(BillHead head) { + if(StringUtils.isNotBlank(head.getCodeNum())){ + if(checkIsNameExist(null, head.getCodeNum()) > 0){ + throw new BusinessException("单据编号不能重复"); + } + }else { + //当天单据数量 + int num = this.count(new LambdaQueryWrapper().eq(BillHead::getBillType, head.getBillType()) + .ge(BillHead::getCreateTime, DateUtil.getDateString(new Date()) + " 00:00:00")); + num = num + 1; + head.setCodeNum(CodeUtils.geneBillCode(BillTypeEnum.getCode(head.getBillType()),num)); + } + head.setTypeName(BillTypeEnum.getName(head.getBillType())); + if(head.getCreatorId() == null || head.getCreatorId() <= 0){ + head.setCreatorId(ShopLoginUtil.getUserId()); + } + //附件List + if(CollectionUtils.isNotEmpty(head.getFileList())){ + head.setFileUrls(String.join(",", head.getFileList())); + } + //检查单据属性 + this.checkHead(head); + List billItemList = head.getBillItemList(); + //期初库存单 + if(BillTypeEnum.QCKCD.getValue().equals(head.getBillType())){ + //只拿修改了的数据 + billItemList = billItemList.stream().filter(item -> item.getBasicNumber() != null && item.getBasicNumber() > 0).collect(Collectors.toList()); + } + //盘盈盘亏单 + if(BillTypeEnum.PYPKD.getValue().equals(head.getBillType())){ + //只拿修改了的数据 + billItemList = billItemList.stream().filter(item -> item.getBasicNumber() != null && item.getBasicNumber() != 0).collect(Collectors.toList()); + } + if(CollectionUtils.isEmpty(billItemList)){ + throw new BusinessException("商品不能为空"); + } + //售后类型(10退货退款 20换货 30退款 40补发 50 维修 60 其他) + if(BillTypeEnum.SHSQD.getValue().equals(head.getBillType())){ + //售后类型(0无售后 10退货退款 20换货 30仅退款 40补发 50 维修 60 其他)" + if(head.getRefundType() == 20){ + //是否换出商品,0否,1是 + List outItemList = billItemList.stream().filter(item -> item.getIsExchange() != null && item.getIsExchange() == 1).collect(Collectors.toList()); + if(CollectionUtils.isEmpty(outItemList)){ + throw new BusinessException("换出商品不能为空"); + } + } + } + BigDecimal totalPrice = BigDecimal.ZERO; + Long totalNum = 0L; + for(BillItem item : billItemList){ + item.setBusinessType(head.getBusinessType()); + item.setBillType(head.getBillType()); + item.setSupplierId(head.getSupplierId()); + item.setDepotId(head.getDepotId()); + item.setId(null); + item.setIsExchange(head.getIsExchange()); + //检查商品属性 + this.checkItem(item); + if(item.getAllPrice() != null){ + totalPrice = totalPrice.add(item.getAllPrice()); + } + totalNum = totalNum + item.getBasicNumber(); + } + head.setTotalPrice(totalPrice); + head.setTotalNum(totalNum); + head.setBillId(null); + //线下出库单 + if(BillTypeEnum.XSCKD.getValue().equals(head.getBillType()) && head.getBusinessType() != null && BusinessTypeEnum.XXCKD.getValue().equals(head.getBusinessType())){ + head.setTypeName("线下出库单"); + } + this.save(head); + if(head.getCustomerAddressId() != null && head.getCustomerAddressId() > 0) { + CustomerAddress customerAddress = customerAddressService.getById(head.getCustomerAddressId()); + BillAddress billAddress = new BillAddress(); + BeanUtils.copyProperties(customerAddress, billAddress); + billAddress.setBillId(head.getBillId()); + if(StringUtils.isNotBlank(head.getName())){ + billAddress.setName((head.getName())); + } + //手机 + if(StringUtils.isNotBlank(head.getPhone())){ + billAddress.setPhone(head.getPhone()); + } + //固话 + if(StringUtils.isNotBlank(head.getFixPhone())){ + billAddress.setFixPhone(head.getFixPhone()); + } + //邮编 + if(StringUtils.isNotBlank(head.getZip())){ + billAddress.setZip(head.getZip()); + } + //详细地址 + if(StringUtils.isNotBlank(head.getDetail())){ + billAddress.setDetail(head.getDetail()); + } + billAddress.setCreateTime(new Date()); + billAddressService.save(billAddress); + } + //保存单据商品 + for(BillItem item : billItemList){ + item.setBillId(head.getBillId()); + billItemService.save(item); + } + //不用审核的出入库单 (线下出库单 期初库存单 调拨出库单 调拨入库单 其他出库单 其他入库单 盘盈盘亏单) + if( (BillTypeEnum.XSCKD.getValue().equals(head.getBillType()) && head.getBusinessType() != null && BusinessTypeEnum.XXCKD.getValue().equals(head.getBusinessType())) + || BillTypeEnum.QCKCD.getValue().equals(head.getBillType()) || BillTypeEnum.XSTHD.getValue().equals(head.getBillType()) + || BillTypeEnum.DBCKD.getValue().equals(head.getBillType()) || BillTypeEnum.DBRKD.getValue().equals(head.getBillType()) + || BillTypeEnum.QTCKD.getValue().equals(head.getBillType()) || BillTypeEnum.QTRKD.getValue().equals(head.getBillType()) + || BillTypeEnum.PYPKD.getValue().equals(head.getBillType()) + ){ + //出入库操作 + this.outStock(head); + head.setAuditStatus(20); + this.updateById(head); + } + //库存虚拟调拨单 + if((BillTypeEnum.KCDBD.getValue().equals(head.getBillType()) && BusinessTypeEnum.XNDB.getValue().equals(head.getBusinessType()))){ + for(BillItem item : billItemList){ + //关联的订单子单号 + item.setLinkItemId(item.getId()); + } + head.setLinkBillId(head.getBillId().toString()); + head.setLinkBillNum(head.getCodeNum()); + //自动生成调拨出库单 + head.setBillType(BillTypeEnum.DBCKD.getValue()); + head.setCodeNum(null); + head.setBillId(null); + this.addOrder(head); + //自动生成调拨入库单 + head.setBillType(BillTypeEnum.DBRKD.getValue()); + head.setCodeNum(null); + head.setBillId(null); + //入库交换仓库ID + Long depotId = head.getDepotId(); + head.setDepotId(head.getAnotherDepotId()); + head.setAnotherDepotId(depotId); + this.addOrder(head); + } + //销售退货单 原路退回不验证快递 业务类型,7原路退回 + if((BillTypeEnum.XSTHD.getValue().equals(head.getBillType())) && (head.getBusinessType() == null || !BusinessTypeEnum.XTYLTH.getValue().equals(head.getBusinessType()))){ + BillDelivery oldDelivery = new BillDelivery(); + if(head.getExpressId() == null){ + throw new BusinessException("物流公司不能为空"); + } + if(StringUtils.isBlank(head.getExpressNo())){ + throw new BusinessException("快递单号不能为空"); + } + if(checkIsExpressNoExist(null, head.getExpressNo()) > 0){ + throw new BusinessException("快递单号已存在"); + } + //物流公司id + oldDelivery.setExpressId(head.getExpressId()); + oldDelivery.setBillId(head.getBillId()); + Express express = expressService.getById(head.getExpressId()); + if(express != null){ + oldDelivery.setExpressName(express.getExpressName()); + } + oldDelivery.setExpressNo(head.getExpressNo()); + billDeliveryService.save(oldDelivery); + } + return true; + } + + //檢查 + public int checkIsExpressNoExist(Long id, String expressNo) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + if(id != null){ + wrapper.ne(BillDelivery::getBillDeliveryId, id); + } + wrapper.eq(BillDelivery::getExpressNo, expressNo); + return billDeliveryService.count(wrapper); + } + + //检查单据属性 + private void checkHead(BillHead head) { + //售后类型(0无售后 10退货退款 20换货 30仅退款 40补发 50 维修 60 其他) + if(BillTypeEnum.SHSQD.getValue().equals(head.getBillType()) && head.getRefundType() == 30){ + head.setDepotId(0L); + } + if(head.getDepotId() == null){ + throw new BusinessException("仓库不能为空"); + } + if(head.getBusinessTime() == null){ + head.setBusinessTime(new Date()); + } + //售后申请单 + if(BillTypeEnum.SHSQD.getValue().equals(head.getBillType())) { + if (head.getRefundType() == null) { + throw new BusinessException("售后类型不能为空"); + } + if( StringUtils.isBlank(head.getLinkBillId()) || StringUtils.isBlank(head.getLinkBillNum())){ + throw new BusinessException("关联销售单号不能为空"); + } + if( StringUtils.isBlank(head.getProblemCause())){ + throw new BusinessException("问题原因不能为空"); + } + if(head.getCustomerAddressId() == null ){ + throw new BusinessException("客户地址不能为空"); + } + if(head.getCustomerId() == null ){ + throw new BusinessException("客户不能为空"); + } + if(head.getStoreId() == null ){ + throw new BusinessException("店铺不能为空"); + } + if(head.getAccountId() == null ){ + throw new BusinessException("结算账户不能为空"); + } + if("物流赔付".equals(head.getProblemCause()) && (head.getCompensateMoney() == null || head.getCompensateMoney().compareTo(BigDecimal.ZERO) <= 0)){ + throw new BusinessException("赔付金额不能为空且必须大于0"); + } + } + //库存调拨单 + if(BillTypeEnum.KCDBD.getValue().equals(head.getBillType()) || BillTypeEnum.DBCKD.getValue().equals(head.getBillType()) + || BillTypeEnum.DBRKD.getValue().equals(head.getBillType()) + ) { + //业务类型,1直接采购入库,2订单采购入库,3直接出库,4采购入库单退货,5实际调拨,6虚拟调拨 + if (head.getBusinessType() == null) { + head.setBusinessType(BusinessTypeEnum.SJDB.getValue()); + } + if (head.getAnotherDepotId() == null) { + throw new BusinessException("对方仓库不能为空"); + } + if(Objects.equals(head.getDepotId(), head.getAnotherDepotId())){ + throw new BusinessException("调拨仓库不能相同"); + } + if(BillTypeEnum.DBCKD.getValue().equals(head.getBillType()) + || BillTypeEnum.DBRKD.getValue().equals(head.getBillType()) + ){ + if( StringUtils.isBlank(head.getLinkBillId()) || StringUtils.isBlank(head.getLinkBillNum())){ + throw new BusinessException("关联单号不能为空"); + } + } + } + //采购入库单 + if(BillTypeEnum.CGRKD.getValue().equals(head.getBillType()) || BillTypeEnum.CGTHD.getValue().equals(head.getBillType())){ + if(head.getBusinessType() == null){ + throw new BusinessException("业务类型不能为空"); + } + if(BusinessTypeEnum.DDCGRK.getValue().equals(head.getBusinessType()) || BusinessTypeEnum.CGRKDTH.getValue().equals(head.getBusinessType())){ + if( StringUtils.isBlank(head.getLinkBillId()) || StringUtils.isBlank(head.getLinkBillNum())){ + throw new BusinessException("关联单号不能为空"); + } + } + if(head.getDiscountMoney() == null && BillTypeEnum.CGRKD.getValue().equals(head.getBillType())){ + throw new BusinessException("优惠金额不能为空"); + } + if(head.getDeposit() == null){ + throw new BusinessException("付款金额或者退回金额不能为空"); + } + if(head.getTotalPrice() == null){ + throw new BusinessException("合计金额不能为空"); + } + if(head.getPurchaseMoney() == null){ + head.setPurchaseMoney(BigDecimal.ZERO); + } + if(StringUtils.isBlank(head.getPayType())){ + head.setPayType("0"); + } + if(head.getAccountId() == null){ + throw new BusinessException("结算账户不能为空"); + } + if(head.getDeptMoney() == null){ + throw new BusinessException("欠款金额不能为空"); + } + if(head.getDeptMoney().compareTo(BigDecimal.ZERO) < 0){ + throw new BusinessException("欠款金额不能小于0"); + } + } + //销售单 + if(BillTypeEnum.XSDD.getValue().equals(head.getBillType()) || BillTypeEnum.XSCKD.getValue().equals(head.getBillType()) + ){ + + if(BillTypeEnum.XSDD.getValue().equals(head.getBillType()) || BillTypeEnum.XSCKD.getValue().equals(head.getBillType())){ + if(head.getOrderTime() == null ){ + head.setOrderTime(new Date()); + } + if(head.getCustomerAddressId() == null ){ + throw new BusinessException("客户地址不能为空"); + } + if(StringUtils.isBlank(head.getLinkBillNum())){ + throw new BusinessException("订单号不能为空"); + } + } + if(head.getCustomerId() == null ){ + throw new BusinessException("客户不能为空"); + } + if(head.getStoreId() == null ){ + throw new BusinessException("店铺不能为空"); + } + if(head.getAccountId() == null){ + throw new BusinessException("结算账户不能为空"); + } + //是否换货单,0否,1是 + if(head.getIsExchange() == null || head.getIsExchange() == 0){ + if(head.getPurchaseMoney() == null){ + throw new BusinessException("运费不能为空"); + } + if(head.getDiscountMoney() == null ){ + throw new BusinessException("优惠金额不能为空"); + } + if(head.getDeposit() == null){ + throw new BusinessException("本次收款金额不能为空"); + } + if(head.getTotalPrice() == null){ + throw new BusinessException("合计金额不能为空"); + } + if(head.getDeptMoney() == null){ + throw new BusinessException("欠款金额不能为空"); + } + if(head.getDeptMoney().compareTo(BigDecimal.ZERO) < 0){ + throw new BusinessException("欠款金额不能小于0"); + } + } + + } + //其他出库单 + if(BillTypeEnum.QTCKD.getValue().equals(head.getBillType()) || BillTypeEnum.QTRKD.getValue().equals(head.getBillType())) { + if (head.getBusinessCause() == null) { + throw new BusinessException("业务原因不能为空"); + } + if(head.getHandleId() == null || head.getHandleId() <= 0){ + throw new BusinessException("经手人不能为空"); + } + if (BillTypeEnum.QTCKD.getValue().equals(head.getBillType())) { + if (head.getCustomerAddressId() == null) { + throw new BusinessException("收货人地址不能为空"); + } + if(head.getCustomerId() == null ){ + throw new BusinessException("收货人不能为空"); + } + } + } + } + + //检查商品属性 + private void checkItem(BillItem item) { + if(item.getProductId() == null){ + throw new BusinessException("商品Id不能为空"); + } + if(item.getProductExtendId() == null){ + throw new BusinessException("商品扩展id不能为空"); + } + if(item.getBasicNumber() == null){ + throw new BusinessException("操作总数量不能为空"); + } + if(item.getBasicNumber() == 0){ + throw new BusinessException("操作总数量不能为0"); + } + //可操作总数量 + item.setAvailableAllNumber(item.getBasicNumber()); + //16期初库存单 15盘盈盘亏单 纯库存操作不验证 + if(!BillTypeEnum.QCKCD.getValue().equals(item.getBillType()) && !BillTypeEnum.PYPKD.getValue().equals(item.getBillType())){ +// if(StringUtils.isBlank(item.getSku())){ +// throw new BusinessException("属性不能为空"); +// } + if(StringUtils.isBlank(item.getMaterialUnit())){ + throw new BusinessException("商品单位不能为空"); + } + if(item.getOperNumber() == null){ + throw new BusinessException("商品数量不能为空"); + } + if(item.getOperNumber() <= 0){ + throw new BusinessException("商品数量需大于0"); + } + //单价 + if(item.getUnitPrice() == null){ + item.setUnitPrice(BigDecimal.ZERO); + } + //折扣率 + if(item.getDiscountRate() == null){ + item.setDiscountRate(new BigDecimal("100")); + } + //折后单价 + if(item.getDiscountPrice() == null){ + item.setDiscountPrice(BigDecimal.ZERO); + } + //总价 + if(item.getAllPrice() == null){ + item.setAllPrice(BigDecimal.ZERO); + } + }else if(BillTypeEnum.QCKCD.getValue().equals(item.getBillType())){ + ProductExtend extend = productExtendService.getById(item.getProductExtendId()); + //是否可以修改期初成本价,0否,1是 + if(extend != null && extend.getInitialStatus() == 0){ + throw new BusinessException("规格编码:" + extend.getProductCode() + "的期初库存不能修改"); + } + } + //业务类型,1直接采购入库,2订单采购入库,3直接出库,4采购入库单退货,5实际调拨,6虚拟调拨 + if(item.getBusinessType() != null && BusinessTypeEnum.DDCGRK.getValue().equals(item.getBusinessType())){ + if( item.getLinkItemId() == null ){ + throw new BusinessException("关联的订单子单号不能为空"); + } + //关联采购订单子单 + BillItem billItem = billItemService.getById(item.getLinkItemId()); + if(item.getBasicNumber() > billItem.getAvailableAllNumber()){ + ProductExtend extend = productExtendService.getById(item.getProductExtendId()); + throw new BusinessException("不能超收,规格编码:" + extend.getProductCode() + ",可入库总数:" + billItem.getAvailableAllNumber() + ",实收总数:" + item.getBasicNumber()); + } + //未到货数量 = 可入库数 - 实收数 + item.setNoArrivalNumber(billItem.getAvailableNumber() - item.getOperNumber()); + //未到货总数量 = 可入库总数 - 实收总数 + item.setNoArrivalAllNumber(billItem.getAvailableAllNumber() - item.getBasicNumber()); + } + //11调拨出库单 + if(BillTypeEnum.DBCKD.getValue().equals(item.getBillType())){ + if( item.getLinkItemId() == null ){ + throw new BusinessException("关联的订单子单号不能为空"); + } + //关联调拨单子单 + BillItem billItem = billItemService.getById(item.getLinkItemId()); + //可操作总数量 + Long availableAllNumber = billItem.getAvailableAllNumber(); + if(item.getBasicNumber() > availableAllNumber){ + ProductExtend extend = productExtendService.getById(item.getProductExtendId()); + throw new BusinessException("不能超出,规格编码:" + extend.getProductCode() + ",可操作总数:" + availableAllNumber + ",操作总数:" + item.getBasicNumber()); + } + } + //调拨入库单 + if(BillTypeEnum.DBRKD.getValue().equals(item.getBillType())){ + if( item.getLinkItemId() == null ){ + throw new BusinessException("关联的订单子单号不能为空"); + } + //关联采购订单子单 + BillItem billItem = billItemService.getById(item.getLinkItemId()); + //待入库总数量 + Long noArrivalAllNumber = billItem.getNoArrivalAllNumber(); + if(item.getBasicNumber() > noArrivalAllNumber){ + ProductExtend extend = productExtendService.getById(item.getProductExtendId()); + throw new BusinessException("不能超入,规格编码:" + extend.getProductCode() + ",可操作总数:" + noArrivalAllNumber + ",操作总数:" + item.getBasicNumber()); + } + } + //业务类型,1直接采购入库,2订单采购入库,3直接出库,4采购入库单退货,5实际调拨,6虚拟调拨 + if(item.getBusinessType() != null && BusinessTypeEnum.CGRKDTH.getValue().equals(item.getBusinessType())){ + if( item.getLinkItemId() == null ){ + throw new BusinessException("关联的采购入库单子单号不能为空"); + } + //关联的采购入库单子单 + BillItem billItem = billItemService.getById(item.getLinkItemId()); + //可退数量 + if(item.getBasicNumber() > billItem.getAvailableAllNumber() ){ + ProductExtend extend = productExtendService.getById(item.getProductExtendId()); + throw new BusinessException("实退数量不能大于可退数量,商品编码:" + extend.getProductCode() + ",可退数量:" + billItem.getAvailableAllNumber() + ",实退数量:" + item.getBasicNumber()); + } + } + if(BillTypeEnum.SHSQD.getValue().equals(item.getBillType())) { + if( item.getLinkItemId() == null ){ + throw new BusinessException("关联的销售订单子单号不能为空"); + } + //关联的销售订单子单 + BillItem billItem = billItemService.getById(item.getLinkItemId()); + //可退数量 + if(item.getBasicNumber() > billItem.getAvailableAllNumber()){ + ProductExtend extend = productExtendService.getById(item.getProductExtendId()); + if(extend == null){ + throw new BusinessException("商品规格ID"+item.getProductExtendId()+"不存在"); + } + throw new BusinessException("实退数量不能大于可退数量,商品编码:" + extend.getProductCode() + ",可退数量:" + billItem.getAvailableAllNumber() + ",实退数量:" + item.getBasicNumber()); + } + } + if(BillTypeEnum.XSTHD.getValue().equals(item.getBillType())) { + if( item.getLinkItemId() == null ){ + throw new BusinessException("关联的售后单子单号不能为空"); + } + //关联的售后单子单号 + BillItem billItem = billItemService.getById(item.getLinkItemId()); + //可退数量 + if(item.getBasicNumber() > billItem.getAvailableAllNumber()){ + ProductExtend extend = productExtendService.getById(item.getProductExtendId()); + throw new BusinessException("入库数量不能大于可入库数量,商品编码:" + extend.getProductCode() + ",可入库数量:" + billItem.getAvailableAllNumber() + ",入库数量:" + item.getBasicNumber()); + } + } + //换货订单 + if(BillTypeEnum.XSDD.getValue().equals(item.getBillType()) && item.getIsExchange() != null && item.getIsExchange() == 1) { + if( item.getLinkItemId() == null ){ + throw new BusinessException("关联的售后单子单号不能为空"); + } + //关联的售后单子单号 + BillItem billItem = billItemService.getById(item.getLinkItemId()); + //可下单数量 + if(item.getBasicNumber() > billItem.getAvailableAllNumber()){ + ProductExtend extend = productExtendService.getById(item.getProductExtendId()); + throw new BusinessException("下单数量不能大于可下单数量,商品编码:" + extend.getProductCode() + ",可下单数量:" + billItem.getAvailableAllNumber() + ",下单数量:" + item.getBasicNumber()); + } + //减少可下单数量 + billItem.setAvailableAllNumber(billItem.getAvailableAllNumber() - item.getBasicNumber()); + billItemService.updateById(billItem); + } + + //单据类型 + if(item.getBillType() != null && BillTypeEnum.CGDD.getValue().equals(item.getBillType())){ + if(item.getPurchaseCycle() == null){ + throw new BusinessException("采购周期不能为空"); + } +// if(item.getArrivalDate() == null){ +// throw new BusinessException("预计到货日期不能为空"); +// } + } + + //单据类型,销售单,库存调拨单 + if(item.getBillType() != null && (BillTypeEnum.XSDD.getValue().equals(item.getBillType()) || BillTypeEnum.KCDBD.getValue().equals(item.getBillType())) ){ + //锁定库存,实物数量中已经被销售订单、库存调拨单锁定的数量 + item.setFreezeStock(item.getBasicNumber()); + } + } + + public int checkIsNameExist(Long id, String code) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + if(id != null){ + wrapper.ne(BillHead::getBillId, id); + } + wrapper.eq(BillHead::getCodeNum, code); + return this.count(wrapper); + } + + @Override + public boolean editOrder(BillHead head) { + if(head.getBillId() == null){ + throw new BusinessException("单据ID不能为空"); + } + BillHead oldHead = this.getById(head.getBillId()); + //审核状态,0未审核、1审核通过,2审核拒绝 + if(oldHead.getAuditStatus() != 10){ + throw new BusinessException("只有待审核订单才能修改"); + } + //单据状态,0未采购、1完成采购|销售、2部分采购|销售单待发货,3已关闭,4异常,5待配货,6已发货 + if(oldHead.getPurchaseStatus() == 1){ + throw new BusinessException("已完成状态不能修改"); + } + if(StringUtils.isBlank(head.getCodeNum())){ + throw new BusinessException("编辑时单据编号不能为空"); + }else { + if(checkIsNameExist(head.getBillId(), head.getCodeNum()) > 0){ + throw new BusinessException("单据编号不能重复"); + } + } + //附件List + if(CollectionUtils.isNotEmpty(head.getFileList())){ + head.setFileUrls(String.join(",", head.getFileList())); + } + //检查单据属性 + this.checkHead(head); + List billItemList = head.getBillItemList(); + if(CollectionUtils.isEmpty(billItemList)){ + throw new BusinessException("商品不能为空"); + } + //售后类型(10退货退款 20换货 30退款 40补发 50 维修 60 其他) + if(BillTypeEnum.SHSQD.getValue().equals(head.getBillType())){ + //售后类型(0无售后 10退货退款 20换货 30仅退款 40补发 50 维修 60 其他)" + if(head.getRefundType() == 20){ + //是否换出商品,0否,1是 + List outItemList = billItemList.stream().filter(item -> item.getIsExchange() != null && item.getIsExchange() == 1).collect(Collectors.toList()); + if(CollectionUtils.isEmpty(outItemList)){ + throw new BusinessException("换出商品不能为空"); + } + } + if(head.getAddress() != null){ + this.editAddress(head.getAddress()); + } + } + BigDecimal totalPrice = BigDecimal.ZERO; + Long totalNum = 0L; + for(BillItem item : billItemList){ + item.setBusinessType(head.getBusinessType()); + item.setBillType(oldHead.getBillType()); + //检查商品属性 + this.checkItem(item); + if(item.getIsDelete() != null && item.getIsDelete() == 0){ + totalPrice = totalPrice.add(item.getAllPrice()); + } + totalNum = totalNum + item.getBasicNumber(); + } + head.setTotalPrice(totalPrice); + head.setTotalNum(totalNum); + this.updateById(head); + //保存单据商品 + for(BillItem item : billItemList){ + item.setBillId(head.getBillId()); + if(item.getId() != null){ + billItemService.updateById(item); + }else { + item.setSupplierId(head.getSupplierId()); + billItemService.save(item); + } + } + return true; + } + + @Override + public boolean closeOrder(Long billId, String closeReason) { + BillHead oldHead = this.getById(billId); + //单据状态,0未采购、1完成采购|销售、2部分采购|销售单待发货,3已关闭,4异常,5待配货,6已发货 + if(oldHead.getPurchaseStatus() != 0){ + throw new BusinessException("该状态不能关闭"); + } + oldHead.setPurchaseStatus(3); + //审核状态,10待审核20通过30拒绝 + oldHead.setAuditStatus(30); + oldHead.setCloseReason(closeReason); + return this.updateById(oldHead); + } + + //关闭异常订单 + @Override + public boolean closeMarketOrder(Long billId, String closeReason) { + BillHead oldHead = this.getById(billId); + //单据状态,0未采购、1完成采购|销售、2部分采购|销售单待发货,3已关闭,4异常,5待配货,6已发货 + if(oldHead.getPurchaseStatus() != 4){ + throw new BusinessException("非异常订单不能关闭"); + } + oldHead.setPurchaseStatus(3); + oldHead.setCloseReason(closeReason); + return this.updateById(oldHead); + } + + //恢复异常订单 + @Override + public boolean recoverMarketOrder(Long billId) { + BillHead oldHead = this.getById(billId); + //单据状态,0未采购、1完成采购|销售、2部分采购|销售单待发货,3已关闭,4异常,5待配货,6已发货 + if(oldHead.getPurchaseStatus() != 4){ + throw new BusinessException("只能恢复异常订单"); + } + oldHead.setPurchaseStatus(0); + //审核状态,10待审核20通过30拒绝 + oldHead.setAuditStatus(10); + return this.updateById(oldHead); + } + + //确认配货 + @Override + public boolean picking(Long billId) { + BillHead oldHead = this.getById(billId); + //单据状态,0未采购、1完成采购|销售、2部分采购|销售单待发货,3已关闭,4异常,5待配货,6已发货 + oldHead.setPurchaseStatus(2); + return this.updateById(oldHead); + } + + //审核销售订单 + @Override + @Transactional(rollbackFor = Exception.class) + public boolean auditMarketOrder(BillHead head) { + AdminUser adminUser = shopUserService.getById(ShopLoginUtil.getUserId()); + //是否为超级管理员0不是,1是 + if(!adminUser.getIsSuper()){ + throw new BusinessException("只有超管有审批权限"); + } + BillHead oldHead = this.getById(head.getBillId()); + //审核状态,0未审核、1审核通过,2审核拒绝 + if(oldHead.getAuditStatus() != 10){ + throw new BusinessException("只有待审核订单才能审核"); + } + oldHead.setAuditId(adminUser.getShopUserId()); + //审核状态,10待审核20通过30拒绝 + oldHead.setAuditStatus(20); + //单据状态,0未采购、1完成采购|销售、2进行中,3已关闭,4异常,5待配货,6已发货 + oldHead.setPurchaseStatus(5); + return this.updateById(oldHead); + } + + //审核售后单 + @Override + @Transactional(rollbackFor = Exception.class) + public boolean auditRefundOrder(BillHead head) { + BillHead oldHead = this.getById(head.getBillId()); + AdminUser adminUser = shopUserService.getById(ShopLoginUtil.getUserId()); + if(StringUtils.isBlank(oldHead.getLinkBillNum())){ + throw new BusinessException("关联单据编号不能为空"); + } + List linkBillNumList = Arrays.asList(oldHead.getLinkBillNum().split(",")); + //修改关联销售单的售后类型 + this.update(new LambdaUpdateWrapper().in(BillHead::getCodeNum, linkBillNumList) + //售后类型(10退货退款 20换货 30退款 40补发 50 维修 60 其他) + .set(BillHead::getRefundType, oldHead.getRefundType()) + ); + //是否为超级管理员0不是,1是 + if(!adminUser.getIsSuper()){ + throw new BusinessException("只有超管有审批权限"); + } + //审核状态,0未审核、1审核通过,2审核拒绝 + if(oldHead.getAuditStatus() != 10){ + throw new BusinessException("只有待审核订单才能审核"); + } + oldHead.setAuditId(adminUser.getShopUserId()); + //审核状态,10待审核20通过30拒绝 + oldHead.setAuditStatus(20); + //单据状态,0未开始、1完成、2进行中,3已关闭,4异常,5待配货,6已发货 + oldHead.setPurchaseStatus(2); + //售后类型(0无售后 10退货退款 20换货 30仅退款 40补发 50 维修 60 其他) + if(oldHead.getRefundType() == 30){ + //客户赔付结算 + this.customerCompensate(oldHead); + //仅退款无需退货,退款后改成已完成 + oldHead.setPurchaseStatus(1); + } + List billItemList = billItemService.list(new LambdaQueryWrapper() + .eq(BillItem::getBillId, oldHead.getBillId()) + //删除标记,0未删除,1删除 + .eq(BillItem::getIsDelete, 0) + ); + for(BillItem item : billItemList){ + if( item.getLinkItemId() == null ){ + throw new BusinessException("关联的销售订单子单号不能为空"); + } + //关联的销售订单子单 + BillItem billItem = billItemService.getById(item.getLinkItemId()); + + //可退数量 + if(item.getBasicNumber() > billItem.getAvailableAllNumber()){ + ProductExtend extend = productExtendService.getById(item.getProductExtendId()); + if(extend == null){ + throw new BusinessException("商品规格ID"+item.getProductExtendId()+"不存在"); + } + throw new BusinessException("实退数量不能大于可退数量,商品编码:" + extend.getProductCode() + ",可退数量:" + billItem.getAvailableAllNumber() + ",实退数量:" + item.getBasicNumber()); + } + + //减少可退数量 + billItem.setAvailableAllNumber(billItem.getAvailableAllNumber() - item.getBasicNumber()); + billItemService.updateById(billItem); + } + return this.updateById(oldHead); + } + + //打回审核 + @Override + public boolean repulseAudit(Long billId) { + BillHead head = this.getById(billId); + //售后申请单 + if(BillTypeEnum.SHSQD.getValue().equals(head.getBillType())){ + LambdaQueryWrapper wrapperRk = new LambdaQueryWrapper<>(); + wrapperRk.orderByDesc(BillHead::getCreateTime); + wrapperRk.eq(BillHead::getBillType, BillTypeEnum.XSTHD.getValue()); + wrapperRk.apply("FIND_IN_SET({0}, link_bill_num)",head.getCodeNum()); + //入库单 + List rKList = this.list(wrapperRk); + if(CollectionUtils.isNotEmpty(rKList)){ + throw new BusinessException("已入库不能打回"); + } + LambdaQueryWrapper wrapperXd = new LambdaQueryWrapper<>(); + wrapperXd.orderByDesc(BillHead::getCreateTime); + wrapperXd.eq(BillHead::getBillType, BillTypeEnum.XSDD.getValue()); + wrapperXd.apply("FIND_IN_SET({0}, link_bill_num)",head.getCodeNum()); + //入库单 + List xDList = this.list(wrapperXd); + if(CollectionUtils.isNotEmpty(xDList)){ + throw new BusinessException("已下单不能打回"); + } + } + //销售单 + if(BillTypeEnum.XSDD.getValue().equals(head.getBillType())){ + //单据状态,0未开始、1完成、2进行中,3已关闭,4异常,5待配货,6已发货 + if(head.getPurchaseStatus() != 5){ + throw new BusinessException("只有待配货订单才能打回"); + } + } + + head.setAuditId(0); + //审核状态,10待审核20通过30拒绝 + head.setAuditStatus(10); + //单据状态,0未开始、1完成、2进行中,3已关闭,4异常,5待配货,6已发货 + head.setPurchaseStatus(0); + return this.updateById(head); + } + + //提交异常订单 + @Override + public boolean abnormal(BillHead head) { + BillHead oldHead = this.getById(head.getBillId()); + if(StringUtils.isBlank(head.getAnomalousReason())){ + throw new BusinessException("异常原因不能为空"); + } + //单据状态,0未采购、1完成采购|销售、2部分采购|销售单待发货,3已关闭,4异常,5待配货,6已发货 + oldHead.setPurchaseStatus(4); + return this.updateById(oldHead); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public boolean auditOrder(BillHead head) { + AdminUser adminUser = shopUserService.getById(ShopLoginUtil.getUserId()); + //是否为超级管理员0不是,1是 + if(!adminUser.getIsSuper()){ + throw new BusinessException("只有超管有审批权限"); + } + BillHead oldHead = this.getById(head.getBillId()); + //审核状态,0未审核、1审核通过,2审核拒绝 + if(oldHead.getAuditStatus() != 10){ + throw new BusinessException("只有待审核订单才能审核"); + } + oldHead.setAuditId(adminUser.getShopUserId()); + oldHead.setAuditStatus(head.getAuditStatus()); + //审核状态,10待审核20通过30拒绝 + if(head.getAuditStatus() == 30){ + if(StringUtils.isEmpty(head.getRefuseReason())){ + throw new BusinessException("拒绝原因不能为空"); + } + //单据状态,0未采购、1完成采购|销售、2部分采购|销售单待发货,3已关闭,4异常,5待配货,6已发货 + oldHead.setPurchaseStatus(3); + oldHead.setRefuseReason(head.getRefuseReason()); + } + //审核状态,10待审核20通过30拒绝 + if(head.getAuditStatus() == 20){ + //审核成功,出入库操作 + this.outStock(oldHead); + } + + return this.updateById(oldHead); + } + + //出入库操作 + private void outStock(BillHead oldHead) { + //单据状态,0未采购、1完成采购|销售、2部分采购|销售单待发货,3已关闭,4异常,5待配货,6已发货 + oldHead.setPurchaseStatus(1); + //出入库时间 + oldHead.setOperTime(new Date()); + //如果是出入库类型 + if(BillTypeEnum.getStockValues().contains(oldHead.getBillType())) { + List billItemList = billItemService.list(new LambdaQueryWrapper() + .eq(BillItem::getBillId, oldHead.getBillId()) + //删除标记,0未删除,1删除 + .eq(BillItem::getIsDelete, 0) + ); + for(BillItem item : billItemList){ + ProductExtend extend = productExtendService.getById(item.getProductExtendId()); + if(extend != null && item.getBasicNumber() != 0){ + if(BillTypeEnum.getFoldValues().contains(oldHead.getBillType())){ + //入库,累积库存 + productUtils.addStock(extend, item); + } + if(BillTypeEnum.getOutValues().contains(oldHead.getBillType())){ + //出库,减少库存 + productUtils.subtractStock(extend, item); + } + } + //未到货数量 + if(item.getNoArrivalNumber() != null && item.getNoArrivalNumber() > 0){ + //单据状态,0未采购、1完成采购|销售、2部分采购|销售单待发货,3已关闭,4异常,5待配货,6已发货 + oldHead.setPurchaseStatus(2); + } + } + BillHead newHead = this.getById(oldHead.getBillId()); + //运费合计 + if(newHead.getPurchaseMoney() != null && newHead.getPurchaseMoney().compareTo(BigDecimal.ZERO) > 0 + && newHead.getAccountId() > 0){ + //运费结算 + this.purchaseSettlement(newHead); + } + if(BillTypeEnum.XSCKD.getValue().equals(oldHead.getBillType()) + ){ + //客户结算 + this.customerSettlement(newHead); + }else if(BillTypeEnum.CGRKD.getValue().equals(oldHead.getBillType()) + || BillTypeEnum.CGTHD.getValue().equals(oldHead.getBillType())){ + //供应商结算 + this.supplierSettlement(newHead); + }else if ( BillTypeEnum.XSTHD.getValue().equals(oldHead.getBillType())){ + //客户赔付结算 + this.customerCompensate(newHead); + } + //欠款金额 + if(oldHead.getDeptMoney() != null && oldHead.getDeptMoney().compareTo(BigDecimal.ZERO) > 0){ + //结算状态,0待结算、1已结算、2已结清 + oldHead.setSettlementStatus(1); + }else { + oldHead.setSettlementStatus(2); + } + } + } + + //客户赔付结算 + private void customerCompensate(BillHead head) { + // 记录日志 + AccountMoneyLog log = new AccountMoneyLog(); + //收支类型,1支出,2收入 + log.setDirectionType(1); + //交易往来单位,0其他,1客户,2供应商,3快递 + log.setTradingUnit(1); + //供应商ID + log.setSupplierId(head.getSupplierId()); + //客户id + log.setCustomerId(head.getCustomerId()); + List deliveryList = billDeliveryService.list(new LambdaQueryWrapper() + .eq(BillDelivery::getBillId, head.getBillId()) + .eq(BillDelivery::getIsDelete, 0) + .orderByDesc(BillDelivery::getCreateTime) + ); + if(CollectionUtils.isNotEmpty(deliveryList)){ + //物流公司id + log.setExpressId(deliveryList.get(0).getExpressId()); + } + //账户id + log.setAccountId(head.getAccountId()); + //单据id + log.setBillId(head.getBillId()); + //店铺id + log.setStoreId(head.getStoreId()); + //单据类型 + log.setBillType(head.getBillType()); + //变动金额 + log.setMoney(head.getTotalPrice().negate()); + //摘要 + log.setDescription(String.format(head.getTypeName() + ",单号:%s", head.getCodeNum())); + //业务时间 + log.setBillTime(head.getBusinessTime()); + + // 更新账户余额 + Account account = accountService.getById(head.getAccountId()); + //当前余额 + 本次变动金额 + account.setNowMoney(account.getNowMoney().add(log.getMoney())); + accountService.updateById(account); + + log.setBalanceMoney(account.getNowMoney()); + accountMoneyLogService.save(log); + + //客户结算 + Customer customer = customerService.getById(head.getCustomerId()); + //当前应付 + 本次变动金额 + customer.setAllNeedPay(customer.getAllNeedPay().add(log.getMoney())); + //已付预付款 + 本次变动金额 + customer.setDeposit(customer.getDeposit().add(log.getMoney())); + customerService.updateById(customer); + } + + //客户结算 + private void customerSettlement(BillHead head) { + // 记录日志 + AccountMoneyLog log = new AccountMoneyLog(); + //销售出库单 + if(BillTypeEnum.XSCKD.getValue().equals(head.getBillType())){ + //收支类型,1支出,2收入 + log.setDirectionType(2); + } + //交易往来单位,0其他,1客户,2供应商,3快递 + log.setTradingUnit(1); + //供应商ID + log.setSupplierId(head.getSupplierId()); + //客户id + log.setCustomerId(head.getCustomerId()); + List deliveryList = billDeliveryService.list(new LambdaQueryWrapper() + .eq(BillDelivery::getBillId, head.getBillId()) + .eq(BillDelivery::getIsDelete, 0) + .orderByDesc(BillDelivery::getCreateTime) + ); + if(CollectionUtils.isNotEmpty(deliveryList)){ + //物流公司id + log.setExpressId(deliveryList.get(0).getExpressId()); + } + + //账户id + log.setAccountId(head.getAccountId()); + //单据id + log.setBillId(head.getBillId()); + //店铺id + log.setStoreId(head.getStoreId()); + //单据类型 + log.setBillType(head.getBillType()); + //变动金额 + log.setMoney(head.getDeposit()); + //摘要 + log.setDescription(String.format(head.getTypeName() + ",单号:%s", head.getCodeNum())); + //业务时间 + log.setBillTime(head.getBusinessTime()); + + // 更新账户余额 + Account account = accountService.getById(head.getAccountId()); + //当前余额 + 本次付款金额 + account.setNowMoney(account.getNowMoney().add(head.getDeposit())); + accountService.updateById(account); + + log.setBalanceMoney(account.getNowMoney()); + accountMoneyLogService.save(log); + + //客户结算 + Customer customer = customerService.getById(head.getCustomerId()); + //当前应付 + 合计金额 + customer.setAllNeedPay(customer.getAllNeedPay().add(head.getTotalPrice())); + //已付预付款 + 本次预付金额 + customer.setDeposit(customer.getDeposit().add(head.getDeposit())); + //欠款 + customer.setDebtCredit(customer.getDebtCredit().add(head.getDeptMoney())); + customerService.updateById(customer); + } + + //供应商结算 + private void supplierSettlement(BillHead head) { + // 记录日志 + AccountMoneyLog log = new AccountMoneyLog(); + //采购入库 + if(BillTypeEnum.CGRKD.getValue().equals(head.getBillType())){ + //收支类型,1支出,2收入 + log.setDirectionType(1); + //支出 变动金额取负值 + head.setDeposit(head.getDeposit().negate()); + head.setTotalPrice(head.getTotalPrice().negate()); + } + //采购退货 + if(BillTypeEnum.CGTHD.getValue().equals(head.getBillType())){ + //收支类型,1支出,2收入 + log.setDirectionType(2); + //收入 欠款金额取负值 + head.setDeptMoney(head.getDeptMoney().negate()); + } + //交易往来单位,0其他,1客户,2供应商,3快递 + log.setTradingUnit(2); + //供应商ID + log.setSupplierId(head.getSupplierId()); + //客户id + log.setCustomerId(head.getCustomerId()); + List deliveryList = billDeliveryService.list(new LambdaQueryWrapper() + .eq(BillDelivery::getBillId, head.getBillId()) + .eq(BillDelivery::getIsDelete, 0) + .orderByDesc(BillDelivery::getCreateTime) + ); + if(CollectionUtils.isNotEmpty(deliveryList)){ + //物流公司id + log.setExpressId(deliveryList.get(0).getExpressId()); + } + + //账户id + log.setAccountId(head.getAccountId()); + //单据id + log.setBillId(head.getBillId()); + //店铺id + log.setStoreId(head.getStoreId()); + //单据类型 + log.setBillType(head.getBillType()); + //变动金额 + log.setMoney(head.getDeposit()); + //摘要 + log.setDescription(String.format(head.getTypeName() + ",单号:%s", head.getCodeNum())); + //业务时间 + log.setBillTime(head.getBusinessTime()); + + // 更新账户余额 + Account account = accountService.getById(head.getAccountId()); + if(account == null){ + throw new BusinessException("结算账户不能为空"); + } + //当前余额 - 本次付款金额(退货单时加退回金额) + account.setNowMoney(account.getNowMoney().add(head.getDeposit())); + accountService.updateById(account); + + log.setBalanceMoney(account.getNowMoney()); + accountMoneyLogService.save(log); + + //商户结算 + Supplier supplier = supplierService.getById(head.getSupplierId()); + //当前应付 + 合计金额 + supplier.setAllNeedPay(supplier.getAllNeedPay().add(head.getTotalPrice())); + //已付预付款 + 本次预付金额 + supplier.setAdvancePay(supplier.getAdvancePay().add(head.getDeposit())); + //欠款 + supplier.setDebtCredit(supplier.getDebtCredit().add(head.getDeptMoney())); + supplierService.updateById(supplier); + + } + + //采购运费结算 + private void purchaseSettlement(BillHead head) { + // 更新账户余额 + Account account = accountService.getById(head.getAccountId()); + //当前余额 - 采购运费 + account.setNowMoney(account.getNowMoney().subtract(head.getPurchaseMoney())); + accountService.updateById(account); + + // 记录日志 + AccountMoneyLog log = new AccountMoneyLog(); + //账户id + log.setAccountId(head.getAccountId()); + //单据id + log.setBillId(head.getBillId()); + //店铺id + log.setStoreId(head.getStoreId()); + //单据类型 + log.setBillType(head.getBillType()); + //变动金额 + log.setMoney(head.getPurchaseMoney().negate()); + //摘要 + log.setDescription(String.format(head.getTypeName() + "付运费,单号:%s", head.getCodeNum())); + //业务时间 + log.setBillTime(head.getBusinessTime()); + //收支方向,1支出,2收入 + log.setDirectionType(1); + //交易往来单位,0其他,1客户,2供应商,3快递 + log.setTradingUnit(3); + //供应商ID + log.setSupplierId(head.getSupplierId()); + //客户id + log.setCustomerId(head.getCustomerId()); + List deliveryList = billDeliveryService.list(new LambdaQueryWrapper() + .eq(BillDelivery::getBillId, head.getBillId()) + .eq(BillDelivery::getIsDelete, 0) + .orderByDesc(BillDelivery::getCreateTime) + ); + if(CollectionUtils.isNotEmpty(deliveryList)){ + //物流公司id + log.setExpressId(deliveryList.get(0).getExpressId()); + } + log.setBalanceMoney(account.getNowMoney()); + accountMoneyLogService.save(log); + } + + //修改快递 + @Override + public boolean editDeliver(BillDelivery delivery) { + BillDelivery oldDelivery = null; + if(delivery.getBillId() == null){ + throw new BusinessException("单据ID不能为空"); + } + List list = billDeliveryService.list(new LambdaQueryWrapper() + .eq(BillDelivery::getBillId, delivery.getBillId()) + .eq(BillDelivery::getIsDelete, 0) + .orderByDesc(BillDelivery::getCreateTime) + ); + if(CollectionUtils.isEmpty(list)){ + oldDelivery = new BillDelivery(); + oldDelivery.setBillId(delivery.getBillId()); + }else { + oldDelivery = list.get(0); + } + if(delivery.getExpressId() == null && StringUtils.isBlank(delivery.getExpressNo())){ + throw new BusinessException("物流公司和快递单号不能同时为空"); + } + //物流公司id + if(delivery.getExpressId() != null){ + oldDelivery.setExpressId(delivery.getExpressId()); + Express express = expressService.getById(delivery.getExpressId()); + if(express != null){ + oldDelivery.setExpressName(express.getExpressName()); + } + } + if(StringUtils.isNotBlank(delivery.getExpressNo())){ + oldDelivery.setExpressNo(delivery.getExpressNo()); + } + if(oldDelivery.getBillDeliveryId() != null){ + billDeliveryService.updateById(oldDelivery); + }else { + billDeliveryService.save(oldDelivery); + } + return true; + } + + //设置物流 + @Override + @Transactional(rollbackFor = Exception.class) + public boolean addOrderDelivery(BillHead head) { + if(head.getBillId() == null){ + throw new BusinessException("单据id不能为空"); + } + if(CollectionUtils.isEmpty(head.getDeliveryList())){ + throw new BusinessException("物流不能为空"); + } + List deliveryList = head.getDeliveryList(); + //保存单据商品 + for(BillDelivery item : deliveryList){ + if(item.getExpressId() == null){ + throw new BusinessException("物流公司id不能为空"); + } + if(item.getExpressName() == null){ + throw new BusinessException("物流公司名称不能为空"); + } + if(item.getExpressNo() == null){ + throw new BusinessException("快递单号不能为空"); + } + item.setBillId(head.getBillId()); + if(item.getBillDeliveryId() != null){ + if(checkIsExpressNoExist(item.getBillDeliveryId(), head.getExpressNo()) > 0){ + throw new BusinessException("快递单号已存在"); + } + billDeliveryService.updateById(item); + }else { + if(checkIsExpressNoExist(null, head.getExpressNo()) > 0){ + throw new BusinessException("快递单号已存在"); + } + billDeliveryService.save(item); + } + } + return true; + } +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/bill/impl/BillItemServiceImpl.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/bill/impl/BillItemServiceImpl.java new file mode 100644 index 0000000..d0f57aa --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/bill/impl/BillItemServiceImpl.java @@ -0,0 +1,24 @@ +package net.jjjerp.admin.service.bill.impl; + +import net.jjjerp.common.entity.bill.BillItem; +import net.jjjerp.common.mapper.bill.BillItemMapper; +import net.jjjerp.admin.service.bill.BillItemService; +import net.jjjerp.framework.common.service.impl.BaseServiceImpl; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.beans.factory.annotation.Autowired; + +/** + * 单据子表 服务实现类 + * + * @author jjjerp + * @since 2024-05-07 + */ +@Slf4j +@Service +public class BillItemServiceImpl extends BaseServiceImpl implements BillItemService { + + @Autowired + private BillItemMapper billItemMapper; + +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/customer/CustomerAddressService.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/customer/CustomerAddressService.java new file mode 100644 index 0000000..873d827 --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/customer/CustomerAddressService.java @@ -0,0 +1,14 @@ +package net.jjjerp.admin.service.customer; + +import net.jjjerp.common.entity.customer.CustomerAddress; +import net.jjjerp.framework.common.service.BaseService; + +/** + * 用户收货地址表 服务类 + * + * @author jjjerp + * @since 2024-04-22 + */ +public interface CustomerAddressService extends BaseService { + +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/customer/CustomerService.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/customer/CustomerService.java new file mode 100644 index 0000000..98fbd24 --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/customer/CustomerService.java @@ -0,0 +1,27 @@ +package net.jjjerp.admin.service.customer; + +import net.jjjerp.common.entity.customer.Customer; +import net.jjjerp.common.param.CommonPageParam; +import net.jjjerp.framework.common.service.BaseService; +import net.jjjerp.framework.core.pagination.Paging; + +import java.util.Map; + +/** + * 客户记录表 服务类 + * + * @author jjjerp + * @since 2024-04-22 + */ +public interface CustomerService extends BaseService { + + Paging getList(CommonPageParam param); + + boolean add(Customer customer); + + Map toEdit(Integer userId); + + boolean edit(Customer customer); + + boolean delById(Integer userId); +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/customer/impl/CustomerAddressServiceImpl.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/customer/impl/CustomerAddressServiceImpl.java new file mode 100644 index 0000000..21c895a --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/customer/impl/CustomerAddressServiceImpl.java @@ -0,0 +1,24 @@ +package net.jjjerp.admin.service.customer.impl; + +import net.jjjerp.common.entity.customer.CustomerAddress; +import net.jjjerp.common.mapper.customer.CustomerAddressMapper; +import net.jjjerp.admin.service.customer.CustomerAddressService; +import net.jjjerp.framework.common.service.impl.BaseServiceImpl; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.beans.factory.annotation.Autowired; + +/** + * 用户收货地址表 服务实现类 + * + * @author jjjerp + * @since 2024-04-22 + */ +@Slf4j +@Service +public class CustomerAddressServiceImpl extends BaseServiceImpl implements CustomerAddressService { + + @Autowired + private CustomerAddressMapper customerAddressMapper; + +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/customer/impl/CustomerServiceImpl.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/customer/impl/CustomerServiceImpl.java new file mode 100644 index 0000000..722b8bd --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/customer/impl/CustomerServiceImpl.java @@ -0,0 +1,176 @@ +package net.jjjerp.admin.service.customer.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import net.jjjerp.common.cache.RegionCache; +import net.jjjerp.common.entity.customer.Customer; +import net.jjjerp.common.entity.customer.CustomerAddress; +import net.jjjerp.common.entity.product.ProductAttribute; +import net.jjjerp.common.enums.StoreTypeEnum; +import net.jjjerp.common.mapper.customer.CustomerMapper; +import net.jjjerp.common.param.CommonPageParam; +import net.jjjerp.admin.service.customer.CustomerAddressService; +import net.jjjerp.admin.service.customer.CustomerService; +import net.jjjerp.framework.common.exception.BusinessException; +import net.jjjerp.framework.common.service.impl.BaseServiceImpl; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.framework.core.pagination.PageInfo; +import net.jjjerp.framework.core.pagination.Paging; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.transaction.annotation.Transactional; + +import java.util.HashMap; +import java.util.Map; + +/** + * 客户记录表 服务实现类 + * + * @author jjjerp + * @since 2024-04-22 + */ +@Slf4j +@Service +public class CustomerServiceImpl extends BaseServiceImpl implements CustomerService { + + @Autowired + private CustomerMapper customerMapper; + @Autowired + private CustomerAddressService customerAddressService; + @Autowired + private RegionCache regionCache; + + @Override + public Paging getList(CommonPageParam param) { + // 客户列表 + Page page = new PageInfo<>(param); + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + //删除标记,0未删除,1删除 + wrapper.eq(Customer::getIsDelete, 0); + //编码搜索 + if(StringUtils.isNotEmpty(param.getCode())){ + wrapper.like(Customer::getUserCode, param.getCode()); + } + //姓名搜索 + if(StringUtils.isNotEmpty(param.getName())){ + wrapper.like(Customer::getRealName, param.getName()); + } + //昵称搜索 + if(StringUtils.isNotEmpty(param.getNickName())){ + wrapper.like(Customer::getNickName, param.getNickName()); + } + //手机号搜索 + if(StringUtils.isNotEmpty(param.getPhone())){ + wrapper.like(Customer::getPhone, param.getPhone()); + } + //平台类型 + if(param.getType() != null && param.getType() > 0){ + wrapper.eq(Customer::getPlatformType, param.getType()); + } + wrapper.orderByDesc(Customer::getCreateTime); + IPage iPage = this.page(page, wrapper); + // 最终返回分页对象 + IPage result = iPage.convert(this::transVo); + return new Paging<>(result); + } + + private Customer transVo(Customer customer) { + customer.setAddressList(customerAddressService.list(new LambdaQueryWrapper().eq(CustomerAddress::getCustomerId, customer.getCustomerId()))); + return customer; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public boolean add(Customer customer) { + if(this.checkIsNameExist(null, customer.getNickName()) > 0){ + throw new BusinessException("昵称已存在"); + } + if(customer.getInitial() == null){ + throw new BusinessException("期初应付款不能为空"); + } + //欠款总额 + customer.setDebtCredit(customer.getInitial()); + //当前应付 = 期初应付 + customer.setAllNeedPay(customer.getInitial()); + this.save(customer); + if(CollectionUtils.isNotEmpty(customer.getAddressList())){ + //保存客户地址 + customer.getAddressList().forEach(address -> { + address.setCustomerId(customer.getCustomerId()); + customerAddressService.save(address); + }); + } + return true; + } + + public int checkIsNameExist(Integer id, String nickName) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + if(id != null){ + wrapper.ne(Customer::getCustomerId, id); + } + wrapper.eq(Customer::getNickName, nickName); + //删除标记,0未删除,1删除 + wrapper.eq(Customer::getIsDelete, 0); + return this.count(wrapper); + } + + @Override + public Map toEdit(Integer userId) { + Map map = new HashMap<>(); + map.put("region",regionCache.getCacheTree()); + map.put("platformType", StoreTypeEnum.getList()); + Customer customer = this.getById(userId); + if(customer != null){ + customer.setAddressList(customerAddressService.list(new LambdaQueryWrapper().eq(CustomerAddress::getCustomerId, userId))); + } + map.put("model", customer); + return map; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public boolean edit(Customer customer) { + if(StringUtils.isEmpty(customer.getNickName())){ + throw new BusinessException("昵称不能为空"); + }else { + if(this.checkIsNameExist(customer.getCustomerId(), customer.getNickName()) > 0){ + throw new BusinessException("昵称已存在"); + } + } + //金额不能编辑 + //当前应付 + customer.setAllNeedPay(null); + //已付预付款 + customer.setDeposit(null); + //期初应收款 + customer.setInitial(null); + //欠款总额 + customer.setDebtCredit(null); + this.updateById(customer); + //保存客户地址 + if(CollectionUtils.isEmpty(customer.getAddressList())){ + customerAddressService.remove(new LambdaQueryWrapper().eq(CustomerAddress::getCustomerId, customer.getCustomerId())); + }else { + customer.getAddressList().forEach(address -> { + address.setCustomerId(customer.getCustomerId()); + if(address.getAddressId() != null){ + customerAddressService.updateById(address); + }else { + customerAddressService.save(address); + } + }); + } + return true; + } + + @Override + public boolean delById(Integer userId) { + Customer customer = this.getById(userId); + //删除标记,0未删除,1删除 + customer.setIsDelete(1); + return this.updateById(customer); + } +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/depot/DeliverAreaService.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/depot/DeliverAreaService.java new file mode 100644 index 0000000..337f2f2 --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/depot/DeliverAreaService.java @@ -0,0 +1,28 @@ +package net.jjjerp.admin.service.depot; + +import net.jjjerp.common.entity.depot.DeliverArea; +import net.jjjerp.framework.common.service.BaseService; + +import java.util.List; +import java.util.Map; + +/** + * 配送区域表 服务类 + * + * @author jjjerp + * @since 2024-04-29 + */ +public interface DeliverAreaService extends BaseService { + + List getList(); + + boolean add(DeliverArea area); + + boolean edit(DeliverArea area); + + boolean delById(Integer deliverAreaId); + + Map getAdd(); + + Map getEdit(Integer deliverAreaId); +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/depot/DepotAreaService.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/depot/DepotAreaService.java new file mode 100644 index 0000000..4453392 --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/depot/DepotAreaService.java @@ -0,0 +1,25 @@ +package net.jjjerp.admin.service.depot; + +import net.jjjerp.common.entity.depot.DepotArea; +import net.jjjerp.common.param.CommonPageParam; +import net.jjjerp.framework.common.service.BaseService; +import net.jjjerp.framework.core.pagination.Paging; + +import java.util.List; + +/** + * 仓库区域表 服务类 + * + * @author jjjerp + * @since 2024-04-22 + */ +public interface DepotAreaService extends BaseService { + + List getList(CommonPageParam param); + + boolean add(DepotArea area); + + boolean edit(DepotArea area); + + boolean delById(Integer depotAreaId); +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/depot/DepotReservoirService.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/depot/DepotReservoirService.java new file mode 100644 index 0000000..0f7f007 --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/depot/DepotReservoirService.java @@ -0,0 +1,24 @@ +package net.jjjerp.admin.service.depot; + +import net.jjjerp.common.entity.depot.DepotReservoir; +import net.jjjerp.common.param.CommonPageParam; +import net.jjjerp.framework.common.service.BaseService; + +import java.util.List; + +/** + * 仓库库区表 服务类 + * + * @author jjjerp + * @since 2024-04-22 + */ +public interface DepotReservoirService extends BaseService { + + List getList(CommonPageParam param); + + boolean add(DepotReservoir reservoir); + + boolean edit(DepotReservoir reservoir); + + boolean delById(Integer depotReservoirId); +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/depot/DepotService.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/depot/DepotService.java new file mode 100644 index 0000000..816c1c4 --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/depot/DepotService.java @@ -0,0 +1,30 @@ +package net.jjjerp.admin.service.depot; + +import net.jjjerp.common.entity.depot.Depot; +import net.jjjerp.common.entity.store.Store; +import net.jjjerp.common.param.CommonPageParam; +import net.jjjerp.framework.common.service.BaseService; +import net.jjjerp.framework.core.pagination.Paging; + +import java.util.List; + +/** + * 仓库表 服务类 + * + * @author jjjerp + * @since 2024-04-22 + */ +public interface DepotService extends BaseService { + + Paging getList(CommonPageParam param); + + boolean add(Depot depot); + + boolean edit(Depot depot); + + boolean setState(Long depotId, Integer enabled); + + boolean delById(Long depotId); + + List getAll(); +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/depot/DepotShelfService.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/depot/DepotShelfService.java new file mode 100644 index 0000000..466d862 --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/depot/DepotShelfService.java @@ -0,0 +1,24 @@ +package net.jjjerp.admin.service.depot; + +import net.jjjerp.common.entity.depot.DepotShelf; +import net.jjjerp.common.param.CommonPageParam; +import net.jjjerp.framework.common.service.BaseService; + +import java.util.List; + +/** + * 仓库货架表 服务类 + * + * @author jjjerp + * @since 2024-04-22 + */ +public interface DepotShelfService extends BaseService { + + List getList(CommonPageParam param); + + boolean add(DepotShelf shelf); + + boolean edit(DepotShelf shelf); + + boolean delById(Integer depotShelfId); +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/depot/DepotStorageService.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/depot/DepotStorageService.java new file mode 100644 index 0000000..e59831c --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/depot/DepotStorageService.java @@ -0,0 +1,34 @@ +package net.jjjerp.admin.service.depot; + +import net.jjjerp.common.entity.depot.DepotShelf; +import net.jjjerp.common.entity.depot.DepotStorage; +import net.jjjerp.common.entity.store.Store; +import net.jjjerp.common.param.CommonPageParam; +import net.jjjerp.common.param.depot.StorageParam; +import net.jjjerp.framework.common.service.BaseService; +import net.jjjerp.framework.core.pagination.Paging; + +import java.util.List; + +/** + * 仓库货位表 服务类 + * + * @author jjjerp + * @since 2024-04-22 + */ +public interface DepotStorageService extends BaseService { + + Paging getList(CommonPageParam param); + + boolean add(DepotStorage storage); + + boolean edit(DepotStorage storage); + + boolean delById(Integer depotStorageId); + + boolean settingStock(DepotStorage storage); + + DepotStorage getStock(Integer depotStorageId); + + List batchAdd(StorageParam param); +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/depot/DepotStorageStockService.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/depot/DepotStorageStockService.java new file mode 100644 index 0000000..0e678eb --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/depot/DepotStorageStockService.java @@ -0,0 +1,20 @@ +package net.jjjerp.admin.service.depot; + +import net.jjjerp.common.entity.depot.DepotStorage; +import net.jjjerp.common.entity.depot.DepotStorageStock; +import net.jjjerp.framework.common.service.BaseService; + +/** + * 仓库货位库存表 服务类 + * + * @author jjjerp + * @since 2024-04-22 + */ +public interface DepotStorageStockService extends BaseService { + + //检查商品规格是否已绑定 + Integer checkIsExtendExist(Long productExtendId, Integer storageStockId); + + //获取商品绑定货位 + DepotStorage getStorage(Long productExtendId); +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/depot/impl/DeliverAreaServiceImpl.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/depot/impl/DeliverAreaServiceImpl.java new file mode 100644 index 0000000..aa5024a --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/depot/impl/DeliverAreaServiceImpl.java @@ -0,0 +1,139 @@ +package net.jjjerp.admin.service.depot.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import net.jjjerp.common.entity.depot.DeliverArea; +import net.jjjerp.common.entity.depot.DepotReservoir; +import net.jjjerp.common.entity.depot.DepotStorage; +import net.jjjerp.common.entity.depot.DepotStorageStock; +import net.jjjerp.common.entity.settings.Region; +import net.jjjerp.common.mapper.depot.DeliverAreaMapper; +import net.jjjerp.admin.service.depot.DeliverAreaService; +import net.jjjerp.admin.service.settings.RegionService; +import net.jjjerp.config.constant.CommonConstant; +import net.jjjerp.framework.common.exception.BusinessException; +import net.jjjerp.framework.common.service.impl.BaseServiceImpl; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang3.ArrayUtils; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; +import org.springframework.beans.factory.annotation.Autowired; + +import java.util.*; +import java.util.stream.Collectors; + +/** + * 配送区域表 服务实现类 + * + * @author jjjerp + * @since 2024-04-29 + */ +@Slf4j +@Service +public class DeliverAreaServiceImpl extends BaseServiceImpl implements DeliverAreaService { + + @Autowired + private DeliverAreaMapper deliverAreaMapper; + @Autowired + private RegionService regionService; + + @Override + public List getList() { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + //是否显示1显示0隐藏 + wrapper.eq(DeliverArea::getStatus, 1); + wrapper.orderByDesc(DeliverArea::getCreateTime); + List list = this.list(wrapper); + list = list.stream().map(this::transVo).collect(Collectors.toList()); + return list; + } + + public DeliverArea transVo(DeliverArea area){ + //暂时没有要添加的 + return area; + } + + + @Override + public boolean add(DeliverArea area) { + if(this.checkIsNameExist(null, area.getName()) > 0){ + throw new BusinessException("区域名称已存在"); + } + List provinceIdList = area.getProvinceIdList(); + area.setProvinceIds(StringUtils.join(provinceIdList, ",")); + List provinceNameList = area.getProvinceNameList(); + area.setProvinceNames(StringUtils.join(provinceNameList, ",")); + return this.save(area); + } + + private Integer checkIsNameExist(Integer deliverAreaId, String name) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + if(deliverAreaId != null){ + wrapper.ne(DeliverArea::getDeliverAreaId, deliverAreaId); + } + wrapper.eq(DeliverArea::getName, name); + //是否显示1显示0隐藏 + wrapper.eq(DeliverArea::getStatus, 1); + return this.count(wrapper); + } + + @Override + public boolean edit(DeliverArea area) { + if(this.checkIsNameExist(area.getDeliverAreaId(), area.getName()) > 0){ + throw new BusinessException("区域名称已存在"); + } + List provinceIdList = area.getProvinceIdList(); + area.setProvinceIds(StringUtils.join(provinceIdList, ",")); + List provinceNameList = area.getProvinceNameList(); + area.setProvinceNames(StringUtils.join(provinceNameList, ",")); + return this.updateById(area); + } + + @Override + public boolean delById(Integer deliverAreaId) { + DeliverArea area= new DeliverArea(); + area.setDeliverAreaId(deliverAreaId); + //是否显示1显示0隐藏 + area.setStatus(0); + return this.updateById(area); + } + + @Override + public Map getAdd() { + Map map = new HashMap<>(); + List areaList = this.list(new LambdaQueryWrapper().eq(DeliverArea::getStatus, 1)); + Set provinceIdList = new HashSet<>(); + for(DeliverArea area : areaList){ + List idList = Arrays.stream(area.getProvinceIds().split(",")).map(Integer::valueOf).collect(Collectors.toList()); + provinceIdList.addAll(idList); + } + //所有已添加的省份ID + map.put("allAddIdList", provinceIdList); + // 所有地区 + List allList = regionService.list(new LambdaQueryWrapper() + //层级 1 2 3 省市区县 + .eq(Region::getLevel, 1) + .eq(Region::getIsDelete, false)); + map.put("provinceList", allList); + return map; + } + + @Override + public Map getEdit(Integer deliverAreaId) { + Map map = new HashMap<>(); + DeliverArea area= this.getById(deliverAreaId); + if(area != null){ + List provinceIdList = Arrays.stream(area.getProvinceIds().split(",")).map(Integer::valueOf).collect(Collectors.toList()); + //已添加的省份ID + map.put("addIdList", provinceIdList); + } + // 所有地区 + List allList = regionService.list(new LambdaQueryWrapper() + //层级 1 2 3 省市区县 + .eq(Region::getLevel, 1) + .eq(Region::getIsDelete, false)); + map.put("provinceList", allList); + return map; + } +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/depot/impl/DepotAreaServiceImpl.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/depot/impl/DepotAreaServiceImpl.java new file mode 100644 index 0000000..9139471 --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/depot/impl/DepotAreaServiceImpl.java @@ -0,0 +1,147 @@ +package net.jjjerp.admin.service.depot.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import net.jjjerp.common.entity.depot.Depot; +import net.jjjerp.common.entity.depot.DepotArea; +import net.jjjerp.common.entity.depot.DepotReservoir; +import net.jjjerp.common.entity.depot.DepotShelf; +import net.jjjerp.common.mapper.depot.DepotAreaMapper; +import net.jjjerp.common.param.CommonPageParam; +import net.jjjerp.admin.service.depot.DepotAreaService; +import net.jjjerp.admin.service.depot.DepotReservoirService; +import net.jjjerp.admin.service.depot.DepotShelfService; +import net.jjjerp.framework.common.exception.BusinessException; +import net.jjjerp.framework.common.service.impl.BaseServiceImpl; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.framework.core.pagination.PageInfo; +import net.jjjerp.framework.core.pagination.Paging; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; +import org.springframework.beans.factory.annotation.Autowired; + +import java.util.List; +import java.util.stream.Collectors; + +/** + * 仓库区域表 服务实现类 + * + * @author jjjerp + * @since 2024-04-22 + */ +@Slf4j +@Service +public class DepotAreaServiceImpl extends BaseServiceImpl implements DepotAreaService { + + @Autowired + private DepotAreaMapper depotAreaMapper; + @Autowired + private DepotReservoirService reservationService; + @Autowired + private DepotShelfService shelfService; + + @Override + public List getList(CommonPageParam param) { + // 仓库区域列表 + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + //是否显示1显示0隐藏 + wrapper.eq(DepotArea::getStatus, 1); + if(param.getDepotId() == null){ + throw new BusinessException("仓库id不能为空"); + } + //仓库id + wrapper.eq(DepotArea::getDepotId, param.getDepotId()); + wrapper.orderByDesc(DepotArea::getCreateTime); + List list = this.list(wrapper); + list = list.stream().map(this::transVo).collect(Collectors.toList()); + return list; + } + + public DepotArea transVo(DepotArea area) { + //库区List + area.setReservoirList(reservationService.list(new LambdaQueryWrapper() + .eq(DepotReservoir::getAreaId,area.getDepotAreaId()) + //是否显示1显示0隐藏 + .eq(DepotReservoir::getStatus,1) + )); + if(CollectionUtils.isNotEmpty(area.getReservoirList())){ + for(DepotReservoir reservation : area.getReservoirList()){ + //货架List + reservation.setShelfList(shelfService.list(new LambdaQueryWrapper() + .eq(DepotShelf::getReservoirId,reservation.getDepotReservoirId()) + //是否显示1显示0隐藏 + .eq(DepotShelf::getStatus,1) + )); + } + } + return area; + } + + @Override + public boolean add(DepotArea area) { + if(this.checkIsNameExist(null,area.getDepotId(), area.getAreaName()) > 0){ + throw new BusinessException("区域名称已存在"); + } + if(StringUtils.isNotEmpty(area.getAreaCode())){ + if(this.checkIsCodeExist(null,area.getDepotId(), area.getAreaCode()) > 0){ + throw new BusinessException("区域编码已存在"); + } + } + return this.save(area); + } + + public int checkIsNameExist(Integer id,Long depotId, String name) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + if(id != null){ + wrapper.ne(DepotArea::getDepotAreaId, id); + } + wrapper.eq(DepotArea::getAreaName, name); + wrapper.eq(DepotArea::getDepotId, depotId); + //是否显示1显示0隐藏 + wrapper.eq(DepotArea::getStatus, 1); + return this.count(wrapper); + } + + public int checkIsCodeExist(Integer id,Long depotId, String code) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + if(id != null){ + wrapper.ne(DepotArea::getDepotAreaId, id); + } + wrapper.eq(DepotArea::getAreaCode, code); + wrapper.eq(DepotArea::getDepotId, depotId); + //是否显示1显示0隐藏 + wrapper.eq(DepotArea::getStatus, 1); + return this.count(wrapper); + } + + @Override + public boolean edit(DepotArea area) { + if(this.checkIsNameExist(area.getDepotAreaId(),area.getDepotId(), area.getAreaName()) > 0){ + throw new BusinessException("区域名称已存在"); + } + if(this.checkIsCodeExist(area.getDepotAreaId(),area.getDepotId(), area.getAreaCode()) > 0){ + throw new BusinessException("区域编码已存在"); + } + return this.updateById(area); + } + + @Override + public boolean delById(Integer depotAreaId) { + //库区List + List reservoirList = reservationService.list(new LambdaQueryWrapper() + .eq(DepotReservoir::getAreaId,depotAreaId) + //是否显示1显示0隐藏 + .eq(DepotReservoir::getStatus,1) + ); + if(CollectionUtils.isNotEmpty(reservoirList)){ + throw new BusinessException("区域不是空的, 请先删除区域下的库区后再重试"); + } + DepotArea area = new DepotArea(); + area.setDepotAreaId(depotAreaId); + //是否显示1显示0隐藏 + area.setStatus(0); + return this.updateById(area); + } +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/depot/impl/DepotReservoirServiceImpl.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/depot/impl/DepotReservoirServiceImpl.java new file mode 100644 index 0000000..8b92c5a --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/depot/impl/DepotReservoirServiceImpl.java @@ -0,0 +1,138 @@ +package net.jjjerp.admin.service.depot.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import net.jjjerp.common.entity.depot.DepotArea; +import net.jjjerp.common.entity.depot.DepotReservoir; +import net.jjjerp.common.entity.depot.DepotShelf; +import net.jjjerp.common.entity.depot.DepotStorage; +import net.jjjerp.common.mapper.depot.DepotReservoirMapper; +import net.jjjerp.common.param.CommonPageParam; +import net.jjjerp.admin.service.depot.DepotAreaService; +import net.jjjerp.admin.service.depot.DepotReservoirService; +import net.jjjerp.admin.service.depot.DepotShelfService; +import net.jjjerp.admin.service.depot.DepotStorageService; +import net.jjjerp.framework.common.exception.BusinessException; +import net.jjjerp.framework.common.service.impl.BaseServiceImpl; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; +import org.springframework.beans.factory.annotation.Autowired; + +import java.util.List; +import java.util.stream.Collectors; + +/** + * 仓库库区表 服务实现类 + * + * @author jjjerp + * @since 2024-04-22 + */ +@Slf4j +@Service +public class DepotReservoirServiceImpl extends BaseServiceImpl implements DepotReservoirService { + + @Autowired + private DepotReservoirMapper depotReservoirMapper; + @Autowired + private DepotShelfService shelfService; + @Autowired + private DepotStorageService storageService; + @Autowired + private DepotAreaService areaService; + + @Override + public List getList(CommonPageParam param) { + // 仓库库区列表 + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + //是否显示1显示0隐藏 + wrapper.eq(DepotReservoir::getStatus, 1); + if(param.getAreaId() == null){ + throw new BusinessException("区域id不能为空"); + } + //区域id + wrapper.eq(DepotReservoir::getAreaId, param.getAreaId()); + wrapper.orderByDesc(DepotReservoir::getCreateTime); + return this.list(wrapper); + } + + @Override + public boolean add(DepotReservoir reservoir) { + if(reservoir.getAreaId() == null){ + throw new BusinessException("区域id不能为空"); + } + DepotArea area = areaService.getById(reservoir.getAreaId()); + if(this.checkIsNameExist(null,area.getDepotId(), reservoir.getReservoirName()) > 0){ + throw new BusinessException("名称已存在"); + } + if(StringUtils.isNotEmpty(reservoir.getReservoirCode())){ + if(this.checkIsCodeExist(null,area.getDepotId(), reservoir.getReservoirCode()) > 0){ + throw new BusinessException("编码已存在"); + } + } + reservoir.setDepotId(area.getDepotId()); + return this.save(reservoir); + } + + public int checkIsNameExist(Integer id,Long depotId, String name) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + if(id != null){ + wrapper.ne(DepotReservoir::getDepotReservoirId, id); + } + wrapper.eq(DepotReservoir::getReservoirName, name); + wrapper.eq(DepotReservoir::getDepotId, depotId); + //是否显示1显示0隐藏 + wrapper.eq(DepotReservoir::getStatus, 1); + return this.count(wrapper); + } + + public int checkIsCodeExist(Integer id,Long depotId, String code) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + if(id != null){ + wrapper.ne(DepotReservoir::getDepotReservoirId, id); + } + wrapper.eq(DepotReservoir::getReservoirCode, code); + wrapper.eq(DepotReservoir::getDepotId, depotId); + //是否显示1显示0隐藏 + wrapper.eq(DepotReservoir::getStatus, 1); + return this.count(wrapper); + } + + @Override + public boolean edit(DepotReservoir reservoir) { + if(this.checkIsNameExist(reservoir.getDepotReservoirId(),reservoir.getDepotId(), reservoir.getReservoirName()) > 0){ + throw new BusinessException("名称已存在"); + } + if(this.checkIsCodeExist(reservoir.getDepotReservoirId(),reservoir.getDepotId(), reservoir.getReservoirCode()) > 0){ + throw new BusinessException("编码已存在"); + } + return this.updateById(reservoir); + } + + @Override + public boolean delById(Integer depotReservoirId) { + //货架List + List shelfList = shelfService.list(new LambdaQueryWrapper() + .eq(DepotShelf::getReservoirId,depotReservoirId) + //是否显示1显示0隐藏 + .eq(DepotShelf::getStatus,1) + ); + if(CollectionUtils.isNotEmpty(shelfList)){ + throw new BusinessException("库区不是空的, 请先删除库区下的货架后再重试"); + } + //货位List + List storageList = storageService.list(new LambdaQueryWrapper() + .eq(DepotStorage::getReservoirId,depotReservoirId) + //是否显示1显示0隐藏 + .eq(DepotStorage::getStatus,1) + ); + if(CollectionUtils.isNotEmpty(storageList)){ + throw new BusinessException("库区不是空的, 请先删除库区下的货位后再重试"); + } + DepotReservoir reservoir= new DepotReservoir(); + reservoir.setDepotReservoirId(depotReservoirId); + //是否显示1显示0隐藏 + reservoir.setStatus(0); + return this.updateById(reservoir); + } +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/depot/impl/DepotServiceImpl.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/depot/impl/DepotServiceImpl.java new file mode 100644 index 0000000..c39bd2e --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/depot/impl/DepotServiceImpl.java @@ -0,0 +1,159 @@ +package net.jjjerp.admin.service.depot.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import net.jjjerp.admin.service.bill.BillHeadService; +import net.jjjerp.common.entity.bill.BillHead; +import net.jjjerp.common.entity.depot.Depot; +import net.jjjerp.common.entity.store.Store; +import net.jjjerp.common.entity.supplier.Supplier; +import net.jjjerp.common.mapper.depot.DepotMapper; +import net.jjjerp.common.param.CommonPageParam; +import net.jjjerp.admin.service.depot.DepotService; +import net.jjjerp.framework.common.exception.BusinessException; +import net.jjjerp.framework.common.service.impl.BaseServiceImpl; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.framework.core.pagination.PageInfo; +import net.jjjerp.framework.core.pagination.Paging; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; +import org.springframework.beans.factory.annotation.Autowired; + +import java.util.List; + +/** + * 仓库表 服务实现类 + * + * @author jjjerp + * @since 2024-04-22 + */ +@Slf4j +@Service +public class DepotServiceImpl extends BaseServiceImpl implements DepotService { + + @Autowired + private DepotMapper depotMapper; + @Autowired + private BillHeadService billHeadService; + + @Override + public Paging getList(CommonPageParam param) { + // 仓库列表 + Page page = new PageInfo<>(param); + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + //删除标记,0未删除,1删除 + wrapper.eq(Depot::getDeleteFlag, 0); + //编码搜索 + if(StringUtils.isNotEmpty(param.getCode())){ + wrapper.like(Depot::getCode, param.getCode()); + } + //名称搜索 + if(StringUtils.isNotEmpty(param.getName())){ + wrapper.like(Depot::getName, param.getName()); + } + // 启用 0-禁用 1-启用 + if(param.getEnabled() != null && param.getEnabled() > -1){ + wrapper.eq(Depot::getEnabled, param.getEnabled()); + } + //仓库类型,0正品仓,1次品仓,2门店仓 + if(param.getType() != null && param.getType() > -1){ + wrapper.eq(Depot::getType, param.getType()); + } + wrapper.orderByDesc(Depot::getCreateTime); + IPage iPage = this.page(page, wrapper); + // 最终返回分页对象 + return new Paging<>(iPage); + } + + @Override + public boolean add(Depot depot) { + if(this.checkIsNameExist(null, depot.getName()) > 0){ + throw new BusinessException("仓库名称已存在"); + } + if(StringUtils.isNotEmpty(depot.getCode())){ + if(this.checkIsCodeExist(null, depot.getCode()) > 0){ + throw new BusinessException("仓库编码已存在"); + } + } + return this.save(depot); + } + + public int checkIsNameExist(Long id, String name) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + if(id != null){ + wrapper.ne(Depot::getDepotId, id); + } + wrapper.eq(Depot::getName, name); + //删除标记,0未删除,1删除 + wrapper.eq(Depot::getDeleteFlag, 0); + return this.count(wrapper); + } + + public int checkIsCodeExist(Long id, String code) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + if(id != null){ + wrapper.ne(Depot::getDepotId, id); + } + wrapper.eq(Depot::getCode, code); + //删除标记,0未删除,1删除 + wrapper.eq(Depot::getDeleteFlag, 0); + return this.count(wrapper); + } + + @Override + public boolean edit(Depot depot) { + if(this.checkIsNameExist(depot.getDepotId(), depot.getName()) > 0){ + throw new BusinessException("仓库名称已存在"); + } + if(StringUtils.isNotEmpty(depot.getCode())){ + if(this.checkIsCodeExist(depot.getDepotId(), depot.getCode()) > 0){ + throw new BusinessException("仓库编码已存在"); + } + } + return this.updateById(depot); + } + + @Override + public boolean setState(Long depotId, Integer enabled) { + Depot depot = new Depot(); + depot.setDepotId(depotId); + //启用 0-禁用 1-启用 + depot.setEnabled(enabled); + if(depot.getEnabled() == 0){ + if(this.countHesdByDepotId(depotId) > 0){ + throw new BusinessException("仓库已产生单据,不能停用"); + } + } + return this.updateById(depot); + } + + public Integer countHesdByDepotId(Long depotId) { + return billHeadService.count(new LambdaQueryWrapper() + .eq(BillHead::getDepotId, depotId) + .eq(BillHead::getDeleteFlag, 0) + ); + } + + @Override + public boolean delById(Long depotId) { + Depot depot = this.getById(depotId); + //已经停用能够删除 + if(depot.getEnabled() == 1){ + throw new BusinessException("启用状态不能删除"); + } + //删除标记,0未删除,1删除 + depot.setDeleteFlag(1); + return this.updateById(depot); + } + + //仓库列表 + @Override + public List getAll() { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + //删除标记,0未删除,1删除 + wrapper.eq(Depot::getDeleteFlag, 0); + wrapper.orderByDesc(Depot::getCreateTime); + return this.list(wrapper); + } +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/depot/impl/DepotShelfServiceImpl.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/depot/impl/DepotShelfServiceImpl.java new file mode 100644 index 0000000..0a7508f --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/depot/impl/DepotShelfServiceImpl.java @@ -0,0 +1,132 @@ +package net.jjjerp.admin.service.depot.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import net.jjjerp.common.entity.depot.DepotArea; +import net.jjjerp.common.entity.depot.DepotReservoir; +import net.jjjerp.common.entity.depot.DepotShelf; +import net.jjjerp.common.entity.depot.DepotStorage; +import net.jjjerp.common.mapper.depot.DepotShelfMapper; +import net.jjjerp.common.param.CommonPageParam; +import net.jjjerp.admin.service.depot.DepotReservoirService; +import net.jjjerp.admin.service.depot.DepotShelfService; +import net.jjjerp.admin.service.depot.DepotStorageService; +import net.jjjerp.framework.common.exception.BusinessException; +import net.jjjerp.framework.common.service.impl.BaseServiceImpl; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; +import org.springframework.beans.factory.annotation.Autowired; + +import java.util.List; + +/** + * 仓库货架表 服务实现类 + * + * @author jjjerp + * @since 2024-04-22 + */ +@Slf4j +@Service +public class DepotShelfServiceImpl extends BaseServiceImpl implements DepotShelfService { + + @Autowired + private DepotShelfMapper depotShelfMapper; + @Autowired + private DepotReservoirService reservoirService; + @Autowired + private DepotStorageService storageService; + + @Override + public List getList(CommonPageParam param) { + // 仓库货架列表 + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + //是否显示1显示0隐藏 + wrapper.eq(DepotShelf::getStatus, 1); + if(param.getReservoirId() == null){ + throw new BusinessException("库区id不能为空"); + } + //库区id + wrapper.eq(DepotShelf::getReservoirId, param.getReservoirId()); + wrapper.orderByDesc(DepotShelf::getCreateTime); + List list = this.list(wrapper); + for(DepotShelf shelf: list){ + DepotReservoir reservoir = reservoirService.getById(shelf.getReservoirId()); + if(reservoir != null){ + shelf.setReservoirName(reservoir.getReservoirName()); + } + } + return list; + } + + @Override + public boolean add(DepotShelf shelf) { + if(shelf.getReservoirId() == null){ + throw new BusinessException("库区id不能为空"); + } + DepotReservoir reservoir = reservoirService.getById(shelf.getReservoirId()); + if(this.checkIsNameExist(null,reservoir.getDepotId(), shelf.getShelfName()) > 0){ + throw new BusinessException("名称已存在"); + } + if(StringUtils.isNotEmpty(reservoir.getReservoirCode())){ + if(this.checkIsCodeExist(null,reservoir.getDepotId(), shelf.getShelfCode()) > 0){ + throw new BusinessException("编码已存在"); + } + } + shelf.setDepotId(reservoir.getDepotId()); + return this.save(shelf); + } + + public int checkIsNameExist(Integer id,Long depotId, String name) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + if(id != null){ + wrapper.ne(DepotShelf::getDepotShelfId, id); + } + wrapper.eq(DepotShelf::getShelfName, name); + wrapper.eq(DepotShelf::getDepotId, depotId); + //是否显示1显示0隐藏 + wrapper.eq(DepotShelf::getStatus, 1); + return this.count(wrapper); + } + + public int checkIsCodeExist(Integer id,Long depotId, String code) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + if(id != null){ + wrapper.ne(DepotShelf::getDepotShelfId, id); + } + wrapper.eq(DepotShelf::getShelfCode, code); + wrapper.eq(DepotShelf::getDepotId, depotId); + //是否显示1显示0隐藏 + wrapper.eq(DepotShelf::getStatus, 1); + return this.count(wrapper); + } + + @Override + public boolean edit(DepotShelf shelf) { + if(this.checkIsNameExist(shelf.getDepotShelfId(),shelf.getDepotId(), shelf.getShelfName()) > 0){ + throw new BusinessException("名称已存在"); + } + if(this.checkIsCodeExist(shelf.getDepotShelfId(),shelf.getDepotId(), shelf.getShelfCode()) > 0){ + throw new BusinessException("编码已存在"); + } + return this.updateById(shelf); + } + + @Override + public boolean delById(Integer depotShelfId) { + //货位List + List storageList = storageService.list(new LambdaQueryWrapper() + .eq(DepotStorage::getSheifId,depotShelfId) + //是否显示1显示0隐藏 + .eq(DepotStorage::getStatus,1) + ); + if(CollectionUtils.isNotEmpty(storageList)){ + throw new BusinessException("货架不是空的, 请先删除货架下的货位后再重试"); + } + DepotShelf shelf= new DepotShelf(); + shelf.setDepotShelfId(depotShelfId); + //是否显示1显示0隐藏 + shelf.setStatus(0); + return this.updateById(shelf); + } +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/depot/impl/DepotStorageServiceImpl.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/depot/impl/DepotStorageServiceImpl.java new file mode 100644 index 0000000..cfae121 --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/depot/impl/DepotStorageServiceImpl.java @@ -0,0 +1,348 @@ +package net.jjjerp.admin.service.depot.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import net.jjjerp.common.entity.depot.DepotReservoir; +import net.jjjerp.common.entity.depot.DepotShelf; +import net.jjjerp.common.entity.depot.DepotStorage; +import net.jjjerp.common.entity.depot.DepotStorageStock; +import net.jjjerp.common.entity.product.Product; +import net.jjjerp.common.entity.product.ProductExtend; +import net.jjjerp.common.entity.store.Store; +import net.jjjerp.common.mapper.depot.DepotStorageMapper; +import net.jjjerp.common.param.CommonPageParam; +import net.jjjerp.common.param.depot.StorageParam; +import net.jjjerp.admin.service.depot.DepotReservoirService; +import net.jjjerp.admin.service.depot.DepotShelfService; +import net.jjjerp.admin.service.depot.DepotStorageService; +import net.jjjerp.admin.service.depot.DepotStorageStockService; +import net.jjjerp.admin.service.product.ProductExtendService; +import net.jjjerp.admin.service.product.ProductService; +import net.jjjerp.common.vo.product.ProductVo; +import net.jjjerp.framework.common.exception.BusinessException; +import net.jjjerp.framework.common.service.impl.BaseServiceImpl; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.framework.core.pagination.PageInfo; +import net.jjjerp.framework.core.pagination.Paging; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.transaction.annotation.Transactional; + +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +/** + * 仓库货位表 服务实现类 + * + * @author jjjerp + * @since 2024-04-22 + */ +@Slf4j +@Service +public class DepotStorageServiceImpl extends BaseServiceImpl implements DepotStorageService { + + @Autowired + private DepotStorageMapper depotStorageMapper; + @Autowired + private DepotStorageStockService depotStorageStockService; + @Autowired + private DepotReservoirService reservoirService; + @Autowired + private DepotShelfService shelfService; + @Autowired + private ProductExtendService productExtendService; + @Autowired + private ProductService productService; + + @Override + public Paging getList(CommonPageParam param) { + // 商品列表 + Page page = new PageInfo<>(param); + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + //是否显示1显示0隐藏 + wrapper.eq(DepotStorage::getStatus, 1); + //编码搜索 + if(StringUtils.isNotEmpty(param.getCode())){ + wrapper.like(DepotStorage::getStorageCode, param.getCode()); + } + //货位类型,1拣货货位,2存储货位,3异常货位 + if(param.getType() != null && param.getType() > 0){ + wrapper.eq(DepotStorage::getStorageType, param.getType()); + } + //商品规格id + if(param.getProductExtendId() != null && param.getProductExtendId() > 0){ + List ids = depotStorageStockService.list(new LambdaQueryWrapper() + .eq(DepotStorageStock::getProductExtendId, param.getProductExtendId()) + ).stream().map(DepotStorageStock::getStorageId).collect(Collectors.toList()); + if(CollectionUtils.isEmpty(ids)){ + ids.add(-1); + } + wrapper.in(DepotStorage::getDepotStorageId, ids); + } + //仓库id + if(param.getDepotId() != null && param.getDepotId() > 0){ + List depotReservoirIds = reservoirService.list(new LambdaQueryWrapper() + .eq(DepotReservoir::getDepotId, param.getDepotId()) + ).stream().map(DepotReservoir::getDepotReservoirId).collect(Collectors.toList()); + if(CollectionUtils.isEmpty(depotReservoirIds)){ + depotReservoirIds.add(-1); + } + wrapper.in(DepotStorage::getReservoirId, depotReservoirIds); + } + //区域id + if(param.getAreaId() != null && param.getAreaId() > 0){ + List depotReservoirIds = reservoirService.list(new LambdaQueryWrapper() + .eq(DepotReservoir::getAreaId, param.getAreaId()) + ).stream().map(DepotReservoir::getDepotReservoirId).collect(Collectors.toList()); + if(CollectionUtils.isEmpty(depotReservoirIds)){ + depotReservoirIds.add(-1); + } + wrapper.in(DepotStorage::getReservoirId, depotReservoirIds); + } + //库区id + if(param.getReservoirId() != null && param.getReservoirId() > 0){ + wrapper.eq(DepotStorage::getReservoirId, param.getReservoirId()); + } + //货架id + if(param.getDepotShelfId() != null && param.getDepotShelfId() > 0){ + wrapper.eq(DepotStorage::getSheifId, param.getDepotShelfId()); + } + wrapper.orderByDesc(DepotStorage::getCreateTime); + IPage iPage = this.page(page, wrapper); + // 最终返回分页对象 + IPage resultPage = iPage.convert(this::transVo); + return new Paging<>(iPage); + } + + private DepotStorage transVo(DepotStorage storage) { + List list = depotStorageStockService.list(new LambdaQueryWrapper() + .eq(DepotStorageStock::getStorageId, storage.getDepotStorageId()) + ); + StringBuilder stockStr = new StringBuilder(); + for(DepotStorageStock stock : list){ + ProductExtend extend = productExtendService.getById(stock.getProductExtendId()); + Long stockNum = stock.getStockNum(); + if(extend != null){ + String productCode = extend.getProductCode(); + stockStr.append("[商品:").append(productCode).append(","); + stockStr.append("数量:").append(stockNum).append("]"); + //判断如果不是最后一个元素 + if(list.indexOf(stock) != list.size() - 1){ + stockStr.append(","); + } + } + } + storage.setStockStr(stockStr.toString()); + return storage; + } + + + @Override + public boolean add(DepotStorage storage) { + if(storage.getReservoirId() == null && storage.getSheifId() == null){ + throw new BusinessException("库区和货架至少选择一个"); + } + DepotReservoir reservoir; + if(storage.getReservoirId() != null){ + reservoir = reservoirService.getById(storage.getReservoirId()); + }else { + DepotShelf shelf = shelfService.getById(storage.getSheifId()); + reservoir = reservoirService.getById(shelf.getReservoirId()); + storage.setReservoirId(reservoir.getDepotReservoirId()); + } + if(reservoir == null){ + throw new BusinessException("库区不存在"); + } + if(this.checkIsCodeExist(null,reservoir.getDepotId(), storage.getStorageCode()) > 0){ + throw new BusinessException("编码已存在"); + } + storage.setDepotId(reservoir.getDepotId()); + return this.save(storage); + } + + public int checkIsCodeExist(Integer id,Long depotId, String code) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + if(id != null){ + wrapper.ne(DepotStorage::getDepotStorageId, id); + } + wrapper.eq(DepotStorage::getStorageCode, code); + wrapper.eq(DepotStorage::getDepotId, depotId); + //是否显示1显示0隐藏 + wrapper.eq(DepotStorage::getStatus, 1); + return this.count(wrapper); + } + + @Override + public boolean edit(DepotStorage storage) { + if(this.checkIsCodeExist(storage.getDepotStorageId(),storage.getDepotId(), storage.getStorageCode()) > 0){ + throw new BusinessException("编码已存在"); + } + return this.updateById(storage); + } + + @Override + public boolean delById(Integer depotStorageId) { + //货位库存List + List stockList = depotStorageStockService.list(new LambdaQueryWrapper() + .eq(DepotStorageStock::getStorageId,depotStorageId) + ); + if(CollectionUtils.isNotEmpty(stockList)){ + throw new BusinessException("货位不是空的, 请先删除货位下的库存后再重试"); + } + DepotStorage storage= new DepotStorage(); + storage.setDepotStorageId(depotStorageId); + //是否显示1显示0隐藏 + storage.setStatus(0); + return this.updateById(storage); + } + + //设置货位库存 + @Override + @Transactional(rollbackFor = Exception.class) + public boolean settingStock(DepotStorage storage) { + if(storage.getDepotStorageId() == null){ + throw new BusinessException("货位id不能为空"); + } + List stockList = storage.getStockList(); + if(CollectionUtils.isEmpty(stockList)){ + //删除所有库存 + depotStorageStockService.remove(new LambdaQueryWrapper() + .eq(DepotStorageStock::getStorageId,storage.getDepotStorageId()) + ); + }else { + for(DepotStorageStock stock : stockList){ + if(stock.getProductExtendId() == null){ + throw new BusinessException("商品规格id不能为空"); + } + if(stock.getStockNum() == null){ + throw new BusinessException("库存数量不能为空"); + } + ProductExtend extend = productExtendService.getById(stock.getProductExtendId()); + //库存数量不能大于该商品规格现有库存 + if(stock.getStockNum() > extend.getStockNum()){ + throw new BusinessException("库存数量不能大于该商品规格现有库存"+extend.getStockNum()); + } + stock.setStorageId(storage.getDepotStorageId()); + if(stock.getStorageStockId() != null){ + //是否删除,1是,0否 + if(stock.getIsDelete() != null && stock.getIsDelete() == 1){ + depotStorageStockService.removeById(stock.getStorageStockId()); + }else { + //修改,检查商品规格是否已绑定 + if(depotStorageStockService.checkIsExtendExist(stock.getProductExtendId(),stock.getStorageStockId()) > 0){ + throw new BusinessException("商品规格id"+stock.getProductExtendId()+"已绑定,不能重复绑定"); + } + depotStorageStockService.updateById(stock); + } + }else { + //新增,检查商品规格是否已绑定 + if(depotStorageStockService.checkIsExtendExist(stock.getProductExtendId(),stock.getStorageStockId()) > 0){ + throw new BusinessException("商品规格编码"+extend.getProductCode()+"已绑定,不能重复绑定"); + } + depotStorageStockService.save(stock); + } + } + } + return true; + } + + @Override + public DepotStorage getStock(Integer depotStorageId) { + DepotStorage storage = this.getById(depotStorageId); + if(storage != null){ + storage.setStockList(depotStorageStockService.list(new LambdaQueryWrapper() + .eq(DepotStorageStock::getStorageId,depotStorageId) + )); + for(DepotStorageStock stock : storage.getStockList()){ + ProductExtend extend = productExtendService.getById(stock.getProductExtendId()); + if(extend != null){ + stock.setImageUrl(extend.getImageUrl()); + stock.setProductCode(extend.getProductCode()); + stock.setSku(extend.getSku()); + Product product = productService.getById(extend.getProductId()); + if(product != null){ + stock.setProductName(product.getName()); + } + } + } + } + return storage; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public List batchAdd(StorageParam param) { + List list = new ArrayList<>(); + List codeList = new ArrayList<>(); + //巷道数量 + for (int i = 0; i < param.getAddRow(); i++) { + Integer row = param.getRow() + i; + //架数量 + for (int j = 0; j < param.getAddCol(); j++) { + Integer columns = param.getCell() + j; + //层数量 + for (int k = 0; k < param.getAddFloor(); k++) { + Integer floor = param.getFloor() + k; + //格数量 + for (int l = 0; l < param.getAddCell(); l++) { + Integer cell = param.getColumns() + l; + String storageCode = batchCreateNo(param.getReservoirName(),row,columns,floor,cell); + if(this.checkIsCodeExist(null,param.getDepotId(), storageCode) > 0){ + storageCode += "(在该仓库已存在,不会新增)"; + codeList.add(storageCode); + continue; + }else { + codeList.add(storageCode); + } + DepotStorage storage = new DepotStorage(); + storage.setDepotId(param.getDepotId()); + storage.setStorageCode(storageCode); + storage.setReservoirId(param.getReservoirId()); + storage.setSheifId(param.getSheifId()); + storage.setStorageType(param.getStorageType()); + list.add(storage); + } + } + } + } + //类型,0预览,1添加 + if(param.getType() == 1 && CollectionUtils.isNotEmpty(list)){ + this.saveBatch(list); + } + return codeList; + } + + //生成货位编码 + private String batchCreateNo(String reservoirName, Integer row, Integer columns, Integer floor, Integer cell) { + //生成货位编码,以库区名称+巷道+列+层+格,中间用-拼接,不足两位数时补0 + StringBuilder sb = new StringBuilder(); + sb.append(reservoirName); + if(row < 10){ + sb.append("-0").append(row); + }else { + sb.append("-").append(row); + } + if(columns < 10){ + sb.append("-0").append(columns); + }else { + sb.append("-").append(columns); + } + if(floor < 10){ + sb.append("-0").append(floor); + }else { + sb.append("-").append(floor); + } + if(cell < 10){ + sb.append("-00").append(cell); + }else if(cell < 100){ + sb.append("-0").append(cell); + }else { + sb.append("-").append(cell); + } + return sb.toString(); + } +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/depot/impl/DepotStorageStockServiceImpl.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/depot/impl/DepotStorageStockServiceImpl.java new file mode 100644 index 0000000..07ace8b --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/depot/impl/DepotStorageStockServiceImpl.java @@ -0,0 +1,59 @@ +package net.jjjerp.admin.service.depot.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import net.jjjerp.common.entity.depot.DepotStorage; +import net.jjjerp.common.entity.depot.DepotStorageStock; +import net.jjjerp.common.mapper.depot.DepotStorageStockMapper; +import net.jjjerp.admin.service.depot.DepotStorageService; +import net.jjjerp.admin.service.depot.DepotStorageStockService; +import net.jjjerp.framework.common.service.impl.BaseServiceImpl; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections4.CollectionUtils; +import org.springframework.stereotype.Service; +import org.springframework.beans.factory.annotation.Autowired; + +import java.util.List; + +/** + * 仓库货位库存表 服务实现类 + * + * @author jjjerp + * @since 2024-04-22 + */ +@Slf4j +@Service +public class DepotStorageStockServiceImpl extends BaseServiceImpl implements DepotStorageStockService { + + @Autowired + private DepotStorageStockMapper depotStorageStockMapper; + @Autowired + private DepotStorageService depotStorageService; + + //检查商品规格是否已绑定 + @Override + public Integer checkIsExtendExist(Long productExtendId, Integer storageStockId) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + if(storageStockId != null){ + wrapper.ne(DepotStorageStock::getStorageStockId, storageStockId); + } + wrapper.eq(DepotStorageStock::getProductExtendId, productExtendId); + return this.count(wrapper); + } + + //获取商品绑定货位 + @Override + public DepotStorage getStorage(Long productExtendId) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(DepotStorageStock::getProductExtendId, productExtendId); + List list = this.list(wrapper); + if(CollectionUtils.isNotEmpty(list)){ + DepotStorageStock stock = list.get(0); + DepotStorage storage = depotStorageService.getById(stock.getStorageId()); + if(storage != null){ + storage.setStock(stock); + return storage; + } + } + return null; + } +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/export/ExportService.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/export/ExportService.java new file mode 100644 index 0000000..d7e412f --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/export/ExportService.java @@ -0,0 +1,11 @@ +package net.jjjerp.admin.service.export; + + +/** + * 订单导出 服务实现类 + * @author jjjerp + * @since 2022-07-04 + */ +public interface ExportService { + +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/export/impl/ExportServiceImpl.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/export/impl/ExportServiceImpl.java new file mode 100644 index 0000000..6252548 --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/export/impl/ExportServiceImpl.java @@ -0,0 +1,21 @@ +package net.jjjerp.admin.service.export.impl; + + +import lombok.extern.slf4j.Slf4j; + +import net.jjjerp.admin.service.export.ExportService; +import org.springframework.stereotype.Service; + +/** + * 订单导出 服务实现类 + * + * @author jjjerp + * @since 2022-07-04 + */ +@Slf4j +@Service +public class ExportServiceImpl implements ExportService { + + + +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/file/UploadFileService.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/file/UploadFileService.java new file mode 100644 index 0000000..6c11fd4 --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/file/UploadFileService.java @@ -0,0 +1,29 @@ +package net.jjjerp.admin.service.file; + +import net.jjjerp.common.entity.file.UploadFile; +import net.jjjerp.framework.common.service.BaseService; +import net.jjjerp.framework.core.pagination.Paging; +import net.jjjerp.admin.param.file.UploadFilePageParam; +import net.jjjerp.admin.vo.file.UploadFileVo; + +/** + * 文件库记录表 服务类 + * @author jjjerp + * @since 2022-06-28 + */ +public interface UploadFileService extends BaseService { + + /** + * 保存文件 + * @param file + * @return + */ + boolean addFile(UploadFile file); + + /** + * 文件列表 + * @param uploadFilePageParam + * @return + */ + Paging getList(UploadFilePageParam uploadFilePageParam); +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/file/UploadGroupService.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/file/UploadGroupService.java new file mode 100644 index 0000000..bcdf4a8 --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/file/UploadGroupService.java @@ -0,0 +1,57 @@ +package net.jjjerp.admin.service.file; + +import net.jjjerp.common.entity.file.UploadGroup; +import net.jjjerp.framework.common.service.BaseService; + +import java.util.List; + +/** + * 文件库分组记录表 服务类 + * @author jjjerp + * @since 2022-06-28 + */ +public interface UploadGroupService extends BaseService { + + /** + * 所有文件分组 + * @return + */ + List getAll(String groupType); + + /** + * 新增分组 + * @param groupName + * @param groupType + * @return + */ + boolean addGroup(String groupName, String groupType); + + /** + * 修改分组 + * @param groupId + * @param groupName + * @return + */ + boolean editGroup(Integer groupId, String groupName); + + /** + * 删除分组 + * @param groupId + * @return + */ + boolean deleteGroup(Integer groupId); + + /** + * 删除文件 + * @param fileIds + * @return + */ + boolean deleteFiles(String fileIds); + + /** + * 移动文件 + * @param fileIds + * @return + */ + boolean moveFiles(Integer groupId, String fileIds); +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/file/impl/UploadFileServiceImpl.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/file/impl/UploadFileServiceImpl.java new file mode 100644 index 0000000..a9734a0 --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/file/impl/UploadFileServiceImpl.java @@ -0,0 +1,68 @@ +package net.jjjerp.admin.service.file.impl; + +import cn.hutool.core.bean.BeanUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.common.entity.file.UploadFile; +import net.jjjerp.common.mapper.file.UploadFileMapper; +import net.jjjerp.common.util.UploadFileUtils; +import net.jjjerp.framework.common.service.impl.BaseServiceImpl; +import net.jjjerp.framework.core.pagination.PageInfo; +import net.jjjerp.framework.core.pagination.Paging; +import net.jjjerp.admin.param.file.UploadFilePageParam; +import net.jjjerp.admin.service.file.UploadFileService; +import net.jjjerp.admin.vo.file.UploadFileVo; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.util.StringUtils; + +/** + * 文件库记录表 服务实现类 + * @author jjjerp + * @since 2022-06-28 + */ +@Slf4j +@Service +public class UploadFileServiceImpl extends BaseServiceImpl implements UploadFileService { + + @Autowired + private UploadFileUtils uploadFileUtils; + + /** + * 保存图片 + * @param file + * @return + */ + public boolean addFile(UploadFile file){ + return this.save(file); + } + + /** + * 文件列表 + * @param uploadFilePageParam + * @return + */ + public Paging getList(UploadFilePageParam uploadFilePageParam){ + Page page = new PageInfo<>(uploadFilePageParam); + LambdaQueryWrapper wrapper = new LambdaQueryWrapper(); + wrapper.eq(UploadFile::getIsDelete, 0); + if(uploadFilePageParam.getGroupId() != null && uploadFilePageParam.getGroupId().intValue() != 0){ + wrapper.eq(UploadFile::getGroupId, uploadFilePageParam.getGroupId()); + } + if(!StringUtils.isEmpty(uploadFilePageParam.getFileType())){ + wrapper.eq(UploadFile::getFileType, uploadFilePageParam.getFileType()); + } + wrapper.orderByDesc(UploadFile::getCreateTime); + IPage iPage = this.page(page, wrapper); + // 最终返回分页对象 + IPage resultPage = iPage.convert(result -> { + UploadFileVo vo = new UploadFileVo(); + BeanUtil.copyProperties(result, vo); + vo.setFilePath(uploadFileUtils.getFilePathByFile(vo)); + return vo; + }); + return new Paging(resultPage); + } +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/file/impl/UploadGroupServiceImpl.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/file/impl/UploadGroupServiceImpl.java new file mode 100644 index 0000000..008dcf5 --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/file/impl/UploadGroupServiceImpl.java @@ -0,0 +1,102 @@ +package net.jjjerp.admin.service.file.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.common.entity.file.UploadFile; +import net.jjjerp.common.entity.file.UploadGroup; +import net.jjjerp.common.mapper.file.UploadGroupMapper; +import net.jjjerp.framework.common.service.impl.BaseServiceImpl; +import net.jjjerp.admin.service.file.UploadFileService; +import net.jjjerp.admin.service.file.UploadGroupService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Arrays; +import java.util.List; + +/** + * 文件库分组记录表 服务实现类 + * @author jjjerp + * @since 2022-06-28 + */ +@Slf4j +@Service +public class UploadGroupServiceImpl extends BaseServiceImpl implements UploadGroupService { + @Autowired + private UploadFileService uploadFileService; + + /** + * 所有文件分组 + * @return + */ + public List getAll(String groupType){ + return this.list(new LambdaQueryWrapper().eq(UploadGroup::getGroupType, groupType) + .eq(UploadGroup::getIsDelete, false) + .orderByAsc(UploadGroup::getSort) + .orderByAsc(UploadGroup::getCreateTime)); + } + /** + * 新增分组 + * @param groupName + * @param groupType + * @return + */ + public boolean addGroup(String groupName, String groupType){ + UploadGroup group = new UploadGroup(); + group.setGroupName(groupName); + group.setGroupType(groupType); + return this.save(group); + } + + /** + * 修改分组 + * @param groupId + * @param groupName + * @return + */ + public boolean editGroup(Integer groupId, String groupName){ + return this.update(new LambdaUpdateWrapper().eq(UploadGroup::getGroupId, groupId) + .set(UploadGroup::getGroupName, groupName)); + } + + /** + * 删除分组 + * @param groupId + * @return + */ + @Transactional(rollbackFor = Exception.class) + public boolean deleteGroup(Integer groupId){ + // 更新该分组下的所有文件 + uploadFileService.update(new LambdaUpdateWrapper().eq(UploadFile::getGroupId, groupId) + .set(UploadFile::getGroupId, 0)); + // 删除分组 + this.update(new LambdaUpdateWrapper().eq(UploadGroup::getGroupId, groupId) + .set(UploadGroup::getIsDelete, 1)); + return true; + } + + /** + * 删除文件 + * @param fileIds + * @return + */ + public boolean deleteFiles(String fileIds){ + List ids = Arrays.asList(fileIds.split(",")); + return uploadFileService.update(new LambdaUpdateWrapper().in(UploadFile::getFileId, ids) + .set(UploadFile::getIsDelete, 1)); + } + + + /** + * 移动文件 + * @param fileIds + * @return + */ + public boolean moveFiles(Integer groupId, String fileIds){ + return uploadFileService.update(new LambdaUpdateWrapper().in(UploadFile::getFileId, Arrays.asList(fileIds.split(","))) + .set(UploadFile::getGroupId, groupId)); + } + +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/finance/capital/AccountMoneyLogService.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/finance/capital/AccountMoneyLogService.java new file mode 100644 index 0000000..58e8c2e --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/finance/capital/AccountMoneyLogService.java @@ -0,0 +1,18 @@ +package net.jjjerp.admin.service.finance.capital; + +import net.jjjerp.common.entity.finance.capital.AccountMoneyLog; +import net.jjjerp.common.param.CommonPageParam; +import net.jjjerp.framework.common.service.BaseService; + +import java.util.Map; + +/** + * 账户资金变动明细表 服务类 + * + * @author jjjerp + * @since 2024-05-09 + */ +public interface AccountMoneyLogService extends BaseService { + + Map index(CommonPageParam param); +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/finance/capital/AccountService.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/finance/capital/AccountService.java new file mode 100644 index 0000000..a45e5f6 --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/finance/capital/AccountService.java @@ -0,0 +1,30 @@ +package net.jjjerp.admin.service.finance.capital; + +import net.jjjerp.common.entity.finance.capital.Account; +import net.jjjerp.common.param.CommonPageParam; +import net.jjjerp.framework.common.service.BaseService; +import net.jjjerp.framework.core.pagination.Paging; + +import java.util.List; + +/** + * 收支账户表 服务类 + * + * @author jjjerp + * @since 2024-05-07 + */ +public interface AccountService extends BaseService { + Paging index(CommonPageParam param); + + boolean add(Account account); + + boolean edit(Account account); + + boolean delById(Long accountId); + + boolean setState(Long accountId, Integer enabled); + + boolean defaultAccount(Long accountId); + + List getAll(); +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/finance/capital/impl/AccountMoneyLogServiceImpl.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/finance/capital/impl/AccountMoneyLogServiceImpl.java new file mode 100644 index 0000000..5f19aa3 --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/finance/capital/impl/AccountMoneyLogServiceImpl.java @@ -0,0 +1,175 @@ +package net.jjjerp.admin.service.finance.capital.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.common.entity.customer.Customer; +import net.jjjerp.common.entity.finance.capital.Account; +import net.jjjerp.common.entity.finance.capital.AccountMoneyLog; +import net.jjjerp.common.entity.settings.Express; +import net.jjjerp.common.entity.store.Store; +import net.jjjerp.common.entity.supplier.Supplier; +import net.jjjerp.common.enums.BillTypeEnum; +import net.jjjerp.common.mapper.finance.capital.AccountMoneyLogMapper; +import net.jjjerp.common.param.CommonPageParam; +import net.jjjerp.admin.service.customer.CustomerService; +import net.jjjerp.admin.service.finance.capital.AccountService; +import net.jjjerp.admin.service.settings.ExpressService; +import net.jjjerp.admin.service.store.StoreService; +import net.jjjerp.admin.service.supplier.SupplierService; +import net.jjjerp.framework.common.exception.BusinessException; +import net.jjjerp.framework.common.service.impl.BaseServiceImpl; +import net.jjjerp.framework.core.pagination.PageInfo; +import net.jjjerp.framework.core.pagination.Paging; +import net.jjjerp.admin.service.finance.capital.AccountMoneyLogService; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.HashMap; +import java.util.Map; + +/** + * 账户资金变动明细表 服务实现类 + * + * @author jjjerp + * @since 2024-05-09 + */ +@Slf4j +@Service +public class AccountMoneyLogServiceImpl extends BaseServiceImpl implements AccountMoneyLogService { + @Autowired + private AccountMoneyLogMapper accountMoneyLogMapper; + @Autowired + private StoreService storeService; + @Autowired + private AccountService accountService; + @Autowired + private CustomerService customerService; + @Autowired + private SupplierService supplierService; + @Autowired + private ExpressService expressService; + + //资金流水列表 + @Override + public Map index(CommonPageParam param) { + if(CollectionUtils.isEmpty(param.getTime()) || param.getTime().size() != 2){ + throw new BusinessException("查询日期不能为空"); + } + Map map = new HashMap<>(); + Page page = new PageInfo(param); + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + //店铺id + if(param.getStoreId() != null && param.getStoreId() > 0){ + wrapper.eq(AccountMoneyLog::getStoreId, param.getStoreId()); + } + //账户id + if(param.getAccountId() != null && param.getAccountId() > 0){ + wrapper.eq(AccountMoneyLog::getAccountId, param.getAccountId()); + } + //查询日期类型,0记账时间,1业务日期 + if(param.getTimeType() == 0){ + wrapper.between(AccountMoneyLog::getCreateTime, param.getTime().get(0) + " 00:00:00", param.getTime().get(1) + " 23:59:59"); + }else { + wrapper.between(AccountMoneyLog::getBillTime, param.getTime().get(0) + " 00:00:00", param.getTime().get(1) + " 23:59:59"); + } + //收支方向,1支出,2收入 + if(param.getDirectionType() != null && param.getDirectionType() > 0){ + wrapper.eq(AccountMoneyLog::getDirectionType, param.getDirectionType()); + } + //交易往来单位,0其他,1客户,2供应商,3快递 + if(param.getTradingUnit() != null && param.getTradingUnit() > -1){ + wrapper.eq(AccountMoneyLog::getTradingUnit, param.getTradingUnit()); + switch (param.getTradingUnit()){ + case 1: + if(param.getCustomerId() != null && param.getCustomerId() > 0){ + wrapper.eq(AccountMoneyLog::getCustomerId, param.getCustomerId()); + } + break; + case 2: + if(param.getSupplierId() != null && param.getSupplierId() > 0){ + wrapper.eq(AccountMoneyLog::getSupplierId, param.getSupplierId()); + } + break; + case 3: + if(param.getExpressId() != null && param.getExpressId() > 0){ + wrapper.eq(AccountMoneyLog::getExpressId, param.getExpressId()); + } + break; + default: + break; + } + } + //单据编号 + if(StringUtils.isNotBlank(param.getCodeNum())){ + wrapper.like(AccountMoneyLog::getDescription, param.getCodeNum()); + } + //单据类型 + if(param.getBillType() != null && param.getBillType() > 0){ + wrapper.eq(AccountMoneyLog::getBillType, param.getBillType()); + } + IPage iPage = this.page(page, wrapper); + // 最终返回分页对象 + IPage resultPage = iPage.convert(this::transVo); + map.put("log", new Paging<>(resultPage)); + //店铺列表 + map.put("store", storeService.getAll()); + //账户列表 + map.put("account", accountService.getAll()); + map.put("billType", BillTypeEnum.getList()); + return map; + } + + //资金流水转换 + private AccountMoneyLog transVo(AccountMoneyLog accountMoneyLog) { + if(accountMoneyLog.getStoreId() != null && accountMoneyLog.getStoreId() > 0){ + Store store = storeService.getById(accountMoneyLog.getStoreId()); + if(store != null){ + //店铺名称 + accountMoneyLog.setStoreName(store.getStoreName()); + } + } + //账户名称 + Account account = accountService.getById(accountMoneyLog.getAccountId()); + if(account != null){ + accountMoneyLog.setAccountName(account.getOrganName()); + } + //单据类型名称 + accountMoneyLog.setTypeName(BillTypeEnum.getName(accountMoneyLog.getBillType())); + //收支方向,1支出,2收入 + accountMoneyLog.setDirectionTypeName(accountMoneyLog.getDirectionType() == 1?"支出":"收入"); + //交易往来单位,0其他,1客户,2供应商,3快递 + switch (accountMoneyLog.getTradingUnit()){ + case 1: + if(accountMoneyLog.getCustomerId() != null && accountMoneyLog.getCustomerId() > 0){ + Customer customer = customerService.getById(accountMoneyLog.getCustomerId()); + if(customer != null){ + //客户名称 + accountMoneyLog.setTradingUnitName(customer.getNickName()); + } + } + break; + case 2: + if(accountMoneyLog.getSupplierId() != null && accountMoneyLog.getSupplierId() > 0){ + Supplier supplier = supplierService.getById(accountMoneyLog.getSupplierId()); + if(supplier != null){ + //供应商名称 + accountMoneyLog.setTradingUnitName(supplier.getSupplierName()); + } + } + break; + case 3: + if(accountMoneyLog.getExpressId() != null && accountMoneyLog.getExpressId() > 0){ + Express express = expressService.getById(accountMoneyLog.getExpressId()); + if(express != null){ + //快递公司名称 + accountMoneyLog.setTradingUnitName(express.getExpressName()); + } + } + } + return accountMoneyLog; + } +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/finance/capital/impl/AccountServiceImpl.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/finance/capital/impl/AccountServiceImpl.java new file mode 100644 index 0000000..ba536e6 --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/finance/capital/impl/AccountServiceImpl.java @@ -0,0 +1,133 @@ +package net.jjjerp.admin.service.finance.capital.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.common.entity.app.App; +import net.jjjerp.common.entity.finance.capital.Account; +import net.jjjerp.common.mapper.finance.capital.AccountMapper; +import net.jjjerp.common.param.CommonPageParam; +import net.jjjerp.admin.service.app.AppService; +import net.jjjerp.framework.common.exception.BusinessException; +import net.jjjerp.framework.common.service.impl.BaseServiceImpl; +import net.jjjerp.framework.core.pagination.PageInfo; +import net.jjjerp.framework.core.pagination.Paging; +import net.jjjerp.framework.util.ShopLoginUtil; +import net.jjjerp.admin.service.finance.capital.AccountService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * 收支账户表 服务实现类 + * + * @author jjjerp + * @since 2024-05-07 + */ +@Slf4j +@Service +public class AccountServiceImpl extends BaseServiceImpl implements AccountService { + @Autowired + private AccountMapper accountMapper; + @Autowired + private AppService appService; + + @Override + public Paging index(CommonPageParam commonPageParam) { + Page page = new PageInfo(commonPageParam); + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(Account::getDeleteFlag, 0); + wrapper.orderByDesc(Account::getCreateTime); + IPage iPage = this.page(page, wrapper); + App app = appService.getById(ShopLoginUtil.getAppId()); + // 最终返回分页对象 + IPage resultPage = iPage.convert(result -> { + //是否默认,0不是,1是 + result.setIsDefault(0); + if(app.getAccountId() != null && app.getAccountId().equals(result.getAccountId())){ + result.setIsDefault(1); + } + return result; + }); + return new Paging(resultPage); + } + + @Override + public boolean add(Account account) { + if(checkIsNameExist(null, account.getAccountName()) > 0){ + throw new BusinessException("账户名称不能重复"); + } + account.setNowMoney(account.getOpeningMoney()); + this.save(account); + App app = appService.getById(ShopLoginUtil.getAppId()); + //默认账户 + if(app.getAccountId() == null ){ + app.setAccountId(account.getAccountId()); + appService.updateById(app); + } + return true; + } + + public int checkIsNameExist(Long id, String name) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + if(id != null){ + wrapper.ne(Account::getAccountId, id); + } + wrapper.eq(Account::getAccountName, name); + return this.count(wrapper); + } + + @Override + public boolean edit(Account account) { + if(checkIsNameExist(account.getAccountId(), account.getAccountName()) > 0){ + throw new BusinessException("账户名称不能重复"); + } + return this.updateById(account); + } + + @Override + public boolean delById(Long accountId) { + App app = appService.getById(ShopLoginUtil.getAppId()); + Long appAccountId = app.getAccountId(); + //默认账户不能删除 + if(appAccountId != null && appAccountId.equals(accountId)){ + throw new BusinessException("默认账户不能删除"); + } + return this.removeById(accountId); + } + + @Override + public boolean setState(Long accountId, Integer enabled) { + Account account = new Account(); + account.setAccountId(accountId); + //启用 0-禁用 1-启用 + account.setEnabled(enabled); + if(account.getEnabled() == 0){ + App app = appService.getById(ShopLoginUtil.getAppId()); + Long appAccountId = app.getAccountId(); + //默认账户不能删除 + if(appAccountId != null && appAccountId.equals(accountId)){ + throw new BusinessException("默认账户不能停用"); + } + } + return this.updateById(account); + } + + @Override + public boolean defaultAccount(Long accountId) { + return appService.update(new LambdaUpdateWrapper().eq(App::getAppId, ShopLoginUtil.getAppId()) + .set(App::getAccountId, accountId)); + } + + @Override + public List getAll() { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(Account::getDeleteFlag, 0); + wrapper.orderByDesc(Account::getCreateTime); + List list = this.list( wrapper); + return list; + } +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/page/CenterMenuService.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/page/CenterMenuService.java new file mode 100644 index 0000000..1146e46 --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/page/CenterMenuService.java @@ -0,0 +1,14 @@ +package net.jjjerp.admin.service.page; + +import net.jjjerp.common.entity.page.CenterMenu; +import net.jjjerp.framework.common.service.BaseService; + +/** + * 个人中心菜单 服务类 + * + * @author jjjerp + * @since 2022-07-29 + */ +public interface CenterMenuService extends BaseService { + +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/page/PageCategoryService.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/page/PageCategoryService.java new file mode 100644 index 0000000..0cbea03 --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/page/PageCategoryService.java @@ -0,0 +1,14 @@ +package net.jjjerp.admin.service.page; + +import net.jjjerp.common.entity.page.PageCategory; +import net.jjjerp.framework.common.service.BaseService; + +/** + * app分类页模板 服务类 + * + * @author jjjerp + * @since 2022-07-28 + */ +public interface PageCategoryService extends BaseService { + +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/page/PageService.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/page/PageService.java new file mode 100644 index 0000000..ca5e6c3 --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/page/PageService.java @@ -0,0 +1,14 @@ +package net.jjjerp.admin.service.page; + +import net.jjjerp.common.entity.page.Page; +import net.jjjerp.framework.common.service.BaseService; + +/** + * diy页面表 服务类 + * + * @author jjjerp + * @since 2022-07-28 + */ +public interface PageService extends BaseService { + +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/page/impl/CenterMenuServiceImpl.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/page/impl/CenterMenuServiceImpl.java new file mode 100644 index 0000000..783812f --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/page/impl/CenterMenuServiceImpl.java @@ -0,0 +1,24 @@ +package net.jjjerp.admin.service.page.impl; + +import net.jjjerp.common.entity.page.CenterMenu; +import net.jjjerp.common.mapper.page.CenterMenuMapper; +import net.jjjerp.admin.service.page.CenterMenuService; +import net.jjjerp.framework.common.service.impl.BaseServiceImpl; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.beans.factory.annotation.Autowired; + +/** + * 个人中心菜单 服务实现类 + * + * @author jjjerp + * @since 2022-07-29 + */ +@Slf4j +@Service +public class CenterMenuServiceImpl extends BaseServiceImpl implements CenterMenuService { + + @Autowired + private CenterMenuMapper centerMenuMapper; + +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/page/impl/PageCategoryServiceImpl.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/page/impl/PageCategoryServiceImpl.java new file mode 100644 index 0000000..92aab50 --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/page/impl/PageCategoryServiceImpl.java @@ -0,0 +1,24 @@ +package net.jjjerp.admin.service.page.impl; + +import net.jjjerp.common.entity.page.PageCategory; +import net.jjjerp.common.mapper.page.PageCategoryMapper; +import net.jjjerp.admin.service.page.PageCategoryService; +import net.jjjerp.framework.common.service.impl.BaseServiceImpl; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.beans.factory.annotation.Autowired; + +/** + * app分类页模板 服务实现类 + * + * @author jjjerp + * @since 2022-07-28 + */ +@Slf4j +@Service +public class PageCategoryServiceImpl extends BaseServiceImpl implements PageCategoryService { + + @Autowired + private PageCategoryMapper pageCategoryMapper; + +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/page/impl/PageServiceImpl.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/page/impl/PageServiceImpl.java new file mode 100644 index 0000000..d835371 --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/page/impl/PageServiceImpl.java @@ -0,0 +1,24 @@ +package net.jjjerp.admin.service.page.impl; + +import net.jjjerp.common.entity.page.Page; +import net.jjjerp.common.mapper.page.PageMapper; +import net.jjjerp.admin.service.page.PageService; +import net.jjjerp.framework.common.service.impl.BaseServiceImpl; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.beans.factory.annotation.Autowired; + +/** + * diy页面表 服务实现类 + * + * @author jjjerp + * @since 2022-07-28 + */ +@Slf4j +@Service +public class PageServiceImpl extends BaseServiceImpl implements PageService { + + @Autowired + private PageMapper pageMapper; + +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/product/ProductAttributeService.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/product/ProductAttributeService.java new file mode 100644 index 0000000..7426c78 --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/product/ProductAttributeService.java @@ -0,0 +1,29 @@ +package net.jjjerp.admin.service.product; + +import net.jjjerp.common.entity.product.ProductAttribute; +import net.jjjerp.common.param.CommonPageParam; +import net.jjjerp.framework.common.service.BaseService; +import net.jjjerp.framework.core.pagination.Paging; + +import java.util.List; + +/** + * 产品属性表 服务类 + * + * @author jjjerp + * @since 2024-04-12 + */ +public interface ProductAttributeService extends BaseService { + + Paging getproductAttribute(CommonPageParam param); + + boolean add(ProductAttribute param); + + ProductAttribute toEdit(Long id); + + boolean edit(ProductAttribute param); + + boolean setDelete(Long id); + + List getAll(); +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/product/ProductCategoryService.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/product/ProductCategoryService.java new file mode 100644 index 0000000..7cc7699 --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/product/ProductCategoryService.java @@ -0,0 +1,48 @@ +package net.jjjerp.admin.service.product; + +import net.jjjerp.common.entity.product.ProductCategory; +import net.jjjerp.common.param.product.CategoryParam; +import net.jjjerp.common.vo.product.CategoryVo; +import net.jjjerp.framework.common.service.BaseService; + +import java.util.List; + +/** + * 产品类型表 服务类 + * + * @author jjjerp + * @since 2024-04-12 + */ +public interface ProductCategoryService extends BaseService { + + /**分类列表 + * @return + */ + List getAll(); + + /** + * 新增 + * @param categoryParam + * @return + */ + Boolean add(CategoryParam categoryParam); + /** + * 修改 + * @param categoryParam + * @return + */ + Boolean edit(CategoryParam categoryParam); + /** + * 真删除 + * @param id + * @return + */ + Boolean delById(Integer id); + + //修改状态 + boolean setState(Integer categoryId, Integer state); + + List getSubCategoryId(Integer categoryId); + + List getList(CategoryParam categoryParam); +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/product/ProductDeputyUnitService.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/product/ProductDeputyUnitService.java new file mode 100644 index 0000000..64e8f85 --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/product/ProductDeputyUnitService.java @@ -0,0 +1,14 @@ +package net.jjjerp.admin.service.product; + +import net.jjjerp.common.entity.product.ProductDeputyUnit; +import net.jjjerp.framework.common.service.BaseService; + +/** + * 商品副单位表 服务类 + * + * @author jjjerp + * @since 2024-06-27 + */ +public interface ProductDeputyUnitService extends BaseService { + +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/product/ProductExtendService.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/product/ProductExtendService.java new file mode 100644 index 0000000..d5bdb31 --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/product/ProductExtendService.java @@ -0,0 +1,34 @@ +package net.jjjerp.admin.service.product; + +import net.jjjerp.common.entity.product.ProductExtend; +import net.jjjerp.common.param.CommonPageParam; +import net.jjjerp.common.param.product.ProductPageParam; +import net.jjjerp.common.vo.product.ProductSkuVo; +import net.jjjerp.framework.common.service.BaseService; +import net.jjjerp.framework.core.pagination.Paging; + +import java.util.List; +import java.util.Map; + +/** + * 产品价格扩展 服务类 + * + * @author jjjerp + * @since 2024-04-12 + */ +public interface ProductExtendService extends BaseService { + + List getSkuByProductId(Long productId); + + Paging getList(ProductPageParam productPageParam); + + ProductExtend transVo(ProductExtend extend); + + Map conditionIndex(CommonPageParam param); + + Map distributionIndex(CommonPageParam param); + + Map openningIndex(CommonPageParam param); + + Map checkIndex(CommonPageParam param); +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/product/ProductImageService.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/product/ProductImageService.java new file mode 100644 index 0000000..de89c39 --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/product/ProductImageService.java @@ -0,0 +1,14 @@ +package net.jjjerp.admin.service.product; + +import net.jjjerp.common.entity.product.ProductImage; +import net.jjjerp.framework.common.service.BaseService; + +/** + * 商品图片记录表 服务类 + * + * @author jjjerp + * @since 2024-04-16 + */ +public interface ProductImageService extends BaseService { + +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/product/ProductMfrsService.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/product/ProductMfrsService.java new file mode 100644 index 0000000..262735b --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/product/ProductMfrsService.java @@ -0,0 +1,28 @@ +package net.jjjerp.admin.service.product; + +import net.jjjerp.common.entity.product.ProductMfrs; +import net.jjjerp.common.entity.product.ProductUnit; +import net.jjjerp.common.param.CommonPageParam; +import net.jjjerp.framework.common.service.BaseService; +import net.jjjerp.framework.core.pagination.Paging; + +import java.util.List; + +/** + * 产品品牌表 服务类 + * + * @author jjjerp + * @since 2024-04-15 + */ +public interface ProductMfrsService extends BaseService { + + Paging index(CommonPageParam param); + + boolean add(ProductMfrs mfrs); + + boolean edit(ProductMfrs mfrs); + + boolean delById(Integer id); + + List getAll(); +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/product/ProductService.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/product/ProductService.java new file mode 100644 index 0000000..0d69d8b --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/product/ProductService.java @@ -0,0 +1,31 @@ +package net.jjjerp.admin.service.product; + +import net.jjjerp.common.entity.product.Product; +import net.jjjerp.common.param.product.ProductPageParam; +import net.jjjerp.common.param.product.ProductParam; +import net.jjjerp.framework.common.service.BaseService; + +import java.util.Map; + +/** + * 产品表 服务类 + * + * @author jjjerp + * @since 2024-04-12 + */ +public interface ProductService extends BaseService { + + Map getList(ProductPageParam productPageParam); + + Map getBaseData(Long productId); + + boolean add(ProductParam productParam); + + boolean edit(ProductParam productParam); + + boolean setState(String productId, Integer state); + + boolean setDelete(Long productId); + + String getMaxProductExtendCode(); +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/product/ProductUnitService.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/product/ProductUnitService.java new file mode 100644 index 0000000..055d397 --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/product/ProductUnitService.java @@ -0,0 +1,32 @@ +package net.jjjerp.admin.service.product; + +import net.jjjerp.common.entity.product.ProductAttribute; +import net.jjjerp.common.entity.product.ProductUnit; +import net.jjjerp.common.param.CommonPageParam; +import net.jjjerp.framework.common.service.BaseService; +import net.jjjerp.framework.core.pagination.Paging; + +import java.util.List; + +/** + * 多单位表 服务类 + * + * @author jjjerp + * @since 2024-04-12 + */ +public interface ProductUnitService extends BaseService { + + boolean batchSetStatus(Integer status, String ids); + + Paging index(CommonPageParam param); + + boolean add(ProductUnit productUnit); + + boolean edit(ProductUnit productUnit); + + boolean delById(String ids); + + List getAll(); + + ProductUnit transVo(ProductUnit productUnit); +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/product/impl/ProductAttributeServiceImpl.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/product/impl/ProductAttributeServiceImpl.java new file mode 100644 index 0000000..881cecf --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/product/impl/ProductAttributeServiceImpl.java @@ -0,0 +1,140 @@ +package net.jjjerp.admin.service.product.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import net.jjjerp.common.entity.product.ProductAttribute; +import net.jjjerp.common.mapper.product.ProductAttributeMapper; +import net.jjjerp.common.param.CommonPageParam; +import net.jjjerp.admin.service.product.ProductAttributeService; +import net.jjjerp.common.settings.vo.StoreVo; +import net.jjjerp.framework.common.exception.BusinessException; +import net.jjjerp.framework.common.service.impl.BaseServiceImpl; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.framework.core.pagination.PageInfo; +import net.jjjerp.framework.core.pagination.Paging; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; +import org.springframework.beans.factory.annotation.Autowired; + +import java.util.Arrays; +import java.util.List; +import java.util.stream.Collectors; + +/** + * 产品属性表 服务实现类 + * + * @author jjjerp + * @since 2024-04-12 + */ +@Slf4j +@Service +public class ProductAttributeServiceImpl extends BaseServiceImpl implements ProductAttributeService { + + @Autowired + private ProductAttributeMapper productAttributeMapper; + + @Override + public Paging getproductAttribute(CommonPageParam commonPageParam) { + Page page = new PageInfo(commonPageParam); + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + //删除标记,0未删除,1删除" + wrapper.eq(ProductAttribute::getDeleteFlag, 0); + if (StringUtils.isNotEmpty(commonPageParam.getSearch())) { + wrapper.like(ProductAttribute::getAttributeName, commonPageParam.getSearch()); + } + wrapper.orderByDesc(ProductAttribute::getId); + IPage iPage = this.page(page, wrapper); + IPage result = iPage.convert(this::transVo); + return new Paging(result); + } + + @Override + public boolean add(ProductAttribute param) { + if(CollectionUtils.isEmpty(param.getValueList())){ + throw new BusinessException("属性值不能为空"); + } + if(checkIsNameExist(null, param.getAttributeName()) > 0){ + throw new BusinessException("规格名称已存在"); + } + //数组转字符串 + param.setAttributeValue(String.join("|", param.getValueList())); + return this.save(param); + } + + @Override + public ProductAttribute toEdit(Long id) { + ProductAttribute att = new ProductAttribute(); + if(id != null){ + att = this.getById(id); + if(att != null){ + att = transVo(att); + } + } + return att; + } + + @Override + public boolean edit(ProductAttribute param) { + if(CollectionUtils.isEmpty(param.getValueList())){ + throw new BusinessException("属性值不能为空"); + } + if(checkIsNameExist(param.getId(), param.getAttributeName()) > 0){ + throw new BusinessException("规格名称已存在"); + } + //数组转字符串 + param.setAttributeValue(String.join("|", param.getValueList())); + return this.updateById(param); + } + + public int checkIsNameExist(Long id, String name) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + if(id != null){ + wrapper.ne(ProductAttribute::getId, id); + } + wrapper.eq(ProductAttribute::getAttributeName, name); + return this.count(wrapper); + } + + @Override + public boolean setDelete(Long id) { + ProductAttribute att = new ProductAttribute(); + att.setId(id); + //删除标记,0未删除,1删除 + att.setDeleteFlag(1); + return this.updateById(att); + } + + @Override + public List getAll() { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + //删除标记,0未删除,1删除" + wrapper.eq(ProductAttribute::getDeleteFlag, 0); + wrapper.orderByDesc(ProductAttribute::getId); + List list = this.list(wrapper); + list = list.stream().map(this::transVo).collect(Collectors.toList()); + return list; + } + + //批量删除 + public boolean deletes(String attributeIds) { + if(StringUtils.isEmpty(attributeIds)){ + throw new BusinessException("请选择属性"); + } + return this.update(new LambdaUpdateWrapper() + .set(ProductAttribute::getDeleteFlag, 1) + .in(ProductAttribute::getId, Arrays.stream(attributeIds.split(",")).map(Integer::valueOf).collect(Collectors.toList()))); + } + + public ProductAttribute transVo(ProductAttribute attr){ + if(StringUtils.isNotEmpty(attr.getAttributeValue())){ + //字符串转数组 + attr.setValueList(Arrays.stream(attr.getAttributeValue().split("\\|")).collect(Collectors.toList())); + } + return attr; + } + + +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/product/impl/ProductCategoryServiceImpl.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/product/impl/ProductCategoryServiceImpl.java new file mode 100644 index 0000000..44ef01c --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/product/impl/ProductCategoryServiceImpl.java @@ -0,0 +1,160 @@ +package net.jjjerp.admin.service.product.impl; + +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import net.jjjerp.common.entity.product.Product; +import net.jjjerp.common.entity.product.ProductCategory; +import net.jjjerp.common.mapper.product.ProductCategoryMapper; +import net.jjjerp.common.param.product.CategoryParam; +import net.jjjerp.admin.service.product.ProductCategoryService; +import net.jjjerp.admin.service.product.ProductService; +import net.jjjerp.common.vo.product.CategoryVo; +import net.jjjerp.framework.common.exception.BusinessException; +import net.jjjerp.framework.common.service.impl.BaseServiceImpl; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Service; +import org.springframework.beans.factory.annotation.Autowired; + +import java.util.List; +import java.util.stream.Collectors; + +/** + * 产品类型表 服务实现类 + * + * @author jjjerp + * @since 2024-04-12 + */ +@Slf4j +@Service +public class ProductCategoryServiceImpl extends BaseServiceImpl implements ProductCategoryService { + + @Autowired + private ProductCategoryMapper productCategoryMapper; + @Autowired + private ProductService productService; + + /**分类列表 + * @return + */ + public List getAll(){ + List list = this.list(new LambdaQueryWrapper() + //是否显示1显示0隐藏 + .eq(ProductCategory::getStatus, 1) + .orderByAsc(ProductCategory::getCreateTime)); + List voList = this.transTree(list); + return voList; + } + + /** + * 组装成树形 + * @param list + * @return + */ + private List transTree(List list){ + // 转成vo + List voList = list.stream().map(e -> { + CategoryVo vo = new CategoryVo(); + BeanUtils.copyProperties(e, vo); + return vo; + }).collect(Collectors.toList()); + // 遍历成树形结构 + List collect = voList.stream() + // 2. 找出所有顶级(规定 0 为顶级) + .filter(o -> StrUtil.equals("0", String.valueOf(o.getParentId()))) + // 3.给当前父级的 childList 设置子 + .peek(o -> o.setChildren(getChildList(o, voList))) + // 4.收集 + .collect(Collectors.toList()); + return collect; + } + + // 根据当前父类 找出子类, 并通过递归找出子类的子类 + private List getChildList(ProductCategory bean, List voList) { + List list = voList.stream() + //筛选出父节点id == parentId 的所有对象 => list + .filter(o -> StrUtil.equals(String.valueOf(bean.getCategoryId()), String.valueOf(o.getParentId()))) + .peek(o -> o.setChildren(getChildList(o, voList))) + .collect(Collectors.toList()); + if(list.size() == 0){ + return null; + } + return list; + } + + /** + * 新增 + * @param categoryParam + * @return + */ + public Boolean add(CategoryParam categoryParam){ + ProductCategory category = new ProductCategory(); + BeanUtils.copyProperties(categoryParam, category); + return this.save(category); + } + /** + * 新增 + * @param categoryParam + * @return + */ + public Boolean edit(CategoryParam categoryParam){ + ProductCategory category = new ProductCategory(); + BeanUtils.copyProperties(categoryParam, category); + return this.updateById(category); + } + + /** + * 真删除 + * @param id + * @return + */ + public Boolean delById(Integer id){ + // 是否存在子菜单 + if(this.count(new LambdaQueryWrapper().eq(ProductCategory::getParentId, id)) > 0){ + throw new BusinessException("当前菜单下存在子权限,请先删除"); + } + int productCount = productService.count(new LambdaQueryWrapper(). + eq(Product::getCategoryId, id).eq(Product::getDeleteFlag, 0)); + if(productCount > 0){ + throw new BusinessException("该分类下存在"+productCount+"个商品,不允许删除"); + } + return this.removeById(id); + } + + //修改状态 + @Override + public boolean setState(Integer categoryId, Integer status) { + return this.update(new LambdaUpdateWrapper().eq(ProductCategory::getCategoryId, categoryId) + .set(ProductCategory::getStatus, status)); + } + + //查询商品分类ID以及所有子分类ID + @Override + public List getSubCategoryId(Integer categoryId) { + List ids = this.list(new LambdaQueryWrapper() + .eq(ProductCategory::getParentId, categoryId) + //是否显示1显示0隐藏 + .eq(ProductCategory::getStatus, 1) + ).stream().map(ProductCategory::getCategoryId).collect(Collectors.toList()); + ids.add(categoryId); + return ids; + } + + //查询分类列表 + @Override + public List getList(CategoryParam categoryParam) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + //是否显示1显示0隐藏 + wrapper.eq(ProductCategory::getStatus, 1) + .orderByAsc(ProductCategory::getCreateTime); + if(StringUtils.isNotBlank(categoryParam.getName())){ + wrapper.like(ProductCategory::getName, categoryParam.getName()); + } + List list = this.list(wrapper); + List voList = this.transTree(list); + return voList; + } + +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/product/impl/ProductDeputyUnitServiceImpl.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/product/impl/ProductDeputyUnitServiceImpl.java new file mode 100644 index 0000000..8a824b8 --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/product/impl/ProductDeputyUnitServiceImpl.java @@ -0,0 +1,24 @@ +package net.jjjerp.admin.service.product.impl; + +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.admin.service.product.ProductDeputyUnitService; +import net.jjjerp.common.entity.product.ProductDeputyUnit; +import net.jjjerp.common.mapper.product.ProductDeputyUnitMapper; +import net.jjjerp.framework.common.service.impl.BaseServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +/** + * 商品副单位表 服务实现类 + * + * @author jjjerp + * @since 2024-06-27 + */ +@Slf4j +@Service +public class ProductDeputyUnitServiceImpl extends BaseServiceImpl implements ProductDeputyUnitService { + + @Autowired + private ProductDeputyUnitMapper productDeputyUnitMapper; + +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/product/impl/ProductExtendServiceImpl.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/product/impl/ProductExtendServiceImpl.java new file mode 100644 index 0000000..b47cde9 --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/product/impl/ProductExtendServiceImpl.java @@ -0,0 +1,422 @@ +package net.jjjerp.admin.service.product.impl; + +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.google.gson.JsonArray; +import com.google.gson.JsonObject; +import net.jjjerp.common.entity.bill.BillHead; +import net.jjjerp.common.entity.bill.BillItem; +import net.jjjerp.common.entity.depot.DepotStorage; +import net.jjjerp.common.entity.product.*; +import net.jjjerp.common.enums.BillTypeEnum; +import net.jjjerp.common.mapper.product.ProductExtendMapper; +import net.jjjerp.common.param.CommonPageParam; +import net.jjjerp.common.param.product.ProductPageParam; +import net.jjjerp.admin.service.bill.BillHeadService; +import net.jjjerp.admin.service.bill.BillItemService; +import net.jjjerp.admin.service.depot.DepotService; +import net.jjjerp.admin.service.depot.DepotStorageService; +import net.jjjerp.admin.service.depot.DepotStorageStockService; +import net.jjjerp.admin.service.product.ProductCategoryService; +import net.jjjerp.admin.service.product.ProductExtendService; +import net.jjjerp.admin.service.product.ProductMfrsService; +import net.jjjerp.admin.service.product.ProductUnitService; +import net.jjjerp.admin.service.product.impl.ProductServiceImpl; +import net.jjjerp.admin.service.supplier.SupplierService; +import net.jjjerp.common.util.ProductUtils; +import net.jjjerp.common.vo.product.ProductImageVo; +import net.jjjerp.common.vo.product.ProductListVo; +import net.jjjerp.common.vo.product.ProductSkuVo; +import net.jjjerp.common.vo.product.ProductVo; +import net.jjjerp.framework.common.service.impl.BaseServiceImpl; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.framework.core.pagination.PageInfo; +import net.jjjerp.framework.core.pagination.Paging; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Service; +import org.springframework.beans.factory.annotation.Autowired; + +import java.math.BigDecimal; +import java.math.RoundingMode; +import java.util.*; +import java.util.stream.Collectors; + +/** + * 产品价格扩展 服务实现类 + * + * @author jjjerp + * @since 2024-04-12 + */ +@Slf4j +@Service +public class ProductExtendServiceImpl extends BaseServiceImpl implements ProductExtendService { + + @Autowired + private ProductExtendMapper productExtendMapper; + @Autowired + private ProductServiceImpl productService; + @Autowired + private ProductUnitService productUnitService; + @Autowired + private DepotStorageStockService storageStockService; + @Autowired + private SupplierService supplierService; + @Autowired + private DepotService depotService; + @Autowired + private ProductMfrsService productMfrsService; + @Autowired + private BillHeadService billHeadService; + @Autowired + private ProductUtils productUtils; + @Autowired + private ProductCategoryService productCategoryService; + + /** + * 根据商品id查询sku + * @param productId + * @return + */ + @Override + public List getSkuByProductId(Long productId) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + //删除标记,0未删除,1删除" + wrapper.eq(ProductExtend::getDeleteFlag, 0); + wrapper.eq(ProductExtend::getProductId, productId); + wrapper.orderByDesc(ProductExtend::getCreateTime); + List list = this.list(wrapper); + return list; + } + + @Override + public Paging getList(ProductPageParam productPageParam) { + // 商品列表 + Page page = new PageInfo<>(productPageParam); + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + //删除标记,0未删除,1删除 + wrapper.eq(ProductExtend::getDeleteFlag, 0); + //规格条码 + if(StringUtils.isNotEmpty(productPageParam.getBarCode())){ + wrapper.like(ProductExtend::getBarCode, productPageParam.getBarCode()); + } + //规格编码 + if(StringUtils.isNotEmpty(productPageParam.getProductCode())){ + LambdaQueryWrapper wrapperProduct = new LambdaQueryWrapper<>(); + wrapperProduct.like(Product::getName, productPageParam.getProductCode()); + List productIds = productService.list(wrapperProduct).stream().map(Product::getProductId).collect(Collectors.toList()); + if(CollectionUtils.isEmpty(productIds)){ + productIds.add(0L); + } + wrapper.and(i -> i.or().in(ProductExtend::getProductId, productIds) + .or().like(ProductExtend::getProductCode, productPageParam.getProductCode())); + } + wrapper.orderByDesc(ProductExtend::getCreateTime); + IPage iPage = this.page(page, wrapper); + // 最终返回分页对象 + IPage resultPage = iPage.convert(this::transVo); + return new Paging(resultPage); + } + + //库存状况 + @Override + public Map conditionIndex(CommonPageParam param) { + Map map = new HashMap<>(); + // 商品列表 + Page page = new PageInfo<>(param); + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + //删除标记,0未删除,1删除 + wrapper.eq(ProductExtend::getDeleteFlag, 0); + //规格条码 + if(StringUtils.isNotEmpty(param.getExtendBarCode())){ + wrapper.like(ProductExtend::getBarCode, param.getExtendBarCode()); + } + //规格编码 + if(StringUtils.isNotEmpty(param.getProductExtendCode())){ + wrapper.like(ProductExtend::getProductCode, param.getProductExtendCode()); + } + wrapper.orderByDesc(ProductExtend::getCreateTime); + IPage iPage = this.page(page, wrapper); + // 最终返回分页对象 + IPage resultPage = iPage.convert(extend -> this.transStock(extend,param)); + //按totalStock倒序排序 + resultPage.getRecords().stream().sorted(Comparator.comparing(ProductExtend::getTotalStock).reversed()).collect(Collectors.toList()); + map.put("extend",new Paging(resultPage)); + map.put("supplier", supplierService.getAll()); + map.put("depot", depotService.getAll()); + return map; + } + + //商品库存分布表 + @Override + public Map distributionIndex(CommonPageParam param) { + Map map = new HashMap<>(); + // 商品列表 + Page page = new PageInfo<>(param); + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + //删除标记,0未删除,1删除 + wrapper.eq(Product::getDeleteFlag, 0); + //商品条码 + if(StringUtils.isNotBlank(param.getBarCode())){ + wrapper.like(Product::getBarCode, param.getBarCode()); + } + //商品编码 + if(StringUtils.isNotBlank(param.getProductCode())){ + wrapper.like(Product::getProductCode, param.getProductCode()); + } + //品牌ID + if(param.getMfrs() != null && param.getMfrs() > 0){ + wrapper.eq(Product::getMfrs, param.getMfrs()); + } + wrapper.orderByDesc(Product::getCreateTime); + IPage iPage = productService.page(page, wrapper); + // 最终返回分页对象 + IPage resultPage = iPage.convert(extend -> this.transDistribution(extend,param)); + //按totalStock倒序排序 + resultPage.getRecords().stream().sorted(Comparator.comparing(ProductVo::getTotalStock).reversed()).collect(Collectors.toList()); + map.put("product",new Paging(resultPage)); + map.put("supplier", supplierService.getAll()); + map.put("depot", depotService.getAll()); + map.put("mfrs", productMfrsService.getAll()); + return map; + } + + //期初库存列表 + @Override + public Map openningIndex(CommonPageParam param) { + Map map = new HashMap<>(); + // 商品列表 + Page page = new PageInfo<>(param); + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + //删除标记,0未删除,1删除 + wrapper.eq(Product::getDeleteFlag, 0); + //商品条码 + if(StringUtils.isNotBlank(param.getBarCode())){ + wrapper.like(Product::getBarCode, param.getBarCode()); + } + //商品编码 + if(StringUtils.isNotBlank(param.getProductCode())){ + wrapper.like(Product::getProductCode, param.getProductCode()); + } + //品牌ID + if(param.getMfrs() != null && param.getMfrs() > 0){ + wrapper.eq(Product::getMfrs, param.getMfrs()); + } + wrapper.orderByDesc(Product::getCreateTime); + IPage iPage = productService.page(page, wrapper); + // 最终返回分页对象 + IPage resultPage = iPage.convert(extend -> this.transOpenning(extend,param)); + //按期初库存倒序排序 + resultPage.getRecords().stream().sorted(Comparator.comparing(ProductVo::getOpenningStock).reversed()).collect(Collectors.toList()); + map.put("product",new Paging(resultPage)); + map.put("supplier", supplierService.getAll()); + map.put("depot", depotService.getAll()); + map.put("mfrs", productMfrsService.getAll()); + return map; + } + + //库存盘点列表 + @Override + public Map checkIndex(CommonPageParam param) { + Map map = new HashMap<>(); + // 商品列表 + Page page = new PageInfo<>(param); + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + //删除标记,0未删除,1删除 + wrapper.eq(Product::getDeleteFlag, 0); + //商品条码 + if(StringUtils.isNotBlank(param.getBarCode())){ + wrapper.like(Product::getBarCode, param.getBarCode()); + } + //商品编码 + if(StringUtils.isNotBlank(param.getProductCode())){ + wrapper.like(Product::getProductCode, param.getProductCode()); + } + //品牌ID + if(param.getMfrs() != null && param.getMfrs() > 0){ + wrapper.eq(Product::getMfrs, param.getMfrs()); + } + wrapper.orderByDesc(Product::getCreateTime); + IPage iPage = productService.page(page, wrapper); + // 最终返回分页对象 + IPage resultPage = iPage.convert(extend -> this.transCheck(extend,param)); + //按实际总库存倒序排序 + resultPage.getRecords().stream().sorted(Comparator.comparing(ProductVo::getTotalStock).reversed()).collect(Collectors.toList()); + map.put("product",new Paging(resultPage)); + map.put("supplier", supplierService.getAll()); + map.put("depot", depotService.getAll()); + map.put("mfrs", productMfrsService.getAll()); + return map; + } + + //商品库存盘点转换 + private ProductVo transCheck(Product product, CommonPageParam param) { + ProductVo vo = new ProductVo(); + BeanUtils.copyProperties(product, vo); + //实际总库存 + vo.setTotalStock(0l); + List extendList = this.list(new LambdaQueryWrapper() + .eq(ProductExtend::getProductId, vo.getProductId()) + //删除标记,0未删除,1删除 + .eq(ProductExtend::getDeleteFlag, 0) + ); + for(ProductExtend extend : extendList){ + param.setProductId(null); + Long totalStock = productUtils.getExtendStock(extend.getId(), param.getDepotId()); + extend.setTotalStock(totalStock); + vo.setTotalStock(vo.getTotalStock() + extend.getTotalStock()); + } + // sku + vo.setSkuList(extendList); + // image + List image = productUtils.getListByProductId(vo.getProductId()); + vo.setImage(image); + if(CollectionUtils.isNotEmpty(image)){ + //商品图片主图 + vo.setImagePath(image.get(0).getFilePath()); + } + return vo; + } + + //商品期初库存转换 + private ProductVo transOpenning(Product product, CommonPageParam param) { + ProductVo vo = new ProductVo(); + BeanUtils.copyProperties(product, vo); + vo.setOpenningStock(0l); + vo.setCostPrice(BigDecimal.ZERO); + BigDecimal costPrice = BigDecimal.ZERO; + List extendList = this.list(new LambdaQueryWrapper() + .eq(ProductExtend::getProductId, vo.getProductId()) + //删除标记,0未删除,1删除 + .eq(ProductExtend::getDeleteFlag, 0) + ); + for(ProductExtend extend : extendList){ + param.setProductId(null); + extend = this.transExtendOpenning(extend,param); + vo.setOpenningStock(vo.getOpenningStock() + extend.getOpenningStock()); + costPrice = costPrice.add(extend.getCostPrice()); + } + if(vo.getOpenningStock() > 0){ + vo.setCostPrice(costPrice.divide(new BigDecimal(vo.getOpenningStock()), 2, RoundingMode.DOWN)); + } + // sku + vo.setSkuList(extendList); + // image + List image = productUtils.getListByProductId(vo.getProductId()); + vo.setImage(image); + if(CollectionUtils.isNotEmpty(image)){ + //商品图片主图 + vo.setImagePath(image.get(0).getFilePath()); + } + return vo; + } + + //商品规格期初库存转换 + private ProductExtend transExtendOpenning(ProductExtend extend, CommonPageParam param) { + param.setProductExtendId(extend.getId()); + //获取期初库存子单据 + List openningList = billHeadService.getOpenningList(param); + //期初库存 + Long openningStock = 0l; + if(CollectionUtils.isNotEmpty(openningList)){ + openningStock = openningList.get(0).getBasicNumber(); + } + extend.setOpenningStock(openningStock); + return extend; + } + + //商品库存分布转换 + private ProductVo transDistribution(Product product, CommonPageParam param) { + ProductVo vo = new ProductVo(); + BeanUtils.copyProperties(product, vo); + param.setProductId(vo.getProductId()); + //获取出库入库类型子单据 + List itemStockList = billHeadService.getStockitemList(param); + //获取锁定类型子单据 + List itemFreezeList = billHeadService.getFreezeitemList(param); + //实际总库存 + Long totalStock = 0l; + //锁定库存,实物数量中已经被销售订单、库存调拨单锁定的数量 + Long freezeStock = 0l; + totalStock = totalStock + itemStockList.stream().mapToLong(BillItem::getDifferenceNum).sum(); + freezeStock = freezeStock + itemFreezeList.stream().mapToLong(BillItem::getFreezeStock).sum(); + //当前可用库存(实际库存-锁定库存) + Long stockNum = totalStock - freezeStock; + vo.setStockNum(stockNum); + vo.setTotalStock(totalStock); + vo.setFreezeStock(freezeStock); + List extendList = this.list(new LambdaQueryWrapper() + .eq(ProductExtend::getProductId, product.getProductId()) + //删除标记,0未删除,1删除 + .eq(ProductExtend::getDeleteFlag, 0) + ); + for(ProductExtend extend : extendList){ + param.setProductId(null); + extend = this.transStock(extend,param); + } + vo.setSkuList(extendList); + // image + List image = productUtils.getListByProductId(vo.getProductId()); + vo.setImage(image); + if(CollectionUtils.isNotEmpty(image)){ + //商品图片主图 + vo.setImagePath(image.get(0).getFilePath()); + } + return vo; + } + + //库存状况转换 + public ProductExtend transStock(ProductExtend extend,CommonPageParam param){ + Product product = productService.getById(extend.getProductId()); + if(product != null){ + extend.setName(product.getName()); + extend.setAccountNum(product.getAccountNum()); + extend.setStorage(storageStockService.getStorage(extend.getId())); + } + param.setProductExtendId(extend.getId()); + //获取出库入库类型子单据 + List itemStockList = billHeadService.getStockitemList(param); + //获取锁定类型子单据 + List itemFreezeList = billHeadService.getFreezeitemList(param); + //实际总库存 + Long totalStock = 0l; + //锁定库存,实物数量中已经被销售订单、库存调拨单锁定的数量 + Long freezeStock = 0l; + totalStock = totalStock + itemStockList.stream().mapToLong(BillItem::getDifferenceNum).sum(); + freezeStock = freezeStock + itemFreezeList.stream().mapToLong(BillItem::getFreezeStock).sum(); + //当前可用库存(实际库存-锁定库存) + Long stockNum = totalStock - freezeStock; + extend.setStockNum(stockNum); + extend.setTotalStock(totalStock); + extend.setFreezeStock(freezeStock); + return extend; + } + + public ProductExtend transVo(ProductExtend extend){ + if(extend == null){ + return null; + } + Product product = productService.getById(extend.getProductId()); + if(product != null){ + ProductCategory category = productCategoryService.getById(product.getCategoryId()); + if(category != null){ + extend.setCategoryName(category.getName()); + } + extend.setName(product.getName()); + extend.setAccountNum(product.getAccountNum()); + extend.setStorage(storageStockService.getStorage(extend.getId())); + ProductUnit productUnit = productUnitService.getById(product.getUnitId()); + if(productUnit != null){ + productUnit = productUnitService.transVo(productUnit); + extend.setProductUnit(productUnit); + }else { + extend.setProductUnit(new ProductUnit()); + } + } + return extend; + } +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/product/impl/ProductImageServiceImpl.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/product/impl/ProductImageServiceImpl.java new file mode 100644 index 0000000..eee8b95 --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/product/impl/ProductImageServiceImpl.java @@ -0,0 +1,24 @@ +package net.jjjerp.admin.service.product.impl; + +import net.jjjerp.common.entity.product.ProductImage; +import net.jjjerp.common.mapper.product.ProductImageMapper; +import net.jjjerp.admin.service.product.ProductImageService; +import net.jjjerp.framework.common.service.impl.BaseServiceImpl; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.beans.factory.annotation.Autowired; + +/** + * 商品图片记录表 服务实现类 + * + * @author jjjerp + * @since 2024-04-16 + */ +@Slf4j +@Service +public class ProductImageServiceImpl extends BaseServiceImpl implements ProductImageService { + + @Autowired + private ProductImageMapper productImageMapper; + +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/product/impl/ProductMfrsServiceImpl.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/product/impl/ProductMfrsServiceImpl.java new file mode 100644 index 0000000..e5a06b3 --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/product/impl/ProductMfrsServiceImpl.java @@ -0,0 +1,87 @@ +package net.jjjerp.admin.service.product.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import net.jjjerp.common.entity.product.Product; +import net.jjjerp.common.entity.product.ProductMfrs; +import net.jjjerp.common.entity.product.ProductUnit; +import net.jjjerp.common.mapper.product.ProductMfrsMapper; +import net.jjjerp.common.param.CommonPageParam; +import net.jjjerp.admin.service.product.ProductMfrsService; +import net.jjjerp.common.util.StringUtil; +import net.jjjerp.framework.common.exception.BusinessException; +import net.jjjerp.framework.common.service.impl.BaseServiceImpl; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.framework.core.pagination.PageInfo; +import net.jjjerp.framework.core.pagination.Paging; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; +import org.springframework.beans.factory.annotation.Autowired; + +import java.util.List; + +/** + * 产品品牌表 服务实现类 + * + * @author jjjerp + * @since 2024-04-15 + */ +@Slf4j +@Service +public class ProductMfrsServiceImpl extends BaseServiceImpl implements ProductMfrsService { + + @Autowired + private ProductMfrsMapper productMfrsMapper; + + @Override + public Paging index(CommonPageParam commonPageParam) { + Page page = new PageInfo(commonPageParam); + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + if (StringUtils.isNotEmpty(commonPageParam.getSearch())) { + wrapper.like(ProductMfrs::getName, commonPageParam.getSearch()); + } + wrapper.orderByDesc(ProductMfrs::getCreateTime); + IPage iPage = this.page(page, wrapper); + return new Paging(iPage); + } + + @Override + public boolean add(ProductMfrs mfrs) { + if(checkIsNameExist(null, mfrs.getName()) > 0){ + throw new BusinessException("该品牌已存在"); + } + return this.save(mfrs); + } + + @Override + public boolean edit(ProductMfrs mfrs) { + if(checkIsNameExist(mfrs.getId(), mfrs.getName()) > 0){ + throw new BusinessException("该品牌已存在"); + } + return this.updateById(mfrs); + } + + public int checkIsNameExist(Integer id, String name) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + if(id != null){ + wrapper.ne(ProductMfrs::getId, id); + } + wrapper.eq(ProductMfrs::getName, name); + return this.count(wrapper); + } + + @Override + public boolean delById(Integer id) { + return this.removeById(id); + } + + @Override + public List getAll() { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.orderByDesc(ProductMfrs::getCreateTime); + return this.list(wrapper); + } +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/product/impl/ProductServiceImpl.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/product/impl/ProductServiceImpl.java new file mode 100644 index 0000000..6077d34 --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/product/impl/ProductServiceImpl.java @@ -0,0 +1,406 @@ +package net.jjjerp.admin.service.product.impl; + +import cn.hutool.core.bean.BeanUtil; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.ApiModelProperty; +import net.jjjerp.common.entity.product.*; +import net.jjjerp.admin.mapper.product.ProductMapper; +import net.jjjerp.common.param.product.ProductPageParam; +import net.jjjerp.common.param.product.ProductParam; +import net.jjjerp.admin.service.product.*; +import net.jjjerp.common.util.ProductUtils; +import net.jjjerp.common.vo.product.ProductImageVo; +import net.jjjerp.common.vo.product.ProductSkuVo; +import net.jjjerp.common.vo.product.ProductVo; +import net.jjjerp.framework.common.exception.BusinessException; +import net.jjjerp.framework.common.service.impl.BaseServiceImpl; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.framework.core.pagination.PageInfo; +import net.jjjerp.framework.core.pagination.Paging; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang3.StringUtils; +import org.apache.commons.lang3.math.NumberUtils; +import org.apache.commons.text.StringEscapeUtils; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Service; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.transaction.annotation.Transactional; + +import javax.annotation.Resource; +import java.util.*; +import java.util.stream.Collectors; + +/** + * 产品表 服务实现类 + * + * @author jjjerp + * @since 2024-04-12 + */ +@Slf4j +@Service +public class ProductServiceImpl extends BaseServiceImpl implements ProductService { + + @Autowired + private ProductMapper productMapper; + @Autowired + private ProductCategoryService productCategoryService; + @Autowired + private ProductExtendService productExtendService; + @Autowired + private ProductUtils productUtils; + @Resource + private ProductMfrsService mfrsService; + @Resource + private ProductUnitService unitService; + @Resource + private ProductAttributeService productAttributeService; + @Autowired + private ProductImageService productImageService; + @Autowired + private ProductUnitService productUnitService; + + /** + * 商品列表 + * @param productPageParam + * @return + */ + @Override + public Map getList(ProductPageParam productPageParam) { + Map result = new HashMap<>(); + // 商品列表 + Page page = new PageInfo<>(productPageParam); + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + //删除标记,0未删除,1删除 + wrapper.eq(Product::getDeleteFlag, 0); + //名称搜索 + if(StringUtils.isNotEmpty(productPageParam.getName())){ + wrapper.like(Product::getName, productPageParam.getName()); + } + //商品分类搜索 + if(productPageParam.getCategoryId() != null && productPageParam.getCategoryId() > 0){ + //查询商品分类ID以及所有子分类ID + List subCategoryIds = productCategoryService.getSubCategoryId(productPageParam.getCategoryId()); + wrapper.in(Product::getCategoryId, subCategoryIds); + } + // 启用 0-禁用 1-启用 + if(productPageParam.getEnabled() != null && productPageParam.getEnabled() > -1){ + wrapper.eq(Product::getEnabled, productPageParam.getEnabled()); + } + //商品条码 + if(StringUtils.isNotBlank(productPageParam.getBarCode())){ + wrapper.like(Product::getBarCode, productPageParam.getBarCode()); + } + //商品编码 + if(StringUtils.isNotBlank(productPageParam.getProductCode())){ + wrapper.like(Product::getProductCode, productPageParam.getProductCode()); + } + //规格条码 + if(StringUtils.isNotBlank(productPageParam.getExtendBarCode())){ + List productIds = productExtendService.list(new LambdaQueryWrapper() + .like(ProductExtend::getBarCode, productPageParam.getExtendBarCode()) + ).stream().map(ProductExtend::getProductId).collect(Collectors.toList()); + if (CollectionUtils.isEmpty(productIds)) { + productIds.add(0l); + } + wrapper.in(Product::getProductId, productIds); + } + //规格编码 + if(StringUtils.isNotBlank(productPageParam.getProductExtendCode())){ + List productIds = productExtendService.list(new LambdaQueryWrapper() + .like(ProductExtend::getProductCode, productPageParam.getProductExtendCode()) + ).stream().map(ProductExtend::getProductId).collect(Collectors.toList()); + if (CollectionUtils.isEmpty(productIds)) { + productIds.add(0l); + } + wrapper.in(Product::getProductId, productIds); + } + wrapper.orderByDesc(Product::getCreateTime); + IPage iPage = this.page(page, wrapper); + // 最终返回分页对象 + IPage resultPage = iPage.convert(this::transVo); + result.put("productList", new Paging(resultPage)); + return result; + } + + public ProductVo transVo(Product bean) { + ProductVo vo = new ProductVo(); + BeanUtils.copyProperties(bean, vo); + ProductCategory productCategory = productCategoryService.getById(bean.getCategoryId()); + //商品分类名称 + if(productCategory != null){ + vo.setCategoryName(productCategory.getName()); + } + ProductMfrs mfrs = mfrsService.getById(bean.getMfrs()); + //品牌名称 + if(mfrs != null){ + vo.setMfrsName(mfrs.getName()); + } + ProductUnit productUnit = productUnitService.getById(bean.getUnitId()); + //单位名称 + if(productUnit != null){ + vo.setUnitName(productUnit.getName()); + } + // sku + vo.setSkuList(productExtendService.getSkuByProductId(bean.getProductId())); + // image + List image = productUtils.getListByProductId(bean.getProductId()); + vo.setImage(image); + if(CollectionUtils.isNotEmpty(image)){ + //商品图片主图 + vo.setImagePath(image.get(0).getFilePath()); + } + return vo; + } + + /** + * 获取新增或修改数据 + * @param productId + * @return + */ + @Override + public Map getBaseData(Long productId) { + Map result = new HashMap<>(); + if(productId > 0){ + Product product = this.getById(productId); + // 商品信息 + ProductVo vo = transVo(product); + result.put("model", vo); + } + // 所有分类 + result.put("category", productCategoryService.getAll()); + // 所有品牌 + result.put("mfrs", mfrsService.getAll()); + // 所有单位 + result.put("unit", unitService.getAll()); + // 所有规格 + result.put("attribute", productAttributeService.getAll()); + return result; + } + + /** + * 新增商品 + * @param productParam + * @return + */ + @Override + @Transactional(rollbackFor = Exception.class) + public synchronized boolean add(ProductParam productParam) { + Product product = new Product(); + BeanUtils.copyProperties(productParam, product); + //编码 + if(StringUtils.isEmpty(product.getProductCode())){ + //获取最大商品编码 + String maxProductCode = productMapper.getMaxProductCode(); + if(StringUtils.isEmpty(maxProductCode) || "0".equals(maxProductCode)) { + maxProductCode = "1000000"; + }else { + maxProductCode = Long.parseLong(maxProductCode) + 1 + ""; + } + //自动生成编码 + product.setProductCode(maxProductCode); + }else { + //校验规格编码是否是数字 +// if(!StringUtils.isNumeric(product.getProductCode())){ +// throw new BusinessException("商品编码只能是数字"); +// } + //检查编码是否重复 + if(checkIsNameExist(null, product.getProductCode()) > 0){ + throw new BusinessException(product.getProductCode() + "商品编码已存在"); + } + } + //启用 0-禁用 1-启用 + product.setEnabled(1); + // 保存商品 + this.save(product); + // 保存商品规格 + productParam.setProductId(product.getProductId()); + this.addProductSpec(productParam, false); + // 保存商品图片 + this.addProductImages(productParam, product); + return true; + } + + public int checkIsNameExist(Long id, String productCode) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + if(id != null){ + wrapper.ne(Product::getProductId, id); + } + wrapper.eq(Product::getProductCode, productCode); + //删除标记,0未删除,1删除 + wrapper.eq(Product::getDeleteFlag, 0); + return this.count(wrapper); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public synchronized boolean edit(ProductParam productParam) { + Product product = new Product(); + BeanUtils.copyProperties(productParam, product); + if(StringUtils.isEmpty(product.getProductCode())){ + throw new BusinessException("商品编码不能为空"); + } + //校验商品编码是否是数字 +// if(!StringUtils.isNumeric(product.getProductCode())){ +// throw new BusinessException("商品编码只能是数字"); +// } + //检查编码是否重复 + if(checkIsNameExist(product.getProductId(), product.getProductCode()) > 0){ + throw new BusinessException(product.getProductCode() + "商品编码已存在"); + } + // 保存商品 + this.updateById(product); + // 保存商品规格 + productParam.setProductId(product.getProductId()); + this.addProductSpec(productParam, true); + // 保存商品图片 + this.addProductImages(productParam, product); + return true; + } + + /** + * 添加商品规格 + * @param productParam + * @param isUpdate + * @return + */ + private void addProductSpec(ProductParam productParam, boolean isUpdate) + { + List sku = productParam.getSkuList(); + if(CollectionUtils.isEmpty(sku)){ + if(isUpdate){ + throw new BusinessException("编辑模式规格不能为空"); + } + //新增时,没加规格默认添加一条规格数据 + ProductExtend extend = new ProductExtend(); + extend.setProductId(productParam.getProductId()); + extend.setProductCode(getMaxProductExtendCode()); + productExtendService.save(extend); + return; + } + for(ProductExtend item : sku){ + item.setProductId(productParam.getProductId()); + if(StringUtils.isEmpty(item.getProductCode())){ + throw new BusinessException("规格编码不能为空"); + } + //校验规格编码是否是数字 + if(!StringUtils.isNumeric(item.getProductCode())){ + throw new BusinessException("规格编码只能是数字"); + } + //校验规格编码是否重复 + if(checkIsProductCodeExist(item.getId(),item.getProductCode()) > 0){ + throw new BusinessException(item.getProductCode() + "规格编码已存在"); + } + } + // 更新模式 + if(isUpdate){ + for(ProductExtend extend : sku){ + if(extend.getId() != null && extend.getId() > 0){ + //修改 + productExtendService.updateById(extend); + }else { + //新增 + productExtendService.save(extend); + } + } + }else { + //新增模式 + productExtendService.saveBatch(sku); + } + for(ProductExtend item : sku){ + //校验规格编码是否重复 + if(checkIsProductCodeExist(item.getId(),item.getProductCode()) > 0){ + throw new BusinessException(item.getProductCode() + "规格编码已存在"); + } + } + } + + public int checkIsProductCodeExist(Long id, String productCode) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + if(id != null){ + wrapper.ne(ProductExtend::getId, id); + } + wrapper.eq(ProductExtend::getProductCode, productCode); + //删除标记,0未删除,1删除 + wrapper.eq(ProductExtend::getDeleteFlag, 0); + return productExtendService.count(wrapper); + } + + /** + * 添加商品图片 + * imageType 0商品主图,1详情图 + * @param productParam + * @param product + * @return + */ + private void addProductImages(ProductParam productParam, Product product) + { + // 先删除图片 + productImageService.remove(new LambdaQueryWrapper() + .eq(ProductImage::getProductId, product.getProductId()) + ); + List list = productParam.getImage(); + if(CollectionUtils.isNotEmpty(list)){ + list.forEach(item -> item.setProductId(product.getProductId())); + //再新增 + productImageService.saveBatch(list); + } + } + + @Override + @Transactional(rollbackFor = Exception.class) + public boolean setState(String productId, Integer state) { + List productIds = Arrays.stream(productId.split(",")).map(Long::parseLong).collect(Collectors.toList()); + for(Long id : productIds){ + Product product = new Product(); + product.setProductId(id); + //启用 0-禁用 1-启用 + product.setEnabled(state); + if(product.getEnabled() == 0){ + //库存为0才能删除 + if(getProductStock(id) > 0){ + throw new BusinessException("商品库存大于0,不允许停用"); + } + } + this.updateById(product); + } + return true; + } + + //获取商品总库存 + public Long getProductStock(Long productId){ + List sku = productExtendService.getSkuByProductId(productId); + return sku.stream().mapToLong(ProductExtend::getStockNum).sum(); + } + + @Override + public boolean setDelete(Long productId) { + Product product = this.getById(productId); + //只有停用商品才能删除 + if(product.getEnabled() == 1){ + throw new BusinessException("启用状态商品不能删除"); + } + //删除标记,0未删除,1删除 + product.setDeleteFlag(1); + return this.updateById(product); + } + + /** + * 获取最大规格编码 + * @return + */ + @Override + public String getMaxProductExtendCode() { + //获取最大规格编码 + String maxProductCode = productMapper.getMaxProductExtendCode(); + if(StringUtils.isEmpty(maxProductCode) || "0".equals(maxProductCode)) { + maxProductCode = "10000"; + }else { + maxProductCode = Long.parseLong(maxProductCode) + 1 + ""; + } + return maxProductCode; + } +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/product/impl/ProductUnitServiceImpl.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/product/impl/ProductUnitServiceImpl.java new file mode 100644 index 0000000..da4d977 --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/product/impl/ProductUnitServiceImpl.java @@ -0,0 +1,208 @@ +package net.jjjerp.admin.service.product.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import net.jjjerp.admin.service.product.ProductDeputyUnitService; +import net.jjjerp.common.entity.bill.BillHead; +import net.jjjerp.common.entity.product.Product; +import net.jjjerp.common.entity.product.ProductAttribute; +import net.jjjerp.common.entity.product.ProductDeputyUnit; +import net.jjjerp.common.entity.product.ProductUnit; +import net.jjjerp.common.mapper.product.ProductUnitMapper; +import net.jjjerp.common.param.CommonPageParam; +import net.jjjerp.admin.service.product.ProductService; +import net.jjjerp.admin.service.product.ProductUnitService; +import net.jjjerp.common.util.StringUtil; +import net.jjjerp.framework.common.exception.BusinessException; +import net.jjjerp.framework.common.service.impl.BaseServiceImpl; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.framework.core.pagination.PageInfo; +import net.jjjerp.framework.core.pagination.Paging; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Comparator; +import java.util.List; +import java.util.stream.Collectors; + +/** + * 多单位表 服务实现类 + * + * @author jjjerp + * @since 2024-04-12 + */ +@Slf4j +@Service +public class ProductUnitServiceImpl extends BaseServiceImpl implements ProductUnitService { + + @Autowired + private ProductUnitMapper productUnitMapper; + @Autowired + private ProductService productService; + @Autowired + private ProductDeputyUnitService productDeputyUnitService; + + @Override + public boolean batchSetStatus(Integer state, String ids) { + List unitIds = StringUtil.strToLongList(ids); + List products = productService.list(new LambdaQueryWrapper() + .in(Product::getUnitId, unitIds) + .eq(Product::getDeleteFlag, 0) + ); + if(CollectionUtils.isNotEmpty(products) && state != null && state == 0){ + throw new BusinessException("检测到存在依赖数据,不能禁用"); + } + return this.update(new LambdaUpdateWrapper() + .set(ProductUnit::getEnabled, state) + .in(ProductUnit::getBasicUnitId, unitIds) + ); + } + + @Override + public Paging index(CommonPageParam commonPageParam) { + Page page = new PageInfo(commonPageParam); + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + //删除标记,0未删除,1删除" + wrapper.eq(ProductUnit::getDeleteFlag, 0); + if (StringUtils.isNotEmpty(commonPageParam.getName())) { + wrapper.like(ProductUnit::getName, commonPageParam.getName()); + } + if (commonPageParam.getState() != null && commonPageParam.getState() >= 0) { + //是否启用,0停用,1启用 + wrapper.eq(ProductUnit::getEnabled, commonPageParam.getState()); + } + wrapper.orderByDesc(ProductUnit::getCreateTime); + IPage iPage = this.page(page, wrapper); + // 最终返回分页对象 + IPage resultPage = iPage.convert(this::transVo); + return new Paging(resultPage); + } + + //转换Vo + @Override + public ProductUnit transVo(ProductUnit productUnit) { + List deputyList = productDeputyUnitService.list(new LambdaQueryWrapper() + .eq(ProductDeputyUnit::getBasicUnitId, productUnit.getBasicUnitId()) + //删除标记,0未删除,1删除 + .eq(ProductDeputyUnit::getIsDelete, 0) + ); + //按deputyNum排序 + if(CollectionUtils.isNotEmpty(deputyList)) { + deputyList = deputyList.stream().sorted(Comparator.comparingInt(ProductDeputyUnit::getDeputyNum)).collect(Collectors.toList()); + for(ProductDeputyUnit deputy : deputyList){ + String name = deputy.getDeputyUnitName() + "=" + deputy.getRatio().toString() + productUnit.getBasicUnit(); + deputy.setName(name); + } + } + productUnit.setDeputyList(deputyList); + return productUnit; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public boolean add(ProductUnit unit) { + parseNameByUnit(unit); + if(checkIsNameExist(unit.getBasicUnitId(), unit.getName()) > 0){ + throw new BusinessException("该单位已存在"); + } + this.updateById(unit); + return true; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public boolean edit(ProductUnit unit) { + parseNameByUnit(unit); + if(checkIsNameExist(unit.getBasicUnitId(), unit.getName()) > 0){ + throw new BusinessException("该单位已存在"); + } + return this.updateById(unit); + } + + public int checkIsNameExist(Long id, String name) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + if(id != null){ + wrapper.ne(ProductUnit::getBasicUnitId, id); + } + wrapper.eq(ProductUnit::getName, name); + //删除标记,0未删除,1删除 + wrapper.eq(ProductUnit::getDeleteFlag, 0); + return this.count(wrapper); + } + + /** + * 根据单位信息生成名称的格式 + * @param unit + */ + private void parseNameByUnit(ProductUnit unit) { + String unitName = unit.getBasicUnit(); + if(unit.getBasicUnitId() == null){ + unit.setEnabled(1); + this.save(unit); + } + List deleteList = unit.getDeleteList(); + if (CollectionUtils.isNotEmpty(deleteList)){ + productDeputyUnitService.remove(new LambdaQueryWrapper() + .in(ProductDeputyUnit::getDeputyUnitId, deleteList) + ); + } + List deputyList = unit.getDeputyList(); + //按deputyNum排序 + if(CollectionUtils.isNotEmpty(deputyList)){ + deputyList = deputyList.stream().filter(o -> StringUtils.isNotBlank(o.getDeputyUnitName()) || o.getRatio() != null).collect(Collectors.toList()); + for(ProductDeputyUnit deputy : deputyList){ + if(deputy.getDeputyNum() == null){ + throw new BusinessException("副单位层级不能为空"); + } + } + deputyList = deputyList.stream().sorted(Comparator.comparingInt(ProductDeputyUnit::getDeputyNum)).collect(Collectors.toList()); + for(ProductDeputyUnit deputy : deputyList){ + deputy.setBasicUnitId(unit.getBasicUnitId()); + if(deputy.getDeputyUnitId() == null){ + productDeputyUnitService.save(deputy); + }else { + productDeputyUnitService.updateById(deputy); + } + if(StringUtils.isBlank(deputy.getDeputyUnitName())){ + throw new BusinessException("副单位名称不能为空"); + } + if(deputy.getRatio() == null){ + throw new BusinessException("比例不能为空"); + } + unitName += "/" + "(" + deputy.getDeputyUnitName() + "=" + deputy.getRatio().toString() + unit.getBasicUnit() + ")"; + } + } + unit.setName(unitName); + } + + @Override + public boolean delById(String ids) { + List unitIds = StringUtil.strToLongList(ids); + List products = productService.list(new LambdaQueryWrapper() + .in(Product::getUnitId, unitIds) + .eq(Product::getDeleteFlag, 0) + ); + if(CollectionUtils.isNotEmpty(products)){ + throw new BusinessException("检测到存在依赖数据,不能删除"); + } + return this.update(new LambdaUpdateWrapper() + //删除标记,0未删除,1删除 + .set(ProductUnit::getDeleteFlag, 1) + .in(ProductUnit::getBasicUnitId, unitIds) + ); + } + + @Override + public List getAll() { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + //删除标记,0未删除,1删除" + wrapper.eq(ProductUnit::getDeleteFlag, 0); + wrapper.orderByDesc(ProductUnit::getCreateTime); + return this.list(wrapper); + } +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/settings/DeliveryTemplateService.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/settings/DeliveryTemplateService.java new file mode 100644 index 0000000..173d70d --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/settings/DeliveryTemplateService.java @@ -0,0 +1,18 @@ +package net.jjjerp.admin.service.settings; + +import net.jjjerp.common.entity.settings.DeliveryTemplate; +import net.jjjerp.framework.common.service.BaseService; + +import java.util.List; + +/** + * 电子面单模板主表 服务类 + * + * @author jjjerp + * @since 2023-12-02 + */ +public interface DeliveryTemplateService extends BaseService { + + List getAll(); + +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/settings/ExpressService.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/settings/ExpressService.java new file mode 100644 index 0000000..550132f --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/settings/ExpressService.java @@ -0,0 +1,51 @@ +package net.jjjerp.admin.service.settings; + +import net.jjjerp.common.entity.settings.Express; +import net.jjjerp.common.param.setting.ExpressPageParam; +import net.jjjerp.common.param.setting.ExpressParam; +import net.jjjerp.framework.common.service.BaseService; +import net.jjjerp.framework.core.pagination.Paging; + +import java.util.List; + +/** + * 物流公司记录表 服务类 + * @author jjjerp + * @since 2022-07-19 + */ +public interface ExpressService extends BaseService { + /** + * 物流公司分页查询 + * @param expressPageParam + * @return + */ + Paging getList(ExpressPageParam expressPageParam); + + /** + * 获取所有物流公司 + * @param + * @return + */ + List getAll(); + + /** + * 添加物流公司 + * @param expressParam + * @return + */ + boolean add(ExpressParam expressParam); + + /** + * 修改物流公司 + * @param expressParam + * @return + */ + boolean edit(ExpressParam expressParam); + + /** + * 删除物流公司 + * @param id + * @return + */ + boolean delById(Integer id); +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/settings/LabelSettingService.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/settings/LabelSettingService.java new file mode 100644 index 0000000..1dae896 --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/settings/LabelSettingService.java @@ -0,0 +1,14 @@ +package net.jjjerp.admin.service.settings; + +import net.jjjerp.common.entity.settings.LabelSetting; +import net.jjjerp.framework.common.service.BaseService; + +/** + * 电子面单设置主表 服务类 + * + * @author jjjerp + * @since 2023-12-05 + */ +public interface LabelSettingService extends BaseService { + +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/settings/MessageFieldService.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/settings/MessageFieldService.java new file mode 100644 index 0000000..f0ae6b7 --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/settings/MessageFieldService.java @@ -0,0 +1,12 @@ +package net.jjjerp.admin.service.settings; + +import net.jjjerp.common.entity.settings.MessageField; +import net.jjjerp.framework.common.service.BaseService; + +/** + * 应用消息字段表 服务类 + * @author jjjerp + * @since 2022-06-24 + */ +public interface MessageFieldService extends BaseService { +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/settings/MessageService.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/settings/MessageService.java new file mode 100644 index 0000000..71daf24 --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/settings/MessageService.java @@ -0,0 +1,13 @@ +package net.jjjerp.admin.service.settings; + +import net.jjjerp.common.entity.settings.Message; +import net.jjjerp.framework.common.service.BaseService; + +/** + * 应用消息表 服务实现类 + * @author jjjerp + * @since 2022-06-24 + */ +public interface MessageService extends BaseService { + +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/settings/MessageSettingsService.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/settings/MessageSettingsService.java new file mode 100644 index 0000000..f5a8d43 --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/settings/MessageSettingsService.java @@ -0,0 +1,12 @@ +package net.jjjerp.admin.service.settings; + +import net.jjjerp.common.entity.settings.MessageSettings; +import net.jjjerp.framework.common.service.BaseService; + +/** + * 应用消息设置表 服务类 + * @author jjjerp + * @since 2022-06-24 + */ +public interface MessageSettingsService extends BaseService { +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/settings/PrinterService.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/settings/PrinterService.java new file mode 100644 index 0000000..e720e4e --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/settings/PrinterService.java @@ -0,0 +1,14 @@ +package net.jjjerp.admin.service.settings; + +import net.jjjerp.common.entity.settings.Printer; +import net.jjjerp.framework.common.service.BaseService; + +/** + * 小票打印机记录表 服务类 + * + * @author jjjerp + * @since 2022-07-20 + */ +public interface PrinterService extends BaseService { + +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/settings/RegionService.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/settings/RegionService.java new file mode 100644 index 0000000..92642f3 --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/settings/RegionService.java @@ -0,0 +1,21 @@ +package net.jjjerp.admin.service.settings; + +import com.alibaba.fastjson.JSONArray; +import net.jjjerp.common.entity.settings.Region; +import net.jjjerp.framework.common.service.BaseService; + +import java.util.List; + +/** + * 服务类 + * + * @author jjjerp + * @since 2022-06-24 + */ +public interface RegionService extends BaseService { + /** + * 转换前端使用地区格式 + * @return + */ + List getRegionForApi(); +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/settings/ReturnAddressService.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/settings/ReturnAddressService.java new file mode 100644 index 0000000..58c8d50 --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/settings/ReturnAddressService.java @@ -0,0 +1,14 @@ +package net.jjjerp.admin.service.settings; + +import net.jjjerp.common.entity.settings.ReturnAddress; +import net.jjjerp.framework.common.service.BaseService; + +/** + * 退货地址记录表 服务类 + * @author jjjerp + * @since 2022-07-20 + */ +public interface ReturnAddressService extends BaseService { + + +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/settings/SettingService.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/settings/SettingService.java new file mode 100644 index 0000000..7dc2d9a --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/settings/SettingService.java @@ -0,0 +1,14 @@ +package net.jjjerp.admin.service.settings; + +import net.jjjerp.common.entity.settings.Setting; +import net.jjjerp.framework.common.service.BaseService; + +/** + * 商城设置记录表 服务类 + * + * @author jjjerp + * @since 2022-06-24 + */ +public interface SettingService extends BaseService { + +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/settings/impl/DeliveryTemplateServiceImpl.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/settings/impl/DeliveryTemplateServiceImpl.java new file mode 100644 index 0000000..ca95b76 --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/settings/impl/DeliveryTemplateServiceImpl.java @@ -0,0 +1,28 @@ +package net.jjjerp.admin.service.settings.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.common.entity.settings.DeliveryTemplate; +import net.jjjerp.common.mapper.settings.DeliveryTemplateMapper; +import net.jjjerp.admin.service.settings.DeliveryTemplateService; +import net.jjjerp.framework.common.service.impl.BaseServiceImpl; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * 电子面单模板 服务实现类 + * @author jjjerp + * @since 2022-06-29 + */ +@Slf4j +@Service +public class DeliveryTemplateServiceImpl extends BaseServiceImpl implements DeliveryTemplateService { + + @Override + public List getAll(){ + return this.list(new LambdaQueryWrapper() + .orderByAsc(DeliveryTemplate::getSort)); + } + +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/settings/impl/ExpressServiceImpl.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/settings/impl/ExpressServiceImpl.java new file mode 100644 index 0000000..286b7f3 --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/settings/impl/ExpressServiceImpl.java @@ -0,0 +1,99 @@ +package net.jjjerp.admin.service.settings.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.common.entity.bill.BillDelivery; +import net.jjjerp.common.entity.bill.BillHead; +import net.jjjerp.common.entity.settings.Express; +import net.jjjerp.common.mapper.settings.ExpressMapper; +import net.jjjerp.common.param.setting.ExpressPageParam; +import net.jjjerp.common.param.setting.ExpressParam; +import net.jjjerp.admin.service.bill.BillDeliveryService; +import net.jjjerp.admin.service.bill.BillHeadService; +import net.jjjerp.admin.service.settings.ExpressService; +import net.jjjerp.framework.common.exception.BusinessException; +import net.jjjerp.framework.common.service.impl.BaseServiceImpl; +import net.jjjerp.framework.core.pagination.PageInfo; +import net.jjjerp.framework.core.pagination.Paging; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.List; + +/** + * 物流公司记录表 服务实现类 + * @author jjjshop + * @since 2022-07-19 + */ +@Slf4j +@Service +public class ExpressServiceImpl extends BaseServiceImpl implements ExpressService { + + @Resource + private BillHeadService billHeadService; + @Autowired + private BillDeliveryService billDeliveryService; + + + /** + * 物流公司分页查询 + * @param expressPageParam + * @return + */ + public Paging getList(ExpressPageParam expressPageParam) { + return new Paging<>(this.page(new PageInfo<>(expressPageParam), new LambdaQueryWrapper().orderByAsc(Express::getSort))); + } + + /** + * 获取所有物流公司 + * @param + * @return + */ + public List getAll(){ + return this.list(new LambdaQueryWrapper().orderByAsc(Express::getSort)); + } + + /** + * 修改物流公司 + * @param expressParam + * @return + */ + public boolean edit(ExpressParam expressParam) { + Express express = new Express(); + BeanUtils.copyProperties(expressParam, express); + express.setExpressCode(express.getExpressCode().trim()); + express.setExpressName(express.getExpressName().trim()); + express.setWxCode(express.getWxCode().trim()); + return this.updateById(express); + } + + /** + * 添加物流公司 + * @param expressParam + * @return + */ + public boolean add(ExpressParam expressParam) { + Express express = new Express(); + BeanUtils.copyProperties(expressParam, express); + express.setExpressCode(express.getExpressCode().trim()); + express.setExpressName(express.getExpressName().trim()); + express.setWxCode(express.getWxCode().trim()); + return this.save(express); + } + + /** + * 真删除物流公司 + * @param id + * @return + */ + public boolean delById(Integer id) { + int count = billDeliveryService.count(new LambdaQueryWrapper().eq(BillDelivery::getExpressId, id)); + if (count > 0) { + throw new BusinessException("存在依赖数据,不允许删除"); + } + return this.removeById(id); + } + +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/settings/impl/LabelSettingServiceImpl.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/settings/impl/LabelSettingServiceImpl.java new file mode 100644 index 0000000..007bf87 --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/settings/impl/LabelSettingServiceImpl.java @@ -0,0 +1,24 @@ +package net.jjjerp.admin.service.settings.impl; + +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.common.entity.settings.LabelSetting; +import net.jjjerp.common.mapper.settings.LabelSettingMapper; +import net.jjjerp.admin.service.settings.LabelSettingService; +import net.jjjerp.framework.common.service.impl.BaseServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +/** + * 电子面单设置主表 服务实现类 + * + * @author jjjerp + * @since 2023-12-05 + */ +@Slf4j +@Service +public class LabelSettingServiceImpl extends BaseServiceImpl implements LabelSettingService { + + @Autowired + private LabelSettingMapper labelSettingMapper; + +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/settings/impl/MessageFieldServiceImpl.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/settings/impl/MessageFieldServiceImpl.java new file mode 100644 index 0000000..49af532 --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/settings/impl/MessageFieldServiceImpl.java @@ -0,0 +1,18 @@ +package net.jjjerp.admin.service.settings.impl; + +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.common.entity.settings.MessageField; +import net.jjjerp.common.mapper.settings.MessageFieldMapper; +import net.jjjerp.admin.service.settings.MessageFieldService; +import net.jjjerp.framework.common.service.impl.BaseServiceImpl; +import org.springframework.stereotype.Service; + +/** + * 应用消息字段表 服务实现类 + * @author jjjerp + * @since 2022-06-24 + */ +@Slf4j +@Service +public class MessageFieldServiceImpl extends BaseServiceImpl implements MessageFieldService { +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/settings/impl/MessageServiceImpl.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/settings/impl/MessageServiceImpl.java new file mode 100644 index 0000000..4e90db8 --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/settings/impl/MessageServiceImpl.java @@ -0,0 +1,19 @@ +package net.jjjerp.admin.service.settings.impl; + +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.common.entity.settings.Message; +import net.jjjerp.common.mapper.settings.MessageMapper; +import net.jjjerp.admin.service.settings.MessageService; +import net.jjjerp.framework.common.service.impl.BaseServiceImpl; +import org.springframework.stereotype.Service; + +/** + * 应用消息表 服务实现类 + * @author jjjerp + * @since 2022-06-24 + */ +@Slf4j +@Service +public class MessageServiceImpl extends BaseServiceImpl implements MessageService { + +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/settings/impl/MessageSettingsServiceImpl.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/settings/impl/MessageSettingsServiceImpl.java new file mode 100644 index 0000000..2de13f6 --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/settings/impl/MessageSettingsServiceImpl.java @@ -0,0 +1,18 @@ +package net.jjjerp.admin.service.settings.impl; + +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.common.entity.settings.MessageSettings; +import net.jjjerp.common.mapper.settings.MessageSettingsMapper; +import net.jjjerp.admin.service.settings.MessageSettingsService; +import net.jjjerp.framework.common.service.impl.BaseServiceImpl; +import org.springframework.stereotype.Service; + +/** + * 应用消息设置表 服务实现类 + * @author jjjerp + * @since 2022-06-24 + */ +@Slf4j +@Service +public class MessageSettingsServiceImpl extends BaseServiceImpl implements MessageSettingsService { +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/settings/impl/PrinterServiceImpl.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/settings/impl/PrinterServiceImpl.java new file mode 100644 index 0000000..1c10863 --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/settings/impl/PrinterServiceImpl.java @@ -0,0 +1,20 @@ +package net.jjjerp.admin.service.settings.impl; + +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.common.entity.settings.Printer; +import net.jjjerp.common.mapper.settings.PrinterMapper; +import net.jjjerp.admin.service.settings.PrinterService; +import net.jjjerp.framework.common.service.impl.BaseServiceImpl; +import org.springframework.stereotype.Service; + +/** + * 小票打印机记录表 服务实现类 + * + * @author jjjerp + * @since 2022-07-20 + */ +@Slf4j +@Service +public class PrinterServiceImpl extends BaseServiceImpl implements PrinterService { + +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/settings/impl/RegionServiceImpl.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/settings/impl/RegionServiceImpl.java new file mode 100644 index 0000000..eb69be1 --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/settings/impl/RegionServiceImpl.java @@ -0,0 +1,78 @@ +package net.jjjerp.admin.service.settings.impl; + + +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.common.cache.RegionCache; +import net.jjjerp.common.entity.settings.Region; +import net.jjjerp.common.mapper.settings.RegionMapper; +import net.jjjerp.admin.service.settings.RegionService; +import net.jjjerp.common.vo.RegionVo; +import net.jjjerp.framework.common.service.impl.BaseServiceImpl; +import org.apache.commons.collections4.CollectionUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; + +/** + * 服务实现类 + * + * @author jjjerp + * @since 2022-06-24 + */ +@Slf4j +@Service +public class RegionServiceImpl extends BaseServiceImpl implements RegionService { + + @Autowired + private RegionCache regionCache; + + public List getRegionForApi() { + List result = new ArrayList<>(); + JSONArray provinceList = new JSONArray(); + JSONArray cityList = new JSONArray(); + JSONArray areaList = new JSONArray(); + JSONObject json = null; + // 省份 + for (RegionVo province : regionCache.getCacheTree()) { + json = new JSONObject(); + json.put("label", province.getName()); + json.put("value", province.getId()); + provinceList.add(json); + + JSONArray cityListTemp = new JSONArray(); + JSONArray cityAreaListTemp = new JSONArray(); + // 城市 + for(RegionVo city : province.getChildren()){ + json = new JSONObject(); + json.put("label", city.getName()); + json.put("value", city.getId()); + cityListTemp.add(json); + + JSONArray areaListTemp = new JSONArray(); + // 地区 + for(RegionVo area : city.getChildren()){ + json = new JSONObject(); + json.put("label", area.getName()); + json.put("value", area.getId()); + areaListTemp.add(json); + } + cityAreaListTemp.add(areaListTemp); + } + if(CollectionUtils.isNotEmpty(cityAreaListTemp)){ + areaList.add(cityAreaListTemp); + } + if(CollectionUtils.isNotEmpty(cityListTemp)){ + cityList.add(cityListTemp); + } + } + result.add(provinceList); + result.add(cityList); + result.add(areaList); + return result; + } + +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/settings/impl/ReturnAddressServiceImpl.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/settings/impl/ReturnAddressServiceImpl.java new file mode 100644 index 0000000..b1ba14a --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/settings/impl/ReturnAddressServiceImpl.java @@ -0,0 +1,19 @@ +package net.jjjerp.admin.service.settings.impl; + +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.common.entity.settings.ReturnAddress; +import net.jjjerp.common.mapper.settings.ReturnAddressMapper; +import net.jjjerp.admin.service.settings.ReturnAddressService; +import net.jjjerp.framework.common.service.impl.BaseServiceImpl; +import org.springframework.stereotype.Service; + +/** + * 退货地址记录表 服务实现类 + * @author jjjerp + * @since 2022-07-20 + */ +@Slf4j +@Service +public class ReturnAddressServiceImpl extends BaseServiceImpl implements ReturnAddressService { + +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/settings/impl/SettingServiceImpl.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/settings/impl/SettingServiceImpl.java new file mode 100644 index 0000000..ffff5d8 --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/settings/impl/SettingServiceImpl.java @@ -0,0 +1,24 @@ +package net.jjjerp.admin.service.settings.impl; + +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.common.entity.settings.Setting; +import net.jjjerp.common.mapper.settings.SettingMapper; +import net.jjjerp.admin.service.settings.SettingService; +import net.jjjerp.framework.common.service.impl.BaseServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +/** + * 商城设置记录表 服务实现类 + * + * @author jjjerp + * @since 2022-06-24 + */ +@Slf4j +@Service +public class SettingServiceImpl extends BaseServiceImpl implements SettingService { + + @Autowired + private SettingMapper settingMapper; + +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/shop/ShopAccessService.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/shop/ShopAccessService.java new file mode 100644 index 0000000..886395d --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/shop/ShopAccessService.java @@ -0,0 +1,12 @@ + + +package net.jjjerp.admin.service.shop; + +import net.jjjerp.common.entity.shop.AdminAccess; +import net.jjjerp.framework.common.service.BaseService; + +/** + * 系统用户 服务类 + */ +public interface ShopAccessService extends BaseService { +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/shop/ShopLoginLogService.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/shop/ShopLoginLogService.java new file mode 100644 index 0000000..54d1a9d --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/shop/ShopLoginLogService.java @@ -0,0 +1,23 @@ +package net.jjjerp.admin.service.shop; + +import net.jjjerp.common.entity.shop.AdminLoginLog; +import net.jjjerp.framework.common.service.BaseService; +import net.jjjerp.framework.core.pagination.Paging; +import net.jjjerp.admin.param.shop.LoginLogPageParam; +import net.jjjerp.admin.vo.shop.LoginLogVo; + +/** + * 管理员登录记录表 服务类 + * @author jjjerp + * @since 2022-08-15 + */ +public interface ShopLoginLogService extends BaseService { + + /** + * 获取所有登陆记录 + * @param loginLogPageParam + * @return + */ + Paging getList(LoginLogPageParam loginLogPageParam); + +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/shop/ShopOptLogService.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/shop/ShopOptLogService.java new file mode 100644 index 0000000..6bd55f8 --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/shop/ShopOptLogService.java @@ -0,0 +1,23 @@ +package net.jjjerp.admin.service.shop; + +import net.jjjerp.common.entity.shop.AdminOptLog; +import net.jjjerp.framework.common.service.BaseService; +import net.jjjerp.framework.core.pagination.Paging; +import net.jjjerp.admin.param.shop.OptLogPageParam; +import net.jjjerp.admin.vo.shop.OptLogVo; + +/** + * 管理员操作记录表 服务类 + * @author jjjerp + * @since 2022-08-15 + */ +public interface ShopOptLogService extends BaseService { + + /** + * 获取所有操作记录 + * @param optLogPageParam + * @return + */ + Paging getList(OptLogPageParam optLogPageParam); + +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/shop/ShopRoleAccessService.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/shop/ShopRoleAccessService.java new file mode 100644 index 0000000..7254a5d --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/shop/ShopRoleAccessService.java @@ -0,0 +1,12 @@ +package net.jjjerp.admin.service.shop; + +import net.jjjerp.common.entity.shop.AdminRoleAccess; +import net.jjjerp.framework.common.service.BaseService; + +/** + * 商家用户角色权限关系表 服务类 + * @author jjjerp + * @since 2022-07-09 + */ +public interface ShopRoleAccessService extends BaseService { +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/shop/ShopRoleService.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/shop/ShopRoleService.java new file mode 100644 index 0000000..7dca22b --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/shop/ShopRoleService.java @@ -0,0 +1,48 @@ +package net.jjjerp.admin.service.shop; + +import net.jjjerp.common.entity.shop.AdminRole; +import net.jjjerp.framework.common.service.BaseService; +import net.jjjerp.admin.param.shopUser.ShopRoleParam; + +import java.util.List; + +/** + * 商家用户角色表 服务类 + * @author jjjerp + * @since 2022-07-09 + */ +public interface ShopRoleService extends BaseService { + /** + * 角色列表 + * @return + */ + List getList(); + + /** + * 新增角色 + * @param shopRoleParam + * @return + */ + Boolean add(ShopRoleParam shopRoleParam); + + /** + * 获取已选择权限 + * @param roleId + * @return + */ + List getSelectList(Integer roleId); + + /** + * 编辑角色 + * @param shopRoleParam + * @return + */ + Boolean edit(ShopRoleParam shopRoleParam); + + /** + * 删除角色 + * @param roleId + * @return + */ + Boolean delete(Integer roleId); +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/shop/ShopUserRoleService.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/shop/ShopUserRoleService.java new file mode 100644 index 0000000..06eacf7 --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/shop/ShopUserRoleService.java @@ -0,0 +1,12 @@ +package net.jjjerp.admin.service.shop; + +import net.jjjerp.common.entity.shop.AdminUserRole; +import net.jjjerp.framework.common.service.BaseService; + +/** + * 商家用户角色记录表 服务类 + * @author jjjerp + * @since 2022-07-09 + */ +public interface ShopUserRoleService extends BaseService { +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/shop/ShopUserService.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/shop/ShopUserService.java new file mode 100644 index 0000000..a6751d2 --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/shop/ShopUserService.java @@ -0,0 +1,73 @@ + + +package net.jjjerp.admin.service.shop; + +import net.jjjerp.common.entity.shop.AdminUser; +import net.jjjerp.framework.common.service.BaseService; +import net.jjjerp.framework.core.pagination.Paging; +import net.jjjerp.admin.param.shopUser.ShopUserPageParam; +import net.jjjerp.admin.param.shopUser.ShopUserParam; +import net.jjjerp.framework.shiro.vo.LoginShopUserTokenVo; +import net.jjjerp.admin.vo.shopUser.ShopUserVo; + +import javax.servlet.http.HttpServletRequest; +import java.util.List; + +/** + * 系统用户 服务类 + */ +public interface ShopUserService extends BaseService { + /** + * 登录 + * @param username + * @param password + * @return + */ + LoginShopUserTokenVo login(String username, String password); + + /** + * 修改密码 + * @param password + * @return + */ + Boolean renew(String oldpass, String password, String confirmPass); + /** + * 退出 + * @param request + * @throws Exception + */ + void logout(HttpServletRequest request) throws Exception; + + /** + * 列表 + * @param params + * @throws Exception + */ + Paging getList(ShopUserPageParam params); + + /** + * 新增用户 + * @param shopUserParam + * @return + */ + Boolean add(ShopUserParam shopUserParam); + + /** + * 编辑用户 + * @param shopUserParam + * @return + */ + Boolean edit(ShopUserParam shopUserParam); + + /** + * 删除用户 + * @param shopUserId + * @return + */ + Boolean setDelete(Integer shopUserId); + + List getSales(); + + List getAll(); + +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/shop/impl/ShopAccessServiceImpl.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/shop/impl/ShopAccessServiceImpl.java new file mode 100644 index 0000000..caff88a --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/shop/impl/ShopAccessServiceImpl.java @@ -0,0 +1,19 @@ + + +package net.jjjerp.admin.service.shop.impl; + +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.common.entity.shop.AdminAccess; +import net.jjjerp.common.mapper.shop.ShopAccessMapper; +import net.jjjerp.framework.common.service.impl.BaseServiceImpl; +import net.jjjerp.admin.service.shop.ShopAccessService; +import org.springframework.stereotype.Service; + + +/** + * 系统用户 服务实现类 + */ +@Slf4j +@Service +public class ShopAccessServiceImpl extends BaseServiceImpl implements ShopAccessService { +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/shop/impl/ShopLoginLogServiceImpl.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/shop/impl/ShopLoginLogServiceImpl.java new file mode 100644 index 0000000..893c88f --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/shop/impl/ShopLoginLogServiceImpl.java @@ -0,0 +1,50 @@ +package net.jjjerp.admin.service.shop.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.common.entity.shop.AdminLoginLog; +import net.jjjerp.common.mapper.shop.ShopLoginLogMapper; +import net.jjjerp.framework.common.service.impl.BaseServiceImpl; +import net.jjjerp.framework.core.pagination.PageInfo; +import net.jjjerp.framework.core.pagination.Paging; +import net.jjjerp.admin.param.shop.LoginLogPageParam; +import net.jjjerp.admin.service.shop.ShopLoginLogService; +import net.jjjerp.admin.vo.shop.LoginLogVo; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Service; + +/** + * 管理员登录记录表 服务实现类 + * @author jjjerp + * @since 2022-08-15 + */ +@Slf4j +@Service +public class ShopLoginLogServiceImpl extends BaseServiceImpl implements ShopLoginLogService { + + /** + * 获取所有登陆记录 + * @param loginLogPageParam + * @return + */ + public Paging getList(LoginLogPageParam loginLogPageParam){ + Page page = new PageInfo(loginLogPageParam); + LambdaQueryWrapper wrapper = new LambdaQueryWrapper(); + if(StringUtils.isNotEmpty(loginLogPageParam.getUsername())){ + wrapper.like(AdminLoginLog::getUsername, loginLogPageParam.getUsername()); + } + wrapper.orderByDesc(AdminLoginLog::getCreateTime); + IPage iPage = this.page(page, wrapper); + IPage result = iPage.convert(item -> { + LoginLogVo vo = new LoginLogVo(); + BeanUtils.copyProperties(item, vo); + return vo; + }); + return new Paging(result); + } + + +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/shop/impl/ShopOptLogServiceImpl.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/shop/impl/ShopOptLogServiceImpl.java new file mode 100644 index 0000000..31e88f4 --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/shop/impl/ShopOptLogServiceImpl.java @@ -0,0 +1,69 @@ +package net.jjjerp.admin.service.shop.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.common.entity.shop.AdminOptLog; +import net.jjjerp.common.entity.shop.AdminUser; +import net.jjjerp.common.mapper.shop.ShopOptLogMapper; +import net.jjjerp.framework.common.service.impl.BaseServiceImpl; +import net.jjjerp.framework.core.pagination.PageInfo; +import net.jjjerp.framework.core.pagination.Paging; +import net.jjjerp.admin.param.shop.OptLogPageParam; +import net.jjjerp.admin.service.shop.ShopOptLogService; +import net.jjjerp.admin.service.shop.ShopUserService; +import net.jjjerp.admin.vo.shop.OptLogVo; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import java.util.List; +import java.util.stream.Collectors; + +/** + * 管理员操作记录表 服务实现类 + * @author jjjerp + * @since 2022-08-15 + */ +@Slf4j +@Service +public class ShopOptLogServiceImpl extends BaseServiceImpl implements ShopOptLogService { + + @Autowired + private ShopUserService shopUserService; + + /** + * 获取所有操作记录 + * @param optLogPageParam + * @return + */ + public Paging getList(OptLogPageParam optLogPageParam){ + Page page = new PageInfo(optLogPageParam); + LambdaQueryWrapper wrapper = new LambdaQueryWrapper(); + if(StringUtils.isNotEmpty(optLogPageParam.getUsername())){ + List userIds = shopUserService.list(new LambdaQueryWrapper() + .and(i -> i.or().like(AdminUser::getUserName, optLogPageParam.getUsername()) + .or().like(AdminUser::getRealName, optLogPageParam.getUsername()))) + .stream().map(AdminUser::getShopUserId).collect(Collectors.toList()); + if(userIds.size() > 0){ + //模糊搜索 + wrapper.in(AdminOptLog::getShopUserId, userIds); + }else { + //没有匹配到 + wrapper.eq(AdminOptLog::getShopUserId, -1); + } + } + wrapper.orderByDesc(AdminOptLog::getCreateTime); + IPage iPage = this.page(page, wrapper); + IPage result = iPage.convert(item -> { + OptLogVo vo = new OptLogVo(); + BeanUtils.copyProperties(item, vo); + AdminUser adminUser = shopUserService.getById(vo.getShopUserId()); + vo.setRealName(adminUser.getRealName()); + vo.setUserName(adminUser.getUserName()); + return vo; + }); + return new Paging(result); + } +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/shop/impl/ShopRoleAccessServiceImpl.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/shop/impl/ShopRoleAccessServiceImpl.java new file mode 100644 index 0000000..8ee0064 --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/shop/impl/ShopRoleAccessServiceImpl.java @@ -0,0 +1,18 @@ +package net.jjjerp.admin.service.shop.impl; + +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.common.entity.shop.AdminRoleAccess; +import net.jjjerp.common.mapper.shop.ShopRoleAccessMapper; +import net.jjjerp.framework.common.service.impl.BaseServiceImpl; +import net.jjjerp.admin.service.shop.ShopRoleAccessService; +import org.springframework.stereotype.Service; + +/** + * 商家用户角色权限关系表 服务实现类 + * @author jjjerp + * @since 2022-07-09 + */ +@Slf4j +@Service +public class ShopRoleAccessServiceImpl extends BaseServiceImpl implements ShopRoleAccessService { +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/shop/impl/ShopRoleServiceImpl.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/shop/impl/ShopRoleServiceImpl.java new file mode 100644 index 0000000..80c3cb7 --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/shop/impl/ShopRoleServiceImpl.java @@ -0,0 +1,124 @@ +package net.jjjerp.admin.service.shop.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.common.entity.shop.AdminRole; +import net.jjjerp.common.entity.shop.AdminRoleAccess; +import net.jjjerp.common.mapper.shop.ShopRoleMapper; +import net.jjjerp.admin.mapper.shop.ShopUserRoleMapper; +import net.jjjerp.framework.common.exception.BusinessException; +import net.jjjerp.framework.common.service.impl.BaseServiceImpl; +import net.jjjerp.admin.param.shopUser.ShopRoleParam; +import net.jjjerp.admin.service.shop.ShopRoleAccessService; +import net.jjjerp.admin.service.shop.ShopRoleService; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.ArrayList; +import java.util.List; + +/** + * 商家用户角色表 服务实现类 + * @author jjjerp + * @since 2022-07-09 + */ +@Slf4j +@Service +public class ShopRoleServiceImpl extends BaseServiceImpl implements ShopRoleService { + @Autowired + private ShopRoleAccessService shopRoleAccessService; + @Autowired + private ShopUserRoleMapper shopUserRoleMapper; + + /** + * 角色列表 + * @param + * @return + */ + public List getList(){ + return this.list(new LambdaQueryWrapper().orderByAsc(AdminRole::getSort) + .orderByAsc(AdminRole::getCreateTime)); + } + /** + * 新增角色 + * @param shopRoleParam + * @return + */ + @Transactional(rollbackFor = Exception.class) + public Boolean add(ShopRoleParam shopRoleParam){ + AdminRole role = new AdminRole(); + BeanUtils.copyProperties(shopRoleParam, role); + // 保存主表 + this.save(role); + // 保存权限 + this.saveAccess(shopRoleParam, role.getRoleId()); + return true; + } + /** + * 获取已选择权限 + * @param roleId + * @return + */ + public List getSelectList(Integer roleId){ + List accessList = shopRoleAccessService.list(new LambdaQueryWrapper() + .eq(AdminRoleAccess::getRoleId, roleId)); + List idList = new ArrayList<>(); + accessList.forEach(item ->{ + idList.add(item.getAccessId()); + }); + return idList; + } + + /** + * 编辑角色 + * @param shopRoleParam + * @return + */ + @Transactional(rollbackFor = Exception.class) + public Boolean edit(ShopRoleParam shopRoleParam){ + AdminRole role = new AdminRole(); + BeanUtils.copyProperties(shopRoleParam, role); + // 保存主表 + this.updateById(role); + // 先删除权限 + shopRoleAccessService.remove(new LambdaQueryWrapper() + .eq(AdminRoleAccess::getRoleId, shopRoleParam.getRoleId())); + // 保存权限 + this.saveAccess(shopRoleParam, role.getRoleId()); + return true; + } + + /** + * 保存权限 + * @param shopRoleParam + * @param roleId + */ + private void saveAccess(ShopRoleParam shopRoleParam, Integer roleId){ + List accessList = new ArrayList<>(); + shopRoleParam.getAccessId().forEach(item -> { + AdminRoleAccess access = new AdminRoleAccess(); + access.setRoleId(roleId); + access.setAccessId(item); + accessList.add(access); + }); + shopRoleAccessService.saveBatch(accessList); + } + + /** + * 删除角色 + * @param roleId + * @return + */ + @Transactional(rollbackFor = Exception.class) + public Boolean delete(Integer roleId){ + // 判断是否有用户引用该角色 + Integer count = shopUserRoleMapper.getUserRoleCount(roleId); + if(count > 0){ + throw new BusinessException("当前角色下存在用户,不允许删除"); + } + shopRoleAccessService.remove(new LambdaQueryWrapper().eq(AdminRoleAccess::getRoleId, roleId)); + return this.removeById(roleId); + } +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/shop/impl/ShopUserRoleServiceImpl.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/shop/impl/ShopUserRoleServiceImpl.java new file mode 100644 index 0000000..eeea7bc --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/shop/impl/ShopUserRoleServiceImpl.java @@ -0,0 +1,18 @@ +package net.jjjerp.admin.service.shop.impl; + +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.common.entity.shop.AdminUserRole; +import net.jjjerp.common.mapper.shop.ShopUserRoleMapper; +import net.jjjerp.framework.common.service.impl.BaseServiceImpl; +import net.jjjerp.admin.service.shop.ShopUserRoleService; +import org.springframework.stereotype.Service; + +/** + * 商家用户角色记录表 服务实现类 + * @author jjjerp + * @since 2022-07-09 + */ +@Slf4j +@Service +public class ShopUserRoleServiceImpl extends BaseServiceImpl implements ShopUserRoleService { +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/shop/impl/ShopUserServiceImpl.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/shop/impl/ShopUserServiceImpl.java new file mode 100644 index 0000000..5f31785 --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/shop/impl/ShopUserServiceImpl.java @@ -0,0 +1,406 @@ + + +package net.jjjerp.admin.service.shop.impl; + +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.annotation.InterceptorIgnore; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.common.entity.app.App; +import net.jjjerp.common.entity.shop.AdminAccess; +import net.jjjerp.common.entity.shop.AdminUser; +import net.jjjerp.common.entity.shop.AdminUserRole; +import net.jjjerp.admin.mapper.shop.ShopUserRoleMapper; +import net.jjjerp.config.constant.CommonConstant; +import net.jjjerp.config.constant.CommonRedisKey; +import net.jjjerp.config.properties.JwtProperties; +import net.jjjerp.config.properties.SpringBootJjjProperties; +import net.jjjerp.framework.common.exception.BusinessException; +import net.jjjerp.framework.common.service.impl.BaseServiceImpl; +import net.jjjerp.framework.core.pagination.PageInfo; +import net.jjjerp.framework.core.pagination.Paging; +import net.jjjerp.framework.shiro.cache.ShopLoginRedisService; +import net.jjjerp.framework.shiro.jwt.JwtToken; +import net.jjjerp.framework.shiro.util.JwtTokenUtil; +import net.jjjerp.framework.shiro.util.JwtUtil; +import net.jjjerp.framework.shiro.util.SaltUtil; +import net.jjjerp.framework.shiro.vo.LoginAdminAccessVo; +import net.jjjerp.framework.shiro.vo.LoginShopUserTokenVo; +import net.jjjerp.framework.shiro.vo.LoginShopUserVo; +import net.jjjerp.framework.util.PasswordUtil; +import net.jjjerp.framework.util.ShopLoginUtil; +import net.jjjerp.admin.mapper.shop.ShopUserMapper; +import net.jjjerp.admin.param.shopUser.ShopUserPageParam; +import net.jjjerp.admin.param.shopUser.ShopUserParam; +import net.jjjerp.admin.service.app.AppService; +import net.jjjerp.admin.service.shop.ShopAccessService; +import net.jjjerp.admin.service.shop.ShopUserRoleService; +import net.jjjerp.admin.service.shop.ShopUserService; +import net.jjjerp.admin.vo.shopUser.ShopUserVo; +import org.apache.commons.codec.digest.DigestUtils; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang3.StringUtils; +import org.apache.shiro.SecurityUtils; +import org.apache.shiro.authc.AuthenticationException; +import org.apache.shiro.subject.Subject; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Lazy; +import org.springframework.data.redis.core.RedisTemplate; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import javax.servlet.http.HttpServletRequest; +import java.time.Duration; +import java.util.*; +import java.util.concurrent.TimeUnit; +import java.util.stream.Collectors; + + +/** + * 系统用户 服务实现类 + */ +@Slf4j +@Service +public class ShopUserServiceImpl extends BaseServiceImpl implements ShopUserService { + + @Autowired + private ShopUserMapper shopUserMapper; + @Autowired + private ShopUserRoleMapper shopUserRoleMapper; + @Lazy + @Autowired + private SpringBootJjjProperties springBootJjjProperties; + @Lazy + @Autowired + private JwtProperties jwtProperties; + @Lazy + @Autowired + private RedisTemplate redisTemplate; + @Lazy + @Autowired + private ShopLoginRedisService shopLoginRedisService; + @Autowired + private ShopAccessService shopAccessService; + @Autowired + private ShopUserRoleService shopUserRoleService; + @Autowired + private AppService appService; + + //业务员列表 + @Override + public List getSales() { + return this.list(new LambdaQueryWrapper() + //0=显示1=伪删除 + .eq(AdminUser::getIsDelete,0) + //是否为业务员0不是,1是 + .eq(AdminUser::getIsSales,1) + ); + } + + //系统用户列表 + @Override + public List getAll() { + return this.list(new LambdaQueryWrapper() + //0=显示1=伪删除 + .eq(AdminUser::getIsDelete,0) + ); + } + + @InterceptorIgnore(tenantLine = "true") + public LoginShopUserTokenVo login(String username, String password){ + AdminUser adminUser = this.getOne(new LambdaQueryWrapper() + .eq(AdminUser::getUserName, username) + //0=显示1=伪删除 + .eq(AdminUser::getIsDelete,0) + .comment(CommonConstant.NOT_WITH_App_Id)); + if(adminUser == null){ + throw new AuthenticationException("用户名或密码错误"); + } + String encryptPassword = PasswordUtil.encrypt(password, adminUser.getSalt()); + if (!encryptPassword.equals(adminUser.getPassword())) { + throw new AuthenticationException("用户名或密码错误"); + } + // 检查应用 + App app = appService.getById(adminUser.getAppId()); + if(app == null){ + throw new AuthenticationException("登录失败, 未找到应用信息"); + } + if(app.getIsRecycle()){ + throw new AuthenticationException("登录失败, 当前应用已禁用"); + } + if(app.getIsDelete()){ + throw new AuthenticationException("登录失败, 当前应用已删除"); + } + if (app.getExpireTime() != null && app.getExpireTime().before(new Date())) { + throw new AuthenticationException("登录失败, 当前应用已过期,请联系平台续费"); + } + // 将系统用户对象转换成登录用户对象 + LoginShopUserVo loginShopUserVo = new LoginShopUserVo(); + BeanUtils.copyProperties(adminUser, loginShopUserVo); + // 获取用户权限集合 + // 1.如果是超管,则有所有权限 + List accessList = null; + if(adminUser.getIsSuper()){ + accessList = shopAccessService.list(new LambdaQueryWrapper() + .eq(AdminAccess::getIsShow, true) + .orderByAsc(AdminAccess::getSort).orderByAsc(AdminAccess::getCreateTime) + .comment(CommonConstant.NOT_WITH_App_Id)); + }else{ + accessList = shopUserMapper.getAccessByUserId(adminUser.getShopUserId()); + if (CollectionUtils.isEmpty(accessList)) { + throw new AuthenticationException("权限列表不能为空"); + } + } + loginShopUserVo.setPermissions(this.transPermissions(accessList)); + loginShopUserVo.setMenus(this.transMenus(accessList)); + // 获取数据库中保存的盐值 + String newSalt = SaltUtil.getSalt(adminUser.getSalt(), jwtProperties); + + // 生成token字符串并返回 + Long expireSecond = jwtProperties.getExpireSecond(); + String token = JwtUtil.generateToken(username, newSalt, Duration.ofSeconds(expireSecond)); + log.debug("token:{}", token); + + // 创建AuthenticationToken + JwtToken jwtToken = JwtToken.build(token, username, newSalt, expireSecond); + + boolean enableShiro = springBootJjjProperties.getShiro().isEnable(); + if (enableShiro) { + // 从SecurityUtils里边创建一个 subject + Subject subject = SecurityUtils.getSubject(); + // 执行认证登录 + subject.login(jwtToken); + } else { + log.warn("未启用Shiro"); + } + + // 缓存登录信息到Redis + shopLoginRedisService.cacheLoginInfo(jwtToken, loginShopUserVo); + log.debug("登录成功,username:{}", username); + + // 缓存登录信息到redis + String tokenSha256 = DigestUtils.sha256Hex(token); + redisTemplate.opsForValue().set(tokenSha256, loginShopUserVo, 1, TimeUnit.DAYS); + + // 返回token和登录用户信息对象 + LoginShopUserTokenVo loginShopUserTokenVo = new LoginShopUserTokenVo(); + loginShopUserTokenVo.setToken(token); + loginShopUserTokenVo.setLoginShopUserVo(loginShopUserVo); + return loginShopUserTokenVo; + } + + /** + * 后端权限集合 + * @param accessList + * @return + */ + private Set transPermissions(List accessList){ + Set set = new HashSet(); + accessList.forEach(item -> { + set.add(item.getPath()); + }); + return set; + } + + /** + * 前端权限菜单集合 + * @param accessList + * @return + */ + private List transMenus(List accessList){ + // 转成vo + List voList = accessList.stream().map(e -> { + LoginAdminAccessVo shopAccessVo = new LoginAdminAccessVo(); + BeanUtils.copyProperties(e, shopAccessVo); + return shopAccessVo; + }).collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(LoginAdminAccessVo::getAccessId))), ArrayList::new)); + voList.sort(Comparator.comparing(LoginAdminAccessVo::getSort)); + // 遍历成树形结构 + List collect = voList.stream() + // 2. 找出所有顶级(规定 0 为顶级) + .filter(o -> StrUtil.equals("0", String.valueOf(o.getParentId()))) + // 3.给当前父级的 childList 设置子 + .peek(o -> o.setChildren(getChildList(o, voList))) + // 4.收集 + .collect(Collectors.toList()); + collect.sort(Comparator.comparing(LoginAdminAccessVo::getSort)); + return collect; + } + + // 根据当前父类 找出子类, 并通过递归找出子类的子类 + private List getChildList(AdminAccess bean, List voList) { + return voList.stream() + //筛选出父节点id == parentId 的所有对象 => list + .filter(o -> StrUtil.equals(String.valueOf(bean.getAccessId()), String.valueOf(o.getParentId()))) + .peek(o -> o.setChildren(getChildList(o, voList))) + .collect(Collectors.toList()); + } + + /** + * 修改密码 + * @param password + * @return + */ + public Boolean renew(String oldpass, String password, String confirmPass){ + // 当前登录用户 + AdminUser adminUser = this.getById(ShopLoginUtil.getUserId()); + if(!password.equals(confirmPass)){ + throw new BusinessException("两次密码不相同"); + } + String encryptOldPassword = PasswordUtil.encrypt(oldpass, adminUser.getSalt()); + if(!encryptOldPassword.equals(adminUser.getPassword())){ + throw new BusinessException("原密码不正确"); + } + String encryptPassword = PasswordUtil.encrypt(password, adminUser.getSalt()); + AdminUser updateBean = new AdminUser(); + updateBean.setShopUserId(adminUser.getShopUserId()); + updateBean.setPassword(encryptPassword); + return this.updateById(updateBean); + } + + @Override + public void logout(HttpServletRequest request) throws Exception { + Subject subject = SecurityUtils.getSubject(); + //注销 + subject.logout(); + // 获取token + String token = JwtTokenUtil.getToken(request, "admin"); + String username = JwtUtil.getUsername(token); + // 删除Redis缓存信息 + deleteLoginInfo(token, username); + log.info("登出成功,username:{},token:{}", username, token); + } + + private void deleteLoginInfo(String token, String username) { + if (token == null) { + throw new IllegalArgumentException("token不能为空"); + } + if (username == null) { + throw new IllegalArgumentException("username不能为空"); + } + String tokenMd5 = DigestUtils.md5Hex(token); + // 1. delete tokenMd5 + redisTemplate.delete(String.format(CommonRedisKey.SHOP_LOGIN_TOKEN, tokenMd5)); + // 2. delete username + redisTemplate.delete(String.format(CommonRedisKey.SHOP_LOGIN_USER, username)); + // 3. delete salt + redisTemplate.delete(String.format(CommonRedisKey.SHOP_LOGIN_SALT, username)); + // 4. delete user token + redisTemplate.delete(String.format(CommonRedisKey.SHOP_LOGIN_USER_TOKEN, username, tokenMd5)); + } + + /** + * 列表 + * @param params + * @throws Exception + */ + public Paging getList(ShopUserPageParam params){ + Page page = new PageInfo<>(params); + IPage iPage = this.page(page, new LambdaQueryWrapper().eq(AdminUser::getIsDelete, false)); + // 最终返回分页对象 + IPage resultPage = iPage.convert(item -> { + ShopUserVo vo = new ShopUserVo(); + BeanUtil.copyProperties(item, vo); + // 角色名称 + if(!vo.getIsSuper()){ + vo.setRoleList(shopUserRoleMapper.getRoleListByUser(vo.getShopUserId())); + } + return vo; + }); + return new Paging(resultPage); + } + + /** + * 新增用户 + * @param shopUserParam + * @return + */ + @Transactional(rollbackFor = Exception.class) + public Boolean add(ShopUserParam shopUserParam){ + //验证账号唯一性 + int count = this.count(new LambdaQueryWrapper() + .eq(AdminUser::getIsDelete,0) + .comment(CommonConstant.NOT_WITH_App_Id) + .eq(AdminUser::getUserName,shopUserParam.getUserName())); + if(count > 0){ + throw new BusinessException("该用户名已存在,请更改后再试"); + } + AdminUser user = new AdminUser(); + user.setUserName(shopUserParam.getUserName()); + user.setRealName(shopUserParam.getRealName()); + // 盐值 + String salt = SaltUtil.generateSalt(); + // 密码加密 + user.setSalt(salt); + user.setPassword(PasswordUtil.encrypt(shopUserParam.getPassword(), salt)); + this.save(user); + // 保存角色 + this.saveRole(shopUserParam, user.getShopUserId()); + return true; + } + + /** + * 编辑用户 + * @param shopUserParam + * @return + */ + @Transactional(rollbackFor = Exception.class) + public Boolean edit(ShopUserParam shopUserParam){ + AdminUser oldUser = this.getById(shopUserParam.getShopUserId()); + //如果修改了账号,则验证账号唯一性 + if(!oldUser.getUserName().equals(shopUserParam.getUserName())){ + //验证账号唯一性 + int count = this.count(new LambdaQueryWrapper() + .eq(AdminUser::getIsDelete,0) + .comment(CommonConstant.NOT_WITH_App_Id) + .eq(AdminUser::getUserName,shopUserParam.getUserName())); + if(count > 0){ + throw new BusinessException("该用户名已存在,请更改后再试"); + } + } + AdminUser user = new AdminUser(); + user.setShopUserId(shopUserParam.getShopUserId()); + user.setUserName(shopUserParam.getUserName()); + user.setRealName(shopUserParam.getRealName()); + if(StringUtils.isNotEmpty(shopUserParam.getPassword())){ + // 盐值 + String salt = SaltUtil.generateSalt(); + // 密码加密 + user.setSalt(salt); + user.setPassword(PasswordUtil.encrypt(shopUserParam.getPassword(), salt)); + } + this.updateById(user); + // 先删除角色 + shopUserRoleService.remove(new LambdaQueryWrapper() + .eq(AdminUserRole::getShopUserId, shopUserParam.getShopUserId())); + // 保存角色 + this.saveRole(shopUserParam, shopUserParam.getShopUserId()); + return true; + } + + private void saveRole(ShopUserParam shopUserParam, Integer shopUserId){ + List roleList = new ArrayList<>(); + shopUserParam.getRoleId().forEach(item -> { + AdminUserRole role = new AdminUserRole(); + role.setRoleId(item); + role.setShopUserId(shopUserId); + roleList.add(role); + }); + shopUserRoleService.saveBatch(roleList); + } + + /** + * 删除用户 + * @param shopUserId + * @return + */ + public Boolean setDelete(Integer shopUserId){ + return this.update(new LambdaUpdateWrapper() + .eq(AdminUser::getShopUserId, shopUserId).set(AdminUser::getIsDelete, true)); + } +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/store/StoreService.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/store/StoreService.java new file mode 100644 index 0000000..a4ed262 --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/store/StoreService.java @@ -0,0 +1,32 @@ +package net.jjjerp.admin.service.store; + +import net.jjjerp.common.entity.store.Store; +import net.jjjerp.common.param.CommonPageParam; +import net.jjjerp.framework.common.service.BaseService; +import net.jjjerp.framework.core.pagination.Paging; + +import java.util.List; +import java.util.Map; + +/** + * 供应商/客户信息表 服务类 + * + * @author jjjerp + * @since 2024-04-19 + */ +public interface StoreService extends BaseService { + + Paging getList(CommonPageParam param); + + boolean add(Store store); + + Map toEdit(Long storeId); + + boolean edit(Store store); + + boolean delById(Long storeId); + + boolean setState(Long storeId, Integer enabled); + + List getAll(); +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/store/impl/StoreServiceImpl.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/store/impl/StoreServiceImpl.java new file mode 100644 index 0000000..9ba2f6f --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/store/impl/StoreServiceImpl.java @@ -0,0 +1,165 @@ +package net.jjjerp.admin.service.store.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.ApiModelProperty; +import net.jjjerp.common.cache.RegionCache; +import net.jjjerp.common.entity.bill.BillHead; +import net.jjjerp.common.entity.depot.Depot; +import net.jjjerp.common.entity.store.Store; +import net.jjjerp.common.entity.supplier.Supplier; +import net.jjjerp.common.enums.StoreTypeEnum; +import net.jjjerp.common.mapper.store.StoreMapper; +import net.jjjerp.common.param.CommonPageParam; +import net.jjjerp.admin.service.bill.BillHeadService; +import net.jjjerp.admin.service.finance.capital.AccountService; +import net.jjjerp.admin.service.store.StoreService; +import net.jjjerp.common.util.CodeUtils; +import net.jjjerp.framework.common.exception.BusinessException; +import net.jjjerp.framework.common.service.impl.BaseServiceImpl; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.framework.core.pagination.PageInfo; +import net.jjjerp.framework.core.pagination.Paging; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; +import org.springframework.beans.factory.annotation.Autowired; + +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * 供应商/客户信息表 服务实现类 + * + * @author jjjerp + * @since 2024-04-19 + */ +@Slf4j +@Service +public class StoreServiceImpl extends BaseServiceImpl implements StoreService { + + @Autowired + private StoreMapper storeMapper; + @Autowired + private RegionCache regionCache; + @Autowired + private BillHeadService billHeadService; + @Autowired + private AccountService accountService; + + @Override + public Paging getList(CommonPageParam param) { + // 商品列表 + Page page = new PageInfo<>(param); + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + //删除标记,0未删除,1删除 + wrapper.eq(Store::getDeleteFlag, 0); + //名称搜索 + if(StringUtils.isNotEmpty(param.getName())){ + wrapper.like(Store::getStoreName, param.getName()); + } + // 启用 0-禁用 1-启用 + if(param.getEnabled() != null && param.getEnabled() > -1){ + wrapper.eq(Store::getEnabled, param.getEnabled()); + } + //店铺类型 + if(param.getType() != null && param.getType() > -1){ + wrapper.eq(Store::getStoreType, param.getType()); + } + wrapper.orderByAsc(Store::getSort); + wrapper.orderByDesc(Store::getCreateTime); + IPage iPage = this.page(page, wrapper); + // 最终返回分页对象 + return new Paging<>(iPage); + } + + @Override + public boolean add(Store store) { + if(StringUtils.isEmpty(store.getNickName())){ + store.setNickName(store.getStoreName()); + }else { + if(this.checkIsNameExist(null, store.getNickName()) > 0){ + throw new BusinessException("店铺昵称已存在"); + } + } + return this.save(store); + } + + public int checkIsNameExist(Long id, String nickName) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + if(id != null){ + wrapper.ne(Store::getStoreId, id); + } + wrapper.eq(Store::getNickName, nickName); + //删除标记,0未删除,1删除 + wrapper.eq(Store::getDeleteFlag, 0); + return this.count(wrapper); + } + + @Override + public Map toEdit(Long storeId) { + Map map = new HashMap<>(); + map.put("region",regionCache.getCacheTree()); + map.put("storeType", StoreTypeEnum.getList()); + Store store = this.getById(storeId); + map.put("model", store); + map.put("account", accountService.getAll()); + return map; + } + + @Override + public boolean edit(Store store) { + if(StringUtils.isEmpty(store.getNickName())){ + throw new BusinessException("店铺昵称不能为空"); + }else { + if(this.checkIsNameExist(store.getStoreId(), store.getNickName()) > 0){ + throw new BusinessException("店铺昵称已存在"); + } + } + return this.updateById(store); + } + + @Override + public boolean delById(Long storeId) { + Store store = this.getById(storeId); + //已经停用能够删除 + if(store.getEnabled() == 1){ + throw new BusinessException("启用状态不能删除"); + } + //删除标记,0未删除,1删除 + store.setDeleteFlag(1); + return this.updateById(store); + } + + @Override + public boolean setState(Long storeId, Integer enabled) { + Store store = new Store(); + store.setStoreId(storeId); + //启用 0-禁用 1-启用 + store.setEnabled(enabled); + if(store.getEnabled() == 0){ + List billHeads = billHeadService.list(new LambdaQueryWrapper() + .eq(BillHead::getStoreId, storeId) + //删除标记,0未删除,1删除 + .eq(BillHead::getDeleteFlag, 0) + ); + if(CollectionUtils.isNotEmpty(billHeads)){ + throw new BusinessException("店铺存在销售单,不能停用"); + } + } + return this.updateById(store); + } + + //店铺列表 + @Override + public List getAll() { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + //删除标记,0未删除,1删除 + wrapper.eq(Store::getDeleteFlag, 0); + wrapper.orderByDesc(Store::getCreateTime); + return this.list(wrapper); + } +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/supplier/SupplierService.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/supplier/SupplierService.java new file mode 100644 index 0000000..6344235 --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/supplier/SupplierService.java @@ -0,0 +1,32 @@ +package net.jjjerp.admin.service.supplier; + +import net.jjjerp.common.entity.supplier.Supplier; +import net.jjjerp.common.param.CommonPageParam; +import net.jjjerp.framework.common.service.BaseService; +import net.jjjerp.framework.core.pagination.Paging; + +import java.util.List; +import java.util.Map; + +/** + * 供应商/客户信息表 服务类 + * + * @author jjjerp + * @since 2024-04-18 + */ +public interface SupplierService extends BaseService { + + Paging getList(CommonPageParam param); + + boolean add(Supplier supplier); + + boolean edit(Supplier supplier); + + boolean delById(Long supplierId); + + boolean setState(Long supplierId, Integer status); + + Map toEdit(Long supplierId); + + List getAll(); +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/supplier/impl/SupplierServiceImpl.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/supplier/impl/SupplierServiceImpl.java new file mode 100644 index 0000000..d790e57 --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/supplier/impl/SupplierServiceImpl.java @@ -0,0 +1,179 @@ +package net.jjjerp.admin.service.supplier.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import net.jjjerp.admin.service.bill.BillHeadService; +import net.jjjerp.common.cache.RegionCache; +import net.jjjerp.common.entity.bill.BillHead; +import net.jjjerp.common.entity.product.Product; +import net.jjjerp.common.entity.product.ProductExtend; +import net.jjjerp.common.entity.supplier.Supplier; +import net.jjjerp.common.mapper.supplier.SupplierMapper; +import net.jjjerp.common.param.CommonPageParam; +import net.jjjerp.admin.service.supplier.SupplierService; +import net.jjjerp.common.util.CodeUtils; +import net.jjjerp.common.vo.product.ProductVo; +import net.jjjerp.framework.common.exception.BusinessException; +import net.jjjerp.framework.common.service.impl.BaseServiceImpl; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.framework.core.pagination.PageInfo; +import net.jjjerp.framework.core.pagination.Paging; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang3.StringUtils; +import org.springframework.core.annotation.OrderUtils; +import org.springframework.stereotype.Service; +import org.springframework.beans.factory.annotation.Autowired; + +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** + * 供应商/客户信息表 服务实现类 + * + * @author jjjerp + * @since 2024-04-18 + */ +@Slf4j +@Service +public class SupplierServiceImpl extends BaseServiceImpl implements SupplierService { + + @Autowired + private SupplierMapper supplierMapper; + @Autowired + private RegionCache regionCache; + @Autowired + private BillHeadService billHeadService; + + @Override + public Paging getList(CommonPageParam param) { + // 商品列表 + Page page = new PageInfo<>(param); + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + //删除标记,0未删除,1删除 + wrapper.eq(Supplier::getDeleteFlag, 0); + //名称搜索 + if(StringUtils.isNotEmpty(param.getName())){ + wrapper.like(Supplier::getSupplierName, param.getName()); + } + // 启用 0-禁用 1-启用 + if(param.getEnabled() != null && param.getEnabled() > -1){ + wrapper.eq(Supplier::getEnabled, param.getEnabled()); + } + //编码 + if(StringUtils.isNotEmpty(param.getCode())){ + wrapper.like(Supplier::getSupplierCode, param.getCode()); + } + wrapper.orderByAsc(Supplier::getSort); + wrapper.orderByDesc(Supplier::getCreateTime); + IPage iPage = this.page(page, wrapper); + // 最终返回分页对象 + return new Paging<>(iPage); + } + + @Override + public boolean add(Supplier supplier) { + if(StringUtils.isEmpty(supplier.getSupplierCode())){ + //自动生成编码,年月日加四位随机数字 + supplier.setSupplierCode(CodeUtils.geneCode()); + }else { + if(this.checkIsCodeExist(null, supplier.getSupplierCode()) > 0){ + throw new BusinessException("供应商编码已存在"); + } + } + if(CollectionUtils.isNotEmpty(supplier.getImageList())){ + supplier.setImageUrl(String.join(",", supplier.getImageList())); + } + //当前应付 = 期初应付 + supplier.setAllNeedPay(supplier.getInitial()); + //已付预付款 = 期初应付 - 欠款 + supplier.setAdvancePay(supplier.getInitial().subtract(supplier.getDebtCredit())); + return this.save(supplier); + } + + @Override + public boolean edit(Supplier supplier) { + if(StringUtils.isEmpty(supplier.getSupplierCode())){ + throw new BusinessException("供应商编码不能为空"); + }else { + if(this.checkIsCodeExist(supplier.getSupplierId(), supplier.getSupplierCode()) > 0){ + throw new BusinessException("供应商编码已存在"); + } + } + if(CollectionUtils.isNotEmpty(supplier.getImageList())){ + supplier.setImageUrl(String.join(",", supplier.getImageList())); + } + return this.updateById(supplier); + } + + public int checkIsCodeExist(Long id, String productCode) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + if(id != null){ + wrapper.ne(Supplier::getSupplierId, id); + } + wrapper.eq(Supplier::getSupplierCode, productCode); + //删除标记,0未删除,1删除 + wrapper.eq(Supplier::getDeleteFlag, 0); + return this.count(wrapper); + } + + @Override + public boolean delById(Long supplierId) { + Supplier supplier = this.getById(supplierId); + //是否启用,0停用,1启用 + if(supplier.getEnabled() == 1){ + throw new BusinessException("启用状态不能删除"); + } + //删除标记,0未删除,1删除 + supplier.setDeleteFlag(1); + return this.updateById(supplier); + } + + @Override + public boolean setState(Long supplierId, Integer enabled) { + Supplier supplier = new Supplier(); + supplier.setSupplierId(supplierId); + //启用 0-禁用 1-启用 + supplier.setEnabled(enabled); + if(supplier.getEnabled() == 0){ + if(this.countHesdBySupplierId(supplierId) > 0){ + throw new BusinessException("供应商已产生单据,不能停用"); + } + } + return this.updateById(supplier); + } + + //查询供应商产生单据数量 + public Integer countHesdBySupplierId(Long supplierId) { + return billHeadService.count(new LambdaQueryWrapper() + .eq(BillHead::getSupplierId, supplierId) + .eq(BillHead::getDeleteFlag, 0) + ); + } + + @Override + public Map toEdit(Long supplierId) { + Map map = new HashMap<>(); + map.put("region",regionCache.getCacheTree()); + Supplier supplier = this.getById(supplierId); + if(StringUtils.isNotEmpty(supplier.getImageUrl())){ + supplier.setImageList(Arrays.asList(supplier.getImageUrl().split(","))); + } + map.put("model", supplier); + return map; + } + + //供应商列表 + @Override + public List getAll() { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + //删除标记,0未删除,1删除 + wrapper.eq(Supplier::getDeleteFlag, 0); + wrapper.orderByAsc(Supplier::getSort); + wrapper.orderByDesc(Supplier::getCreateTime); + return this.list(wrapper); + } +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/system/SystemVersionService.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/system/SystemVersionService.java new file mode 100644 index 0000000..acb2317 --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/system/SystemVersionService.java @@ -0,0 +1,14 @@ +package net.jjjerp.admin.service.system; + +import net.jjjerp.common.entity.system.SystemVersion; +import net.jjjerp.framework.common.service.BaseService; + +/** + * 系统信息表 服务类 + * + * @author jjjerp + * @since 2022-06-22 + */ +public interface SystemVersionService extends BaseService { + public String getVersion(); +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/system/impl/SystemVersionServiceImpl.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/system/impl/SystemVersionServiceImpl.java new file mode 100644 index 0000000..9849d62 --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/service/system/impl/SystemVersionServiceImpl.java @@ -0,0 +1,30 @@ +package net.jjjerp.admin.service.system.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.common.entity.system.SystemVersion; +import net.jjjerp.common.mapper.system.SystemVersionMapper; +import net.jjjerp.admin.service.system.SystemVersionService; +import net.jjjerp.config.constant.CommonConstant; +import net.jjjerp.framework.common.service.impl.BaseServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +/** + * 系统信息表 服务实现类 + * + * @author jjjerp + * @since 2022-06-22 + */ +@Slf4j +@Service +public class SystemVersionServiceImpl extends BaseServiceImpl implements SystemVersionService { + @Autowired + private SystemVersionMapper systemVersionMapper; + + public String getVersion(){ + SystemVersion version = systemVersionMapper.selectOne(new LambdaQueryWrapper() + .comment(CommonConstant.NOT_WITH_App_Id)); + return version.getVersionNo(); + } +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/vo/app/AppVo.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/vo/app/AppVo.java new file mode 100644 index 0000000..94ee6a8 --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/vo/app/AppVo.java @@ -0,0 +1,21 @@ +package net.jjjerp.admin.vo.app; + +import com.alibaba.fastjson.JSONObject; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import net.jjjerp.common.entity.app.App; + + +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@ApiModel("appVo") +public class AppVo extends App { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("支付类型") + private JSONObject payTypeJson; +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/vo/file/UploadFileVo.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/vo/file/UploadFileVo.java new file mode 100644 index 0000000..9629f6c --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/vo/file/UploadFileVo.java @@ -0,0 +1,20 @@ +package net.jjjerp.admin.vo.file; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import net.jjjerp.common.entity.file.UploadFile; + +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@ApiModel("上传文件VO") +public class UploadFileVo extends UploadFile { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("文件路径") + private String filePath; +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/vo/setting/DeliveryRuleVo.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/vo/setting/DeliveryRuleVo.java new file mode 100644 index 0000000..fa3c52c --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/vo/setting/DeliveryRuleVo.java @@ -0,0 +1,25 @@ +package net.jjjerp.admin.vo.setting; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import net.jjjerp.common.entity.settings.DeliveryRule; + +import java.util.List; + +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@ApiModel("配送规则VO对象") +public class DeliveryRuleVo extends DeliveryRule { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("省份") + private List province; + + @ApiModelProperty("城市") + private List citys; +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/vo/setting/DeliveryVo.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/vo/setting/DeliveryVo.java new file mode 100644 index 0000000..9c2ccd8 --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/vo/setting/DeliveryVo.java @@ -0,0 +1,24 @@ +package net.jjjerp.admin.vo.setting; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import net.jjjerp.common.entity.settings.Delivery; +import net.jjjerp.common.entity.settings.DeliveryRule; + +import java.util.List; + +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@ApiModel("配送模板VO") +public class DeliveryVo extends Delivery { + + private static final long serialVersionUID = 1L; + + //编辑使用 + @ApiModelProperty("运费规则") + private List rule; +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/vo/setting/LabelSettingVo.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/vo/setting/LabelSettingVo.java new file mode 100644 index 0000000..6d0e0d0 --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/vo/setting/LabelSettingVo.java @@ -0,0 +1,20 @@ +package net.jjjerp.admin.vo.setting; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import net.jjjerp.common.entity.settings.LabelSetting; + +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@ApiModel("面单配置VO") +public class LabelSettingVo extends LabelSetting { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("物流公司名称") + private String expressName; + +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/vo/setting/MessageVo.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/vo/setting/MessageVo.java new file mode 100644 index 0000000..f1cc571 --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/vo/setting/MessageVo.java @@ -0,0 +1,41 @@ +package net.jjjerp.admin.vo.setting; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import net.jjjerp.common.entity.settings.Message; + +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@ApiModel("消息模板VO") +public class MessageVo extends Message { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("消息类型") + private String messageTypeText; + + @ApiModelProperty("微信公众号开启状态") + private Integer mpStatus; + + @ApiModelProperty("微信小程序开启状态") + private Integer wxStatus; + + @ApiModelProperty("短信开启状态") + private Integer smsStatus; + + @ApiModelProperty("消息设置id") + private Integer messageSettingsId; + + @ApiModelProperty("公众号消息模板") + private String mpTemplate; + + @ApiModelProperty("小程序消息模板") + private String wxTemplate; + + @ApiModelProperty("短信消息模板") + private String smsTemplate; +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/vo/setting/PrinterVo.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/vo/setting/PrinterVo.java new file mode 100644 index 0000000..6172bf6 --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/vo/setting/PrinterVo.java @@ -0,0 +1,39 @@ +package net.jjjerp.admin.vo.setting; + +import com.alibaba.fastjson.JSONObject; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.io.Serializable; + +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@ApiModel("打印机VO") +public class PrinterVo implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("打印机id") + private Integer printerId; + + @ApiModelProperty("打印机名称") + private String printerName; + + @ApiModelProperty("打印机类型") + private String printerType; + + @ApiModelProperty("打印机配置") + private JSONObject printerConfig; + + @ApiModelProperty("打印联数(次数)") + private Integer printTimes; + + @ApiModelProperty("排序 (数字越小越靠前)") + private Integer sort; + + +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/vo/shop/FullReduceVo.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/vo/shop/FullReduceVo.java new file mode 100644 index 0000000..c739329 --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/vo/shop/FullReduceVo.java @@ -0,0 +1,38 @@ +package net.jjjerp.admin.vo.shop; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.io.Serializable; + +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@ApiModel("用户登陆日志VO") +public class FullReduceVo implements Serializable { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + private Integer fullreduceId; + + @ApiModelProperty("活动名称") + private String activeName; + + @ApiModelProperty("满类型1,满额2,满件数") + private Integer fullType; + + @ApiModelProperty("满值") + private Integer fullValue; + + @ApiModelProperty("减类型,1,减金额 2,打折") + private Integer reduceType; + + @ApiModelProperty("减值") + private Integer reduceValue; + + @ApiModelProperty("商品id") + private Integer productId; +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/vo/shop/LoginLogVo.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/vo/shop/LoginLogVo.java new file mode 100644 index 0000000..9e1a6b5 --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/vo/shop/LoginLogVo.java @@ -0,0 +1,34 @@ +package net.jjjerp.admin.vo.shop; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.io.Serializable; +import java.util.Date; + +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@ApiModel("用户登陆日志VO") +public class LoginLogVo implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + private Integer loginLogId; + + @ApiModelProperty("用户名") + private String username; + + @ApiModelProperty("登录ip") + private String ip; + + @ApiModelProperty("登录结果") + private String result; + + @ApiModelProperty("创建时间") + private Date createTime; +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/vo/shop/OptLogVo.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/vo/shop/OptLogVo.java new file mode 100644 index 0000000..7decb5b --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/vo/shop/OptLogVo.java @@ -0,0 +1,56 @@ +package net.jjjerp.admin.vo.shop; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.io.Serializable; +import java.util.Date; + +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@ApiModel("用户操作日志VO") +public class OptLogVo implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + private Integer optLogId; + + @ApiModelProperty("用户id") + private Integer shopUserId; + + @ApiModelProperty("标题") + private String title; + + @ApiModelProperty("访问url") + private String url; + + @ApiModelProperty("请求类型") + private String requestType; + + @ApiModelProperty("浏览器") + private String browser; + + @ApiModelProperty("浏览器信息") + private String agent; + + @ApiModelProperty("操作内容") + private String content; + + @ApiModelProperty("登录ip") + private String ip; + + @ApiModelProperty("创建时间") + private Date createTime; + + @ApiModelProperty("用户名") + private String userName; + + @ApiModelProperty("姓名") + private String realName; + +} diff --git a/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/vo/shopUser/ShopUserVo.java b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/vo/shopUser/ShopUserVo.java new file mode 100644 index 0000000..1b52d6a --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/java/net/jjjerp/admin/vo/shopUser/ShopUserVo.java @@ -0,0 +1,39 @@ +package net.jjjerp.admin.vo.shopUser; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.io.Serializable; +import java.util.Date; +import java.util.List; +import java.util.Map; + +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@ApiModel("商城管理员VO") +public class ShopUserVo implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + private Integer shopUserId; + + @ApiModelProperty("用户名") + private String userName; + + @ApiModelProperty("姓名") + private String realName; + + @ApiModelProperty("是否为超级管理员0不是,1是") + private Boolean isSuper; + + @ApiModelProperty("创建时间") + private Date createTime; + + @ApiModelProperty("角色名称") + private List roleList; +} diff --git a/jjj_erp/jjj-admin/src/main/resources/mapper/bill/BillHeadMapper.xml b/jjj_erp/jjj-admin/src/main/resources/mapper/bill/BillHeadMapper.xml new file mode 100644 index 0000000..4a5264c --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/resources/mapper/bill/BillHeadMapper.xml @@ -0,0 +1,78 @@ + + + + + + + + + + + + + + diff --git a/jjj_erp/jjj-admin/src/main/resources/mapper/product/ProductMapper.xml b/jjj_erp/jjj-admin/src/main/resources/mapper/product/ProductMapper.xml new file mode 100644 index 0000000..a04f29b --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/resources/mapper/product/ProductMapper.xml @@ -0,0 +1,14 @@ + + + + + + + + diff --git a/jjj_erp/jjj-admin/src/main/resources/mapper/shop/ShopUserMapper.xml b/jjj_erp/jjj-admin/src/main/resources/mapper/shop/ShopUserMapper.xml new file mode 100644 index 0000000..b7be63f --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/resources/mapper/shop/ShopUserMapper.xml @@ -0,0 +1,8 @@ + + + + + diff --git a/jjj_erp/jjj-admin/src/main/resources/mapper/shop/ShopUserRoleMapper.xml b/jjj_erp/jjj-admin/src/main/resources/mapper/shop/ShopUserRoleMapper.xml new file mode 100644 index 0000000..a2b92f5 --- /dev/null +++ b/jjj_erp/jjj-admin/src/main/resources/mapper/shop/ShopUserRoleMapper.xml @@ -0,0 +1,21 @@ + + + + + + + + + diff --git a/jjj_erp/jjj-admin/target/classes/mapper/bill/BillHeadMapper.xml b/jjj_erp/jjj-admin/target/classes/mapper/bill/BillHeadMapper.xml new file mode 100644 index 0000000..4a5264c --- /dev/null +++ b/jjj_erp/jjj-admin/target/classes/mapper/bill/BillHeadMapper.xml @@ -0,0 +1,78 @@ + + + + + + + + + + + + + + diff --git a/jjj_erp/jjj-admin/target/classes/mapper/product/ProductMapper.xml b/jjj_erp/jjj-admin/target/classes/mapper/product/ProductMapper.xml new file mode 100644 index 0000000..a04f29b --- /dev/null +++ b/jjj_erp/jjj-admin/target/classes/mapper/product/ProductMapper.xml @@ -0,0 +1,14 @@ + + + + + + + + diff --git a/jjj_erp/jjj-admin/target/classes/mapper/shop/ShopUserMapper.xml b/jjj_erp/jjj-admin/target/classes/mapper/shop/ShopUserMapper.xml new file mode 100644 index 0000000..b7be63f --- /dev/null +++ b/jjj_erp/jjj-admin/target/classes/mapper/shop/ShopUserMapper.xml @@ -0,0 +1,8 @@ + + + + + diff --git a/jjj_erp/jjj-admin/target/classes/mapper/shop/ShopUserRoleMapper.xml b/jjj_erp/jjj-admin/target/classes/mapper/shop/ShopUserRoleMapper.xml new file mode 100644 index 0000000..a2b92f5 --- /dev/null +++ b/jjj_erp/jjj-admin/target/classes/mapper/shop/ShopUserRoleMapper.xml @@ -0,0 +1,21 @@ + + + + + + + + + diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/IndexController.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/IndexController.class new file mode 100644 index 0000000..e009412 Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/IndexController.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/PassportController.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/PassportController.class new file mode 100644 index 0000000..1cc461e Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/PassportController.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/bill/BillController.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/bill/BillController.class new file mode 100644 index 0000000..6354024 Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/bill/BillController.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/file/FileController.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/file/FileController.class new file mode 100644 index 0000000..c3c44cc Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/file/FileController.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/file/ImageBankController.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/file/ImageBankController.class new file mode 100644 index 0000000..0dfea22 Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/file/ImageBankController.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/file/UploadController.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/file/UploadController.class new file mode 100644 index 0000000..c9a5b52 Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/file/UploadController.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/finance/capital/AccountController.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/finance/capital/AccountController.class new file mode 100644 index 0000000..7412c71 Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/finance/capital/AccountController.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/finance/capital/LogController.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/finance/capital/LogController.class new file mode 100644 index 0000000..4d70112 Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/finance/capital/LogController.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/finance/statement/CollectController.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/finance/statement/CollectController.class new file mode 100644 index 0000000..f2c2429 Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/finance/statement/CollectController.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/finance/statement/CustomerController.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/finance/statement/CustomerController.class new file mode 100644 index 0000000..5963903 Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/finance/statement/CustomerController.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/market/audit/MarketOrderController.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/market/audit/MarketOrderController.class new file mode 100644 index 0000000..07a8bd4 Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/market/audit/MarketOrderController.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/market/deliver/DeliverOrderController.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/market/deliver/DeliverOrderController.class new file mode 100644 index 0000000..0177673 Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/market/deliver/DeliverOrderController.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/market/other/OtherOrderController.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/market/other/OtherOrderController.class new file mode 100644 index 0000000..964d51d Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/market/other/OtherOrderController.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/market/picking/PickingOrderController.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/market/picking/PickingOrderController.class new file mode 100644 index 0000000..70b3bbd Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/market/picking/PickingOrderController.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/product/base/CategoryController.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/product/base/CategoryController.class new file mode 100644 index 0000000..d117e57 Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/product/base/CategoryController.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/product/base/MfrsController.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/product/base/MfrsController.class new file mode 100644 index 0000000..d64970e Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/product/base/MfrsController.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/product/base/ProductAttributeController.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/product/base/ProductAttributeController.class new file mode 100644 index 0000000..81e66b4 Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/product/base/ProductAttributeController.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/product/base/ProductController.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/product/base/ProductController.class new file mode 100644 index 0000000..7ce198e Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/product/base/ProductController.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/product/base/UnitController.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/product/base/UnitController.class new file mode 100644 index 0000000..1be5fe0 Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/product/base/UnitController.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/purchase/purchase/PurchaseOrderController.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/purchase/purchase/PurchaseOrderController.class new file mode 100644 index 0000000..d68fe02 Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/purchase/purchase/PurchaseOrderController.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/purchase/purchase/PurchaseReturnController.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/purchase/purchase/PurchaseReturnController.class new file mode 100644 index 0000000..90dc63a Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/purchase/purchase/PurchaseReturnController.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/purchase/purchase/PurchaseStorageController.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/purchase/purchase/PurchaseStorageController.class new file mode 100644 index 0000000..32f49f2 Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/purchase/purchase/PurchaseStorageController.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/refund/flow/AuditController.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/refund/flow/AuditController.class new file mode 100644 index 0000000..4bc6612 Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/refund/flow/AuditController.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/refund/flow/HandleController.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/refund/flow/HandleController.class new file mode 100644 index 0000000..51ad76e Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/refund/flow/HandleController.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/refund/flow/QueryController.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/refund/flow/QueryController.class new file mode 100644 index 0000000..a4ab5de Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/refund/flow/QueryController.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/refund/flow/refundController.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/refund/flow/refundController.class new file mode 100644 index 0000000..449dbb6 Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/refund/flow/refundController.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/refund/put/MarketController.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/refund/put/MarketController.class new file mode 100644 index 0000000..8fbadd0 Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/refund/put/MarketController.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/refund/put/RoadController.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/refund/put/RoadController.class new file mode 100644 index 0000000..c569a49 Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/refund/put/RoadController.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/refund/put/ScanController.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/refund/put/ScanController.class new file mode 100644 index 0000000..b291508 Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/refund/put/ScanController.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/region/RegionController.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/region/RegionController.class new file mode 100644 index 0000000..eadd5f3 Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/region/RegionController.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/setting/basic/CustomerController.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/setting/basic/CustomerController.class new file mode 100644 index 0000000..1fdd896 Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/setting/basic/CustomerController.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/setting/basic/DeliveryAreaController.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/setting/basic/DeliveryAreaController.class new file mode 100644 index 0000000..e1c9e43 Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/setting/basic/DeliveryAreaController.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/setting/basic/DepotAreaController.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/setting/basic/DepotAreaController.class new file mode 100644 index 0000000..b95c274 Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/setting/basic/DepotAreaController.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/setting/basic/DepotController.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/setting/basic/DepotController.class new file mode 100644 index 0000000..32d9503 Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/setting/basic/DepotController.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/setting/basic/DepotReservoirController.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/setting/basic/DepotReservoirController.class new file mode 100644 index 0000000..4e0304a Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/setting/basic/DepotReservoirController.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/setting/basic/DepotShelfController.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/setting/basic/DepotShelfController.class new file mode 100644 index 0000000..f55a562 Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/setting/basic/DepotShelfController.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/setting/basic/DepotStorageController.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/setting/basic/DepotStorageController.class new file mode 100644 index 0000000..6ab3c77 Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/setting/basic/DepotStorageController.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/setting/basic/StoreController.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/setting/basic/StoreController.class new file mode 100644 index 0000000..d2ee5cf Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/setting/basic/StoreController.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/setting/basic/SupplierController.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/setting/basic/SupplierController.class new file mode 100644 index 0000000..f96ac52 Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/setting/basic/SupplierController.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/setting/delivery/ExpressController.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/setting/delivery/ExpressController.class new file mode 100644 index 0000000..3536fc4 Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/setting/delivery/ExpressController.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/setting/system/ClearController.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/setting/system/ClearController.class new file mode 100644 index 0000000..a8b235d Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/setting/system/ClearController.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/setting/system/LoginLogController.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/setting/system/LoginLogController.class new file mode 100644 index 0000000..7f92cdb Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/setting/system/LoginLogController.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/setting/system/OptLogController.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/setting/system/OptLogController.class new file mode 100644 index 0000000..01a2206 Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/setting/system/OptLogController.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/setting/system/ShopRoleController.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/setting/system/ShopRoleController.class new file mode 100644 index 0000000..5556785 Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/setting/system/ShopRoleController.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/setting/system/ShopUserController.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/setting/system/ShopUserController.class new file mode 100644 index 0000000..45ab99a Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/setting/system/ShopUserController.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/setting/system/SmsController.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/setting/system/SmsController.class new file mode 100644 index 0000000..ad8d0d0 Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/setting/system/SmsController.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/setting/system/StorageController.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/setting/system/StorageController.class new file mode 100644 index 0000000..3568875 Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/setting/system/StorageController.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/setting/system/SystemController.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/setting/system/SystemController.class new file mode 100644 index 0000000..20ebc32 Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/setting/system/SystemController.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/statement/market/BoardController.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/statement/market/BoardController.class new file mode 100644 index 0000000..9a88d2c Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/statement/market/BoardController.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/stock/allot/AllocateController.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/stock/allot/AllocateController.class new file mode 100644 index 0000000..51b8a36 Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/stock/allot/AllocateController.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/stock/allot/AllocateInController.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/stock/allot/AllocateInController.class new file mode 100644 index 0000000..6aa8d66 Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/stock/allot/AllocateInController.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/stock/allot/AllocateOutController.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/stock/allot/AllocateOutController.class new file mode 100644 index 0000000..cba3437 Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/stock/allot/AllocateOutController.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/stock/allot/OtherInController.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/stock/allot/OtherInController.class new file mode 100644 index 0000000..2dd6e26 Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/stock/allot/OtherInController.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/stock/allot/OtherOutController.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/stock/allot/OtherOutController.class new file mode 100644 index 0000000..2b65e25 Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/stock/allot/OtherOutController.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/stock/allot/StockCheckController.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/stock/allot/StockCheckController.class new file mode 100644 index 0000000..716257a Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/stock/allot/StockCheckController.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/stock/allot/StockRecordController.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/stock/allot/StockRecordController.class new file mode 100644 index 0000000..cf3f8d0 Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/stock/allot/StockRecordController.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/stock/condition/ConditionController.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/stock/condition/ConditionController.class new file mode 100644 index 0000000..5cacfe0 Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/stock/condition/ConditionController.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/stock/condition/DistributionController.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/stock/condition/DistributionController.class new file mode 100644 index 0000000..c1cc1ec Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/stock/condition/DistributionController.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/stock/condition/OpenningController.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/stock/condition/OpenningController.class new file mode 100644 index 0000000..20631cd Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/controller/stock/condition/OpenningController.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/enums/settings/PrinterTypeEnum.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/enums/settings/PrinterTypeEnum.class new file mode 100644 index 0000000..0c1e4dd Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/enums/settings/PrinterTypeEnum.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/exception/SysLoginException.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/exception/SysLoginException.class new file mode 100644 index 0000000..4d5948a Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/exception/SysLoginException.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/mapper/bill/BillHeadMapper.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/mapper/bill/BillHeadMapper.class new file mode 100644 index 0000000..dc30c82 Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/mapper/bill/BillHeadMapper.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/mapper/product/ProductMapper.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/mapper/product/ProductMapper.class new file mode 100644 index 0000000..3faebd8 Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/mapper/product/ProductMapper.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/mapper/shop/ShopUserMapper.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/mapper/shop/ShopUserMapper.class new file mode 100644 index 0000000..00248fa Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/mapper/shop/ShopUserMapper.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/mapper/shop/ShopUserRoleMapper.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/mapper/shop/ShopUserRoleMapper.class new file mode 100644 index 0000000..469634d Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/mapper/shop/ShopUserRoleMapper.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/param/app/AppUpdateParam.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/param/app/AppUpdateParam.class new file mode 100644 index 0000000..4c3e3b9 Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/param/app/AppUpdateParam.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/param/app/PayParam.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/param/app/PayParam.class new file mode 100644 index 0000000..7301bec Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/param/app/PayParam.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/param/file/UploadFilePageParam.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/param/file/UploadFilePageParam.class new file mode 100644 index 0000000..02878b5 Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/param/file/UploadFilePageParam.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/param/page/CenterParam.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/param/page/CenterParam.class new file mode 100644 index 0000000..4d19431 Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/param/page/CenterParam.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/param/shop/FullReducePageParam.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/param/shop/FullReducePageParam.class new file mode 100644 index 0000000..ffb15c8 Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/param/shop/FullReducePageParam.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/param/shop/FullReduceParam.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/param/shop/FullReduceParam.class new file mode 100644 index 0000000..5455bc1 Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/param/shop/FullReduceParam.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/param/shop/LoginLogPageParam.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/param/shop/LoginLogPageParam.class new file mode 100644 index 0000000..349466c Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/param/shop/LoginLogPageParam.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/param/shop/OptLogPageParam.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/param/shop/OptLogPageParam.class new file mode 100644 index 0000000..e21f567 Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/param/shop/OptLogPageParam.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/param/shopUser/ShopRoleParam.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/param/shopUser/ShopRoleParam.class new file mode 100644 index 0000000..93fc269 Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/param/shopUser/ShopRoleParam.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/param/shopUser/ShopUserPageParam.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/param/shopUser/ShopUserPageParam.class new file mode 100644 index 0000000..5bbe861 Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/param/shopUser/ShopUserPageParam.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/param/shopUser/ShopUserParam.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/param/shopUser/ShopUserParam.class new file mode 100644 index 0000000..d800f6c Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/param/shopUser/ShopUserParam.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/app/AppMpService.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/app/AppMpService.class new file mode 100644 index 0000000..80f6c85 Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/app/AppMpService.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/app/AppOpenService.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/app/AppOpenService.class new file mode 100644 index 0000000..3fb2081 Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/app/AppOpenService.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/app/AppService.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/app/AppService.class new file mode 100644 index 0000000..96a5617 Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/app/AppService.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/app/AppUpdateService.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/app/AppUpdateService.class new file mode 100644 index 0000000..8611b41 Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/app/AppUpdateService.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/app/AppWxService.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/app/AppWxService.class new file mode 100644 index 0000000..789c407 Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/app/AppWxService.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/app/impl/AppMpServiceImpl.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/app/impl/AppMpServiceImpl.class new file mode 100644 index 0000000..8baf1d8 Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/app/impl/AppMpServiceImpl.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/app/impl/AppOpenServiceImpl.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/app/impl/AppOpenServiceImpl.class new file mode 100644 index 0000000..2d042f5 Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/app/impl/AppOpenServiceImpl.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/app/impl/AppServiceImpl.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/app/impl/AppServiceImpl.class new file mode 100644 index 0000000..b23acdf Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/app/impl/AppServiceImpl.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/app/impl/AppUpdateServiceImpl.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/app/impl/AppUpdateServiceImpl.class new file mode 100644 index 0000000..7e94195 Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/app/impl/AppUpdateServiceImpl.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/app/impl/AppWxServiceImpl.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/app/impl/AppWxServiceImpl.class new file mode 100644 index 0000000..4299c4e Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/app/impl/AppWxServiceImpl.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/bill/BillAddressService.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/bill/BillAddressService.class new file mode 100644 index 0000000..5c46947 Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/bill/BillAddressService.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/bill/BillDeliveryService.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/bill/BillDeliveryService.class new file mode 100644 index 0000000..9efc86d Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/bill/BillDeliveryService.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/bill/BillHeadService.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/bill/BillHeadService.class new file mode 100644 index 0000000..4586ce0 Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/bill/BillHeadService.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/bill/BillItemService.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/bill/BillItemService.class new file mode 100644 index 0000000..e589a8b Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/bill/BillItemService.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/bill/impl/BillAddressServiceImpl.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/bill/impl/BillAddressServiceImpl.class new file mode 100644 index 0000000..8e23e36 Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/bill/impl/BillAddressServiceImpl.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/bill/impl/BillDeliveryServiceImpl.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/bill/impl/BillDeliveryServiceImpl.class new file mode 100644 index 0000000..bdaccda Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/bill/impl/BillDeliveryServiceImpl.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/bill/impl/BillHeadServiceImpl.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/bill/impl/BillHeadServiceImpl.class new file mode 100644 index 0000000..52787fe Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/bill/impl/BillHeadServiceImpl.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/bill/impl/BillItemServiceImpl.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/bill/impl/BillItemServiceImpl.class new file mode 100644 index 0000000..6955f20 Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/bill/impl/BillItemServiceImpl.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/customer/CustomerAddressService.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/customer/CustomerAddressService.class new file mode 100644 index 0000000..bbeb6b9 Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/customer/CustomerAddressService.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/customer/CustomerService.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/customer/CustomerService.class new file mode 100644 index 0000000..a2df810 Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/customer/CustomerService.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/customer/impl/CustomerAddressServiceImpl.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/customer/impl/CustomerAddressServiceImpl.class new file mode 100644 index 0000000..04dd060 Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/customer/impl/CustomerAddressServiceImpl.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/customer/impl/CustomerServiceImpl.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/customer/impl/CustomerServiceImpl.class new file mode 100644 index 0000000..963fbc5 Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/customer/impl/CustomerServiceImpl.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/depot/DeliverAreaService.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/depot/DeliverAreaService.class new file mode 100644 index 0000000..249e513 Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/depot/DeliverAreaService.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/depot/DepotAreaService.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/depot/DepotAreaService.class new file mode 100644 index 0000000..b746099 Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/depot/DepotAreaService.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/depot/DepotReservoirService.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/depot/DepotReservoirService.class new file mode 100644 index 0000000..d7c0023 Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/depot/DepotReservoirService.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/depot/DepotService.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/depot/DepotService.class new file mode 100644 index 0000000..b0b2487 Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/depot/DepotService.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/depot/DepotShelfService.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/depot/DepotShelfService.class new file mode 100644 index 0000000..be4ddd6 Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/depot/DepotShelfService.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/depot/DepotStorageService.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/depot/DepotStorageService.class new file mode 100644 index 0000000..bc650e3 Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/depot/DepotStorageService.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/depot/DepotStorageStockService.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/depot/DepotStorageStockService.class new file mode 100644 index 0000000..f9dd5f3 Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/depot/DepotStorageStockService.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/depot/impl/DeliverAreaServiceImpl.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/depot/impl/DeliverAreaServiceImpl.class new file mode 100644 index 0000000..e81bf57 Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/depot/impl/DeliverAreaServiceImpl.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/depot/impl/DepotAreaServiceImpl.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/depot/impl/DepotAreaServiceImpl.class new file mode 100644 index 0000000..f84ce7d Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/depot/impl/DepotAreaServiceImpl.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/depot/impl/DepotReservoirServiceImpl.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/depot/impl/DepotReservoirServiceImpl.class new file mode 100644 index 0000000..4f817ee Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/depot/impl/DepotReservoirServiceImpl.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/depot/impl/DepotServiceImpl.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/depot/impl/DepotServiceImpl.class new file mode 100644 index 0000000..8eac316 Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/depot/impl/DepotServiceImpl.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/depot/impl/DepotShelfServiceImpl.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/depot/impl/DepotShelfServiceImpl.class new file mode 100644 index 0000000..e638017 Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/depot/impl/DepotShelfServiceImpl.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/depot/impl/DepotStorageServiceImpl.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/depot/impl/DepotStorageServiceImpl.class new file mode 100644 index 0000000..d296662 Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/depot/impl/DepotStorageServiceImpl.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/depot/impl/DepotStorageStockServiceImpl.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/depot/impl/DepotStorageStockServiceImpl.class new file mode 100644 index 0000000..38a3329 Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/depot/impl/DepotStorageStockServiceImpl.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/export/ExportService.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/export/ExportService.class new file mode 100644 index 0000000..290c349 Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/export/ExportService.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/export/impl/ExportServiceImpl.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/export/impl/ExportServiceImpl.class new file mode 100644 index 0000000..87929c2 Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/export/impl/ExportServiceImpl.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/file/UploadFileService.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/file/UploadFileService.class new file mode 100644 index 0000000..e6c88d7 Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/file/UploadFileService.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/file/UploadGroupService.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/file/UploadGroupService.class new file mode 100644 index 0000000..8a76333 Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/file/UploadGroupService.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/file/impl/UploadFileServiceImpl.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/file/impl/UploadFileServiceImpl.class new file mode 100644 index 0000000..1443b18 Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/file/impl/UploadFileServiceImpl.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/file/impl/UploadGroupServiceImpl.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/file/impl/UploadGroupServiceImpl.class new file mode 100644 index 0000000..e1caf6a Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/file/impl/UploadGroupServiceImpl.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/finance/capital/AccountMoneyLogService.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/finance/capital/AccountMoneyLogService.class new file mode 100644 index 0000000..47de12a Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/finance/capital/AccountMoneyLogService.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/finance/capital/AccountService.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/finance/capital/AccountService.class new file mode 100644 index 0000000..fb51312 Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/finance/capital/AccountService.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/finance/capital/impl/AccountMoneyLogServiceImpl.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/finance/capital/impl/AccountMoneyLogServiceImpl.class new file mode 100644 index 0000000..af71810 Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/finance/capital/impl/AccountMoneyLogServiceImpl.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/finance/capital/impl/AccountServiceImpl.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/finance/capital/impl/AccountServiceImpl.class new file mode 100644 index 0000000..1366961 Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/finance/capital/impl/AccountServiceImpl.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/page/CenterMenuService.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/page/CenterMenuService.class new file mode 100644 index 0000000..2a76574 Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/page/CenterMenuService.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/page/PageCategoryService.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/page/PageCategoryService.class new file mode 100644 index 0000000..7756651 Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/page/PageCategoryService.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/page/PageService.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/page/PageService.class new file mode 100644 index 0000000..39ae13b Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/page/PageService.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/page/impl/CenterMenuServiceImpl.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/page/impl/CenterMenuServiceImpl.class new file mode 100644 index 0000000..90d138d Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/page/impl/CenterMenuServiceImpl.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/page/impl/PageCategoryServiceImpl.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/page/impl/PageCategoryServiceImpl.class new file mode 100644 index 0000000..94e997e Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/page/impl/PageCategoryServiceImpl.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/page/impl/PageServiceImpl.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/page/impl/PageServiceImpl.class new file mode 100644 index 0000000..9bf5822 Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/page/impl/PageServiceImpl.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/product/ProductAttributeService.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/product/ProductAttributeService.class new file mode 100644 index 0000000..97d9520 Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/product/ProductAttributeService.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/product/ProductCategoryService.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/product/ProductCategoryService.class new file mode 100644 index 0000000..7544cac Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/product/ProductCategoryService.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/product/ProductDeputyUnitService.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/product/ProductDeputyUnitService.class new file mode 100644 index 0000000..8dfe5b9 Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/product/ProductDeputyUnitService.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/product/ProductExtendService.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/product/ProductExtendService.class new file mode 100644 index 0000000..d40b0cf Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/product/ProductExtendService.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/product/ProductImageService.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/product/ProductImageService.class new file mode 100644 index 0000000..abe912c Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/product/ProductImageService.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/product/ProductMfrsService.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/product/ProductMfrsService.class new file mode 100644 index 0000000..6c82582 Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/product/ProductMfrsService.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/product/ProductService.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/product/ProductService.class new file mode 100644 index 0000000..622f713 Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/product/ProductService.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/product/ProductUnitService.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/product/ProductUnitService.class new file mode 100644 index 0000000..528f979 Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/product/ProductUnitService.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/product/impl/ProductAttributeServiceImpl.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/product/impl/ProductAttributeServiceImpl.class new file mode 100644 index 0000000..5e5b3d3 Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/product/impl/ProductAttributeServiceImpl.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/product/impl/ProductCategoryServiceImpl.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/product/impl/ProductCategoryServiceImpl.class new file mode 100644 index 0000000..6206694 Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/product/impl/ProductCategoryServiceImpl.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/product/impl/ProductDeputyUnitServiceImpl.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/product/impl/ProductDeputyUnitServiceImpl.class new file mode 100644 index 0000000..f41bf11 Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/product/impl/ProductDeputyUnitServiceImpl.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/product/impl/ProductExtendServiceImpl.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/product/impl/ProductExtendServiceImpl.class new file mode 100644 index 0000000..14a049b Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/product/impl/ProductExtendServiceImpl.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/product/impl/ProductImageServiceImpl.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/product/impl/ProductImageServiceImpl.class new file mode 100644 index 0000000..1f20694 Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/product/impl/ProductImageServiceImpl.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/product/impl/ProductMfrsServiceImpl.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/product/impl/ProductMfrsServiceImpl.class new file mode 100644 index 0000000..4666237 Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/product/impl/ProductMfrsServiceImpl.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/product/impl/ProductServiceImpl.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/product/impl/ProductServiceImpl.class new file mode 100644 index 0000000..3c24e6a Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/product/impl/ProductServiceImpl.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/product/impl/ProductUnitServiceImpl.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/product/impl/ProductUnitServiceImpl.class new file mode 100644 index 0000000..bcd2d9d Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/product/impl/ProductUnitServiceImpl.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/settings/DeliveryTemplateService.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/settings/DeliveryTemplateService.class new file mode 100644 index 0000000..8817371 Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/settings/DeliveryTemplateService.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/settings/ExpressService.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/settings/ExpressService.class new file mode 100644 index 0000000..8ae2679 Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/settings/ExpressService.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/settings/LabelSettingService.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/settings/LabelSettingService.class new file mode 100644 index 0000000..27d23bc Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/settings/LabelSettingService.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/settings/MessageFieldService.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/settings/MessageFieldService.class new file mode 100644 index 0000000..e959fc8 Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/settings/MessageFieldService.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/settings/MessageService.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/settings/MessageService.class new file mode 100644 index 0000000..3f0fac4 Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/settings/MessageService.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/settings/MessageSettingsService.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/settings/MessageSettingsService.class new file mode 100644 index 0000000..5210d94 Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/settings/MessageSettingsService.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/settings/PrinterService.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/settings/PrinterService.class new file mode 100644 index 0000000..b08a28b Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/settings/PrinterService.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/settings/RegionService.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/settings/RegionService.class new file mode 100644 index 0000000..eb3419f Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/settings/RegionService.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/settings/ReturnAddressService.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/settings/ReturnAddressService.class new file mode 100644 index 0000000..6431e2c Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/settings/ReturnAddressService.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/settings/SettingService.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/settings/SettingService.class new file mode 100644 index 0000000..4614652 Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/settings/SettingService.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/settings/impl/DeliveryTemplateServiceImpl.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/settings/impl/DeliveryTemplateServiceImpl.class new file mode 100644 index 0000000..1b8f5bc Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/settings/impl/DeliveryTemplateServiceImpl.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/settings/impl/ExpressServiceImpl.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/settings/impl/ExpressServiceImpl.class new file mode 100644 index 0000000..0ad280e Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/settings/impl/ExpressServiceImpl.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/settings/impl/LabelSettingServiceImpl.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/settings/impl/LabelSettingServiceImpl.class new file mode 100644 index 0000000..1e38a76 Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/settings/impl/LabelSettingServiceImpl.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/settings/impl/MessageFieldServiceImpl.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/settings/impl/MessageFieldServiceImpl.class new file mode 100644 index 0000000..df2f414 Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/settings/impl/MessageFieldServiceImpl.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/settings/impl/MessageServiceImpl.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/settings/impl/MessageServiceImpl.class new file mode 100644 index 0000000..ea0c8f3 Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/settings/impl/MessageServiceImpl.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/settings/impl/MessageSettingsServiceImpl.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/settings/impl/MessageSettingsServiceImpl.class new file mode 100644 index 0000000..2448ecc Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/settings/impl/MessageSettingsServiceImpl.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/settings/impl/PrinterServiceImpl.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/settings/impl/PrinterServiceImpl.class new file mode 100644 index 0000000..ac7d220 Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/settings/impl/PrinterServiceImpl.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/settings/impl/RegionServiceImpl.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/settings/impl/RegionServiceImpl.class new file mode 100644 index 0000000..30f18b9 Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/settings/impl/RegionServiceImpl.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/settings/impl/ReturnAddressServiceImpl.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/settings/impl/ReturnAddressServiceImpl.class new file mode 100644 index 0000000..ec18581 Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/settings/impl/ReturnAddressServiceImpl.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/settings/impl/SettingServiceImpl.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/settings/impl/SettingServiceImpl.class new file mode 100644 index 0000000..3e83407 Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/settings/impl/SettingServiceImpl.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/shop/ShopAccessService.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/shop/ShopAccessService.class new file mode 100644 index 0000000..053c9a0 Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/shop/ShopAccessService.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/shop/ShopLoginLogService.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/shop/ShopLoginLogService.class new file mode 100644 index 0000000..32b42a2 Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/shop/ShopLoginLogService.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/shop/ShopOptLogService.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/shop/ShopOptLogService.class new file mode 100644 index 0000000..5326de9 Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/shop/ShopOptLogService.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/shop/ShopRoleAccessService.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/shop/ShopRoleAccessService.class new file mode 100644 index 0000000..1aad8a1 Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/shop/ShopRoleAccessService.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/shop/ShopRoleService.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/shop/ShopRoleService.class new file mode 100644 index 0000000..02b5424 Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/shop/ShopRoleService.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/shop/ShopUserRoleService.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/shop/ShopUserRoleService.class new file mode 100644 index 0000000..074fe11 Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/shop/ShopUserRoleService.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/shop/ShopUserService.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/shop/ShopUserService.class new file mode 100644 index 0000000..33271d2 Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/shop/ShopUserService.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/shop/impl/ShopAccessServiceImpl.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/shop/impl/ShopAccessServiceImpl.class new file mode 100644 index 0000000..a0e26a3 Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/shop/impl/ShopAccessServiceImpl.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/shop/impl/ShopLoginLogServiceImpl.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/shop/impl/ShopLoginLogServiceImpl.class new file mode 100644 index 0000000..24575bf Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/shop/impl/ShopLoginLogServiceImpl.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/shop/impl/ShopOptLogServiceImpl.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/shop/impl/ShopOptLogServiceImpl.class new file mode 100644 index 0000000..2635a58 Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/shop/impl/ShopOptLogServiceImpl.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/shop/impl/ShopRoleAccessServiceImpl.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/shop/impl/ShopRoleAccessServiceImpl.class new file mode 100644 index 0000000..1b563b6 Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/shop/impl/ShopRoleAccessServiceImpl.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/shop/impl/ShopRoleServiceImpl.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/shop/impl/ShopRoleServiceImpl.class new file mode 100644 index 0000000..620cfec Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/shop/impl/ShopRoleServiceImpl.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/shop/impl/ShopUserRoleServiceImpl.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/shop/impl/ShopUserRoleServiceImpl.class new file mode 100644 index 0000000..7251e5d Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/shop/impl/ShopUserRoleServiceImpl.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/shop/impl/ShopUserServiceImpl.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/shop/impl/ShopUserServiceImpl.class new file mode 100644 index 0000000..ab5ce73 Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/shop/impl/ShopUserServiceImpl.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/store/StoreService.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/store/StoreService.class new file mode 100644 index 0000000..4b3ed3a Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/store/StoreService.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/store/impl/StoreServiceImpl.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/store/impl/StoreServiceImpl.class new file mode 100644 index 0000000..494adef Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/store/impl/StoreServiceImpl.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/supplier/SupplierService.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/supplier/SupplierService.class new file mode 100644 index 0000000..93b7fe1 Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/supplier/SupplierService.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/supplier/impl/SupplierServiceImpl.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/supplier/impl/SupplierServiceImpl.class new file mode 100644 index 0000000..997dfe9 Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/supplier/impl/SupplierServiceImpl.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/system/SystemVersionService.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/system/SystemVersionService.class new file mode 100644 index 0000000..9e5c04e Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/system/SystemVersionService.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/system/impl/SystemVersionServiceImpl.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/system/impl/SystemVersionServiceImpl.class new file mode 100644 index 0000000..b427121 Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/service/system/impl/SystemVersionServiceImpl.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/vo/app/AppVo.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/vo/app/AppVo.class new file mode 100644 index 0000000..9d855a1 Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/vo/app/AppVo.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/vo/file/UploadFileVo.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/vo/file/UploadFileVo.class new file mode 100644 index 0000000..7fcdd83 Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/vo/file/UploadFileVo.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/vo/setting/DeliveryRuleVo.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/vo/setting/DeliveryRuleVo.class new file mode 100644 index 0000000..12e2a52 Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/vo/setting/DeliveryRuleVo.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/vo/setting/DeliveryVo.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/vo/setting/DeliveryVo.class new file mode 100644 index 0000000..913dfec Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/vo/setting/DeliveryVo.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/vo/setting/LabelSettingVo.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/vo/setting/LabelSettingVo.class new file mode 100644 index 0000000..14c9c89 Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/vo/setting/LabelSettingVo.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/vo/setting/MessageVo.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/vo/setting/MessageVo.class new file mode 100644 index 0000000..397f3ea Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/vo/setting/MessageVo.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/vo/setting/PrinterVo.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/vo/setting/PrinterVo.class new file mode 100644 index 0000000..0f930c0 Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/vo/setting/PrinterVo.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/vo/shop/FullReduceVo.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/vo/shop/FullReduceVo.class new file mode 100644 index 0000000..cf6e992 Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/vo/shop/FullReduceVo.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/vo/shop/LoginLogVo.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/vo/shop/LoginLogVo.class new file mode 100644 index 0000000..101c4bc Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/vo/shop/LoginLogVo.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/vo/shop/OptLogVo.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/vo/shop/OptLogVo.class new file mode 100644 index 0000000..1e573bb Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/vo/shop/OptLogVo.class differ diff --git a/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/vo/shopUser/ShopUserVo.class b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/vo/shopUser/ShopUserVo.class new file mode 100644 index 0000000..f5a3e4e Binary files /dev/null and b/jjj_erp/jjj-admin/target/classes/net/jjjerp/admin/vo/shopUser/ShopUserVo.class differ diff --git a/jjj_erp/jjj-admin/target/jjj-erp-1.0.jar b/jjj_erp/jjj-admin/target/jjj-erp-1.0.jar new file mode 100644 index 0000000..f7ae933 Binary files /dev/null and b/jjj_erp/jjj-admin/target/jjj-erp-1.0.jar differ diff --git a/jjj_erp/jjj-admin/target/maven-archiver/pom.properties b/jjj_erp/jjj-admin/target/maven-archiver/pom.properties new file mode 100644 index 0000000..6ecaa89 --- /dev/null +++ b/jjj_erp/jjj-admin/target/maven-archiver/pom.properties @@ -0,0 +1,5 @@ +#Generated by Maven +#Sat Jun 29 14:55:07 CST 2024 +version=1.0 +groupId=net.jjjerp +artifactId=jjj-admin diff --git a/jjj_erp/jjj-admin/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/jjj_erp/jjj-admin/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst new file mode 100644 index 0000000..0ce17b3 --- /dev/null +++ b/jjj_erp/jjj-admin/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst @@ -0,0 +1,195 @@ +net\jjjerp\admin\service\settings\MessageFieldService.class +net\jjjerp\admin\controller\stock\allot\OtherInController.class +net\jjjerp\admin\service\app\AppService.class +net\jjjerp\admin\controller\PassportController.class +net\jjjerp\admin\service\depot\impl\DepotShelfServiceImpl.class +net\jjjerp\admin\controller\refund\put\MarketController.class +net\jjjerp\admin\service\shop\ShopOptLogService.class +net\jjjerp\admin\controller\stock\allot\AllocateInController.class +net\jjjerp\admin\controller\stock\allot\OtherOutController.class +net\jjjerp\admin\service\export\impl\ExportServiceImpl.class +net\jjjerp\admin\service\page\impl\PageServiceImpl.class +net\jjjerp\admin\service\settings\impl\LabelSettingServiceImpl.class +net\jjjerp\admin\service\product\ProductUnitService.class +net\jjjerp\admin\service\shop\ShopRoleService.class +net\jjjerp\admin\controller\finance\capital\LogController.class +net\jjjerp\admin\vo\setting\MessageVo.class +net\jjjerp\admin\service\shop\ShopAccessService.class +net\jjjerp\admin\service\depot\DepotStorageStockService.class +net\jjjerp\admin\service\customer\CustomerAddressService.class +net\jjjerp\admin\service\shop\impl\ShopRoleAccessServiceImpl.class +net\jjjerp\admin\service\file\impl\UploadFileServiceImpl.class +net\jjjerp\admin\vo\shop\OptLogVo.class +net\jjjerp\admin\service\settings\impl\MessageSettingsServiceImpl.class +net\jjjerp\admin\service\bill\BillDeliveryService.class +net\jjjerp\admin\service\shop\impl\ShopUserRoleServiceImpl.class +net\jjjerp\admin\controller\refund\flow\QueryController.class +net\jjjerp\admin\controller\statement\market\BoardController.class +net\jjjerp\admin\mapper\product\ProductMapper.class +net\jjjerp\admin\service\settings\PrinterService.class +net\jjjerp\admin\service\store\StoreService.class +net\jjjerp\admin\service\depot\impl\DeliverAreaServiceImpl.class +net\jjjerp\admin\controller\finance\capital\AccountController.class +net\jjjerp\admin\service\app\impl\AppMpServiceImpl.class +net\jjjerp\admin\controller\refund\flow\HandleController.class +net\jjjerp\admin\controller\setting\system\ShopRoleController.class +net\jjjerp\admin\controller\stock\condition\OpenningController.class +net\jjjerp\admin\service\finance\capital\impl\AccountServiceImpl.class +net\jjjerp\admin\controller\file\UploadController.class +net\jjjerp\admin\service\bill\BillItemService.class +net\jjjerp\admin\vo\setting\DeliveryRuleVo.class +net\jjjerp\admin\service\file\UploadFileService.class +net\jjjerp\admin\enums\settings\PrinterTypeEnum.class +net\jjjerp\admin\controller\setting\system\ClearController.class +net\jjjerp\admin\service\bill\impl\BillDeliveryServiceImpl.class +net\jjjerp\admin\param\shop\FullReducePageParam.class +net\jjjerp\admin\controller\purchase\purchase\PurchaseReturnController.class +net\jjjerp\admin\service\shop\ShopUserRoleService.class +net\jjjerp\admin\service\bill\impl\BillItemServiceImpl.class +net\jjjerp\admin\service\product\impl\ProductCategoryServiceImpl.class +net\jjjerp\admin\service\bill\BillHeadService.class +net\jjjerp\admin\service\settings\MessageSettingsService.class +net\jjjerp\admin\controller\finance\statement\CollectController.class +net\jjjerp\admin\service\depot\impl\DepotAreaServiceImpl.class +net\jjjerp\admin\controller\refund\flow\AuditController.class +net\jjjerp\admin\service\shop\impl\ShopRoleServiceImpl.class +net\jjjerp\admin\param\shopUser\ShopUserPageParam.class +net\jjjerp\admin\service\settings\SettingService.class +net\jjjerp\admin\service\shop\impl\ShopUserServiceImpl.class +net\jjjerp\admin\service\file\impl\UploadGroupServiceImpl.class +net\jjjerp\admin\service\settings\DeliveryTemplateService.class +net\jjjerp\admin\service\depot\DepotShelfService.class +net\jjjerp\admin\service\product\ProductCategoryService.class +net\jjjerp\admin\controller\stock\allot\AllocateOutController.class +net\jjjerp\admin\controller\refund\put\RoadController.class +net\jjjerp\admin\service\settings\ExpressService.class +net\jjjerp\admin\service\app\AppOpenService.class +net\jjjerp\admin\controller\market\deliver\DeliverOrderController.class +net\jjjerp\admin\param\shopUser\ShopRoleParam.class +net\jjjerp\admin\controller\product\base\ProductController.class +net\jjjerp\admin\controller\purchase\purchase\PurchaseStorageController.class +net\jjjerp\admin\param\file\UploadFilePageParam.class +net\jjjerp\admin\controller\product\base\MfrsController.class +net\jjjerp\admin\mapper\shop\ShopUserMapper.class +net\jjjerp\admin\controller\market\picking\PickingOrderController.class +net\jjjerp\admin\controller\stock\allot\AllocateController.class +net\jjjerp\admin\service\settings\ReturnAddressService.class +net\jjjerp\admin\service\depot\DeliverAreaService.class +net\jjjerp\admin\service\product\ProductService.class +net\jjjerp\admin\param\app\AppUpdateParam.class +net\jjjerp\admin\controller\market\audit\MarketOrderController.class +net\jjjerp\admin\controller\refund\put\ScanController.class +net\jjjerp\admin\service\depot\DepotReservoirService.class +net\jjjerp\admin\controller\stock\allot\StockRecordController.class +net\jjjerp\admin\controller\setting\system\OptLogController.class +net\jjjerp\admin\controller\setting\system\StorageController.class +net\jjjerp\admin\controller\product\base\UnitController.class +net\jjjerp\admin\service\finance\capital\impl\AccountMoneyLogServiceImpl.class +net\jjjerp\admin\service\page\PageService.class +net\jjjerp\admin\service\page\impl\PageCategoryServiceImpl.class +net\jjjerp\admin\service\customer\impl\CustomerAddressServiceImpl.class +net\jjjerp\admin\service\bill\impl\BillHeadServiceImpl.class +net\jjjerp\admin\service\shop\impl\ShopOptLogServiceImpl.class +net\jjjerp\admin\mapper\bill\BillHeadMapper.class +net\jjjerp\admin\service\product\ProductImageService.class +net\jjjerp\admin\service\supplier\SupplierService.class +net\jjjerp\admin\controller\setting\system\ShopUserController.class +net\jjjerp\admin\param\shop\LoginLogPageParam.class +net\jjjerp\admin\service\app\impl\AppWxServiceImpl.class +net\jjjerp\admin\service\finance\capital\AccountMoneyLogService.class +net\jjjerp\admin\controller\setting\basic\DepotReservoirController.class +net\jjjerp\admin\service\depot\impl\DepotStorageServiceImpl.class +net\jjjerp\admin\controller\setting\system\LoginLogController.class +net\jjjerp\admin\controller\file\ImageBankController.class +net\jjjerp\admin\param\shop\FullReduceParam.class +net\jjjerp\admin\service\depot\DepotStorageService.class +net\jjjerp\admin\controller\bill\BillController.class +net\jjjerp\admin\service\depot\DepotAreaService.class +net\jjjerp\admin\param\shop\OptLogPageParam.class +net\jjjerp\admin\service\store\impl\StoreServiceImpl.class +net\jjjerp\admin\service\settings\LabelSettingService.class +net\jjjerp\admin\service\product\impl\ProductUnitServiceImpl.class +net\jjjerp\admin\service\product\ProductExtendService.class +net\jjjerp\admin\service\product\impl\ProductServiceImpl.class +net\jjjerp\admin\controller\setting\basic\SupplierController.class +net\jjjerp\admin\controller\setting\delivery\ExpressController.class +net\jjjerp\admin\controller\setting\basic\DeliveryAreaController.class +net\jjjerp\admin\service\product\impl\ProductExtendServiceImpl.class +net\jjjerp\admin\controller\file\FileController.class +net\jjjerp\admin\service\system\SystemVersionService.class +net\jjjerp\admin\vo\app\AppVo.class +net\jjjerp\admin\mapper\shop\ShopUserRoleMapper.class +net\jjjerp\admin\service\finance\capital\AccountService.class +net\jjjerp\admin\controller\setting\system\SystemController.class +net\jjjerp\admin\service\customer\impl\CustomerServiceImpl.class +net\jjjerp\admin\service\app\impl\AppServiceImpl.class +net\jjjerp\admin\service\shop\ShopRoleAccessService.class +net\jjjerp\admin\vo\shop\FullReduceVo.class +net\jjjerp\admin\controller\product\base\ProductAttributeController.class +net\jjjerp\admin\controller\setting\basic\DepotAreaController.class +net\jjjerp\admin\service\settings\RegionService.class +net\jjjerp\admin\service\app\impl\AppOpenServiceImpl.class +net\jjjerp\admin\service\depot\impl\DepotStorageStockServiceImpl.class +net\jjjerp\admin\service\product\impl\ProductMfrsServiceImpl.class +net\jjjerp\admin\service\bill\impl\BillAddressServiceImpl.class +net\jjjerp\admin\controller\refund\flow\refundController.class +net\jjjerp\admin\controller\IndexController.class +net\jjjerp\admin\controller\stock\condition\ConditionController.class +net\jjjerp\admin\service\settings\MessageService.class +net\jjjerp\admin\service\app\AppMpService.class +net\jjjerp\admin\service\settings\impl\RegionServiceImpl.class +net\jjjerp\admin\service\app\AppWxService.class +net\jjjerp\admin\service\page\impl\CenterMenuServiceImpl.class +net\jjjerp\admin\service\settings\impl\ReturnAddressServiceImpl.class +net\jjjerp\admin\exception\SysLoginException.class +net\jjjerp\admin\vo\setting\DeliveryVo.class +net\jjjerp\admin\controller\setting\system\SmsController.class +net\jjjerp\admin\service\product\impl\ProductAttributeServiceImpl.class +net\jjjerp\admin\service\depot\DepotService.class +net\jjjerp\admin\service\app\impl\AppUpdateServiceImpl.class +net\jjjerp\admin\service\app\AppUpdateService.class +net\jjjerp\admin\service\settings\impl\SettingServiceImpl.class +net\jjjerp\admin\service\file\UploadGroupService.class +net\jjjerp\admin\controller\market\other\OtherOrderController.class +net\jjjerp\admin\controller\region\RegionController.class +net\jjjerp\admin\controller\setting\basic\CustomerController.class +net\jjjerp\admin\controller\setting\basic\StoreController.class +net\jjjerp\admin\param\app\PayParam.class +net\jjjerp\admin\service\product\ProductMfrsService.class +net\jjjerp\admin\vo\shop\LoginLogVo.class +net\jjjerp\admin\controller\stock\condition\DistributionController.class +net\jjjerp\admin\service\product\ProductAttributeService.class +net\jjjerp\admin\param\page\CenterParam.class +net\jjjerp\admin\service\customer\CustomerService.class +net\jjjerp\admin\service\settings\impl\ExpressServiceImpl.class +net\jjjerp\admin\controller\stock\allot\StockCheckController.class +net\jjjerp\admin\controller\setting\basic\DepotStorageController.class +net\jjjerp\admin\service\product\impl\ProductImageServiceImpl.class +net\jjjerp\admin\service\shop\impl\ShopLoginLogServiceImpl.class +net\jjjerp\admin\service\settings\impl\PrinterServiceImpl.class +net\jjjerp\admin\service\product\impl\ProductDeputyUnitServiceImpl.class +net\jjjerp\admin\service\page\CenterMenuService.class +net\jjjerp\admin\service\depot\impl\DepotReservoirServiceImpl.class +net\jjjerp\admin\controller\setting\basic\DepotController.class +net\jjjerp\admin\service\shop\ShopLoginLogService.class +net\jjjerp\admin\service\system\impl\SystemVersionServiceImpl.class +net\jjjerp\admin\vo\setting\LabelSettingVo.class +net\jjjerp\admin\service\export\ExportService.class +net\jjjerp\admin\service\shop\impl\ShopAccessServiceImpl.class +net\jjjerp\admin\vo\setting\PrinterVo.class +net\jjjerp\admin\service\depot\impl\DepotServiceImpl.class +net\jjjerp\admin\service\settings\impl\MessageServiceImpl.class +net\jjjerp\admin\service\supplier\impl\SupplierServiceImpl.class +net\jjjerp\admin\controller\product\base\CategoryController.class +net\jjjerp\admin\controller\setting\basic\DepotShelfController.class +net\jjjerp\admin\param\shopUser\ShopUserParam.class +net\jjjerp\admin\vo\file\UploadFileVo.class +net\jjjerp\admin\controller\purchase\purchase\PurchaseOrderController.class +net\jjjerp\admin\service\bill\BillAddressService.class +net\jjjerp\admin\service\settings\impl\MessageFieldServiceImpl.class +net\jjjerp\admin\controller\finance\statement\CustomerController.class +net\jjjerp\admin\service\page\PageCategoryService.class +net\jjjerp\admin\service\settings\impl\DeliveryTemplateServiceImpl.class +net\jjjerp\admin\service\product\ProductDeputyUnitService.class +net\jjjerp\admin\service\shop\ShopUserService.class +net\jjjerp\admin\vo\shopUser\ShopUserVo.class diff --git a/jjj_erp/jjj-admin/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/jjj_erp/jjj-admin/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst new file mode 100644 index 0000000..b16d868 --- /dev/null +++ b/jjj_erp/jjj-admin/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst @@ -0,0 +1,195 @@ +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\service\app\impl\AppUpdateServiceImpl.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\service\shop\ShopUserService.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\service\depot\impl\DepotStorageServiceImpl.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\controller\refund\put\MarketController.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\controller\purchase\purchase\PurchaseOrderController.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\service\settings\impl\LabelSettingServiceImpl.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\service\settings\impl\ExpressServiceImpl.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\service\shop\impl\ShopAccessServiceImpl.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\controller\setting\system\ShopUserController.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\controller\setting\basic\DepotController.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\controller\PassportController.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\controller\setting\basic\DeliveryAreaController.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\controller\product\base\ProductController.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\service\finance\capital\impl\AccountMoneyLogServiceImpl.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\controller\statement\market\BoardController.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\mapper\shop\ShopUserMapper.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\vo\shopUser\ShopUserVo.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\service\file\impl\UploadFileServiceImpl.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\param\shopUser\ShopRoleParam.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\service\product\impl\ProductCategoryServiceImpl.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\service\settings\impl\MessageFieldServiceImpl.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\service\product\impl\ProductImageServiceImpl.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\service\depot\DeliverAreaService.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\service\app\impl\AppOpenServiceImpl.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\mapper\product\ProductMapper.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\service\bill\BillItemService.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\service\export\impl\ExportServiceImpl.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\service\store\impl\StoreServiceImpl.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\controller\setting\system\OptLogController.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\service\settings\impl\ReturnAddressServiceImpl.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\controller\IndexController.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\controller\refund\flow\AuditController.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\controller\refund\flow\QueryController.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\service\settings\DeliveryTemplateService.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\controller\market\other\OtherOrderController.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\param\shop\OptLogPageParam.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\param\app\PayParam.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\controller\finance\capital\LogController.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\service\customer\impl\CustomerAddressServiceImpl.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\service\page\CenterMenuService.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\controller\file\ImageBankController.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\controller\refund\flow\refundController.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\param\app\AppUpdateParam.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\service\product\impl\ProductAttributeServiceImpl.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\vo\shop\FullReduceVo.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\service\bill\BillHeadService.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\service\depot\impl\DepotAreaServiceImpl.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\service\depot\impl\DeliverAreaServiceImpl.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\service\product\impl\ProductExtendServiceImpl.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\service\settings\ReturnAddressService.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\service\page\impl\CenterMenuServiceImpl.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\service\depot\DepotStorageService.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\service\settings\MessageService.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\controller\setting\basic\DepotShelfController.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\controller\stock\allot\AllocateOutController.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\service\bill\impl\BillAddressServiceImpl.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\controller\stock\allot\OtherInController.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\service\shop\ShopLoginLogService.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\service\settings\impl\SettingServiceImpl.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\service\bill\impl\BillDeliveryServiceImpl.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\controller\market\deliver\DeliverOrderController.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\service\file\UploadGroupService.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\service\shop\impl\ShopUserRoleServiceImpl.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\controller\refund\flow\HandleController.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\controller\setting\system\StorageController.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\service\page\impl\PageServiceImpl.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\controller\setting\system\LoginLogController.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\service\settings\LabelSettingService.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\service\product\ProductImageService.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\service\shop\impl\ShopLoginLogServiceImpl.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\service\file\impl\UploadGroupServiceImpl.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\param\shopUser\ShopUserPageParam.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\service\finance\capital\AccountService.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\service\product\impl\ProductServiceImpl.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\service\settings\impl\RegionServiceImpl.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\service\product\impl\ProductUnitServiceImpl.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\controller\setting\system\ClearController.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\service\app\AppMpService.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\service\app\AppWxService.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\exception\SysLoginException.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\service\depot\DepotService.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\mapper\bill\BillHeadMapper.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\vo\setting\PrinterVo.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\service\depot\impl\DepotShelfServiceImpl.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\service\product\ProductDeputyUnitService.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\controller\setting\basic\CustomerController.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\service\bill\impl\BillItemServiceImpl.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\vo\shop\LoginLogVo.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\service\customer\CustomerAddressService.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\service\finance\capital\impl\AccountServiceImpl.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\controller\file\FileController.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\service\bill\impl\BillHeadServiceImpl.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\service\product\ProductService.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\service\settings\impl\MessageServiceImpl.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\controller\finance\capital\AccountController.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\service\app\AppService.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\service\product\ProductAttributeService.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\service\settings\impl\DeliveryTemplateServiceImpl.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\service\shop\impl\ShopUserServiceImpl.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\service\shop\impl\ShopRoleAccessServiceImpl.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\controller\refund\put\RoadController.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\controller\setting\basic\DepotStorageController.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\controller\stock\allot\AllocateController.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\service\customer\CustomerService.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\service\shop\ShopAccessService.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\param\shop\FullReducePageParam.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\service\page\impl\PageCategoryServiceImpl.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\service\settings\MessageSettingsService.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\controller\region\RegionController.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\controller\setting\system\SmsController.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\controller\finance\statement\CustomerController.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\service\settings\PrinterService.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\service\export\ExportService.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\service\app\impl\AppServiceImpl.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\service\shop\ShopOptLogService.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\vo\setting\LabelSettingVo.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\service\app\impl\AppMpServiceImpl.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\service\shop\impl\ShopOptLogServiceImpl.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\service\settings\SettingService.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\service\depot\impl\DepotReservoirServiceImpl.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\service\depot\impl\DepotServiceImpl.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\service\product\ProductExtendService.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\controller\stock\allot\StockRecordController.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\controller\file\UploadController.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\service\settings\RegionService.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\controller\setting\basic\DepotReservoirController.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\param\shop\LoginLogPageParam.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\enums\settings\PrinterTypeEnum.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\service\product\impl\ProductMfrsServiceImpl.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\vo\setting\DeliveryRuleVo.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\service\settings\impl\MessageSettingsServiceImpl.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\controller\product\base\MfrsController.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\controller\market\audit\MarketOrderController.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\service\app\AppUpdateService.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\service\store\StoreService.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\param\page\CenterParam.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\service\product\ProductCategoryService.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\mapper\shop\ShopUserRoleMapper.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\controller\purchase\purchase\PurchaseReturnController.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\controller\stock\allot\AllocateInController.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\service\supplier\SupplierService.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\controller\bill\BillController.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\service\product\impl\ProductDeputyUnitServiceImpl.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\service\page\PageCategoryService.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\service\product\ProductUnitService.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\controller\market\picking\PickingOrderController.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\service\system\impl\SystemVersionServiceImpl.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\service\customer\impl\CustomerServiceImpl.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\service\settings\impl\PrinterServiceImpl.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\service\app\impl\AppWxServiceImpl.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\service\product\ProductMfrsService.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\controller\product\base\ProductAttributeController.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\param\shopUser\ShopUserParam.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\controller\setting\basic\SupplierController.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\controller\stock\allot\OtherOutController.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\service\settings\ExpressService.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\service\shop\ShopUserRoleService.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\controller\refund\put\ScanController.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\service\file\UploadFileService.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\service\app\AppOpenService.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\service\settings\MessageFieldService.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\controller\setting\basic\DepotAreaController.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\service\bill\BillAddressService.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\service\depot\DepotAreaService.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\service\finance\capital\AccountMoneyLogService.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\controller\purchase\purchase\PurchaseStorageController.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\controller\stock\condition\OpenningController.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\controller\finance\statement\CollectController.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\controller\stock\condition\ConditionController.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\param\shop\FullReduceParam.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\controller\setting\delivery\ExpressController.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\service\supplier\impl\SupplierServiceImpl.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\controller\setting\basic\StoreController.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\service\bill\BillDeliveryService.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\service\depot\DepotStorageStockService.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\service\depot\impl\DepotStorageStockServiceImpl.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\service\depot\DepotShelfService.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\vo\file\UploadFileVo.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\controller\setting\system\SystemController.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\vo\shop\OptLogVo.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\vo\setting\DeliveryVo.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\service\shop\ShopRoleAccessService.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\vo\setting\MessageVo.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\controller\stock\condition\DistributionController.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\vo\app\AppVo.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\controller\stock\allot\StockCheckController.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\service\system\SystemVersionService.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\service\shop\ShopRoleService.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\controller\product\base\UnitController.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\param\file\UploadFilePageParam.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\controller\setting\system\ShopRoleController.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\service\depot\DepotReservoirService.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\service\shop\impl\ShopRoleServiceImpl.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\controller\product\base\CategoryController.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\src\main\java\net\jjjerp\admin\service\page\PageService.java diff --git a/jjj_erp/jjj-common/README.md b/jjj_erp/jjj-common/README.md new file mode 100644 index 0000000..0859a1d --- /dev/null +++ b/jjj_erp/jjj-common/README.md @@ -0,0 +1 @@ +# framework 项目核心框架模块 \ No newline at end of file diff --git a/jjj_erp/jjj-common/pom.xml b/jjj_erp/jjj-common/pom.xml new file mode 100644 index 0000000..6a632f1 --- /dev/null +++ b/jjj_erp/jjj-common/pom.xml @@ -0,0 +1,85 @@ + + + 4.0.0 + + + net.jjjerp + parent + 1.0 + + + jjj-common + jjj-common + 公共模块 + + + + + org.springframework.boot + spring-boot-starter-aop + + + org.springframework.boot + spring-boot-starter-tomcat + + + org.springframework.boot + spring-boot-starter-jdbc + + + org.springframework.boot + spring-boot-starter-data-redis + + + + + + com.baomidou + mybatis-plus-boot-starter + + + + + + mysql + mysql-connector-java + + + + + io.springfox + springfox-swagger2 + + + io.springfox + springfox-swagger-ui + + + + com.github.xiaoymin + knife4j-spring-boot-starter + + + + + org.apache.shiro + shiro-spring + ${shiro.version} + + + + com.auth0 + java-jwt + ${jwt.version} + + + + + net.jjjerp + config + + + + + diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/cache/RegionCache.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/cache/RegionCache.java new file mode 100644 index 0000000..f3c687f --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/cache/RegionCache.java @@ -0,0 +1,115 @@ +package net.jjjerp.common.cache; + +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.common.entity.settings.Region; +import net.jjjerp.common.mapper.settings.RegionMapper; +import net.jjjerp.common.vo.RegionVo; +import net.jjjerp.config.constant.CommonRedisKey; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.redis.core.RedisTemplate; +import org.springframework.stereotype.Component; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +@Slf4j +@Component +public class RegionCache { + @Autowired + private RegionMapper regionMapper; + @Autowired + private RedisTemplate redisTemplate; + + public List getCacheTree(){ + Map map = getCache(); + return (List)map.get("tree"); + } + + public List getCacheAll(){ + Map map = getCache(); + return (List)map.get("all"); + } + + public Integer getCacheCount(String type){ + Map map = getCache(); + if(type.equals("city")){ + return (Integer)map.get("cityCount"); + } + return 0; + } + + /** + * 清理缓存 + */ + public void clearCache(){ + redisTemplate.delete(CommonRedisKey.REGION_DATA); + } + + public Map getCache(){ + Object object = redisTemplate.opsForValue().get(CommonRedisKey.REGION_DATA); + if(object != null){ + return (HashMap)object; + } + // 所有地区 + List allList = regionMapper.selectList(new LambdaQueryWrapper() + .eq(Region::getIsDelete, false)); + Map result = new HashMap(); + // 树形结构 + // 转成vo + List voList = allList.stream().map(e -> { + RegionVo regionVo = new RegionVo(); + BeanUtils.copyProperties(e, regionVo); + return regionVo; + }).collect(Collectors.toList()); + result.put("all", voList); + // 遍历成树形结构 + List collect = voList.stream() + // 2. 找出所有顶级(规定 0 为顶级) + .filter(o -> StrUtil.equals("0", String.valueOf(o.getPid()))) + // 3.给当前父级的 childList 设置子 + .peek(o -> o.setChildren(getChildList(o, voList))) + // 4.收集 + .collect(Collectors.toList()); + result.put("tree", collect); + // 地区总数 + result.put("total", allList.size()); + // 省份总数 + result.put("provinceCount", this.getAreaCount(allList, 1)); + result.put("cityCount", this.getAreaCount(allList, 2)); + result.put("areaCount", this.getAreaCount(allList, 3)); + redisTemplate.opsForValue().set(CommonRedisKey.REGION_DATA, result); + return result; + } + + + + // 根据当前父类 找出子类, 并通过递归找出子类的子类 + private List getChildList(RegionVo bean, List voList) { + return voList.stream() + //筛选出父节点id == parentId 的所有对象 => list + .filter(o -> StrUtil.equals(String.valueOf(bean.getId()), String.valueOf(o.getPid()))) + .peek(o -> o.setChildren(getChildList(o, voList))) + .collect(Collectors.toList()); + } + + /** + * 查找地区数量 + * @param allList + * @param level + * @return + */ + private Integer getAreaCount(List allList, int level){ + Integer count = 0; + for (Region item : allList) { + if(item.getLevel().intValue() == level){ + count++; + } + } + return count; + } +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/admin/SaasUser.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/admin/SaasUser.java new file mode 100644 index 0000000..c90520e --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/admin/SaasUser.java @@ -0,0 +1,56 @@ + + +package net.jjjerp.common.entity.admin; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import net.jjjerp.framework.core.validator.groups.Add; +import net.jjjerp.framework.core.validator.groups.Update; + +import javax.validation.constraints.NotNull; +import javax.validation.constraints.Null; +import java.io.Serializable; +import java.util.Date; + +/** + * 系统用户 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@TableName("jjjerp_saas_user") +@ApiModel(value = "SaasUser对象", description = "saas管理员用户") +public class SaasUser implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键") + @NotNull(message = "ID不能为空", groups = {Update.class}) + @TableId(value = "saas_user_id", type = IdType.AUTO) + private Long saasUserId; + + @ApiModelProperty("用户名") + @NotNull(message = "用户名不能为空", groups = {Add.class}) + private String userName; + + @ApiModelProperty("昵称") + private String password; + + @ApiModelProperty("盐值") + private String salt; + + @ApiModelProperty("创建时间") + @Null(message = "创建时间不用传") + private Date createTime; + + @ApiModelProperty("修改时间") + @Null(message = "修改时间不用传") + private Date updateTime; + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/app/App.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/app/App.java new file mode 100644 index 0000000..1d0b85f --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/app/App.java @@ -0,0 +1,107 @@ +package net.jjjerp.common.entity.app; + +import com.baomidou.mybatisplus.annotation.*; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import net.jjjerp.framework.core.validator.groups.Update; + +import javax.validation.constraints.NotNull; +import java.io.Serializable; +import java.util.Date; + +/** + * 微信小程序记录表 + * + * @author jjjerp + * @since 2022-06-23 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@TableName("jjjerp_app") +@ApiModel(value = "App对象") +public class App implements Serializable { + private static final long serialVersionUID = 1L; + + @NotNull(message = "id不能为空", groups = {Update.class}) + @ApiModelProperty("应用id") + @TableId(value = "app_id", type = IdType.AUTO) + private Integer appId; + + @ApiModelProperty("应用名称") + private String appName; + + @ApiModelProperty("logo") + private Integer logo; + + @ApiModelProperty("通行证是否开发0,不开放1,开放") + private Integer passportOpen; + + @ApiModelProperty("通行证类型10,微信开放平台,20手机号30,账号密码") + private Integer passportType; + + @ApiModelProperty("是否回收") + private Boolean isRecycle; + + @ApiModelProperty("过期时间") + @TableField(updateStrategy = FieldStrategy.IGNORED ) + private Date expireTime; + + @ApiModelProperty("微信服务商支付是否开启0否1是") + private Boolean weixinService; + + @ApiModelProperty("支付类型,json格式") + private String payType; + + @ApiModelProperty("微信支付方式v2:2,v3:3") + private Integer wxPayKind; + + @ApiModelProperty("微信提现方式v2:2 v3:3") + private Integer wxCashType; + + @ApiModelProperty("支付宝提现方式,1=手动打款, 2=审核通过自动转账") + private Integer aliCashType; + + @ApiModelProperty("微信商户号id") + private String mchid; + + @ApiModelProperty("微信支付密钥") + private String apikey; + + @ApiModelProperty("p12证书") + private byte[] p12; + + @ApiModelProperty("证书文件cert") + private String certPem; + + @ApiModelProperty("证书文件key") + private String keyPem; + + @ApiModelProperty("微信平台证书序列号") + private String wechatpaySerial; + + @ApiModelProperty("支付宝商户号") + private String alipayAppid; + + @ApiModelProperty("支付宝公钥") + private String alipayPublickey; + + @ApiModelProperty("应用私钥") + private String alipayPrivatekey; + + @ApiModelProperty("默认账户ID") + private Long accountId; + + @ApiModelProperty("是否删除") + private Boolean isDelete; + + @ApiModelProperty("创建时间") + private Date createTime; + + @ApiModelProperty("更新时间") + private Date updateTime; + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/app/AppMp.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/app/AppMp.java new file mode 100644 index 0000000..c9a0e2d --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/app/AppMp.java @@ -0,0 +1,48 @@ +package net.jjjerp.common.entity.app; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.io.Serializable; +import java.util.Date; + +/** + * 微信公众号记录表 + * + * @author jjjerp + * @since 2022-07-27 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@TableName("jjjerp_app_mp") +@ApiModel(value = "AppMp对象") +public class AppMp implements Serializable { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("appid") + @TableId(value = "app_id", type = IdType.AUTO) + private Integer appId; + + @ApiModelProperty("公众号AppID") + private String mpappId; + + @ApiModelProperty("公众号AppSecret") + private String mpappSecret; + + @ApiModelProperty("是否删除") + private Integer isDelete; + + @ApiModelProperty("创建时间") + private Date createTime; + + @ApiModelProperty("更新时间") + private Date updateTime; + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/app/AppOpen.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/app/AppOpen.java new file mode 100644 index 0000000..4727f20 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/app/AppOpen.java @@ -0,0 +1,51 @@ +package net.jjjerp.common.entity.app; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.io.Serializable; +import java.util.Date; + +/** + * app应用记录表 + * + * @author jjjerp + * @since 2022-07-27 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@TableName("jjjerp_app_open") +@ApiModel(value = "AppOpen对象") +public class AppOpen implements Serializable { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("appid") + @TableId(value = "app_id", type = IdType.AUTO) + private Integer appId; + + @ApiModelProperty("应用AppID") + private String openappId; + + @ApiModelProperty("应用AppSecret") + private String openappSecret; + + @ApiModelProperty("logo地址") + private String logo; + + @ApiModelProperty("是否删除") + private Integer isDelete; + + @ApiModelProperty("创建时间") + private Date createTime; + + @ApiModelProperty("更新时间") + private Date updateTime; + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/app/AppUpdate.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/app/AppUpdate.java new file mode 100644 index 0000000..b76e479 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/app/AppUpdate.java @@ -0,0 +1,60 @@ +package net.jjjerp.common.entity.app; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.io.Serializable; +import java.util.Date; + +/** + * app升级记录表 + * + * @author jjjerp + * @since 2022-07-27 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@TableName("jjjerp_app_update") +@ApiModel(value = "AppUpdate对象") +public class AppUpdate implements Serializable { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId(value = "update_id", type = IdType.AUTO) + private Integer updateId; + + @ApiModelProperty("appid") + private Integer appId; + + @ApiModelProperty("android版本号") + private String versionAndroid; + + @ApiModelProperty("ios版本号") + private String versionIos; + + @ApiModelProperty("热更新包下载地址") + private String wgtUrl; + + @ApiModelProperty("安卓整包升级地址") + private String pkgUrlAndroid; + + @ApiModelProperty("ios整包升级地址") + private String pkgUrlIos; + + @ApiModelProperty("是否删除") + private Integer isDelete; + + @ApiModelProperty("创建时间") + private Date createTime; + + @ApiModelProperty("更新时间") + private Date updateTime; + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/app/AppWx.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/app/AppWx.java new file mode 100644 index 0000000..109e7c8 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/app/AppWx.java @@ -0,0 +1,48 @@ +package net.jjjerp.common.entity.app; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.io.Serializable; +import java.util.Date; + +/** + * 微信小程序记录表 + * + * @author jjjerp + * @since 2022-07-03 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@TableName("jjjerp_app_wx") +@ApiModel(value = "AppWx对象") +public class AppWx implements Serializable { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("appid") + @TableId(value = "app_id", type = IdType.AUTO) + private Integer appId; + + @ApiModelProperty("小程序AppID") + private String wxappId; + + @ApiModelProperty("小程序AppSecret") + private String wxappSecret; + + @ApiModelProperty("是否删除") + private Integer isDelete; + + @ApiModelProperty("创建时间") + private Date createTime; + + @ApiModelProperty("更新时间") + private Date updateTime; + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/bill/BillAddress.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/bill/BillAddress.java new file mode 100644 index 0000000..7d86b31 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/bill/BillAddress.java @@ -0,0 +1,82 @@ +package net.jjjerp.common.entity.bill; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.annotation.IdType; +import java.util.Date; +import com.baomidou.mybatisplus.annotation.Version; +import com.baomidou.mybatisplus.annotation.TableId; +import java.io.Serializable; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import java.io.Serializable; + +/** + * 用户收货地址表 + * + * @author jjjerp + * @since 2024-06-06 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@TableName("jjjerp_bill_address") +@ApiModel(value = "BillAddress对象") +public class BillAddress implements Serializable { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId(value = "bill_address_id", type = IdType.AUTO) + private Integer billAddressId; + + @ApiModelProperty("收货人姓名") + private String name; + + @ApiModelProperty("手机") + private String phone; + + @ApiModelProperty("固话") + private String fixPhone; + + @ApiModelProperty("省") + private String province; + + @ApiModelProperty("市") + private String city; + + @ApiModelProperty("区") + private String region; + + @ApiModelProperty("邮编") + private String zip; + + @ApiModelProperty("所在省份id") + private Integer provinceId; + + @ApiModelProperty("所在城市id") + private Integer cityId; + + @ApiModelProperty("所在区id") + private Integer regionId; + + @ApiModelProperty("新市辖区(该字段用于记录region表中没有的市辖区)") + private String district; + + @ApiModelProperty("详细地址") + private String detail; + + @ApiModelProperty("单据id") + private Long billId; + + @ApiModelProperty("应用id") + private Integer appId; + + @ApiModelProperty("创建时间") + private Date createTime; + + @ApiModelProperty("更新时间") + private Date updateTime; + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/bill/BillDelivery.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/bill/BillDelivery.java new file mode 100644 index 0000000..1f810d3 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/bill/BillDelivery.java @@ -0,0 +1,59 @@ +package net.jjjerp.common.entity.bill; + +import com.baomidou.mybatisplus.annotation.*; + +import java.util.Date; +import java.io.Serializable; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import javax.validation.constraints.NotNull; +import java.io.Serializable; + +/** + * 单据物流表 + * + * @author jjjerp + * @since 2024-05-07 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@TableName("jjjerp_bill_delivery") +@ApiModel(value = "BillDelivery对象") +public class BillDelivery implements Serializable { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键") + @TableId(value = "bill_delivery_id", type = IdType.AUTO) + private Long billDeliveryId; + + @ApiModelProperty("单据ID") + @NotNull(message = "单据ID不能为空") + private Long billId; + + @ApiModelProperty("快递公司id") + private Integer expressId; + + @ApiModelProperty("快递公司名称") + private String expressName; + + @ApiModelProperty("快递单号") + private String expressNo; + + @ApiModelProperty("删除标记,0未删除,1删除") + private Integer isDelete; + + @ApiModelProperty("租户id") + private Long appId; + + @ApiModelProperty("创建时间") + private Date createTime; + + @ApiModelProperty("更新时间") + private Date updateTime; + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/bill/BillHead.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/bill/BillHead.java new file mode 100644 index 0000000..46a0819 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/bill/BillHead.java @@ -0,0 +1,315 @@ +package net.jjjerp.common.entity.bill; + +import java.math.BigDecimal; + +import com.baomidou.mybatisplus.annotation.*; + +import java.util.Date; +import java.io.Serializable; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import net.jjjerp.common.entity.depot.Depot; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; +import java.io.Serializable; +import java.util.List; + +/** + * 单据主表 + * + * @author jjjerp + * @since 2024-05-07 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@TableName("jjjerp_bill_head") +@ApiModel(value = "BillHead对象") +public class BillHead implements Serializable { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键") + @TableId(value = "bill_id", type = IdType.AUTO) + private Long billId; + + @ApiModelProperty("业务类型,1直接采购入库,2订单采购入库,3直接出库,4采购入库单退货") + @TableField(exist = false) + private String businessTypeString; + + @ApiModelProperty("订单状态文本内容") + @TableField(exist = false) + private String stateText; + + @ApiModelProperty("收货人姓名") + @TableField(exist = false) + private String name; + + @ApiModelProperty("手机") + @TableField(exist = false) + private String phone; + + @ApiModelProperty("固话") + @TableField(exist = false) + private String fixPhone; + + @ApiModelProperty("邮编") + @TableField(exist = false) + private String zip; + + @ApiModelProperty("详细地址") + @TableField(exist = false) + private String detail; + + @ApiModelProperty("结算状态文本内容") + @TableField(exist = false) + private String settlementText; + + @ApiModelProperty("仓库名称") + @TableField(exist = false) + private String depotName; + + @ApiModelProperty("供应商名称") + @TableField(exist = false) + private String supplierName; + + @ApiModelProperty("业务员名称") + @TableField(exist = false) + private String salesName; + + @ApiModelProperty("审核员名称") + @TableField(exist = false) + private String auditName; + + @ApiModelProperty("操作员名称") + @TableField(exist = false) + private String creatorName; + + @ApiModelProperty("附件List") + @TableField(exist = false) + private List fileList; + + @ApiModelProperty("单据商品List") + @TableField(exist = false) + private List billItemList; + + @ApiModelProperty("单据物流List") + @TableField(exist = false) + private List deliveryList; + + @ApiModelProperty("物流公司id") + @TableField(exist = false) + private Integer expressId; + + + @ApiModelProperty("物流单号") + @TableField(exist = false) + private String expressNo; + + @ApiModelProperty("入库单") + @TableField(exist = false) + private List rKList; + + @ApiModelProperty("换货单") + @TableField(exist = false) + private List xDList; + + @ApiModelProperty("单据地址") + @TableField(exist = false) + private BillAddress address; + + @ApiModelProperty("提示") + @TableField(exist = false) + private String hint; + + @ApiModelProperty("店铺名称") + @TableField(exist = false) + private String storeName; + + @ApiModelProperty("买家名称") + @TableField(exist = false) + private String customerName; + + @ApiModelProperty("结算账户名称") + @TableField(exist = false) + private String accountName; + + @ApiModelProperty("已收金额") + @TableField(exist = false) + private BigDecimal receivedMoney; + + @ApiModelProperty("单据应收款余额") + @TableField(exist = false) + private BigDecimal balanceMoney; + + + @ApiModelProperty("单据类型,1采购订单,2采购入库单,3采购退货订单,4采购退货单,6销售订单,8销售出库单,10库存调拨单,11调拨出库单,12调拨入库单,13其他出库单,14其他入库单,15盘盈盘亏单,16期初库存单,17售后申请单,18销售退货单") + private Integer billType; + + @ApiModelProperty("业务类型,1直接采购入库,2订单采购入库,3直接出库,4采购入库单退货,5实际调拨,6虚拟调拨,7销售单原路退回,8线下销售订单,9线上销售订单,10预售销售订单,11线下出库单") + private Integer businessType; + + @ApiModelProperty("售后类型(0无售后 10退货退款 20换货 30仅退款 40补发 50 维修 60 其他)") + private Integer refundType; + + @ApiModelProperty("是否换货单,0否,1是") + private Integer isExchange; + + @ApiModelProperty("单据类型名称") + private String typeName; + + @ApiModelProperty("单据编号") + private String codeNum; + + @ApiModelProperty("出入库时间") + private Date operTime; + + @ApiModelProperty("业务时间") + private Date businessTime; + + @ApiModelProperty("供应商id") + private Long supplierId; + + @ApiModelProperty("店铺id") + private Long storeId; + + @ApiModelProperty("仓库id") + private Long depotId; + + @ApiModelProperty("业务员id") + private Long salesId; + + @ApiModelProperty("操作员id") + private Integer creatorId; + + @ApiModelProperty("经手人id") + private Integer handleId; + + @ApiModelProperty("审核员id") + private Integer auditId; + + @ApiModelProperty("账户id") + private Long accountId; + + @ApiModelProperty("客户id") + private Integer customerId; + + @ApiModelProperty("客户地址id") + private Integer customerAddressId; + + @ApiModelProperty("配送方式(10快递发货 20上门自提 30无需物流 40多包裹)") + private Integer deliveryType; + + @ApiModelProperty("合计金额") + private BigDecimal totalPrice; + + @ApiModelProperty("商品总量") + private Long totalNum; + + @ApiModelProperty("买家留言") + private String buyerRemark; + + @ApiModelProperty("线上备注") + private String onlineRemark; + + @ApiModelProperty("系统备注") + private String systemRemark; + + @ApiModelProperty("处理详情") + private String manageDetails; + + @ApiModelProperty("打印备注") + private String printRemark; + + @ApiModelProperty("附件内容") + private String fileUrls; + + @ApiModelProperty("业务原因") + private String businessCause; + + @ApiModelProperty("问题原因") + private String problemCause; + + @ApiModelProperty("问题描述") + private String problemDescribe; + + @ApiModelProperty("优惠类型,1固定金额") + private Integer discountType; + + @ApiModelProperty("优惠金额") + private BigDecimal discountMoney; + + @ApiModelProperty("欠款金额") + private BigDecimal deptMoney; + + @ApiModelProperty("其他费用合计") + private BigDecimal otherMoney; + + @ApiModelProperty("其他费用分摊类型,0不分摊,1按金额分摊,2按重量分摊") + private Integer otherAllotType; + + @ApiModelProperty("采购运费分摊类型,0不分摊,1按金额分摊,2按重量分摊") + private Integer purchaseAllotType; + + @ApiModelProperty("运费合计") + private BigDecimal purchaseMoney; + + @ApiModelProperty("变动金额(收款,退款)") + private BigDecimal deposit; + + @ApiModelProperty("赔付金额") + private BigDecimal compensateMoney; + + @ApiModelProperty("客户收款账户") + private String payee; + + @ApiModelProperty("审核状态,10待审核20通过30拒绝") + private Integer auditStatus; + + @ApiModelProperty("单据状态,0未开始、1完成、2进行中(已配货),3已关闭,4异常,5待配货,6已发货") + private Integer purchaseStatus; + + @ApiModelProperty("结算状态,0待结算、1已结算、2已结清") + private Integer settlementStatus; + + @ApiModelProperty("关联单据id") + private String linkBillId; + + @ApiModelProperty("关联单据编号") + private String linkBillNum; + + @ApiModelProperty("结算方式(0现金,1预付款)") + private String payType; + + @ApiModelProperty("关闭原因") + private String closeReason; + + @ApiModelProperty("审核拒绝原因") + private String refuseReason; + + @ApiModelProperty("异常原因") + private String anomalousReason; + + @ApiModelProperty("对方仓库Id") + private Long anotherDepotId; + + @ApiModelProperty("删除标记,0未删除,1删除") + private Integer deleteFlag; + + @ApiModelProperty("下单时间") + private Date orderTime; + + @ApiModelProperty("租户id") + private Long appId; + + @ApiModelProperty("创建时间") + private Date createTime; + + @ApiModelProperty("更新时间") + private Date updateTime; + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/bill/BillItem.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/bill/BillItem.java new file mode 100644 index 0000000..2df137b --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/bill/BillItem.java @@ -0,0 +1,184 @@ +package net.jjjerp.common.entity.bill; + +import java.math.BigDecimal; + +import com.baomidou.mybatisplus.annotation.*; + +import java.util.Date; +import java.io.Serializable; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import net.jjjerp.common.entity.depot.DepotStorage; +import net.jjjerp.common.entity.product.ProductExtend; + +import java.io.Serializable; + +/** + * 单据子表 + * + * @author jjjerp + * @since 2024-05-07 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@TableName("jjjerp_bill_item") +@ApiModel(value = "BillItem对象") +public class BillItem implements Serializable { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键") + @TableId(value = "id", type = IdType.AUTO) + private Long id; + + @ApiModelProperty("表头Id") + private Long billId; + + @ApiModelProperty("商品Id") + private Long productId; + + @ApiModelProperty("商品扩展id") + private Long productExtendId; + + @ApiModelProperty("商品扩展") + @TableField(exist = false) + private ProductExtend productExtend; + + @ApiModelProperty("单据类型名称") + @TableField(exist = false) + private String typeName; + + @ApiModelProperty("单据编号") + @TableField(exist = false) + private String codeNum; + + @ApiModelProperty("主单据") + @TableField(exist = false) + private BillHead head; + + @ApiModelProperty("提示") + @TableField(exist = false) + private String hint; + + @ApiModelProperty("商品计量单位") + private String materialUnit; + + @ApiModelProperty("多属性") + private String sku; + + @ApiModelProperty("实际操作数量") + private Long operNumber; + + @ApiModelProperty("实际操作总数量") + private Long basicNumber; + + @ApiModelProperty("待入库数量") + private Long noArrivalNumber; + + @ApiModelProperty("待入库总数量") + private Long noArrivalAllNumber; + + @ApiModelProperty("可操作数量(可入库,可出库,可退货)") + private Long availableNumber; + + @ApiModelProperty("可操作总数量(可入库,可出库,可退货)") + private Long availableAllNumber; + + @ApiModelProperty("已退数量)") + private Long returnNumber; + + @ApiModelProperty("已退总数") + private Long returnAllNumber; + + @ApiModelProperty("调出数量") + private Long calloutNumber; + + @ApiModelProperty("调出总数") + private Long calloutAllNumber; + + @ApiModelProperty("调入数量)") + private Long foldNumber; + + @ApiModelProperty("调入总数") + private Long foldAllNumber; + + @ApiModelProperty("商品库存余量") + private Long stockNum; + + @ApiModelProperty("锁定库存,实物数量中已经被销售订单、库存调拨单锁定的数量") + private Long freezeStock; + + @ApiModelProperty("库存变化数量") + private Long differenceNum; + + @ApiModelProperty("关联的订单子单号") + private Long linkItemId; + + @ApiModelProperty("单据类型,1采购订单,2采购入库单,3采购退货订单,4采购退货单,6销售订单,8销售出库单,10库存调拨单,11调拨出库单,12调拨入库单,13其他出库单,14其他入库单,15盘盈盘亏单,16期初库存单,17售后申请单,18销售退货单") + private Integer billType; + + @ApiModelProperty("商品绑定货位") + @TableField(exist = false) + private DepotStorage storage; + + @ApiModelProperty("业务类型,1直接采购入库,2订单采购入库,3直接出库,4采购入库单退货,5实际调拨,6虚拟调拨") + private Integer businessType; + + @ApiModelProperty("是否换货商品,0否,1是") + private Integer isExchange; + + @ApiModelProperty("单价") + private BigDecimal unitPrice; + + @ApiModelProperty("吊牌价") + private BigDecimal commodityDecimal; + + @ApiModelProperty("折扣率") + private BigDecimal discountRate; + + @ApiModelProperty("折后单价") + private BigDecimal discountPrice; + + @ApiModelProperty("总价") + private BigDecimal allPrice; + + @ApiModelProperty("分摊金额") + private BigDecimal allotPrice; + + @ApiModelProperty("备注") + private String remark; + + @ApiModelProperty("仓库ID") + private Long depotId; + + @ApiModelProperty("供应商id") + private Long supplierId; + + @ApiModelProperty("仓库货位ID") + private Long depotStorageId; + + @ApiModelProperty("采购周期") + private Long purchaseCycle; + + @ApiModelProperty("调拨时,对方仓库Id") + private Long anotherDepotId; + + @ApiModelProperty("预计到货日期") + private Date arrivalDate; + + @ApiModelProperty("删除标记,0未删除,1删除") + private Integer isDelete; + + @ApiModelProperty("租户id") + private Long appId; + + @ApiModelProperty("创建时间") + private Date createTime; + + @ApiModelProperty("更新时间") + private Date updateTime; + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/customer/Customer.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/customer/Customer.java new file mode 100644 index 0000000..7822b10 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/customer/Customer.java @@ -0,0 +1,149 @@ +package net.jjjerp.common.entity.customer; + +import java.math.BigDecimal; + +import com.baomidou.mybatisplus.annotation.*; + +import java.util.Date; +import java.io.Serializable; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import java.util.List; + +/** + * 客户记录表 + * + * @author jjjerp + * @since 2024-04-22 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@TableName("jjjerp_customer") +@ApiModel(value = "customer对象") +public class Customer implements Serializable { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("客户id") + @TableId(value = "customer_id", type = IdType.AUTO) + private Integer customerId; + + @ApiModelProperty("平台类型,1其他,2线下门店") + @NotNull(message = "平台类型不能为空") + private Integer platformType; + + @ApiModelProperty("客户昵称") + @NotBlank(message = "客户昵称不能为空") + private String nickName; + + @ApiModelProperty("客户名称") + @NotBlank(message = "客户名称不能为空") + private String realName; + + @ApiModelProperty("客户编码") + private String userCode; + + @ApiModelProperty("国家") + private String country; + + @ApiModelProperty("期初应收款") + private BigDecimal initial; + + @ApiModelProperty("预付金额总额") + private BigDecimal deposit; + + @ApiModelProperty("应收款总额") + private BigDecimal allNeedPay; + + @ApiModelProperty("欠款总额") + private BigDecimal debtCredit; + + @ApiModelProperty("账期") + private Long debtPeriod; + + @ApiModelProperty("省") + private String province; + + @ApiModelProperty("市") + private String city; + + @ApiModelProperty("区") + private String region; + + @ApiModelProperty("省ID") + private Long provinceId; + + @ApiModelProperty("市ID") + private Long cityId; + + @ApiModelProperty("区ID") + private Long regionId; + + @ApiModelProperty("详细地址") + private String address; + + @ApiModelProperty("客户类型,0零售.1批发,2分销") + private Integer userType; + + @ApiModelProperty("指定价格类型,0标准售价.1批发价,2吊牌价 ") + private Integer priceType; + + @ApiModelProperty("固话") + private String fixPhone; + + @ApiModelProperty("手机号") + private String phone; + + @ApiModelProperty("备注") + private String description; + + @ApiModelProperty("图片地址") + private String imageUrl; + + @ApiModelProperty("电子邮箱") + private String email; + + @ApiModelProperty("开票抬头") + private String billHead; + + @ApiModelProperty("税号") + private String taxNum; + + @ApiModelProperty("开户行") + private String bankName; + + @ApiModelProperty("银行账号") + private String accountNumber; + + @ApiModelProperty("开票电话") + private String billPhone; + + @ApiModelProperty("开票地址") + private String billAddress; + + @ApiModelProperty("性别0=女1=男2=未知") + private Integer gender; + + @ApiModelProperty("地址List") + @TableField(exist = false) + private List addressList; + + @ApiModelProperty("是否删除") + private Integer isDelete; + + @ApiModelProperty("应用id") + private Integer appId; + + @ApiModelProperty("创建时间") + private Date createTime; + + @ApiModelProperty("更新时间") + private Date updateTime; + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/customer/CustomerAddress.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/customer/CustomerAddress.java new file mode 100644 index 0000000..2c71a09 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/customer/CustomerAddress.java @@ -0,0 +1,81 @@ +package net.jjjerp.common.entity.customer; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.annotation.IdType; +import java.util.Date; + +import com.baomidou.mybatisplus.annotation.TableId; +import java.io.Serializable; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; + +/** + * 用户收货地址表 + * + * @author jjjerp + * @since 2024-04-22 + */ +@Data +@TableName("jjjerp_customer_address") +@ApiModel(value = "UserAddress对象") +public class CustomerAddress implements Serializable { + private static final long serialVersionUID = 2L; + + @ApiModelProperty("主键id") + @TableId(value = "address_id", type = IdType.AUTO) + private Integer addressId; + + @ApiModelProperty("收货人姓名") + @NotBlank(message = "收货人不能为空") + private String name; + + @ApiModelProperty("手机") + @NotBlank(message = "手机不能为空") + private String phone; + + @ApiModelProperty("固话") + private String fixPhone; + + @ApiModelProperty("省") + private String province; + + @ApiModelProperty("市") + private String city; + + @ApiModelProperty("区") + private String region; + + @ApiModelProperty("邮编") + private String zip; + + @ApiModelProperty("所在省份id") + private Integer provinceId; + + @ApiModelProperty("所在城市id") + private Integer cityId; + + @ApiModelProperty("所在区id") + private Integer regionId; + + @ApiModelProperty("新市辖区(该字段用于记录region表中没有的市辖区)") + private String district; + + @ApiModelProperty("详细地址") + private String detail; + + @ApiModelProperty("用户id") + private Integer customerId; + + @ApiModelProperty("应用id") + private Integer appId; + + @ApiModelProperty("创建时间") + private Date createTime; + + @ApiModelProperty("更新时间") + private Date updateTime; + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/depot/DeliverArea.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/depot/DeliverArea.java new file mode 100644 index 0000000..bf771a4 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/depot/DeliverArea.java @@ -0,0 +1,69 @@ +package net.jjjerp.common.entity.depot; + +import com.baomidou.mybatisplus.annotation.*; + +import java.util.Date; +import java.io.Serializable; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; +import java.io.Serializable; +import java.util.List; + +/** + * 配送区域表 + * + * @author jjjerp + * @since 2024-04-29 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@TableName("jjjerp_deliver_area") +@ApiModel(value = "DeliverArea对象") +public class DeliverArea implements Serializable { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("配送区域id") + @TableId(value = "deliver_area_id", type = IdType.AUTO) + private Integer deliverAreaId; + + @ApiModelProperty("区域名称") + @NotBlank(message = "区域名称不能为空") + private String name; + + @ApiModelProperty("省id字符串") + private String provinceIds; + + @ApiModelProperty("省名称字符串") + private String provinceNames; + + @ApiModelProperty("省id List") + @TableField(exist = false) + @NotEmpty(message = "省id List不能为空") + private List provinceIdList; + + @ApiModelProperty("省名称 List") + @TableField(exist = false) + @NotEmpty(message = "省名称 List不能为空") + private List provinceNameList; + + @ApiModelProperty("是否显示1显示0隐藏") + private Integer status; + + @ApiModelProperty("应用id") + private Integer appId; + + @ApiModelProperty("创建时间") + private Date createTime; + + @ApiModelProperty("更新时间") + private Date updateTime; + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/depot/Depot.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/depot/Depot.java new file mode 100644 index 0000000..6120235 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/depot/Depot.java @@ -0,0 +1,104 @@ +package net.jjjerp.common.entity.depot; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.annotation.IdType; +import java.util.Date; +import com.baomidou.mybatisplus.annotation.Version; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableField; +import java.io.Serializable; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; +import java.io.Serializable; + +/** + * 仓库表 + * + * @author jjjerp + * @since 2024-04-22 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@TableName("jjjerp_depot") +@ApiModel(value = "Depot对象") +public class Depot implements Serializable { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键") + @TableId(value = "depot_id", type = IdType.AUTO) + private Long depotId; + + @ApiModelProperty("仓库名称") + @NotEmpty(message = "仓库名称不能为空") + private String name; + + @ApiModelProperty("仓库编码") + private String code; + + @ApiModelProperty("省") + private String province; + + @ApiModelProperty("市") + private String city; + + @ApiModelProperty("区") + private String region; + + @ApiModelProperty("省ID") + private Integer provinceId; + + @ApiModelProperty("市ID") + private Integer cityId; + + @ApiModelProperty("区ID") + private Integer regionId; + + @ApiModelProperty("仓库地址") + private String address; + + @ApiModelProperty("联系人") + private String contacts; + + @ApiModelProperty("固话") + private String fixPhone; + + @ApiModelProperty("手机") + private String phone; + + @ApiModelProperty("邮编") + private String zip; + + @ApiModelProperty("仓库类型,0正品仓,1次品仓,2门店仓") + @NotNull(message = "仓库类型不能为空") + private Integer type; + + @ApiModelProperty("仓库费用ID") + private Integer costId; + + @ApiModelProperty("备注") + private String remark; + + @ApiModelProperty("启用") + private Integer enabled; + + @ApiModelProperty("删除标记,0未删除,1删除") + @TableField("delete_Flag") + private Integer deleteFlag; + + @ApiModelProperty("应用id") + private Long appId; + + @ApiModelProperty("创建时间") + private Date createTime; + + @ApiModelProperty("修改时间") + private Date updateTime; + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/depot/DepotArea.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/depot/DepotArea.java new file mode 100644 index 0000000..21d5bdc --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/depot/DepotArea.java @@ -0,0 +1,64 @@ +package net.jjjerp.common.entity.depot; + +import com.baomidou.mybatisplus.annotation.*; + +import java.util.Date; +import java.io.Serializable; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import java.io.Serializable; +import java.util.List; + +/** + * 仓库区域表 + * + * @author jjjerp + * @since 2024-04-22 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@TableName("jjjerp_depot_area") +@ApiModel(value = "DepotArea对象") +public class DepotArea implements Serializable { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("仓库区域id") + @TableId(value = "depot_area_id", type = IdType.AUTO) + private Integer depotAreaId; + + @ApiModelProperty("区域名称") + @NotBlank(message = "区域名称不能为空") + private String areaName; + + @ApiModelProperty("区域编码") + @NotBlank(message = "区域编码不能为空") + private String areaCode; + + @ApiModelProperty("仓库id") + @NotNull(message = "仓库id不能为空") + private Long depotId; + + @ApiModelProperty("是否显示1显示0隐藏") + private Integer status; + + @ApiModelProperty("库区List") + @TableField(exist = false) + private List reservoirList; + + @ApiModelProperty("应用id") + private Integer appId; + + @ApiModelProperty("创建时间") + private Date createTime; + + @ApiModelProperty("更新时间") + private Date updateTime; + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/depot/DepotReservoir.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/depot/DepotReservoir.java new file mode 100644 index 0000000..2b2924a --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/depot/DepotReservoir.java @@ -0,0 +1,70 @@ +package net.jjjerp.common.entity.depot; + +import com.baomidou.mybatisplus.annotation.*; + +import java.util.Date; +import java.io.Serializable; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import net.jjjerp.framework.core.validator.groups.Add; +import net.jjjerp.framework.core.validator.groups.Update; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import java.io.Serializable; +import java.util.List; + +/** + * 仓库库区表 + * + * @author jjjerp + * @since 2024-04-22 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@TableName("jjjerp_depot_reservoir") +@ApiModel(value = "DepotReservoir对象") +public class DepotReservoir implements Serializable { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("仓库库区id") + @TableId(value = "depot_reservoir_id", type = IdType.AUTO) + private Integer depotReservoirId; + + @ApiModelProperty("库区名称") + @NotBlank(message = "库区名称不能为空") + private String reservoirName; + + @ApiModelProperty("库区编码") + @NotBlank(message = "库区编码不能为空") + private String reservoirCode; + + @ApiModelProperty("仓库id") + @NotNull(message = "仓库id不能为空", groups = {Update.class}) + private Long depotId; + + @ApiModelProperty("区域id") + @NotNull(message = "区域id不能为空") + private Integer areaId; + + @ApiModelProperty("是否显示1显示0隐藏") + private Integer status; + + @ApiModelProperty("货架List") + @TableField(exist = false) + private List shelfList; + + @ApiModelProperty("应用id") + private Integer appId; + + @ApiModelProperty("创建时间") + private Date createTime; + + @ApiModelProperty("更新时间") + private Date updateTime; + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/depot/DepotShelf.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/depot/DepotShelf.java new file mode 100644 index 0000000..6e75413 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/depot/DepotShelf.java @@ -0,0 +1,69 @@ +package net.jjjerp.common.entity.depot; + +import com.baomidou.mybatisplus.annotation.*; + +import java.util.Date; +import java.io.Serializable; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import net.jjjerp.framework.core.validator.groups.Add; +import net.jjjerp.framework.core.validator.groups.Update; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import java.io.Serializable; + +/** + * 仓库货架表 + * + * @author jjjerp + * @since 2024-04-22 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@TableName("jjjerp_depot_shelf") +@ApiModel(value = "DepotShelf对象") +public class DepotShelf implements Serializable { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("货架id") + @TableId(value = "depot_shelf_id", type = IdType.AUTO) + private Integer depotShelfId; + + @ApiModelProperty("库区名称") + @TableField(exist = false) + private String reservoirName; + + @ApiModelProperty("货架名称") + @NotBlank(message = "货架名称不能为空") + private String shelfName; + + @ApiModelProperty("货架编码") + @NotBlank(message = "货架编码不能为空") + private String shelfCode; + + @ApiModelProperty("仓库id") + @NotNull(message = "仓库id不能为空", groups = {Update.class}) + private Long depotId; + + @ApiModelProperty("库区id") + @NotNull(message = "库区id不能为空") + private Integer reservoirId; + + @ApiModelProperty("是否显示1显示0隐藏") + private Integer status; + + @ApiModelProperty("应用id") + private Integer appId; + + @ApiModelProperty("创建时间") + private Date createTime; + + @ApiModelProperty("更新时间") + private Date updateTime; + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/depot/DepotStorage.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/depot/DepotStorage.java new file mode 100644 index 0000000..3ca400d --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/depot/DepotStorage.java @@ -0,0 +1,77 @@ +package net.jjjerp.common.entity.depot; + +import com.baomidou.mybatisplus.annotation.*; + +import java.util.Date; +import java.io.Serializable; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import java.io.Serializable; +import java.util.List; + +/** + * 仓库货位表 + * + * @author jjjerp + * @since 2024-04-22 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@TableName("jjjerp_depot_storage") +@ApiModel(value = "DepotStorage对象") +public class DepotStorage implements Serializable { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("仓库货位id") + @TableId(value = "depot_storage_id", type = IdType.AUTO) + private Integer depotStorageId; + + @ApiModelProperty("货位编码") + @NotBlank(message = "货位编码不能为空") + private String storageCode; + + @ApiModelProperty("货架id") + private Integer sheifId; + + @ApiModelProperty("库区id") + private Integer reservoirId; + + @ApiModelProperty("仓库id") + private Long depotId; + + @ApiModelProperty("货位类型,1拣货货位,2存储货位,3异常货位") + @NotNull(message = "货位类型不能为空") + private Integer storageType; + + @ApiModelProperty("是否显示1显示0隐藏") + private Integer status; + + @ApiModelProperty("库存List") + @TableField(exist = false) + private List stockList; + + @ApiModelProperty("库存") + @TableField(exist = false) + private DepotStorageStock stock; + + @ApiModelProperty("库存字符串") + @TableField(exist = false) + private String stockStr; + + @ApiModelProperty("应用id") + private Integer appId; + + @ApiModelProperty("创建时间") + private Date createTime; + + @ApiModelProperty("更新时间") + private Date updateTime; + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/depot/DepotStorageStock.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/depot/DepotStorageStock.java new file mode 100644 index 0000000..d76aed2 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/depot/DepotStorageStock.java @@ -0,0 +1,72 @@ +package net.jjjerp.common.entity.depot; + +import com.baomidou.mybatisplus.annotation.*; + +import java.util.Date; +import java.io.Serializable; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * 仓库货位库存表 + * + * @author jjjerp + * @since 2024-04-22 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@TableName("jjjerp_depot_storage_stock") +@ApiModel(value = "DepotStorageStock对象") +public class DepotStorageStock implements Serializable { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("货位库存id") + @TableId(value = "storage_stock_id", type = IdType.AUTO) + private Integer storageStockId; + + @ApiModelProperty("商品规格id") + private Long productExtendId; + + @ApiModelProperty("库存数量") + private Long stockNum; + + @ApiModelProperty("货位id") + private Integer storageId; + + @ApiModelProperty("图片url") + @TableField(exist = false) + private String imageUrl; + + @ApiModelProperty("规格编码") + @TableField(exist = false) + private String productCode; + + @ApiModelProperty("多属性") + @TableField(exist = false) + private String sku; + + @ApiModelProperty("商品名称") + @TableField(exist = false) + private String productName; + + @ApiModelProperty("是否删除,1是,0否") + @TableField(exist = false) + private Integer isDelete; + + @ApiModelProperty("应用id") + private Integer appId; + + @ApiModelProperty("创建时间") + private Date createTime; + + @ApiModelProperty("更新时间") + private Date updateTime; + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/file/ImageBank.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/file/ImageBank.java new file mode 100644 index 0000000..615e83a --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/file/ImageBank.java @@ -0,0 +1,54 @@ +package net.jjjerp.common.entity.file; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.io.Serializable; +import java.util.Date; + +/** + * 系统图库表 + * + * @author jjjerp + * @since 2023-10-31 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@TableName("jjjerp_image_bank") +@ApiModel(value = "ImageBank对象") +public class ImageBank implements Serializable { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("图库id") + @TableId(value = "category_id", type = IdType.AUTO) + private Integer categoryId; + + @ApiModelProperty("图库名称") + private String name; + + @ApiModelProperty("上级图库id") + private Integer parentId; + + @ApiModelProperty("图片路径") + private String image; + + @ApiModelProperty("排序方式(数字越小越靠前)") + private Integer sort; + + @ApiModelProperty("应用id") + private Integer appId; + + @ApiModelProperty("创建时间") + private Date createTime; + + @ApiModelProperty("更新时间") + private Date updateTime; + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/file/UploadFile.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/file/UploadFile.java new file mode 100644 index 0000000..a259c02 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/file/UploadFile.java @@ -0,0 +1,75 @@ +package net.jjjerp.common.entity.file; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.io.Serializable; +import java.util.Date; + +/** + * 文件库记录表 + * + * @author jjjerp + * @since 2022-06-28 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@TableName("jjjerp_upload_file") +@ApiModel(value = "UploadFile对象") +public class UploadFile implements Serializable { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("文件id") + @TableId(value = "file_id", type = IdType.AUTO) + private Integer fileId; + + @ApiModelProperty("存储方式") + private String storage; + + @ApiModelProperty("文件分组id") + private Integer groupId; + + @ApiModelProperty("存储域名") + private String fileUrl; + + @ApiModelProperty("文件路径") + private String fileName; + + @ApiModelProperty("文件大小(字节)") + private Long fileSize; + + @ApiModelProperty("文件类型") + private String fileType; + + @ApiModelProperty("文件真实名") + private String realName; + + @ApiModelProperty("文件扩展名") + private String extension; + + @ApiModelProperty("是否为c端用户上传") + private Integer isUser; + + @ApiModelProperty("是否已回收") + private Integer isRecycle; + + @ApiModelProperty("软删除") + private Integer isDelete; + + @ApiModelProperty("应用id") + private Integer appId; + + @ApiModelProperty("创建时间") + private Date createTime; + + @ApiModelProperty("更新时间") + private Date updateTime; + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/file/UploadGroup.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/file/UploadGroup.java new file mode 100644 index 0000000..06112bf --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/file/UploadGroup.java @@ -0,0 +1,54 @@ +package net.jjjerp.common.entity.file; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.io.Serializable; +import java.util.Date; + +/** + * 文件库分组记录表 + * + * @author jjjerp + * @since 2022-06-28 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@TableName("jjjerp_upload_group") +@ApiModel(value = "UploadGroup对象") +public class UploadGroup implements Serializable { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("分类id") + @TableId(value = "group_id", type = IdType.AUTO) + private Integer groupId; + + @ApiModelProperty("文件类型image图片,video视频") + private String groupType; + + @ApiModelProperty("分类名称") + private String groupName; + + @ApiModelProperty("分类排序(数字越小越靠前)") + private Integer sort; + + @ApiModelProperty("是否删除") + private Integer isDelete; + + @ApiModelProperty("应用id") + private Integer appId; + + @ApiModelProperty("创建时间") + private Date createTime; + + @ApiModelProperty("更新时间") + private Date updateTime; + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/finance/capital/Account.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/finance/capital/Account.java new file mode 100644 index 0000000..7a2caea --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/finance/capital/Account.java @@ -0,0 +1,96 @@ +package net.jjjerp.common.entity.finance.capital; + +import java.math.BigDecimal; + +import com.baomidou.mybatisplus.annotation.*; + +import java.util.Date; +import java.io.Serializable; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import java.io.Serializable; + +/** + * 收支账户表 + * + * @author jjjerp + * @since 2024-05-07 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@TableName("jjjerp_account") +@ApiModel(value = "Account对象") +public class Account implements Serializable { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("账户ID") + @TableId(value = "account_id", type = IdType.AUTO) + private Long accountId; + + @ApiModelProperty("本期收款") + @TableField(exist = false) + private BigDecimal receipt; + + @ApiModelProperty("本期付款") + @TableField(exist = false) + private BigDecimal payment; + + @ApiModelProperty("本期变化金额") + @TableField(exist = false) + private BigDecimal change; + + @ApiModelProperty("期末余额") + @TableField(exist = false) + private BigDecimal balance; + + @ApiModelProperty("账户类型,1现金,2银行,3第三方") + @NotNull(message = "账户类型不能为空") + private Integer accountType; + + @ApiModelProperty("账户账号") + private String accountNumber; + + @ApiModelProperty("账户名称") + @NotBlank(message = "账户名称不能为空") + private String accountName; + + @ApiModelProperty("机构名称") + private String organName; + + @ApiModelProperty("备注") + private String remark; + + @ApiModelProperty("期初余额") + @NotNull(message = "期初余额不能为空") + private BigDecimal openingMoney; + + @ApiModelProperty("当前余额") + private BigDecimal nowMoney; + + @ApiModelProperty("是否默认,0不是,1是") + @TableField(exist = false) + private Integer isDefault; + + @ApiModelProperty("删除标记,0未删除,1删除") + private Integer deleteFlag; + + @ApiModelProperty("启用 0-禁用 1-启用") + private Integer enabled; + + @ApiModelProperty("租户id") + private Long appId; + + @ApiModelProperty("创建时间") + private Date createTime; + + @ApiModelProperty("更新时间") + private Date updateTime; + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/finance/capital/AccountMoneyLog.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/finance/capital/AccountMoneyLog.java new file mode 100644 index 0000000..abb9b2a --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/finance/capital/AccountMoneyLog.java @@ -0,0 +1,105 @@ +package net.jjjerp.common.entity.finance.capital; + +import java.math.BigDecimal; + +import com.baomidou.mybatisplus.annotation.*; + +import java.util.Date; +import java.io.Serializable; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import net.jjjerp.common.entity.bill.BillHead; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * 账户资金变动明细表 + * + * @author jjjerp + * @since 2024-05-09 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@TableName("jjjerp_account_money_log") +@ApiModel(value = "AccountMoneyLog对象") +public class AccountMoneyLog implements Serializable { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId(value = "log_id", type = IdType.AUTO) + private Integer logId; + + @ApiModelProperty("店铺名称") + @TableField(exist = false) + private String storeName; + + @ApiModelProperty("单据类型名称") + @TableField(exist = false) + private String typeName; + + @ApiModelProperty("收支方向,1支出,2收入") + @TableField(exist = false) + private String directionTypeName; + + @ApiModelProperty("交易往来单位") + @TableField(exist = false) + private String tradingUnitName; + + @ApiModelProperty("账户名称") + @TableField(exist = false) + private String accountName; + + @ApiModelProperty("账户id") + private Long accountId; + + @ApiModelProperty("单据id") + private Long billId; + + @ApiModelProperty("店铺id") + private Long storeId; + + @ApiModelProperty("单据类型") + private Integer billType; + + @ApiModelProperty("收支方向,1支出,2收入") + private Integer directionType; + + @ApiModelProperty("交易往来单位,0其他,1客户,2供应商,3快递") + private Integer tradingUnit; + + @ApiModelProperty("客户id") + private Integer customerId; + + @ApiModelProperty("物流公司id") + private Integer expressId; + + @ApiModelProperty("供应商ID") + private Long supplierId; + + @ApiModelProperty("变动金额") + private BigDecimal money; + + @ApiModelProperty("账户余额") + private BigDecimal balanceMoney; + + @ApiModelProperty("摘要/说明") + private String description; + + @ApiModelProperty("凭证附件内容") + private String fileUrls; + + @ApiModelProperty("业务时间") + private Date billTime; + + @ApiModelProperty("小程序商城id") + private Integer appId; + + @ApiModelProperty("创建时间") + private Date createTime; + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/page/CenterMenu.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/page/CenterMenu.java new file mode 100644 index 0000000..9edd290 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/page/CenterMenu.java @@ -0,0 +1,63 @@ +package net.jjjerp.common.entity.page; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.io.Serializable; +import java.util.Date; + +/** + * 个人中心菜单 + * + * @author jjjerp + * @since 2022-07-29 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@TableName("jjjerp_center_menu") +@ApiModel(value = "CenterMenu对象") +public class CenterMenu implements Serializable { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键ID") + @TableId(value = "menu_id", type = IdType.AUTO) + private Integer menuId; + + @ApiModelProperty("菜单名称") + private String name; + + @ApiModelProperty("图片url") + private String icon; + + @ApiModelProperty("排序(越小越靠前)") + private Integer sort; + + @ApiModelProperty("跳转链接") + private String path; + + @ApiModelProperty("链接名称") + private String pathName; + + @ApiModelProperty("1显示0隐藏") + private Integer isShow; + + @ApiModelProperty("系统菜单标记") + private String sysTag; + + @ApiModelProperty("程序id") + private Integer appId; + + @ApiModelProperty("创建时间") + private Date createTime; + + @ApiModelProperty("更新时间") + private Date updateTime; + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/page/Page.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/page/Page.java new file mode 100644 index 0000000..42b1949 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/page/Page.java @@ -0,0 +1,57 @@ +package net.jjjerp.common.entity.page; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.io.Serializable; +import java.util.Date; + +/** + * diy页面表 + * + * @author jjjerp + * @since 2022-07-28 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@TableName("jjjerp_page") +@ApiModel(value = "Page对象") +public class Page implements Serializable { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("页面id") + @TableId(value = "page_id", type = IdType.AUTO) + private Integer pageId; + + @ApiModelProperty("页面类型(10首页 20自定义页 30个人中心)") + private Integer pageType; + + @ApiModelProperty("页面名称") + private String pageName; + + @ApiModelProperty("页面数据") + private String pageData; + + @ApiModelProperty("是否设置首页1是") + private Boolean isDefault; + + @ApiModelProperty("appid") + private Integer appId; + + @ApiModelProperty("软删除") + private Integer isDelete; + + @ApiModelProperty("创建时间") + private Date createTime; + + @ApiModelProperty("更新时间") + private Date updateTime; + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/page/PageCategory.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/page/PageCategory.java new file mode 100644 index 0000000..94d9df4 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/page/PageCategory.java @@ -0,0 +1,45 @@ +package net.jjjerp.common.entity.page; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.io.Serializable; +import java.util.Date; + +/** + * app分类页模板 + * + * @author jjjerp + * @since 2022-07-28 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@TableName("jjjerp_page_category") +@ApiModel(value = "PageCategory对象") +public class PageCategory implements Serializable { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("appid") + @TableId(value = "app_id", type = IdType.AUTO) + private Integer appId; + + @ApiModelProperty("分类页样式(10一级分类[大图] 11一级分类[小图] 20二级分类)") + private Integer categoryStyle; + + @ApiModelProperty("分享标题") + private String shareTitle; + + @ApiModelProperty("创建时间") + private Date createTime; + + @ApiModelProperty("更新时间") + private Date updateTime; + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/product/Product.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/product/Product.java new file mode 100644 index 0000000..7c1d53b --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/product/Product.java @@ -0,0 +1,103 @@ +package net.jjjerp.common.entity.product; + +import java.math.BigDecimal; + +import com.baomidou.mybatisplus.annotation.*; + +import java.util.Date; +import java.io.Serializable; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import net.jjjerp.framework.core.validator.groups.Update; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import java.io.Serializable; +import java.util.List; + +/** + * 产品表 + * + * @author jjjerp + * @since 2024-04-12 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@TableName("jjjerp_product") +@ApiModel(value = "Product对象") +public class Product implements Serializable { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键") + @TableId(value = "product_id", type = IdType.AUTO) + private Long productId; + + @ApiModelProperty("产品类型id") + @NotNull(message = "商品分类不能为空") + private Integer categoryId; + + @ApiModelProperty("名称") + @NotBlank(message = "商品名称不能为空") + private String name; + + @ApiModelProperty("品牌ID") + private Integer mfrs; + + @ApiModelProperty("备注") + private String remark; + + @ApiModelProperty("计量单位Id") + @NotNull(message = "计量单位不能为空") + private Long unitId; + + @ApiModelProperty("保质期天数") + private Integer expiryNum; + + @ApiModelProperty("基础重量(kg)") + private BigDecimal weight; + + @ApiModelProperty("基础体积(立方米)") + private BigDecimal volume; + + @ApiModelProperty("长(米)") + private BigDecimal grow; + + @ApiModelProperty("宽(米)") + private BigDecimal width; + + @ApiModelProperty("高(米)") + private BigDecimal height; + + @ApiModelProperty("启用 0-禁用 1-启用") + private Integer enabled; + + @ApiModelProperty("商品条码") + private String barCode; + + @ApiModelProperty("商品编码") + @NotBlank(message = "商品编码不能为空", groups = {Update.class}) + private String productCode; + + @ApiModelProperty("货号") + private String accountNum; + + @ApiModelProperty("仓位货架") + private String position; + + @ApiModelProperty("应用id") + private Long appId; + + @ApiModelProperty("删除标记,0未删除,1删除") + private Integer deleteFlag; + + @ApiModelProperty("创建时间") + private Date createTime; + + @ApiModelProperty("更新时间") + private Date updateTime; + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/product/ProductAttribute.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/product/ProductAttribute.java new file mode 100644 index 0000000..c448bc0 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/product/ProductAttribute.java @@ -0,0 +1,54 @@ +package net.jjjerp.common.entity.product; + +import com.baomidou.mybatisplus.annotation.*; + +import java.util.Date; +import java.io.Serializable; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import java.io.Serializable; +import java.util.List; + +/** + * 产品属性表 + * + * @author jjjerp + * @since 2024-04-12 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@TableName("jjjerp_product_attribute") +@ApiModel(value = "ProductAttribute对象") +public class ProductAttribute implements Serializable { + private static final long serialVersionUID = 1L; + + @TableId(value = "id", type = IdType.AUTO) + private Long id; + + @ApiModelProperty("属性名") + private String attributeName; + + @ApiModelProperty("属性值") + private String attributeValue; + + @ApiModelProperty("属性值List") + @TableField(exist = false) + private List valueList; + + @ApiModelProperty("应用id") + private Long appId; + + @ApiModelProperty("删除标记,0未删除,1删除") + private Integer deleteFlag; + + @ApiModelProperty("创建时间") + private Date createTime; + + @ApiModelProperty("更新时间") + private Date updateTime; + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/product/ProductCategory.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/product/ProductCategory.java new file mode 100644 index 0000000..f7c0cf2 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/product/ProductCategory.java @@ -0,0 +1,52 @@ +package net.jjjerp.common.entity.product; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.annotation.IdType; +import java.util.Date; +import com.baomidou.mybatisplus.annotation.Version; +import com.baomidou.mybatisplus.annotation.TableId; +import java.io.Serializable; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import java.io.Serializable; + +/** + * 产品类型表 + * + * @author jjjerp + * @since 2024-04-12 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@TableName("jjjerp_product_category") +@ApiModel(value = "ProductCategory对象") +public class ProductCategory implements Serializable { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("产品分类id") + @TableId(value = "category_id", type = IdType.AUTO) + private Integer categoryId; + + @ApiModelProperty("分类名称") + private String name; + + @ApiModelProperty("上级分类id") + private Integer parentId; + + @ApiModelProperty("是否显示1显示0隐藏") + private Integer status; + + @ApiModelProperty("应用id") + private Integer appId; + + @ApiModelProperty("创建时间") + private Date createTime; + + @ApiModelProperty("更新时间") + private Date updateTime; + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/product/ProductDeputyUnit.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/product/ProductDeputyUnit.java new file mode 100644 index 0000000..9525c27 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/product/ProductDeputyUnit.java @@ -0,0 +1,62 @@ +package net.jjjerp.common.entity.product; + +import java.math.BigDecimal; + +import com.baomidou.mybatisplus.annotation.*; + +import java.util.Date; +import java.io.Serializable; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import java.io.Serializable; + +/** + * 商品副单位表 + * + * @author jjjerp + * @since 2024-06-27 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@TableName("jjjerp_product_deputy_unit") +@ApiModel(value = "ProductDeputyUnit对象") +public class ProductDeputyUnit implements Serializable { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("副单位ID") + @TableId(value = "deputy_unit_id", type = IdType.AUTO) + private Long deputyUnitId; + + @ApiModelProperty("名称") + @TableField(exist = false) + private String name; + + @ApiModelProperty("副单位名称") + private String deputyUnitName; + + @ApiModelProperty("基础单位ID") + private Long basicUnitId; + + @ApiModelProperty("比例") + private BigDecimal ratio; + + @ApiModelProperty("副单位层级") + private Integer deputyNum; + + @ApiModelProperty("租户id") + private Long appId; + + @ApiModelProperty("删除标记,0未删除,1删除") + private Boolean isDelete; + + @ApiModelProperty("创建时间") + private Date createTime; + + @ApiModelProperty("更新时间") + private Date updateTime; + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/product/ProductExtend.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/product/ProductExtend.java new file mode 100644 index 0000000..9ea6197 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/product/ProductExtend.java @@ -0,0 +1,127 @@ +package net.jjjerp.common.entity.product; + +import java.math.BigDecimal; + +import com.alibaba.fastjson.JSONArray; +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.annotation.IdType; +import java.util.Date; +import com.baomidou.mybatisplus.annotation.Version; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableField; +import java.io.Serializable; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import net.jjjerp.common.entity.depot.DepotStorage; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * 产品价格扩展 + * + * @author jjjerp + * @since 2024-04-12 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@TableName("jjjerp_product_extend") +@ApiModel(value = "ProductExtend对象") +public class ProductExtend implements Serializable { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键") + @TableId(value = "id", type = IdType.AUTO) + private Long id; + + @ApiModelProperty("商品id") + private Long productId; + + @ApiModelProperty("图片url") + private String imageUrl; + + @ApiModelProperty("规格条码") + private String barCode; + + @ApiModelProperty("规格编码") + @NotBlank(message = "规格编码不能为空") + private String productCode; + + @ApiModelProperty("多属性") + private String sku; + + @ApiModelProperty("进价") + private BigDecimal purchaseDecimal; + + @ApiModelProperty("吊牌价") + private BigDecimal commodityDecimal; + + @ApiModelProperty("标准售价") + private BigDecimal wholesaleDecimal; + + @ApiModelProperty("批发价") + private BigDecimal lowDecimal; + + @ApiModelProperty("是否为默认单位,1是,0否") + private Integer defaultFlag; + + @ApiModelProperty("实际总库存") + private Long totalStock; + + @ApiModelProperty("锁定库存,实物数量中已经被销售订单、库存调拨单锁定的数量") + private Long freezeStock; + + @ApiModelProperty("当前可用库存(实际库存-锁定库存)") + private Long stockNum; + + @ApiModelProperty("期初库存") + private Long openningStock; + + @ApiModelProperty("成本价,初始默认为0") + private BigDecimal costPrice; + + @ApiModelProperty("是否可以修改期初成本价,0否,1是") + private Integer initialStatus; + + @ApiModelProperty("删除标记,0未删除,1删除") + @TableField("delete_Flag") + private Integer deleteFlag; + + @ApiModelProperty("名称") + @TableField(exist = false) + private String name; + + @ApiModelProperty("分类名称") + @TableField(exist = false) + private String categoryName; + + @ApiModelProperty("货号") + @TableField(exist = false) + private String accountNum; + + @ApiModelProperty("单位") + @TableField(exist = false) + private ProductUnit productUnit; + + @ApiModelProperty("单位List") + @TableField(exist = false) + private JSONArray unitList; + + @ApiModelProperty("货位") + @TableField(exist = false) + private DepotStorage storage; + + @ApiModelProperty("应用id") + private Long appId; + + @ApiModelProperty("创建时间") + private Date createTime; + + @ApiModelProperty("更新时间") + private Date updateTime; + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/product/ProductImage.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/product/ProductImage.java new file mode 100644 index 0000000..14d2a56 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/product/ProductImage.java @@ -0,0 +1,50 @@ +package net.jjjerp.common.entity.product; + +import com.baomidou.mybatisplus.annotation.*; + +import java.util.Date; +import java.io.Serializable; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import java.io.Serializable; + +/** + * 商品图片记录表 + * + * @author jjjerp + * @since 2024-04-16 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@TableName("jjjerp_product_image") +@ApiModel(value = "ProductImage对象") +public class ProductImage implements Serializable { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + + @ApiModelProperty("商品id") + private Long productId; + + @ApiModelProperty("图片id(关联文件记录表)") + private Integer imageId; + + @ApiModelProperty("商品图片主图") + private String filePath; + + @ApiModelProperty("图片类型0商品主图,1详情图") + private Integer imageType; + + @ApiModelProperty("应用id") + private Integer appId; + + @ApiModelProperty("创建时间") + private Date createTime; + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/product/ProductMfrs.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/product/ProductMfrs.java new file mode 100644 index 0000000..5ddd7d0 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/product/ProductMfrs.java @@ -0,0 +1,52 @@ +package net.jjjerp.common.entity.product; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.annotation.IdType; +import java.util.Date; +import com.baomidou.mybatisplus.annotation.Version; +import com.baomidou.mybatisplus.annotation.TableId; +import java.io.Serializable; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * 产品品牌表 + * + * @author jjjerp + * @since 2024-04-15 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@TableName("jjjerp_product_mfrs") +@ApiModel(value = "ProductMfrs对象") +public class ProductMfrs implements Serializable { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("品牌id") + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + + @ApiModelProperty("品牌名称") + @NotBlank(message = "品牌名称不能为空") + private String name; + + @ApiModelProperty("是否显示1显示0隐藏") + private Integer status; + + @ApiModelProperty("应用id") + private Integer appId; + + @ApiModelProperty("创建时间") + private Date createTime; + + @ApiModelProperty("更新时间") + private Date updateTime; + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/product/ProductUnit.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/product/ProductUnit.java new file mode 100644 index 0000000..6efca4b --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/product/ProductUnit.java @@ -0,0 +1,71 @@ +package net.jjjerp.common.entity.product; + +import java.math.BigDecimal; + +import com.baomidou.mybatisplus.annotation.*; + +import java.util.Date; +import java.io.Serializable; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import net.jjjerp.framework.core.validator.groups.Update; + +import javax.validation.constraints.DecimalMin; +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import java.io.Serializable; +import java.util.List; + +/** + * 多单位表 + * + * @author jjjerp + * @since 2024-04-12 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@TableName("jjjerp_product_unit") +@ApiModel(value = "ProductUnit对象") +public class ProductUnit implements Serializable { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键") + @TableId(value = "basic_unit_id", type = IdType.AUTO) + @NotNull(message = "basicUnitId不能为空", groups = {Update.class}) + private Long basicUnitId; + + @ApiModelProperty("副单位List") + @TableField(exist = false) + private List deputyList; + + @ApiModelProperty("删除副单位IDList") + @TableField(exist = false) + private List deleteList; + + @ApiModelProperty("名称,支持多单位") + private String name; + + @ApiModelProperty("基础单位") + @NotBlank(message = "基础单位不能为空") + private String basicUnit; + + @ApiModelProperty("是否启用,0停用,1启用") + private Integer enabled; + + @ApiModelProperty("应用id") + private Long appId; + + @ApiModelProperty("删除标记,0未删除,1删除") + private Integer deleteFlag; + + @ApiModelProperty("创建时间") + private Date createTime; + + @ApiModelProperty("更新时间") + private Date updateTime; + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/settings/Delivery.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/settings/Delivery.java new file mode 100644 index 0000000..fa885b3 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/settings/Delivery.java @@ -0,0 +1,51 @@ +package net.jjjerp.common.entity.settings; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.io.Serializable; +import java.util.Date; + +/** + * 配送模板主表 + * + * @author jjjerp + * @since 2022-06-29 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@TableName("jjjerp_delivery") +@ApiModel(value = "Delivery对象") +public class Delivery implements Serializable { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("模板id") + @TableId(value = "delivery_id", type = IdType.AUTO) + private Integer deliveryId; + + @ApiModelProperty("模板名称") + private String name; + + @ApiModelProperty("计费方式(10按件数 20按重量)") + private Integer method; + + @ApiModelProperty("小程序d") + private Integer appId; + + @ApiModelProperty("排序方式(数字越小越靠前)") + private Integer sort; + + @ApiModelProperty("创建时间") + private Date createTime; + + @ApiModelProperty("更新时间") + private Date updateTime; + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/settings/DeliveryRule.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/settings/DeliveryRule.java new file mode 100644 index 0000000..879c38a --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/settings/DeliveryRule.java @@ -0,0 +1,58 @@ +package net.jjjerp.common.entity.settings; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; + +/** + * 配送模板区域及运费表 + * + * @author jjjerp + * @since 2022-06-29 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@TableName("jjjerp_delivery_rule") +@ApiModel(value = "DeliveryRule对象") +public class DeliveryRule implements Serializable { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("规则id") + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + + @ApiModelProperty("配送模板id") + private Integer deliveryId; + + @ApiModelProperty("可配送区域(城市id集)") + private String region; + + @ApiModelProperty("首件(个)/首重(Kg)") + private Double first; + + @ApiModelProperty("运费(元)") + private BigDecimal firstFee; + + @ApiModelProperty("续件/续重") + private Double additional; + + @ApiModelProperty("续费(元)") + private BigDecimal additionalFee; + + @ApiModelProperty("小程序id") + private Integer appId; + + @ApiModelProperty("创建时间") + private Date createTime; + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/settings/DeliveryTemplate.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/settings/DeliveryTemplate.java new file mode 100644 index 0000000..f48ba31 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/settings/DeliveryTemplate.java @@ -0,0 +1,51 @@ +package net.jjjerp.common.entity.settings; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.io.Serializable; +import java.util.Date; + +/** + * 电子面单模板主表 + * + * @author jjjerp + * @since 2023-12-02 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@TableName("jjjerp_delivery_template") +@ApiModel(value = "DeliveryTemplate对象") +public class DeliveryTemplate implements Serializable { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("电子面单模板id") + @TableId(value = "template_id", type = IdType.AUTO) + private Integer templateId; + + @ApiModelProperty("电子面单模板编码") + private String templateNum; + + @ApiModelProperty("电子面单模板名称") + private String templateName; + + @ApiModelProperty("排序方式(数字越小越靠前)") + private Integer sort; + + @ApiModelProperty("小程序d") + private Integer appId; + + @ApiModelProperty("创建时间") + private Date createTime; + + @ApiModelProperty("更新时间") + private Date updateTime; + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/settings/Express.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/settings/Express.java new file mode 100644 index 0000000..39e3ccf --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/settings/Express.java @@ -0,0 +1,54 @@ +package net.jjjerp.common.entity.settings; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.io.Serializable; +import java.util.Date; + +/** + * 物流公司记录表 + * + * @author jjjerp + * @since 2022-07-19 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@TableName("jjjerp_express") +@ApiModel(value = "Express对象") +public class Express implements Serializable { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("物流公司id") + @TableId(value = "express_id", type = IdType.AUTO) + private Integer expressId; + + @ApiModelProperty("物流公司名称") + private String expressName; + + @ApiModelProperty("物流公司代码 (快递100)") + private String expressCode; + + @ApiModelProperty("微信小程序物流公司编码") + private String wxCode; + + @ApiModelProperty("排序 (数字越小越靠前)") + private Integer sort; + + @ApiModelProperty("小程序id") + private Integer appId; + + @ApiModelProperty("创建时间") + private Date createTime; + + @ApiModelProperty("更新时间") + private Date updateTime; + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/settings/LabelSetting.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/settings/LabelSetting.java new file mode 100644 index 0000000..dd5563c --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/settings/LabelSetting.java @@ -0,0 +1,72 @@ +package net.jjjerp.common.entity.settings; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.io.Serializable; +import java.util.Date; + +/** + * 电子面单设置主表 + * + * @author jjjerp + * @since 2023-12-05 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@TableName("jjjerp_label_setting") +@ApiModel(value = "LabelSetting对象") +public class LabelSetting implements Serializable { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("电子面单设置id") + @TableId(value = "label_setting_id", type = IdType.AUTO) + private Integer labelSettingId; + + @ApiModelProperty("电子面单设置名称") + private String settingName; + + @ApiModelProperty("物流公司id") + private Integer expressId; + + @ApiModelProperty("电子面单客户账户或月结账号,需贵司向当地快递公司网点申请") + private String partnerId; + + @ApiModelProperty("电子面单密码") + private String partnerKey; + + @ApiModelProperty("电子面单密钥") + private String partnerSecret; + + @ApiModelProperty("电子面单客户账户名称") + private String partnerName; + + @ApiModelProperty("收件网点名称") + private String net; + + @ApiModelProperty("电子面单承载编号") + private String code; + + @ApiModelProperty("电子面单承载快递员名") + private String checkMan; + + @ApiModelProperty("排序方式(数字越小越靠前)") + private Integer sort; + + @ApiModelProperty("小程序d") + private Integer appId; + + @ApiModelProperty("创建时间") + private Date createTime; + + @ApiModelProperty("更新时间") + private Date updateTime; + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/settings/Message.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/settings/Message.java new file mode 100644 index 0000000..a403383 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/settings/Message.java @@ -0,0 +1,63 @@ +package net.jjjerp.common.entity.settings; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import net.jjjerp.framework.core.validator.groups.Update; + +import javax.validation.constraints.NotNull; +import java.io.Serializable; +import java.util.Date; + +/** + * 应用消息表 + * + * @author jjjerp + * @since 2022-06-24 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@TableName("jjjerp_message") +@ApiModel(value = "Message对象") +public class Message implements Serializable { + private static final long serialVersionUID = 1L; + + @NotNull(message = "id不能为空", groups = {Update.class}) + @ApiModelProperty("消息id") + @TableId(value = "message_id", type = IdType.AUTO) + private Integer messageId; + + @ApiModelProperty("消息名称") + private String messageName; + + @ApiModelProperty("消息英文名") + private String messageEname; + + @ApiModelProperty("通知对象,10会员20,商家") + private Integer messageTo; + + @ApiModelProperty("消息类别,10订单20分销") + private Integer messageType; + + @ApiModelProperty("描述") + private String remark; + + @ApiModelProperty("消息排序") + private Integer sort; + + @ApiModelProperty("0,否1,是") + private Boolean isDelete; + + @ApiModelProperty("创建时间") + private Date createTime; + + @ApiModelProperty("更新时间") + private Date updateTime; + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/settings/MessageField.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/settings/MessageField.java new file mode 100644 index 0000000..00f8e9d --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/settings/MessageField.java @@ -0,0 +1,63 @@ +package net.jjjerp.common.entity.settings; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import net.jjjerp.framework.core.validator.groups.Update; + +import javax.validation.constraints.NotNull; +import java.io.Serializable; +import java.util.Date; + +/** + * 应用消息字段表 + * + * @author jjjerp + * @since 2022-06-24 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@TableName("jjjerp_message_field") +@ApiModel(value = "MessageField对象") +public class MessageField implements Serializable { + private static final long serialVersionUID = 1L; + + @NotNull(message = "id不能为空", groups = {Update.class}) + @ApiModelProperty("字段id") + @TableId(value = "message_field_id", type = IdType.AUTO) + private Integer messageFieldId; + + @ApiModelProperty("消息id") + private Integer messageId; + + @ApiModelProperty("字段名称") + private String fieldName; + + @ApiModelProperty("字段英文名") + private String fieldEname; + + @ApiModelProperty("字段默认") + private String filedValue; + + @ApiModelProperty("是否变量.0,否,1是") + private Boolean isVar; + + @ApiModelProperty("字段排序") + private Integer sort; + + @ApiModelProperty("是否删除") + private Boolean isDelete; + + @ApiModelProperty("创建时间") + private Date createTime; + + @ApiModelProperty("更新时间") + private Date updateTime; + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/settings/MessageSettings.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/settings/MessageSettings.java new file mode 100644 index 0000000..46a085d --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/settings/MessageSettings.java @@ -0,0 +1,66 @@ +package net.jjjerp.common.entity.settings; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import net.jjjerp.framework.core.validator.groups.Update; + +import javax.validation.constraints.NotNull; +import java.io.Serializable; +import java.util.Date; + +/** + * 应用消息设置表 + * + * @author jjjerp + * @since 2022-06-24 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@TableName("jjjerp_message_settings") +@ApiModel(value = "MessageSettings对象") +public class MessageSettings implements Serializable { + private static final long serialVersionUID = 1L; + + @NotNull(message = "id不能为空", groups = {Update.class}) + @ApiModelProperty("设置id") + @TableId(value = "message_settings_id", type = IdType.AUTO) + private Integer messageSettingsId; + + @ApiModelProperty("应用id") + private Integer appId; + + @ApiModelProperty("消息id") + private Integer messageId; + + @ApiModelProperty("0,未开启,1开启") + private Integer smsStatus; + + @ApiModelProperty("短信模板(json)") + private String smsTemplate; + + @ApiModelProperty("0,未开启,1开启") + private Integer mpStatus; + + @ApiModelProperty("微信公众号模板(json)") + private String mpTemplate; + + @ApiModelProperty("0,未开启,1开启") + private Integer wxStatus; + + @ApiModelProperty("微信小程序模板(json)") + private String wxTemplate; + + @ApiModelProperty("创建时间") + private Date createTime; + + @ApiModelProperty("更新时间") + private Date updateTime; + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/settings/Printer.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/settings/Printer.java new file mode 100644 index 0000000..fd54486 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/settings/Printer.java @@ -0,0 +1,62 @@ +package net.jjjerp.common.entity.settings; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.io.Serializable; +import java.util.Date; + +/** + * 小票打印机记录表 + * + * @author jjjerp + * @since 2022-07-20 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@TableName("jjjerp_printer") +@ApiModel(value = "Printer对象") +public class Printer implements Serializable { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("打印机id") + @TableId(value = "printer_id", type = IdType.AUTO) + private Integer printerId; + + @ApiModelProperty("打印机名称") + private String printerName; + + @ApiModelProperty("打印机类型") + private String printerType; + + @ApiModelProperty("打印机配置") + private String printerConfig; + + @ApiModelProperty("打印联数(次数)") + private Integer printTimes; + + @ApiModelProperty("排序 (数字越小越靠前)") + private Integer sort; + + @ApiModelProperty("是否删除0=显示1=隐藏") + @TableLogic + private Integer isDelete; + + @ApiModelProperty("小程序id") + private Integer appId; + + @ApiModelProperty("创建时间") + private Date createTime; + + @ApiModelProperty("更新时间") + private Date updateTime; + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/settings/Region.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/settings/Region.java new file mode 100644 index 0000000..f6ef331 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/settings/Region.java @@ -0,0 +1,74 @@ +package net.jjjerp.common.entity.settings; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import net.jjjerp.framework.core.validator.groups.Update; + +import javax.validation.constraints.NotNull; +import java.io.Serializable; + +/** + * + * + * @author jjjerp + * @since 2022-06-24 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@TableName("jjjerp_region") +@ApiModel(value = "Region对象") +public class Region implements Serializable { + private static final long serialVersionUID = 1L; + + @NotNull(message = "id不能为空", groups = {Update.class}) + @ApiModelProperty("ID") + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + + @ApiModelProperty("父id") + private Integer pid; + + @ApiModelProperty("简称") + private String shortname; + + @ApiModelProperty("名称") + private String name; + + @ApiModelProperty("全称") + private String mergerName; + + @ApiModelProperty("层级 1 2 3 省市区县") + private Integer level; + + @ApiModelProperty("拼音") + private String pinyin; + + @ApiModelProperty("长途区号") + private String code; + + @ApiModelProperty("邮编") + private String zipCode; + + @ApiModelProperty("首字母") + private String first; + + @ApiModelProperty("经度") + private String lng; + + @ApiModelProperty("纬度") + private String lat; + + @ApiModelProperty("排序") + private Integer sort; + + @ApiModelProperty("是否删除0否1是") + private Boolean isDelete; + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/settings/ReturnAddress.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/settings/ReturnAddress.java new file mode 100644 index 0000000..00f930b --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/settings/ReturnAddress.java @@ -0,0 +1,59 @@ +package net.jjjerp.common.entity.settings; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.io.Serializable; +import java.util.Date; + +/** + * 退货地址记录表 + * + * @author jjjerp + * @since 2022-07-20 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@TableName("jjjerp_return_address") +@ApiModel(value = "ReturnAddress对象") +public class ReturnAddress implements Serializable { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("退货地址id") + @TableId(value = "address_id", type = IdType.AUTO) + private Integer addressId; + + @ApiModelProperty("收货人姓名") + private String name; + + @ApiModelProperty("联系电话") + private String phone; + + @ApiModelProperty("详细地址") + private String detail; + + @ApiModelProperty("排序 (数字越小越靠前)") + private Integer sort; + + @ApiModelProperty("是否删除0=显示1=隐藏") + @TableLogic + private Integer isDelete; + + @ApiModelProperty("小程序id") + private Integer appId; + + @ApiModelProperty("创建时间") + private Date createTime; + + @ApiModelProperty("更新时间") + private Date updateTime; + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/settings/Setting.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/settings/Setting.java new file mode 100644 index 0000000..bf6b75c --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/settings/Setting.java @@ -0,0 +1,48 @@ +package net.jjjerp.common.entity.settings; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * 商城设置记录表 + * + * @author jjjerp + * @since 2022-06-24 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@TableName("jjjerp_setting") +@ApiModel(value = "Setting对象") +public class Setting implements Serializable { + private static final long serialVersionUID = 1L; + + @NotBlank(message = "设置项标示不能为空") + @ApiModelProperty("设置项标示") + @TableId(value = "set_key", type = IdType.INPUT) + private String setKey; + + @NotBlank(message = "设置项描述不能为空") + @ApiModelProperty("设置项描述") + private String description; + + @NotBlank(message = "设置内容(json格式)不能为空") + @ApiModelProperty("设置内容(json格式)") + private String setValue; + + @ApiModelProperty("小程序id") + private Integer appId; + + @ApiModelProperty("更新时间") + private Integer updateTime; + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/shop/AdminAccess.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/shop/AdminAccess.java new file mode 100644 index 0000000..9df903f --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/shop/AdminAccess.java @@ -0,0 +1,82 @@ +package net.jjjerp.common.entity.shop; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import java.io.Serializable; +import java.util.Date; + +/** + * 商家用户权限表 + * + * @author jjjerp + * @since 2022-06-22 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@TableName("jjjerp_admin_access") +@ApiModel(value = "AdminAccess对象") +public class AdminAccess implements Serializable { + private static final long serialVersionUID = 1L; + + @NotNull(message = "主键id不能为空") + @ApiModelProperty("主键id") + @TableId(value = "access_id", type = IdType.INPUT) + private Integer accessId; + + @NotBlank(message = "权限名称不能为空") + @ApiModelProperty("权限名称") + private String name; + + @ApiModelProperty("路由地址") + private String path; + + @ApiModelProperty("父级id") + private Integer parentId; + + @ApiModelProperty("排序(数字越小越靠前)") + private Integer sort; + + @ApiModelProperty("菜单图标") + private String icon; + + @ApiModelProperty("重定向名称") + private String redirectName; + + @ApiModelProperty("是否是路由 0=不是1=是") + private Integer isRoute; + + @ApiModelProperty("是否是菜单 0不是 1是") + private Integer isMenu; + + @ApiModelProperty("别名(废弃)") + private String alias; + + @ApiModelProperty("是否显示1=显示0=不显示") + private Integer isShow; + + @ApiModelProperty("插件分类id") + private Integer plusCategoryId; + + @ApiModelProperty("描述") + private String remark; + + @ApiModelProperty("app_id") + private Integer appId; + + @ApiModelProperty("创建时间") + private Date createTime; + + @ApiModelProperty("更新时间") + private Date updateTime; + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/shop/AdminLoginLog.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/shop/AdminLoginLog.java new file mode 100644 index 0000000..06c72ea --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/shop/AdminLoginLog.java @@ -0,0 +1,48 @@ +package net.jjjerp.common.entity.shop; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.io.Serializable; +import java.util.Date; + +/** + * 管理员登录记录表 + * + * @author jjjerp + * @since 2022-08-15 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@TableName("jjjerp_admin_login_log") +@ApiModel(value = "AdminLoginLog对象") +public class AdminLoginLog implements Serializable { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId(value = "login_log_id", type = IdType.AUTO) + private Integer loginLogId; + + @ApiModelProperty("用户名") + private String username; + + @ApiModelProperty("登录ip") + private String ip; + + @ApiModelProperty("登录结果") + private String result; + + @ApiModelProperty("小程序id") + private Integer appId; + + @ApiModelProperty("创建时间") + private Date createTime; + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/shop/AdminOptLog.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/shop/AdminOptLog.java new file mode 100644 index 0000000..bffe764 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/shop/AdminOptLog.java @@ -0,0 +1,63 @@ +package net.jjjerp.common.entity.shop; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.io.Serializable; +import java.util.Date; + +/** + * 管理员操作记录表 + * + * @author jjjerp + * @since 2022-08-15 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@TableName("jjjerp_admin_opt_log") +@ApiModel(value = "AdminOptLog对象") +public class AdminOptLog implements Serializable { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId(value = "opt_log_id", type = IdType.AUTO) + private Integer optLogId; + + @ApiModelProperty("用户id") + private Integer shopUserId; + + @ApiModelProperty("标题") + private String title; + + @ApiModelProperty("访问url") + private String url; + + @ApiModelProperty("请求类型") + private String requestType; + + @ApiModelProperty("浏览器") + private String browser; + + @ApiModelProperty("浏览器信息") + private String agent; + + @ApiModelProperty("操作内容") + private String content; + + @ApiModelProperty("登录ip") + private String ip; + + @ApiModelProperty("小程序id") + private Integer appId; + + @ApiModelProperty("创建时间") + private Date createTime; + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/shop/AdminRole.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/shop/AdminRole.java new file mode 100644 index 0000000..af2c68e --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/shop/AdminRole.java @@ -0,0 +1,48 @@ +package net.jjjerp.common.entity.shop; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.io.Serializable; +import java.util.Date; + +/** + * 商家用户角色表 + * + * @author jjjerp + * @since 2022-07-09 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@TableName("jjjerp_admin_role") +@ApiModel(value = "AdminRole对象") +public class AdminRole implements Serializable { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("角色id") + @TableId(value = "role_id", type = IdType.AUTO) + private Integer roleId; + + @ApiModelProperty("角色名称") + private String roleName; + + @ApiModelProperty("排序(数字越小越靠前)") + private Integer sort; + + @ApiModelProperty("小程序id") + private Integer appId; + + @ApiModelProperty("创建时间") + private Date createTime; + + @ApiModelProperty("更新时间") + private Date updateTime; + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/shop/AdminRoleAccess.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/shop/AdminRoleAccess.java new file mode 100644 index 0000000..0dd6819 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/shop/AdminRoleAccess.java @@ -0,0 +1,45 @@ +package net.jjjerp.common.entity.shop; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.io.Serializable; +import java.util.Date; + +/** + * 商家用户角色权限关系表 + * + * @author jjjerp + * @since 2022-07-09 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@TableName("jjjerp_admin_role_access") +@ApiModel(value = "AdminRoleAccess对象") +public class AdminRoleAccess implements Serializable { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + + @ApiModelProperty("角色id") + private Integer roleId; + + @ApiModelProperty("权限id") + private Integer accessId; + + @ApiModelProperty("小程序id") + private Integer appId; + + @ApiModelProperty("创建时间") + private Date createTime; + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/shop/AdminUser.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/shop/AdminUser.java new file mode 100644 index 0000000..a91179e --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/shop/AdminUser.java @@ -0,0 +1,71 @@ +package net.jjjerp.common.entity.shop; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import net.jjjerp.framework.core.validator.groups.Update; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import java.io.Serializable; +import java.util.Date; + +/** + * 商家用户记录表 + * + * @author jjjerp + * @since 2022-06-23 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@TableName("jjjerp_admin_user") +@ApiModel(value = "AdminUser对象") +public class AdminUser implements Serializable { + private static final long serialVersionUID = 1L; + + @NotNull(message = "id不能为空", groups = {Update.class}) + @ApiModelProperty("主键id") + @TableId(value = "shop_user_id", type = IdType.AUTO) + private Integer shopUserId; + + @NotBlank(message = "用户名不能为空") + @ApiModelProperty("用户名") + private String userName; + + @NotBlank(message = "盐值不能为空") + @ApiModelProperty("盐值") + private String salt; + + @NotBlank(message = "登录密码不能为空") + @ApiModelProperty("登录密码") + private String password; + + @NotBlank(message = "姓名不能为空") + @ApiModelProperty("姓名") + private String realName; + + @ApiModelProperty("是否为超级管理员0不是,1是") + private Boolean isSuper; + + @ApiModelProperty("是否为业务员0不是,1是") + private Integer isSales; + + @ApiModelProperty("0=显示1=伪删除") + private Integer isDelete; + + @ApiModelProperty("程序id") + private Integer appId; + + @ApiModelProperty("创建时间") + private Date createTime; + + @ApiModelProperty("更新时间") + private Date updateTime; + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/shop/AdminUserRole.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/shop/AdminUserRole.java new file mode 100644 index 0000000..beae5df --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/shop/AdminUserRole.java @@ -0,0 +1,48 @@ +package net.jjjerp.common.entity.shop; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.io.Serializable; +import java.util.Date; + +/** + * 商家用户角色记录表 + * + * @author jjjerp + * @since 2022-07-09 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@TableName("jjjerp_admin_user_role") +@ApiModel(value = "AdminUserRole对象") +public class AdminUserRole implements Serializable { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + + @ApiModelProperty("超管用户id") + private Integer shopUserId; + + @ApiModelProperty("角色id") + private Integer roleId; + + @ApiModelProperty("小程序id") + private Integer appId; + + @ApiModelProperty("创建时间") + private Date createTime; + + @ApiModelProperty("更新时间") + private Date updateTime; + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/store/Store.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/store/Store.java new file mode 100644 index 0000000..907523e --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/store/Store.java @@ -0,0 +1,128 @@ +package net.jjjerp.common.entity.store; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.annotation.IdType; + +import java.math.BigDecimal; +import java.util.Date; +import com.baomidou.mybatisplus.annotation.TableId; +import java.io.Serializable; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import java.io.Serializable; + +/** + * 店铺记录表 + * + * @author jjjerp + * @since 2024-04-19 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@TableName("jjjerp_store") +@ApiModel(value = "Store对象") +public class Store implements Serializable { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("店铺") + @TableId(value = "store_id", type = IdType.AUTO) + private Long storeId; + + @ApiModelProperty("店铺名称") + @NotBlank(message = "店铺名称不能为空") + private String storeName; + + @ApiModelProperty("店铺昵称") + @NotBlank(message = "店铺昵称不能为空") + private String nickName; + + @ApiModelProperty("店铺网址") + private String website; + + @ApiModelProperty("图片地址") + private String imageUrl; + + @ApiModelProperty("省") + private String province; + + @ApiModelProperty("市") + private String city; + + @ApiModelProperty("区") + private String region; + + @ApiModelProperty("详细地址") + private String address; + + @ApiModelProperty("省ID") + private Long provinceId; + + @ApiModelProperty("市ID") + private Long cityId; + + @ApiModelProperty("区ID") + private Long regionId; + + @ApiModelProperty("店铺类型") + private Integer storeType; + + @ApiModelProperty("联系人") + private String contacts; + + @ApiModelProperty("固话") + private String fixPhone; + + @ApiModelProperty("手机号") + private String phone; + + @ApiModelProperty("备注,宣传标语") + private String description; + + @ApiModelProperty("key") + private String appKey; + + @ApiModelProperty("secret") + private String secret; + + @ApiModelProperty("是否启用,0停用,1启用") + private Integer enabled; + + @ApiModelProperty("邮编") + private String zip; + + @ApiModelProperty("排序") + private Long sort; + + @ApiModelProperty("操作员") + private Long creator; + + @ApiModelProperty("绑定账户ID") + @NotNull(message = "绑定账户不能为空") + private Long accountId; + + @ApiModelProperty("总欠款") + private BigDecimal debtCredit; + + @ApiModelProperty("删除标记,0未删除,1已删除") + private Integer deleteFlag; + + @ApiModelProperty("授权有效期") + private Date expiryTime; + + @ApiModelProperty("应用id") + private Long appId; + + @ApiModelProperty("创建时间") + private Date createTime; + + @ApiModelProperty("更新时间") + private Date updateTime; + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/supplier/Supplier.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/supplier/Supplier.java new file mode 100644 index 0000000..0ed752d --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/supplier/Supplier.java @@ -0,0 +1,150 @@ +package net.jjjerp.common.entity.supplier; + +import java.math.BigDecimal; + +import com.baomidou.mybatisplus.annotation.*; + +import java.util.Date; +import java.io.Serializable; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import java.io.Serializable; +import java.util.List; + +/** + * 供应商/客户信息表 + * + * @author jjjerp + * @since 2024-04-18 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@TableName("jjjerp_supplier") +@ApiModel(value = "Supplier对象") +public class Supplier implements Serializable { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键") + @TableId(value = "supplier_id", type = IdType.AUTO) + private Long supplierId; + + @ApiModelProperty("供应商名称") + @NotBlank(message = "供应商名称不能为空") + private String supplierName; + + @ApiModelProperty("供应商编码") + private String supplierCode; + + @ApiModelProperty("供应商网址") + private String website; + + @ApiModelProperty("省") + private String province; + + @ApiModelProperty("市") + private String city; + + @ApiModelProperty("区") + private String region; + + @ApiModelProperty("所在省份id") + private Integer provinceId; + + @ApiModelProperty("所在城市id") + private Integer cityId; + + @ApiModelProperty("所在辖区id") + private Integer regionId; + + @ApiModelProperty("图片地址") + private String imageUrl; + + @ApiModelProperty("图片List") + @TableField(exist = false) + private List imageList; + + @ApiModelProperty("供应商类型,0普通供应商,1直供供应商,2-1688供应商") + private Integer supplierType; + + @ApiModelProperty("联系人") + private String contacts; + + @ApiModelProperty("固话") + private String fixPhone; + + @ApiModelProperty("电子邮箱") + private String email; + + @ApiModelProperty("备注") + private String description; + + @ApiModelProperty("是否启用,0停用,1启用") + private Integer enabled; + + @ApiModelProperty("期初应付") + @NotNull(message = "期初应付不能为空") + private BigDecimal initial; + + @ApiModelProperty("已付预付款") + private BigDecimal advancePay; + + @ApiModelProperty("当前应付") + private BigDecimal allNeedPay; + + @ApiModelProperty("欠款") + @NotNull(message = "欠款不能为空") + private BigDecimal debtCredit; + + @ApiModelProperty("账期") + private Long debtPeriod; + + @ApiModelProperty("传真") + private String fax; + + @ApiModelProperty("手机") + private String phone; + + @ApiModelProperty("地址") + private String address; + + @ApiModelProperty("纳税人识别号") + private String taxNum; + + @ApiModelProperty("开户行") + private String bankName; + + @ApiModelProperty("账号") + private String accountNumber; + + @ApiModelProperty("邮编") + private String zip; + + @ApiModelProperty("税率") + private BigDecimal taxRate; + + @ApiModelProperty("排序") + private Long sort; + + @ApiModelProperty("操作员") + private Long creator; + + @ApiModelProperty("删除标记,0未删除,1已删除") + private Integer deleteFlag; + + @ApiModelProperty("租户id") + private Long appId; + + @ApiModelProperty("创建时间") + private Date createTime; + + @ApiModelProperty("更新时间") + private Date updateTime; + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/system/Sms.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/system/Sms.java new file mode 100644 index 0000000..a30d2fe --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/system/Sms.java @@ -0,0 +1,49 @@ +package net.jjjerp.common.entity.system; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.annotation.IdType; +import java.util.Date; +import com.baomidou.mybatisplus.annotation.Version; +import com.baomidou.mybatisplus.annotation.TableId; +import java.io.Serializable; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import java.io.Serializable; + +/** + * 用户注册短信表 + * + * @author jjjerp + * @since 2022-09-10 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@TableName("jjjerp_sms") +@ApiModel(value = "Sms对象") +public class Sms implements Serializable { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId(value = "sms_id", type = IdType.AUTO) + private Integer smsId; + + @ApiModelProperty("手机号") + private String mobile; + + @ApiModelProperty("验证码") + private String code; + + @ApiModelProperty("小程序id") + private Integer appId; + + @ApiModelProperty("创建时间") + private Date createTime; + + @ApiModelProperty("更新时间") + private Date updateTime; + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/system/SystemVersion.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/system/SystemVersion.java new file mode 100644 index 0000000..b54c7f5 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/entity/system/SystemVersion.java @@ -0,0 +1,35 @@ +package net.jjjerp.common.entity.system; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.io.Serializable; + +/** + * 系统信息表 + * + * @author jjjerp + * @since 2022-06-22 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@TableName("jjjerp_system_version") +@ApiModel(value = "SystemVersion对象") +public class SystemVersion implements Serializable { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + + @ApiModelProperty("当前版本") + private String versionNo; + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/enums/BillTypeEnum.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/enums/BillTypeEnum.java new file mode 100644 index 0000000..6dfdc56 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/enums/BillTypeEnum.java @@ -0,0 +1,138 @@ +package net.jjjerp.common.enums; + + +import com.alibaba.fastjson.JSONObject; +import lombok.AllArgsConstructor; +import lombok.Getter; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * 单据类型枚举 + */ +@Getter +@AllArgsConstructor +public enum BillTypeEnum { + //单据类型,1采购订单,2采购入库单,3采购退货订单,4采购退货单,6销售订单,8销售出库单,10库存调拨单,11调拨出库单,12调拨入库单,13其他出库单,14其他入库单,15盘盈盘亏单,16期初库存单,17售后申请单,18销售退货单 + + CGDD("采购订单", 1,"CGDD"), + CGRKD("采购入库单", 2,"CGRKD"), +// CGTHDD("采购退货订单", 3,"CGTHDD"), + CGTHD("采购退货单", 4,"CGTHD"), + XSDD("销售订单", 6,"XSDD"), + XSCKD("销售出库单", 8,"XSCKD"), + KCDBD("库存调拨单", 10,"KCTBD"), + DBCKD("调拨出库单", 11,"TBCKD"), + DBRKD("调拨入库单", 12,"TBRKD"), + QTCKD("其他出库单", 13,"QTCKD"), + QTRKD("其他入库单", 14,"QTRKD"), + PYPKD("盘盈盘亏单", 15,"PYPKD"), + QCKCD("期初库存单", 16,"QCKCD"), + SHSQD("售后申请单", 17,"SHSQD"), + XSTHD("销售退货单", 18,"XSTHD"); + + private String name; + private Integer value; + private String code; + + //查找value集合 + public static List getValues() { + List values = new ArrayList<>(); + BillTypeEnum[] enums = values(); //获取所有枚举集合 + for (BillTypeEnum item : enums) { + values.add(item.getValue()); + } + return values; + } + + //获取出入库类型集合 + public static List getStockValues() { + List values = new ArrayList<>(); + BillTypeEnum[] enums = values(); //获取所有枚举集合 + for (BillTypeEnum item : enums) { + if("采购入库单".equals(item.getName()) || "销售出库单".equals(item.getName()) || "线下出库单".equals(item.getName()) + || "调拨出库单".equals(item.getName()) || "其他出库单".equals(item.getName()) || "盘盈盘亏单".equals(item.getName()) + || "采购退货单".equals(item.getName()) || "其他入库单".equals(item.getName()) || "调拨入库单".equals(item.getName()) + || "期初库存单".equals(item.getName()) || "销售退货单".equals(item.getName()) + ){ + values.add(item.getValue()); + } + + } + return values; + } + + //获取出库类型集合 + public static List getOutValues() { + List values = new ArrayList<>(); + BillTypeEnum[] enums = values(); //获取所有枚举集合 + for (BillTypeEnum item : enums) { + if("销售出库单".equals(item.getName()) || "线下出库单".equals(item.getName()) + || "调拨出库单".equals(item.getName()) || "其他出库单".equals(item.getName()) + || "采购退货单".equals(item.getName()) + ){ + values.add(item.getValue()); + } + + } + return values; + } + + //获取入库类型集合 + public static List getFoldValues() { + List values = new ArrayList<>(); + BillTypeEnum[] enums = values(); //获取所有枚举集合 + for (BillTypeEnum item : enums) { + if("采购入库单".equals(item.getName()) || "期初库存单".equals(item.getName()) + || "其他入库单".equals(item.getName()) || "调拨入库单".equals(item.getName()) + || "盘盈盘亏单".equals(item.getName()) || "销售退货单".equals(item.getName()) + ){ + values.add(item.getValue()); + } + + } + return values; + } + + + public static List getList() { + List list = new ArrayList<>(); + BillTypeEnum[] enums = values(); //获取所有枚举集合 + for (BillTypeEnum item : enums) { + JSONObject obj = new JSONObject(); + obj.put("name", item.getName()); + obj.put("value", item.getValue()); + list.add(obj); + } + return list; + } + + //查找name + public static String getName(Integer value) { + String name = null; + BillTypeEnum[] enums = values(); //获取所有枚举集合 + for (BillTypeEnum item : enums) { + if(item.getValue().intValue() == value.intValue()){ + name = item.getName(); + break; + } + } + return name; + } + + //查找code + public static String getCode(Integer value) { + String code = null; + BillTypeEnum[] enums = values(); //获取所有枚举集合 + for (BillTypeEnum item : enums) { + if(item.getValue().intValue() == value.intValue()){ + code = item.getCode(); + break; + } + } + return code; + } +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/enums/BusinessTypeEnum.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/enums/BusinessTypeEnum.java new file mode 100644 index 0000000..e0f455c --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/enums/BusinessTypeEnum.java @@ -0,0 +1,84 @@ +package net.jjjerp.common.enums; + + +import com.alibaba.fastjson.JSONObject; +import lombok.AllArgsConstructor; +import lombok.Getter; + +import java.util.ArrayList; +import java.util.List; + +/** + * 单据类型枚举 + */ +@Getter +@AllArgsConstructor +public enum BusinessTypeEnum { + //业务类型,1直接采购入库,2订单采购入库,3直接出库,4采购入库单退货,5实际调拨,6虚拟调拨,7销售单原路退回,8线下销售订单, + // 9线上销售订单,10预售销售订单,11线下出库单 + + ZJCGRK("直接采购入库", 1,"ZJCGRK"), + DDCGRK("订单采购入库", 2,"DDCGRK"), + ZJCK("直接出库", 3,"ZJCK"), + CGRKDTH("采购入库单退货", 4,"CGRKDTH"), + SJDB("实际调拨", 5,"SJDB"), + XNDB("虚拟调拨", 6,"XNDB"), + XTYLTH("销售退货单-原路退回", 7,"XTYLTH"), + XXXSDD("线下销售订单", 8,"XXXSDD"), + XSXSDD("线上销售订单", 9,"XSXSDD"), + YSXSDD("预售销售订单", 10,"YSXSDD"), + XXCKD("线下出库单", 11,"XXCKD"); + + private String name; + private Integer value; + private String code; + + //查找value集合 + public static List getValues() { + List values = new ArrayList<>(); + BusinessTypeEnum[] enums = values(); //获取所有枚举集合 + for (BusinessTypeEnum item : enums) { + values.add(item.getValue()); + } + return values; + } + + + public static List getList() { + List list = new ArrayList<>(); + BusinessTypeEnum[] enums = values(); //获取所有枚举集合 + for (BusinessTypeEnum item : enums) { + JSONObject obj = new JSONObject(); + obj.put("name", item.getName()); + obj.put("value", item.getValue()); + list.add(obj); + } + return list; + } + + //查找name + public static String getName(Integer value) { + String name = null; + BusinessTypeEnum[] enums = values(); //获取所有枚举集合 + for (BusinessTypeEnum item : enums) { + if(item.getValue().intValue() == value.intValue()){ + name = item.getName(); + break; + } + } + return name; + } + + //查找code + public static String getCode(Integer value) { + String code = null; + BusinessTypeEnum[] enums = values(); //获取所有枚举集合 + for (BusinessTypeEnum item : enums) { + if(item.getValue().intValue() == value.intValue()){ + code = item.getCode(); + break; + } + } + return code; + } +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/enums/DeliveryStatuEnum.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/enums/DeliveryStatuEnum.java new file mode 100644 index 0000000..7fb8514 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/enums/DeliveryStatuEnum.java @@ -0,0 +1,73 @@ +package net.jjjerp.common.enums; + + +import com.alibaba.fastjson.JSONObject; +import lombok.AllArgsConstructor; +import lombok.Getter; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * 设置项枚举 + */ +@Getter +@AllArgsConstructor +public enum DeliveryStatuEnum { + NO("未发货", 10), + ALL("全部已发货", 20), + PORTION("部分发货", 30); + + private String name; + private Integer value; + + //查找value集合 + public static List getValues() { + List values = new ArrayList<>(); + DeliveryStatuEnum[] enums = values(); //获取所有枚举集合 + for (DeliveryStatuEnum item : enums) { + values.add(item.getValue()); + } + return values; + } + + // 查找value集合 + public static Map getList() { + Map values = new HashMap<>(); + DeliveryStatuEnum[] enums = values(); //获取所有枚举集合 + for (DeliveryStatuEnum item : enums) { + JSONObject obj = new JSONObject(); + obj.put("name", item.getName()); + obj.put("value", item.getValue()); + values.put(item.getValue(), obj); + } + return values; + } + + public static List getDeliveryList() { + List list = new ArrayList<>(); + DeliveryStatuEnum[] enums = values(); //获取所有枚举集合 + for (DeliveryStatuEnum item : enums) { + JSONObject obj = new JSONObject(); + obj.put("name", item.getName()); + obj.put("value", item.getValue()); + list.add(obj); + } + return list; + } + + //查找name + public static String getName(Integer value) { + String name = null; + DeliveryStatuEnum[] enums = values(); //获取所有枚举集合 + for (DeliveryStatuEnum item : enums) { + if(item.getValue().intValue() == value.intValue()){ + name = item.getName(); + break; + } + } + return name; + } +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/enums/DeliveryTypeEnum.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/enums/DeliveryTypeEnum.java new file mode 100644 index 0000000..13c7af6 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/enums/DeliveryTypeEnum.java @@ -0,0 +1,74 @@ +package net.jjjerp.common.enums; + + +import com.alibaba.fastjson.JSONObject; +import lombok.AllArgsConstructor; +import lombok.Getter; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * 设置项枚举 + */ +@Getter +@AllArgsConstructor +public enum DeliveryTypeEnum { + EXPRESS("单包裹发货", 10), + EXTRACT("上门自提", 20), + NO_EXPRESS("无需物流", 30), + MULTI_EXPRESS("多包裹发货", 40); + + private String name; + private Integer value; + + //查找value集合 + public static List getValues() { + List values = new ArrayList<>(); + DeliveryTypeEnum[] enums = values(); //获取所有枚举集合 + for (DeliveryTypeEnum item : enums) { + values.add(item.getValue()); + } + return values; + } + + // 查找value集合 + public static Map getList() { + Map values = new HashMap<>(); + DeliveryTypeEnum[] enums = values(); //获取所有枚举集合 + for (DeliveryTypeEnum item : enums) { + JSONObject obj = new JSONObject(); + obj.put("name", item.getName()); + obj.put("value", item.getValue()); + values.put(item.getValue(), obj); + } + return values; + } + + public static List getDeliveryList() { + List list = new ArrayList<>(); + DeliveryTypeEnum[] enums = values(); //获取所有枚举集合 + for (DeliveryTypeEnum item : enums) { + JSONObject obj = new JSONObject(); + obj.put("name", item.getName()); + obj.put("value", item.getValue()); + list.add(obj); + } + return list; + } + + //查找name + public static String getName(Integer value) { + String name = null; + DeliveryTypeEnum[] enums = values(); //获取所有枚举集合 + for (DeliveryTypeEnum item : enums) { + if(item.getValue().intValue() == value.intValue()){ + name = item.getName(); + break; + } + } + return name; + } +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/enums/MessageTypeEnum.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/enums/MessageTypeEnum.java new file mode 100644 index 0000000..b6298c2 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/enums/MessageTypeEnum.java @@ -0,0 +1,30 @@ +package net.jjjerp.common.enums; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +/** + * 订单类型枚举 + */ +@Getter +@AllArgsConstructor +public enum MessageTypeEnum { + MASTER("订单", 10), + POINTS("分销", 20); + + private String name; + private Integer value; + + //查找name + public static String getName(Integer value) { + String name = null; + MessageTypeEnum[] enums = values(); //获取所有枚举集合 + for (MessageTypeEnum item : enums) { + if(item.getValue().intValue() == value.intValue()){ + name = item.getName(); + break; + } + } + return name; + } +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/enums/OrderPayStatusEnum.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/enums/OrderPayStatusEnum.java new file mode 100644 index 0000000..dd82058 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/enums/OrderPayStatusEnum.java @@ -0,0 +1,32 @@ +package net.jjjerp.common.enums; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +/** + * 订单支付类型枚举 + */ +@Getter +@AllArgsConstructor +public enum OrderPayStatusEnum { + + PENDING("待付款", 10), + SUCCESS("已付款", 20); + + private String name; + private Integer value; + + //查找name + public static String getName(Integer value) { + String name = null; + OrderPayStatusEnum[] enums = values(); //获取所有枚举集合 + for (OrderPayStatusEnum item : enums) { + if (item.getValue().intValue() == value.intValue()) { + name = item.getName(); + break; + } + } + return name; + } + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/enums/OrderPayTypeEnum.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/enums/OrderPayTypeEnum.java new file mode 100644 index 0000000..6b6daaa --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/enums/OrderPayTypeEnum.java @@ -0,0 +1,69 @@ +package net.jjjerp.common.enums; + +import cn.hutool.json.JSONObject; +import lombok.AllArgsConstructor; +import lombok.Getter; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * 设置项枚举 + */ +@Getter +@AllArgsConstructor +public enum OrderPayTypeEnum { + + BALANCE("余额支付", 10), + WECHAT("微信支付", 20), + ALIPAY("支付宝支付", 30); + + private String name; + private Integer value; + + //查找value集合 + public static List getValues() { + List values = new ArrayList<>(); + OrderPayTypeEnum[] enums = values(); //获取所有枚举集合 + for (OrderPayTypeEnum item : enums) { + values.add(item.getValue()); + } + return values; + } + + //查找value集合 + public static List getWxValues() { + List values = new ArrayList<>(); + values.add(10); + values.add(20); + return values; + } + + // 查找value集合 + public static Map getList() { + Map values = new HashMap<>(); + OrderPayTypeEnum[] enums = values(); //获取所有枚举集合 + for (OrderPayTypeEnum item : enums) { + JSONObject obj = new JSONObject(); + obj.put("name", item.getName()); + obj.put("value", item.getValue()); + values.put(item.getValue(), obj); + } + return values; + } + + //查找name + public static String getName(Integer value) { + String name = null; + OrderPayTypeEnum[] enums = values(); //获取所有枚举集合 + for (OrderPayTypeEnum item : enums) { + if(item.getValue().intValue() == value.intValue()){ + name = item.getName(); + break; + } + } + return name; + } +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/enums/OrderSourceEnum.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/enums/OrderSourceEnum.java new file mode 100644 index 0000000..39726d8 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/enums/OrderSourceEnum.java @@ -0,0 +1,44 @@ +package net.jjjerp.common.enums; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +/** + * 订单类型枚举 + */ +@Getter +@AllArgsConstructor +public enum OrderSourceEnum { + MASTER("普通", 10, "Master"), + ADVANCE("预售", 80, "Advance"); + + private String name; + private Integer value; + private String eName; + + //查找name + public static String getName(Integer value) { + String name = null; + OrderSourceEnum[] enums = values(); //获取所有枚举集合 + for (OrderSourceEnum item : enums) { + if(item.getValue().intValue() == value.intValue()){ + name = item.getName(); + break; + } + } + return name; + } + + //查找eName + public static String getEName(Integer value) { + String eName = null; + OrderSourceEnum[] enums = values(); //获取所有枚举集合 + for (OrderSourceEnum item : enums) { + if(item.getValue().intValue() == value.intValue()){ + eName = item.getEName(); + break; + } + } + return eName; + } +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/enums/OrderStatusEnum.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/enums/OrderStatusEnum.java new file mode 100644 index 0000000..71ef58b --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/enums/OrderStatusEnum.java @@ -0,0 +1,17 @@ +package net.jjjerp.common.enums; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +@Getter +@AllArgsConstructor +public enum OrderStatusEnum { + + NORMAL("进行中", 10), + CANCELLED("已取消", 20), + APPLY_CANCEL("待取消", 21), + COMPLETED("已完成", 30); + + private String name; + private Integer value; +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/enums/OrderTypeEnum.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/enums/OrderTypeEnum.java new file mode 100644 index 0000000..452a512 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/enums/OrderTypeEnum.java @@ -0,0 +1,32 @@ +package net.jjjerp.common.enums; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +/** + * 订单类型枚举 + */ +@Getter +@AllArgsConstructor +public enum OrderTypeEnum { + MASTER("商城订单", 10, "Master"), + FRONT("预售定金订单", 40, "Front"), + ADVANCE("预售尾款订单", 50, "Advance"); + + private String name; + private Integer value; + private String eName; + + //查找eName + public static String getEName(Integer value) { + String eName = null; + OrderTypeEnum[] enums = values(); //获取所有枚举集合 + for (OrderTypeEnum item : enums) { + if(item.getValue().intValue() == value.intValue()){ + eName = item.getEName(); + break; + } + } + return eName; + } +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/enums/PayTypeEnum.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/enums/PayTypeEnum.java new file mode 100644 index 0000000..09991ac --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/enums/PayTypeEnum.java @@ -0,0 +1,61 @@ +package net.jjjerp.common.enums; + +import com.alibaba.fastjson.JSONObject; +import lombok.AllArgsConstructor; +import lombok.Getter; +import org.apache.commons.lang3.StringUtils; + +import java.util.ArrayList; +import java.util.List; + +@Getter +@AllArgsConstructor +public enum PayTypeEnum { + + WECHAT("微信支付", 10), + ALIPAY("支付宝", 20), + CARD("银行卡", 30); + + private String name; + private Integer value; + + //查找value + public static Integer getValue(String name) { + Integer value = 0; + if(StringUtils.isEmpty(name)){ + return value; + } + PayTypeEnum[] enums = values(); //获取所有枚举集合 + for (PayTypeEnum item : enums) { + if(name.equals(item.getName())){ + value = item.getValue(); + break; + } + } + return value; + } + + public static String getName(Integer value) { + String name = null; + PayTypeEnum[] enums = values(); //获取所有枚举集合 + for (PayTypeEnum item : enums) { + if(item.getValue().intValue() == value.intValue()){ + name = item.getName(); + break; + } + } + return name; + } + + public static List getList() { + List list = new ArrayList<>(); + PayTypeEnum[] enums = values(); + for (PayTypeEnum item : enums) { + JSONObject json = new JSONObject(); + json.put("name",item.getName()); + json.put("value", item.getValue()); + list.add(json); + } + return list; + } +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/enums/PlatformEnum.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/enums/PlatformEnum.java new file mode 100644 index 0000000..26dc38c --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/enums/PlatformEnum.java @@ -0,0 +1,54 @@ +package net.jjjerp.common.enums; + +import cn.hutool.json.JSONObject; +import lombok.AllArgsConstructor; +import lombok.Getter; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * 支付平台枚举 + */ +@Getter +@AllArgsConstructor +public enum PlatformEnum { + + H5("H5", "h5", OrderPayTypeEnum.getValues()), + MP("微信公众号", "mp", OrderPayTypeEnum.getWxValues()), + WX("微信小程序", "wx", OrderPayTypeEnum.getWxValues()), + IOS("ios", "ios", OrderPayTypeEnum.getValues()), + ANDROID("android", "android", OrderPayTypeEnum.getValues()); + + private String name; + private String value; + private List payType; + + // 查找value集合 + public static Map getList() { + Map values = new HashMap<>(); + PlatformEnum[] enums = values(); //获取所有枚举集合 + for (PlatformEnum item : enums) { + JSONObject obj = new JSONObject(); + obj.put("name", item.getName()); + obj.put("value", item.getValue()); + obj.put("payType", item.getPayType()); + values.put(item.getValue(), obj); + } + return values; + } + + //查找payType + public static List getPayType(String value) { + List payType = null; + PlatformEnum[] enums = values(); //获取所有枚举集合 + for (PlatformEnum item : enums) { + if(item.getValue().equals(value)){ + payType = item.getPayType(); + break; + } + } + return payType; + } +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/enums/PrinterTypeEnum.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/enums/PrinterTypeEnum.java new file mode 100644 index 0000000..3e60557 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/enums/PrinterTypeEnum.java @@ -0,0 +1,40 @@ +package net.jjjerp.common.enums; + + +import lombok.AllArgsConstructor; +import lombok.Getter; + +import java.util.*; + +@Getter +@AllArgsConstructor +public enum PrinterTypeEnum{ + FEI_E_YUN("飞鹅打印机", "FEI_E_YUN", "FeiE"), + PRINTER_CENTER("365云打印", "PRINT_CENTER", "PrintCenter"); + + + private String text; + private String printerType; + private String className; + + public static List getTypeName(){ + List result = new ArrayList<>(); + for (PrinterTypeEnum type : EnumSet.allOf(PrinterTypeEnum.class)){ + result.add(type.getText()); + } + return result; + } + + //查找payType + public static String getClassName(String printerType) { + String className = null; + PrinterTypeEnum[] enums = values(); //获取所有枚举集合 + for (PrinterTypeEnum item : enums) { + if(item.getPrinterType().equals(printerType)){ + className = item.getClassName(); + break; + } + } + return className; + } +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/enums/SettingEnum.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/enums/SettingEnum.java new file mode 100644 index 0000000..8b1105b --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/enums/SettingEnum.java @@ -0,0 +1,45 @@ +package net.jjjerp.common.enums; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +/** + * 设置项枚举 + */ +@Getter +@AllArgsConstructor +public enum SettingEnum { + /** + * 系统设置 + **/ + SYS_CONFIG("sys_config", "admin系统设置", "SysConfigVo"), + STORE("store", "shop系统设置", "StoreVo"), + STORAGE("storage", "上传设置", "StorageVo"), + SMS("sms", "短信设置", "SmsVo"), + PRINTING("printer", "打印机设置", "PrinterVo"); + private String key; + private String description; + private String className; + + //根据传入的key动态获取className + public static String getClassNameByKey(String key) { + SettingEnum[] enums = values(); //获取所有枚举集合 + for (SettingEnum item : enums) { + if (item.getKey().equals(key)) { + return item.getClassName(); + } + } + return null; + } + + //根据传入的key动态获取description + public static String getDescriptionByKey(String key) { + SettingEnum[] enums = values(); //获取所有枚举集合 + for (SettingEnum item : enums) { + if (item.getKey().equals(key)) { + return item.getDescription(); + } + } + return null; + } +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/enums/StorageEnum.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/enums/StorageEnum.java new file mode 100644 index 0000000..eacd4b0 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/enums/StorageEnum.java @@ -0,0 +1,20 @@ +package net.jjjerp.common.enums; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +/** + * 上传枚举 + */ +@Getter +@AllArgsConstructor +public enum StorageEnum { + LOCAL("本地", "Local"), + QINIU("七牛云", "QiNiu"), + ALIYUN("阿里云", "AliYun"), + QCLOUD("腾讯云", "QCloud"), + HWCLOUD("华为云", "HwCloud"); + + private String name; + private String value; +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/enums/StoreTypeEnum.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/enums/StoreTypeEnum.java new file mode 100644 index 0000000..6269416 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/enums/StoreTypeEnum.java @@ -0,0 +1,60 @@ +package net.jjjerp.common.enums; + + +import com.alibaba.fastjson.JSONObject; +import lombok.AllArgsConstructor; +import lombok.Getter; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * 店铺类型枚举 + */ +@Getter +@AllArgsConstructor +public enum StoreTypeEnum { + OTHER("其他平台", 1), + OFFLINE("线下门店", 2); + + private String name; + private Integer value; + + //查找value集合 + public static List getValues() { + List values = new ArrayList<>(); + StoreTypeEnum[] enums = values(); //获取所有枚举集合 + for (StoreTypeEnum item : enums) { + values.add(item.getValue()); + } + return values; + } + + // 查找value集合 + public static Map getList() { + Map values = new HashMap<>(); + StoreTypeEnum[] enums = values(); //获取所有枚举集合 + for (StoreTypeEnum item : enums) { + JSONObject obj = new JSONObject(); + obj.put("name", item.getName()); + obj.put("value", item.getValue()); + values.put(item.getValue(), obj); + } + return values; + } + + //查找name + public static String getName(Integer value) { + String name = null; + StoreTypeEnum[] enums = values(); //获取所有枚举集合 + for (StoreTypeEnum item : enums) { + if(item.getValue().intValue() == value.intValue()){ + name = item.getName(); + break; + } + } + return name; + } +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/factory/sms/SmsFactory.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/factory/sms/SmsFactory.java new file mode 100644 index 0000000..b30f4ee --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/factory/sms/SmsFactory.java @@ -0,0 +1,31 @@ +package net.jjjerp.common.factory.sms; + +import net.jjjerp.framework.common.exception.BusinessException; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import java.util.Map; + +/** + * 支付成功工厂类 + */ +@Component +public class SmsFactory { + private static String packageName = "net.jjjerp.common.factory.sms.impl.%sSmsFactoryService"; + @Autowired + private Map factory; + + /** + * 获取service + * @param + * @return + */ + public SmsFactoryService getFactory(String smsType){ + String className = String.format(packageName, smsType); + SmsFactoryService service = factory.get(className); + if(service == null){ + throw new BusinessException("参数异常,未找到短信工厂类"); + } + return service; + } +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/factory/sms/SmsFactoryService.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/factory/sms/SmsFactoryService.java new file mode 100644 index 0000000..24a11a7 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/factory/sms/SmsFactoryService.java @@ -0,0 +1,14 @@ +package net.jjjerp.common.factory.sms; + +import com.alibaba.fastjson.JSONObject; + +/** + * 支付成功工厂接口类 + */ +public abstract class SmsFactoryService { + + /** + * 发送短信 + */ + public abstract Boolean sendSms(String mobile, String templateCode, JSONObject templateParam); +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/factory/sms/impl/AliyunSmsFactoryService.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/factory/sms/impl/AliyunSmsFactoryService.java new file mode 100644 index 0000000..ac6eb98 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/factory/sms/impl/AliyunSmsFactoryService.java @@ -0,0 +1,60 @@ +package net.jjjerp.common.factory.sms.impl; + +import com.alibaba.fastjson.JSONObject; +import com.aliyuncs.DefaultAcsClient; +import com.aliyuncs.IAcsClient; +import com.aliyuncs.dysmsapi.model.v20170525.SendSmsRequest; +import com.aliyuncs.dysmsapi.model.v20170525.SendSmsResponse; +import com.aliyuncs.profile.DefaultProfile; +import com.aliyuncs.profile.IClientProfile; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.common.enums.SettingEnum; +import net.jjjerp.common.factory.sms.SmsFactoryService; +import net.jjjerp.common.settings.vo.SmsVo; +import net.jjjerp.common.util.SettingUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +/** + * 阿里云短信工厂类,暂时只接入了阿里云,便于后续扩展 + */ +@Slf4j +@Service +public class AliyunSmsFactoryService extends SmsFactoryService { + @Autowired + private SettingUtils settingUtils; + + /** + * 更新商品库存 (针对下单减库存的商品) + */ + public Boolean sendSms(String mobile, String templateCode, JSONObject templateParam){ + // 短信设置 + JSONObject vo = settingUtils.getSetting(SettingEnum.SMS.getKey(), null); + SmsVo smsVo = JSONObject.toJavaObject(vo, SmsVo.class); + //AK + String accessKeyId = smsVo.getAliyunSms().getAccessKeyId(); + String accessKeySecret = smsVo.getAliyunSms().getAccessKeySecret(); + //初始化ascClient,暂时不支持多region(请勿修改) + IClientProfile profile = DefaultProfile.getProfile("cn-hangzhou", accessKeyId, accessKeySecret); + IAcsClient acsClient = new DefaultAcsClient(profile); + //组装请求对象 + SendSmsRequest request = new SendSmsRequest(); + //必填:待发送手机号。支持以逗号分隔的形式进行批量调用,批量上限为1000个手机号码,批量调用相对于单条调用及时性稍有延迟,验证码类型的短信推荐使用单条调用的方式;发送国际/港澳台消息时,接收号码格式为00+国际区号+号码,如“0085200000000” + request.setPhoneNumbers(mobile); + //必填:短信签名-可在短信控制台中找到 + request.setSignName(smsVo.getAliyunSms().getSign()); + //必填:短信模板-可在短信控制台中找到,发送国际/港澳台消息时,请使用国际/港澳台短信模版 + request.setTemplateCode(templateCode); + //可选:模板中的变量替换JSON串,如模板内容为"亲爱的${name},您的验证码为${code}"时,此处的值为 + //友情提示:如果JSON中需要带换行符,请参照标准的JSON协议对换行符的要求,比如短信内容中包含\r\n的情况在JSON中需要表示成\\r\\n,否则会导致JSON在服务端解析失败 + //request.setTemplateParam("{\"code\":\"988756\"}"); + request.setTemplateParam(templateParam.toJSONString()); + try{ + SendSmsResponse sendSmsResponse = acsClient.getAcsResponse(request); + }catch (Exception e){ + log.info("短信发送失败", e); + return false; + } + return true; + } +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/factory/sms/impl/HWcloudSmsFactoryService.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/factory/sms/impl/HWcloudSmsFactoryService.java new file mode 100644 index 0000000..22a8df7 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/factory/sms/impl/HWcloudSmsFactoryService.java @@ -0,0 +1,112 @@ +package net.jjjerp.common.factory.sms.impl; + +import com.alibaba.fastjson.JSONObject; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.common.enums.SettingEnum; +import net.jjjerp.common.factory.sms.SmsFactoryService; +import net.jjjerp.common.settings.vo.SmsVo; +import net.jjjerp.common.util.HuaWeiSMSUtil; +import net.jjjerp.common.util.SettingUtils; +import net.jjjerp.common.vo.sms.HwSmsRoot; +import org.apache.http.HttpHeaders; +import org.apache.http.HttpResponse; +import org.apache.http.client.methods.RequestBuilder; +import org.apache.http.conn.ssl.NoopHostnameVerifier; +import org.apache.http.entity.StringEntity; +import org.apache.http.impl.client.CloseableHttpClient; +import org.apache.http.impl.client.HttpClients; +import org.apache.http.ssl.SSLContextBuilder; +import org.apache.http.util.EntityUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +/** + * 阿里云短信工厂类,暂时只接入了阿里云,便于后续扩展 + */ +@Slf4j +@Service +public class HWcloudSmsFactoryService extends SmsFactoryService { + @Autowired + private SettingUtils settingUtils; + @Autowired + private HuaWeiSMSUtil huaWeiSMSUtil; + + + //无需修改,用于格式化鉴权头域,给"Authorization"参数赋值 + private static final String AUTH_HEADER_VALUE = "WSSE realm=\"SDP\",profile=\"UsernameToken\",type=\"Appkey\""; + + public Boolean sendSms(String mobile, String templateCode, JSONObject templateParam) { + // 短信设置 + JSONObject vo = settingUtils.getSetting(SettingEnum.SMS.getKey(), null); + SmsVo smsVo = JSONObject.toJavaObject(vo, SmsVo.class); + + //必填,请参考"开发准备"获取如下数据,替换为实际值 + String appKey = smsVo.getHWcloudSms().getAccessKeyId(); //APP_Key + String appSecret = smsVo.getHWcloudSms().getAccessKeySecret(); //APP_Secret + String sender = smsVo.getHWcloudSms().getSender(); //国内短信签名通道号或国际/港澳台短信通道号 + String templateId = smsVo.getHWcloudSms().getTemplateCode(); //模板ID + //APP接入地址 //(在控制台"应用管理"页面获取)+接口访问URI + //北区 "https://smsapi.cn-north-4.myhuaweicloud.com:443" + //南区 "https://smsapi.cn-south-1.myhuaweicloud.com:443" + String url = smsVo.getHWcloudSms().getUrl(); //APP接入地址 + if(!url.contains("v1")){ + url = url + "/sms/batchSendSms/v1"; + } + //条件必填,国内短信关注,当templateId指定的模板类型为通用模板时生效且必填,必须是已审核通过的,与模板类型一致的签名名称 + //国际/港澳台短信不用关注该参数 + String signature = smsVo.getHWcloudSms().getSign(); //签名名称 + + //必填,全局号码格式(包含国家码),示例:+8615123456789,多个号码之间用英文逗号分隔 + String receiver = "+86"+mobile; //短信接收人号码 + + //选填,短信状态报告接收地址,推荐使用域名,为空或者不填表示不接收状态报告 + String statusCallBack = ""; + + // 随机6位数验证码 + String templateParas = "[\""+templateParam.getString("code")+"\"]"; //模板变量,此处以单变量验证码短信为例,请客户自行生成6位验证码,并定义为字符串类型,以杜绝首位0丢失的问题(例如:002569变成了2569)。 + + //请求Body,不携带签名名称时,signature请填null + String body = huaWeiSMSUtil.buildRequestBody(sender, receiver, templateId, templateParas, statusCallBack, signature); + if (null == body || body.isEmpty()) { + return false; + } + + try { + //请求Headers中的X-WSSE参数值 + String wsseHeader = huaWeiSMSUtil.buildWsseHeader(appKey, appSecret); + if (null == wsseHeader || wsseHeader.isEmpty()) { + return false; + } + + CloseableHttpClient client = HttpClients.custom() + .setSSLContext(new SSLContextBuilder().loadTrustMaterial(null, + (x509CertChain, authType) -> true).build()) + .setSSLHostnameVerifier(NoopHostnameVerifier.INSTANCE) + .build(); + + //请求方法POST + HttpResponse response = client.execute(RequestBuilder.create("POST") + .setUri(url) + .addHeader(HttpHeaders.CONTENT_TYPE, "application/x-www-form-urlencoded") + .addHeader(HttpHeaders.AUTHORIZATION, AUTH_HEADER_VALUE) + .addHeader("X-WSSE", wsseHeader) + .setEntity(new StringEntity(body)).build()); + + //打印响应消息实体 + String entity = EntityUtils.toString(response.getEntity()); + HwSmsRoot hwSmsRoot = JSONObject.parseObject(entity, HwSmsRoot.class); + //000000代表请求成功 + if(!hwSmsRoot.getCode().equals("000000")){ + log.info("华为云短信发送失败,错误码:"+hwSmsRoot.getCode()); + return false; + } + log.info("华为云短信发送成功"); + } catch (Exception e) { + e.printStackTrace(); + log.info("华为云短信发送失败:"+e); + return false; + } + + return true; + } +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/factory/sms/impl/QcloudSmsFactoryService.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/factory/sms/impl/QcloudSmsFactoryService.java new file mode 100644 index 0000000..b41454b --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/factory/sms/impl/QcloudSmsFactoryService.java @@ -0,0 +1,113 @@ +package net.jjjerp.common.factory.sms.impl; + +import com.alibaba.fastjson.JSONObject; +import com.tencentcloudapi.common.Credential; +import com.tencentcloudapi.common.exception.TencentCloudSDKException; +import com.tencentcloudapi.common.profile.ClientProfile; +import com.tencentcloudapi.common.profile.HttpProfile; +import com.tencentcloudapi.sms.v20210111.SmsClient; +import com.tencentcloudapi.sms.v20210111.models.SendSmsRequest; +import com.tencentcloudapi.sms.v20210111.models.SendSmsResponse; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.common.enums.SettingEnum; +import net.jjjerp.common.factory.sms.SmsFactoryService; +import net.jjjerp.common.settings.vo.SmsVo; +import net.jjjerp.common.util.SettingUtils; +import net.jjjerp.framework.common.exception.BusinessException; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +/** + * 阿里云短信工厂类,暂时只接入了阿里云,便于后续扩展 + */ +@Slf4j +@Service +public class QcloudSmsFactoryService extends SmsFactoryService { + @Autowired + private SettingUtils settingUtils; + + /** + * 更新商品库存 (针对下单减库存的商品) + */ + public Boolean sendSms(String mobile, String templateCode, JSONObject templateParam) { + try { + JSONObject vo = settingUtils.getSetting(SettingEnum.SMS.getKey(), null); + SmsVo smsVo = JSONObject.toJavaObject(vo, SmsVo.class); + if (StringUtils.isEmpty(smsVo.getQcloudSms().getTemplateCode())) { + throw new BusinessException("短信登录未开启"); + } + //实例化一个认证对象,入参需要传入腾讯云账户密钥对 secretId 和 secretKey + Credential cred = new Credential(smsVo.getQcloudSms().getSecretId(), smsVo.getQcloudSms().getSecretKey()); + + // 实例化一个http选项,可选,没有特殊需求可以跳过 + HttpProfile httpProfile = new HttpProfile(); + // 设置代理(无需要直接忽略) + httpProfile.setReqMethod("POST"); + /* SDK有默认的超时时间,非必要请不要进行调整 + * 如有需要请在代码中查阅以获取最新的默认值 */ + httpProfile.setConnTimeout(60); + /* 指定接入地域域名,默认就近地域接入域名为 sms.tencentcloudapi.com ,也支持指定地域域名访问,例如广州地域的域名为 sms.ap-guangzhou.tencentcloudapi.com */ + httpProfile.setEndpoint("sms.tencentcloudapi.com"); + + /* 非必要步骤: + * 实例化一个客户端配置对象,可以指定超时时间等配置 */ + ClientProfile clientProfile = new ClientProfile(); + /* SDK默认用TC3-HMAC-SHA256进行签名 + * 非必要请不要修改这个字段 */ + clientProfile.setSignMethod("HmacSHA256"); + clientProfile.setHttpProfile(httpProfile); + /* 实例化要请求产品(以sms为例)的client对象 + * 第二个参数是地域信息,可以直接填写字符串ap-guangzhou,支持的地域列表参考 https://cloud.tencent.com/document/api/382/52071#.E5.9C.B0.E5.9F.9F.E5.88.97.E8.A1.A8 */ + SmsClient client = new SmsClient(cred, "ap-guangzhou",clientProfile); + // 实例化一个请求对象,根据调用的接口和实际情况,可以进一步设置请求参数 + SendSmsRequest req = new SendSmsRequest(); + + // 填充请求参数,这里 request 对象的成员变量即对应接口的入参 + String sdkAppId = smsVo.getQcloudSms().getAccessKeyId(); + req.setSmsSdkAppId(sdkAppId); + + /* 短信签名内容: 使用 UTF-8 编码,必须填写已审核通过的签名 */ + // 签名信息可前往 [国内短信](https://console.cloud.tencent.com/smsv2/csms-sign) 或 [国际/港澳台短信](https://console.cloud.tencent.com/smsv2/isms-sign) 的签名管理查看 + String signName = smsVo.getQcloudSms().getSign(); + req.setSignName(signName); + + /* 模板 ID: 必须填写已审核通过的模板 ID */ + // 模板 ID 可前往 [国内短信](https://console.cloud.tencent.com/smsv2/csms-template) 或 [国际/港澳台短信](https://console.cloud.tencent.com/smsv2/isms-template) 的正文模板管理查看 + String templateId = smsVo.getQcloudSms().getTemplateCode(); + req.setTemplateId(templateId); + + /* 模板参数: 模板参数的个数需要与 TemplateId 对应模板的变量个数保持一致,若无模板参数,则设置为空 */ + String[] templateParamSet = {templateParam.getString("code")}; + req.setTemplateParamSet(templateParamSet); + + /* 下发手机号码,采用 E.164 标准,+[国家或地区码][手机号] + * 示例如:+8613711112222, 其中前面有一个+号 ,86为国家码,13711112222为手机号,最多不要超过200个手机号 */ + String[] phoneNumberSet = {"+86"+mobile}; + req.setPhoneNumberSet(phoneNumberSet); + + /* 用户的 session 内容(无需要可忽略): 可以携带用户侧 ID 等上下文信息,server 会原样返回 */ + String sessionContext = ""; + req.setSessionContext(sessionContext); + + /* 短信码号扩展号(无需要可忽略): 默认未开通,如需开通请联系 [腾讯云短信小助手] */ + String extendCode = ""; + req.setExtendCode(extendCode); + + /* 国际/港澳台短信 SenderId(无需要可忽略): 国内短信填空,默认未开通,如需开通请联系 [腾讯云短信小助手] */ + String senderid = ""; + req.setSenderId(senderid); + + /* 通过 client 对象调用 SendSms 方法发起请求。注意请求方法名与请求对象是对应的 + * 返回的 res 是一个 SendSmsResponse 类的实例,与请求对象对应 */ + SendSmsResponse res = client.SendSms(req); + + // 输出json格式的字符串回包 + System.out.println(SendSmsResponse.toJsonString(res)); + } catch (TencentCloudSDKException e) { + log.info("腾讯云短信发送错误:"+e); + return false; + } + return true; + } +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/factory/upload/UploadFactory.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/factory/upload/UploadFactory.java new file mode 100644 index 0000000..8d789ec --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/factory/upload/UploadFactory.java @@ -0,0 +1,23 @@ +package net.jjjerp.common.factory.upload; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import java.util.Map; + +/** + * 文件上传工厂 + */ +@Component +public class UploadFactory { + + private static final String packageName = "net.jjjerp.common.factory.upload.impl.%sUploadServiceImpl"; + + @Autowired + private Map uploadMap;//关键在这个,原理:当一个接口有多个实现类的时候,key为实现类名,value为实现类对象 + + public UploadFactoryService getService(String storageType) { + String className = String.format(packageName, storageType); + return uploadMap.get(className); + } +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/factory/upload/UploadFactoryService.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/factory/upload/UploadFactoryService.java new file mode 100644 index 0000000..bb1bd16 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/factory/upload/UploadFactoryService.java @@ -0,0 +1,14 @@ +package net.jjjerp.common.factory.upload; + +import org.springframework.web.multipart.MultipartFile; + +/** + * 文件上传接口类 + */ +public interface UploadFactoryService { + /** + * 文件上传,返回文件路径 + * @return + */ + void upload(MultipartFile multipartFile, String saveFileName) throws Exception; +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/factory/upload/impl/AliYunUploadServiceImpl.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/factory/upload/impl/AliYunUploadServiceImpl.java new file mode 100644 index 0000000..ef70b7b --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/factory/upload/impl/AliYunUploadServiceImpl.java @@ -0,0 +1,61 @@ +package net.jjjerp.common.factory.upload.impl; + +import com.alibaba.fastjson.JSONObject; +import com.aliyun.oss.OSS; +import com.aliyun.oss.OSSClientBuilder; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.common.enums.SettingEnum; +import net.jjjerp.common.factory.upload.UploadFactoryService; +import net.jjjerp.common.settings.vo.StorageVo; +import net.jjjerp.common.util.SettingUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Lazy; +import org.springframework.stereotype.Service; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; +import org.springframework.web.multipart.MultipartFile; + +import javax.servlet.http.HttpServletRequest; + +/** + * 文件七牛上传类 + */ +@Slf4j +@Service +public class AliYunUploadServiceImpl implements UploadFactoryService { + @Lazy + @Autowired + private SettingUtils settingUtils; + /** + * 阿里云OSS文件上传,返回文件路径 + * @return + */ + public void upload(MultipartFile multipartFile, String saveFileName) throws Exception{ + StorageVo storageVo; + // 获取当前的HttpServletRequest对象 + ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes(); + HttpServletRequest request = attributes.getRequest(); + // 请求路径 /api/saas/file/upload/image + String path = request.getRequestURI(); + if(path.startsWith("/api/saas/file/upload/image")){ + //获取admin端配置 + JSONObject vo = settingUtils.getSetting(SettingEnum.SYS_CONFIG.getKey(), 0L); + JSONObject storage = vo.getJSONObject("storageVo"); + storageVo = JSONObject.toJavaObject(storage, StorageVo.class); + }else { + //获取shop端配置 + JSONObject vo = settingUtils.getSetting(SettingEnum.STORAGE.getKey(), null); + storageVo = JSONObject.toJavaObject(vo, StorageVo.class); + } + + // 创建OSSClient实例。 + OSS ossClient = new OSSClientBuilder().build(storageVo.getAliYun().getEndpoint(), + storageVo.getAliYun().getAccessKeyId(), storageVo.getAliYun().getAccessKeySecret()); + + // 上传文件流。 + ossClient.putObject(storageVo.getAliYun().getBucket(), saveFileName, multipartFile.getInputStream()); + + // 关闭OSSClient。 + ossClient.shutdown(); + } +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/factory/upload/impl/HwCloudUploadServiceImpl.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/factory/upload/impl/HwCloudUploadServiceImpl.java new file mode 100644 index 0000000..d16d1f3 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/factory/upload/impl/HwCloudUploadServiceImpl.java @@ -0,0 +1,64 @@ +package net.jjjerp.common.factory.upload.impl; + + +import cn.hutool.core.lang.UUID; +import com.alibaba.fastjson.JSONObject; +import com.obs.services.ObsClient; +import com.obs.services.model.ObjectMetadata; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.common.enums.SettingEnum; +import net.jjjerp.common.factory.upload.UploadFactoryService; +import net.jjjerp.common.settings.vo.StorageVo; +import net.jjjerp.common.util.SettingUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Lazy; +import org.springframework.stereotype.Service; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; +import org.springframework.web.multipart.MultipartFile; + +import javax.servlet.http.HttpServletRequest; +import java.io.InputStream; + +/** + * 文件华为云上传类 + */ +@Slf4j +@Service +public class HwCloudUploadServiceImpl implements UploadFactoryService { + @Lazy + @Autowired + private SettingUtils settingUtils; + /** + * 华为云OBS文件上传,返回文件路径 + * @return + */ + public void upload(MultipartFile file, String saveFileName) throws Exception{ + StorageVo storageVo; + // 获取当前的HttpServletRequest对象 + ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes(); + HttpServletRequest request = attributes.getRequest(); + // 请求路径 /api/saas/file/upload/image + String path = request.getRequestURI(); + if(path.startsWith("/api/saas/file/upload/image")){ + //获取admin端配置 + JSONObject vo = settingUtils.getSetting(SettingEnum.SYS_CONFIG.getKey(), 0L); + JSONObject storage = vo.getJSONObject("storageVo"); + storageVo = JSONObject.toJavaObject(storage, StorageVo.class); + }else { + //获取shop端配置 + JSONObject vo = settingUtils.getSetting(SettingEnum.STORAGE.getKey(), null); + storageVo = JSONObject.toJavaObject(vo, StorageVo.class); + } + + // 创建ObsClient实例 + ObsClient obsClient = new ObsClient(storageVo.getHwCloud().getAccessKeyId(), storageVo.getHwCloud().getAccessKeySecret(), storageVo.getHwCloud().getEndPoint()); + if(file!=null ){ + InputStream content = file.getInputStream();//获得指定文件的输入流 + ObjectMetadata meta = new ObjectMetadata();// 创建上传Object的Metadata + meta.setContentLength(file.getSize()); // 必须设置ContentLength + obsClient.putObject(storageVo.getHwCloud().getBucketName(),saveFileName,content,meta);// 上传Object. + } + + } +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/factory/upload/impl/LocalUploadServiceImpl.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/factory/upload/impl/LocalUploadServiceImpl.java new file mode 100644 index 0000000..9bcca40 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/factory/upload/impl/LocalUploadServiceImpl.java @@ -0,0 +1,58 @@ +package net.jjjerp.common.factory.upload.impl; + +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.config.properties.SpringBootJjjProperties; +import net.jjjerp.common.factory.upload.UploadFactoryService; +import org.apache.commons.io.FileUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Lazy; +import org.springframework.stereotype.Service; +import org.springframework.web.multipart.MultipartFile; + +import java.io.File; +import java.io.InputStream; + +/** + * 文件本地上传类 + */ +@Slf4j +@Service +public class LocalUploadServiceImpl implements UploadFactoryService { + @Lazy + @Autowired + private SpringBootJjjProperties springBootJjjProperties; + /** + * 文件上传,返回文件路径 + * @return + */ + public void upload(MultipartFile multipartFile, String saveFileName) throws Exception{ + // 获取输入流 + InputStream inputStream = multipartFile.getInputStream(); + // 文件保存目录 + File saveDir = new File(springBootJjjProperties.getUploadPath()); + // 判断目录是否存在,不存在,则创建,如创建失败,则抛出异常 + if (!saveDir.exists()) { + boolean flag = saveDir.mkdirs(); + if (!flag) { + throw new RuntimeException("创建" + saveDir + "目录失败!"); + } + } + + File saveFile = new File(saveDir, saveFileName); + // 保存文件到服务器指定路径 + FileUtils.copyToFile(inputStream, saveFile); + } + + /** + * 删除删除的文件 + * + * @param uploadPath + * @param saveFileName + */ + public void deleteQuietly(String uploadPath, String saveFileName) { + File saveDir = new File(springBootJjjProperties.getUploadPath()); + File saveFile = new File(saveDir, saveFileName); + log.debug("删除文件:" + saveFile); + FileUtils.deleteQuietly(saveFile); + } +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/factory/upload/impl/QCloudUploadServiceImpl.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/factory/upload/impl/QCloudUploadServiceImpl.java new file mode 100644 index 0000000..1dd039f --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/factory/upload/impl/QCloudUploadServiceImpl.java @@ -0,0 +1,64 @@ +package net.jjjerp.common.factory.upload.impl; + +import com.alibaba.fastjson.JSONObject; +import com.qcloud.cos.COSClient; +import com.qcloud.cos.ClientConfig; +import com.qcloud.cos.auth.BasicCOSCredentials; +import com.qcloud.cos.auth.COSCredentials; +import com.qcloud.cos.model.PutObjectRequest; +import com.qcloud.cos.region.Region; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.common.enums.SettingEnum; +import net.jjjerp.common.factory.upload.UploadFactoryService; +import net.jjjerp.common.settings.vo.StorageVo; +import net.jjjerp.common.util.SettingUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Lazy; +import org.springframework.stereotype.Service; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; +import org.springframework.web.multipart.MultipartFile; + +import javax.servlet.http.HttpServletRequest; + +/** + * 文件腾讯云上传类 + */ +@Slf4j +@Service +public class QCloudUploadServiceImpl implements UploadFactoryService { + @Lazy + @Autowired + private SettingUtils settingUtils; + /** + * 文件上传,返回文件路径 + * @return + */ + public void upload(MultipartFile multipartFile, String saveFileName) throws Exception{ + + StorageVo storageVo; + // 获取当前的HttpServletRequest对象 + ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes(); + HttpServletRequest request = attributes.getRequest(); + // 请求路径 /api/saas/file/upload/image + String path = request.getRequestURI(); + if(path.startsWith("/api/saas/file/upload/image")){ + //获取admin端配置 + JSONObject vo = settingUtils.getSetting(SettingEnum.SYS_CONFIG.getKey(), 0L); + JSONObject storage = vo.getJSONObject("storageVo"); + storageVo = JSONObject.toJavaObject(storage, StorageVo.class); + }else { + //获取shop端配置 + JSONObject vo = settingUtils.getSetting(SettingEnum.STORAGE.getKey(), null); + storageVo = JSONObject.toJavaObject(vo, StorageVo.class); + } + + COSCredentials cred = new BasicCOSCredentials(storageVo.getQCloud().getSecretId(), storageVo.getQCloud().getSecretKey()); + Region region = new Region(storageVo.getQCloud().getRegion()); + ClientConfig clientConfig = new ClientConfig(region); + COSClient cosClient = new COSClient(cred, clientConfig); + + PutObjectRequest putObjectRequest = new PutObjectRequest(storageVo.getQCloud().getBucket(), saveFileName, multipartFile.getInputStream(), null); + cosClient.putObject(putObjectRequest); + } +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/factory/upload/impl/QiNiuUploadServiceImpl.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/factory/upload/impl/QiNiuUploadServiceImpl.java new file mode 100644 index 0000000..baae6f1 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/factory/upload/impl/QiNiuUploadServiceImpl.java @@ -0,0 +1,64 @@ +package net.jjjerp.common.factory.upload.impl; + +import com.alibaba.fastjson.JSONObject; +import com.qiniu.http.Response; +import com.qiniu.storage.Configuration; +import com.qiniu.storage.Region; +import com.qiniu.storage.UploadManager; +import com.qiniu.util.Auth; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.common.enums.SettingEnum; +import net.jjjerp.common.settings.vo.StorageVo; +import net.jjjerp.common.util.SettingUtils; +import net.jjjerp.common.factory.upload.UploadFactoryService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Lazy; +import org.springframework.stereotype.Service; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; +import org.springframework.web.multipart.MultipartFile; + +import javax.servlet.http.HttpServletRequest; + +/** + * 文件七牛上传类 + */ +@Slf4j +@Service +public class QiNiuUploadServiceImpl implements UploadFactoryService { + @Lazy + @Autowired + private SettingUtils settingUtils; + /** + * 文件上传,返回文件路径 + * @return + */ + public void upload(MultipartFile multipartFile, String saveFileName) throws Exception{ + Configuration cfg = new Configuration(Region.autoRegion()); + + StorageVo storageVo; + // 获取当前的HttpServletRequest对象 + ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes(); + HttpServletRequest request = attributes.getRequest(); + // 请求路径 /api/saas/file/upload/image + String path = request.getRequestURI(); + if(path.startsWith("/api/saas/file/upload/image")){ + //获取admin端配置 + JSONObject vo = settingUtils.getSetting(SettingEnum.SYS_CONFIG.getKey(), 0L); + JSONObject storage = vo.getJSONObject("storageVo"); + storageVo = JSONObject.toJavaObject(storage, StorageVo.class); + }else { + //获取shop端配置 + JSONObject vo = settingUtils.getSetting(SettingEnum.STORAGE.getKey(), null); + storageVo = JSONObject.toJavaObject(vo, StorageVo.class); + } + + // 其他参数参考类注释 + UploadManager uploadManager = new UploadManager(cfg); + Auth auth = Auth.create(storageVo.getQiNiu().getAccessKey(), storageVo.getQiNiu().getSecretKey()); + String upToken = auth.uploadToken(storageVo.getQiNiu().getBucket()); + + Response response = uploadManager.put(multipartFile.getBytes(), saveFileName, upToken); + response.close(); + } +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/interceptor/JjjTenantLineInnerInterceptor.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/interceptor/JjjTenantLineInnerInterceptor.java new file mode 100644 index 0000000..b06b30b --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/interceptor/JjjTenantLineInnerInterceptor.java @@ -0,0 +1,419 @@ +package net.jjjerp.common.interceptor; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.parser.SqlParserHelper; +import com.baomidou.mybatisplus.core.plugins.InterceptorIgnoreHelper; +import com.baomidou.mybatisplus.core.toolkit.ClassUtils; +import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; +import com.baomidou.mybatisplus.core.toolkit.ExceptionUtils; +import com.baomidou.mybatisplus.core.toolkit.PluginUtils; +import com.baomidou.mybatisplus.core.toolkit.PluginUtils.MPBoundSql; +import com.baomidou.mybatisplus.core.toolkit.PluginUtils.MPStatementHandler; +import com.baomidou.mybatisplus.extension.parser.JsqlParserSupport; +import com.baomidou.mybatisplus.extension.plugins.handler.TenantLineHandler; +import com.baomidou.mybatisplus.extension.plugins.inner.InnerInterceptor; +import com.baomidou.mybatisplus.extension.toolkit.PropertyMapper; +import net.jjjerp.config.constant.CommonRedisKey; +import net.jjjerp.framework.common.exception.BusinessException; +import net.jjjerp.framework.core.bean.RequestDetail; +import net.jjjerp.framework.core.util.RequestDetailThreadLocal; +import net.sf.jsqlparser.expression.BinaryExpression; +import net.sf.jsqlparser.expression.Expression; +import net.sf.jsqlparser.expression.NotExpression; +import net.sf.jsqlparser.expression.Parenthesis; +import net.sf.jsqlparser.expression.operators.conditional.AndExpression; +import net.sf.jsqlparser.expression.operators.conditional.OrExpression; +import net.sf.jsqlparser.expression.operators.relational.*; +import net.sf.jsqlparser.schema.Column; +import net.sf.jsqlparser.schema.Table; +import net.sf.jsqlparser.statement.delete.Delete; +import net.sf.jsqlparser.statement.insert.Insert; +import net.sf.jsqlparser.statement.select.*; +import net.sf.jsqlparser.statement.update.Update; +import org.apache.ibatis.executor.Executor; +import org.apache.ibatis.executor.statement.StatementHandler; +import org.apache.ibatis.mapping.BoundSql; +import org.apache.ibatis.mapping.MappedStatement; +import org.apache.ibatis.mapping.SqlCommandType; +import org.apache.ibatis.session.ResultHandler; +import org.apache.ibatis.session.RowBounds; +import org.springframework.data.redis.core.RedisTemplate; + +import java.sql.Connection; +import java.sql.SQLException; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Properties; + +public class JjjTenantLineInnerInterceptor extends JsqlParserSupport implements InnerInterceptor { + private TenantLineHandler tenantLineHandler; + // 当前环境 + private String env; + // redis + private RedisTemplate redisTemplate; + // 是否带appid,通过设置comment实现 + private boolean notWithAppId = false; + public void beforeQuery(Executor executor, MappedStatement ms, Object parameter, RowBounds rowBounds, ResultHandler resultHandler, BoundSql boundSql) throws SQLException { + this.notWithAppId = false; + //获取参数 + if(boundSql.getParameterObject() instanceof Map){ + Map map = (HashMap)boundSql.getParameterObject(); + for(Map.Entry entry : map.entrySet()){ + if(entry.getValue() instanceof LambdaQueryWrapper) { + LambdaQueryWrapper mapValue = (LambdaQueryWrapper) entry.getValue(); + if ("/*notWithAppId*/".equalsIgnoreCase(mapValue.getSqlComment())) { + this.notWithAppId = true; + break; + } + } + } + } + + + if (InterceptorIgnoreHelper.willIgnoreTenantLine(ms.getId()) + || Long.parseLong(this.tenantLineHandler.getTenantId().toString()) == 0 + || this.notWithAppId) { + return; + } + + if (!SqlParserHelper.getSqlParserInfo(ms)) { + MPBoundSql mpBs = PluginUtils.mpBoundSql(boundSql); + mpBs.sql(this.parserSingle(mpBs.sql(), (Object)null)); + } + } + + public void beforePrepare(StatementHandler sh, Connection connection, Integer transactionTimeout) { + MPStatementHandler mpSh = PluginUtils.mpStatementHandler(sh); + MappedStatement ms = mpSh.mappedStatement(); + SqlCommandType sct = ms.getSqlCommandType(); + if (sct == SqlCommandType.INSERT || sct == SqlCommandType.UPDATE || sct == SqlCommandType.DELETE) { + // 如果是uat环境,不准操作delete + if(env.equals("uat")){ + RequestDetail requestDetail = RequestDetailThreadLocal.getRequestDetail(); + // 有可能是定时任务 + if(requestDetail != null){ + String ip = (String)redisTemplate.opsForValue().get(CommonRedisKey.UAT_IP); + if(sct == SqlCommandType.UPDATE || sct == SqlCommandType.DELETE){ + if(requestDetail.getPath().startsWith("/api/admin/")){ + // 如果是admin,并且是白名单可以操作 + if (requestDetail.getUserName().equals("admin") && !requestDetail.getIp().equals(ip)) { + throw new BusinessException("演示环境,数据不允许删除"); + } + if (requestDetail.getUserName().equals("test") && requestDetail.getPath().equals("/api/admin/passport/editPass")) { + throw new BusinessException("演示环境,test账户不允许修改密码"); + } + }else if(requestDetail.getPath().startsWith("/api/saas/")){ + if (!requestDetail.getIp().equals(ip)) { + throw new BusinessException("演示环境,数据不允许修改"); + } + } + } + } + } + if (InterceptorIgnoreHelper.willIgnoreTenantLine(ms.getId()) + || Long.parseLong(this.tenantLineHandler.getTenantId().toString()) == 0) { + return; + } + + if (SqlParserHelper.getSqlParserInfo(ms)) { + return; + } + + MPBoundSql mpBs = mpSh.mPBoundSql(); + mpBs.sql(this.parserMulti(mpBs.sql(), (Object)null)); + } + + } + + protected void processSelect(Select select, int index, String sql, Object obj) { + this.processSelectBody(select.getSelectBody()); + List withItemsList = select.getWithItemsList(); + if (!CollectionUtils.isEmpty(withItemsList)) { + withItemsList.forEach(this::processSelectBody); + } + + } + + protected void processSelectBody(SelectBody selectBody) { + if (selectBody != null) { + if (selectBody instanceof PlainSelect) { + this.processPlainSelect((PlainSelect)selectBody); + } else if (selectBody instanceof WithItem) { + WithItem withItem = (WithItem)selectBody; + this.processSelectBody(withItem.getSelectBody()); + } else { + SetOperationList operationList = (SetOperationList)selectBody; + if (operationList.getSelects() != null && operationList.getSelects().size() > 0) { + operationList.getSelects().forEach(this::processSelectBody); + } + } + + } + } + + protected void processInsert(Insert insert, int index, String sql, Object obj) { + if (!this.tenantLineHandler.ignoreTable(insert.getTable().getName())) { + List columns = insert.getColumns(); + if (!CollectionUtils.isEmpty(columns)) { + String tenantIdColumn = this.tenantLineHandler.getTenantIdColumn(); + if (!columns.stream().map(Column::getColumnName).anyMatch((i) -> { + return i.equals(tenantIdColumn); + })) { + columns.add(new Column(this.tenantLineHandler.getTenantIdColumn())); + Select select = insert.getSelect(); + if (select != null) { + this.processInsertSelect(select.getSelectBody()); + } else { + if (insert.getItemsList() == null) { + throw ExceptionUtils.mpe("Failed to process multiple-table update, please exclude the tableName or statementId", new Object[0]); + } + + ItemsList itemsList = insert.getItemsList(); + if (itemsList instanceof MultiExpressionList) { + ((MultiExpressionList)itemsList).getExprList().forEach((el) -> { + el.getExpressions().add(this.tenantLineHandler.getTenantId()); + }); + } else { + ((ExpressionList)itemsList).getExpressions().add(this.tenantLineHandler.getTenantId()); + } + } + + } + } + } + } + + protected void processUpdate(Update update, int index, String sql, Object obj) { + Table table = update.getTable(); + if (!this.tenantLineHandler.ignoreTable(table.getName())) { + update.setWhere(this.andExpression(table, update.getWhere())); + } + } + + protected void processDelete(Delete delete, int index, String sql, Object obj) { + if (!this.tenantLineHandler.ignoreTable(delete.getTable().getName())) { + delete.setWhere(this.andExpression(delete.getTable(), delete.getWhere())); + } + } + + protected BinaryExpression andExpression(Table table, Expression where) { + EqualsTo equalsTo = new EqualsTo(); + equalsTo.setLeftExpression(this.getAliasColumn(table)); + equalsTo.setRightExpression(this.tenantLineHandler.getTenantId()); + if (null != where) { + return where instanceof OrExpression ? new AndExpression(equalsTo, new Parenthesis(where)) : new AndExpression(equalsTo, where); + } else { + return equalsTo; + } + } + + protected void processInsertSelect(SelectBody selectBody) { + PlainSelect plainSelect = (PlainSelect)selectBody; + FromItem fromItem = plainSelect.getFromItem(); + if (fromItem instanceof Table) { + Table fromTable = (Table)fromItem; + plainSelect.setWhere(this.builderExpression(plainSelect.getWhere(), fromTable)); + this.appendSelectItem(plainSelect.getSelectItems()); + } else if (fromItem instanceof SubSelect) { + SubSelect subSelect = (SubSelect)fromItem; + this.appendSelectItem(plainSelect.getSelectItems()); + this.processInsertSelect(subSelect.getSelectBody()); + } + + } + + protected void appendSelectItem(List selectItems) { + if (!CollectionUtils.isEmpty(selectItems)) { + if (selectItems.size() == 1) { + SelectItem item = (SelectItem)selectItems.get(0); + if (item instanceof AllColumns || item instanceof AllTableColumns) { + return; + } + } + + selectItems.add(new SelectExpressionItem(new Column(this.tenantLineHandler.getTenantIdColumn()))); + } + } + + protected void processPlainSelect(PlainSelect plainSelect) { + FromItem fromItem = plainSelect.getFromItem(); + Expression where = plainSelect.getWhere(); + this.processWhereSubSelect(where); + if (fromItem instanceof Table) { + Table fromTable = (Table)fromItem; + if (!this.tenantLineHandler.ignoreTable(fromTable.getName())) { + plainSelect.setWhere(this.builderExpression(where, fromTable)); + } + } else { + this.processFromItem(fromItem); + } + + List joins = plainSelect.getJoins(); + if (joins != null && joins.size() > 0) { + joins.forEach((j) -> { + this.processJoin(j); + this.processFromItem(j.getRightItem()); + }); + } + + } + + protected void processWhereSubSelect(Expression where) { + if (where != null) { + if (where instanceof FromItem) { + this.processFromItem((FromItem)where); + } else { + if (where.toString().indexOf("SELECT") > 0) { + if (where instanceof BinaryExpression) { + BinaryExpression expression = (BinaryExpression)where; + this.processWhereSubSelect(expression.getLeftExpression()); + this.processWhereSubSelect(expression.getRightExpression()); + } else if (where instanceof InExpression) { + InExpression expression = (InExpression)where; + ItemsList itemsList = expression.getRightItemsList(); + if (itemsList instanceof SubSelect) { + this.processSelectBody(((SubSelect)itemsList).getSelectBody()); + } + } else if (where instanceof ExistsExpression) { + ExistsExpression expression = (ExistsExpression)where; + this.processWhereSubSelect(expression.getRightExpression()); + } else if (where instanceof NotExpression) { + NotExpression expression = (NotExpression)where; + this.processWhereSubSelect(expression.getExpression()); + } else if (where instanceof Parenthesis) { + Parenthesis expression = (Parenthesis)where; + this.processWhereSubSelect(expression.getExpression()); + } + } + + } + } + } + + protected void processFromItem(FromItem fromItem) { + if (fromItem instanceof SubJoin) { + SubJoin subJoin = (SubJoin)fromItem; + if (subJoin.getJoinList() != null) { + subJoin.getJoinList().forEach(this::processJoin); + } + + if (subJoin.getLeft() != null) { + this.processFromItem(subJoin.getLeft()); + } + } else if (fromItem instanceof SubSelect) { + SubSelect subSelect = (SubSelect)fromItem; + if (subSelect.getSelectBody() != null) { + this.processSelectBody(subSelect.getSelectBody()); + } + } else if (fromItem instanceof ValuesList) { + this.logger.debug("Perform a subquery, if you do not give us feedback"); + } else if (fromItem instanceof LateralSubSelect) { + LateralSubSelect lateralSubSelect = (LateralSubSelect)fromItem; + if (lateralSubSelect.getSubSelect() != null) { + SubSelect subSelect = lateralSubSelect.getSubSelect(); + if (subSelect.getSelectBody() != null) { + this.processSelectBody(subSelect.getSelectBody()); + } + } + } + + } + + protected void processJoin(Join join) { + if (join.getRightItem() instanceof Table) { + Table fromTable = (Table)join.getRightItem(); + if (this.tenantLineHandler.ignoreTable(fromTable.getName())) { + return; + } + + join.setOnExpression(this.builderExpression(join.getOnExpression(), fromTable)); + } + + } + + protected Expression builderExpression(Expression currentExpression, Table table) { + EqualsTo equalsTo = new EqualsTo(); + equalsTo.setLeftExpression(this.getAliasColumn(table)); + equalsTo.setRightExpression(this.tenantLineHandler.getTenantId()); + if (currentExpression == null) { + return equalsTo; + } else { + return currentExpression instanceof OrExpression ? new AndExpression(new Parenthesis(currentExpression), equalsTo) : new AndExpression(currentExpression, equalsTo); + } + } + + protected Column getAliasColumn(Table table) { + StringBuilder column = new StringBuilder(); + if (table.getAlias() != null) { + column.append(table.getAlias().getName()).append("."); + } + + column.append(this.tenantLineHandler.getTenantIdColumn()); + return new Column(column.toString()); + } + + public void setProperties(Properties properties) { + PropertyMapper.newInstance(properties).whenNotBlack("tenantLineHandler", ClassUtils::newInstance, this::setTenantLineHandler); + } + + public TenantLineHandler getTenantLineHandler() { + return this.tenantLineHandler; + } + + public void setTenantLineHandler(final TenantLineHandler tenantLineHandler) { + this.tenantLineHandler = tenantLineHandler; + } + + public JjjTenantLineInnerInterceptor() { + } + + public JjjTenantLineInnerInterceptor(final TenantLineHandler tenantLineHandler, String env, RedisTemplate redisTemplate) { + this.tenantLineHandler = tenantLineHandler; + this.env = env; + this.redisTemplate = redisTemplate; + } + + public String toString() { + return "JjjTenantLineInnerInterceptor(super=" + super.toString() + ", tenantLineHandler=" + this.getTenantLineHandler() + ")"; + } + + public boolean equals(final Object o) { + if (o == this) { + return true; + } else if (!(o instanceof net.jjjerp.common.interceptor.JjjTenantLineInnerInterceptor)) { + return false; + } else { + net.jjjerp.common.interceptor.JjjTenantLineInnerInterceptor other = (net.jjjerp.common.interceptor.JjjTenantLineInnerInterceptor)o; + if (!other.canEqual(this)) { + return false; + } else if (!super.equals(o)) { + return false; + } else { + Object this$tenantLineHandler = this.getTenantLineHandler(); + Object other$tenantLineHandler = other.getTenantLineHandler(); + if (this$tenantLineHandler == null) { + if (other$tenantLineHandler != null) { + return false; + } + } else if (!this$tenantLineHandler.equals(other$tenantLineHandler)) { + return false; + } + + return true; + } + } + } + + protected boolean canEqual(final Object other) { + return other instanceof net.jjjerp.common.interceptor.JjjTenantLineInnerInterceptor; + } + + public int hashCode() { + boolean PRIME = true; + int result = super.hashCode(); + Object $tenantLineHandler = this.getTenantLineHandler(); + result = result * 59 + ($tenantLineHandler == null ? 43 : $tenantLineHandler.hashCode()); + return result; + } +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/admin/SaasUserMapper.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/admin/SaasUserMapper.java new file mode 100644 index 0000000..e5f4912 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/admin/SaasUserMapper.java @@ -0,0 +1,13 @@ +package net.jjjerp.common.mapper.admin; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import net.jjjerp.common.entity.admin.SaasUser; +import org.springframework.stereotype.Repository; + +/** + * 系统用户 Mapper 接口 + */ +@Repository +public interface SaasUserMapper extends BaseMapper { + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/app/AppMapper.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/app/AppMapper.java new file mode 100644 index 0000000..b140d93 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/app/AppMapper.java @@ -0,0 +1,16 @@ +package net.jjjerp.common.mapper.app; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import net.jjjerp.common.entity.app.App; +import org.springframework.stereotype.Repository; + +/** + * 微信小程序记录表 Mapper 接口 + * + * @author jjjerp + * @since 2022-06-23 + */ +@Repository +public interface AppMapper extends BaseMapper { + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/app/AppMpMapper.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/app/AppMpMapper.java new file mode 100644 index 0000000..8425f93 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/app/AppMpMapper.java @@ -0,0 +1,19 @@ +package net.jjjerp.common.mapper.app; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import net.jjjerp.common.entity.app.AppMp; + +import org.springframework.stereotype.Repository; + + +/** + * 微信公众号记录表 Mapper 接口 + * + * @author jjjerp + * @since 2022-07-27 + */ +@Repository +public interface AppMpMapper extends BaseMapper { + + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/app/AppOpenMapper.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/app/AppOpenMapper.java new file mode 100644 index 0000000..7863fff --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/app/AppOpenMapper.java @@ -0,0 +1,19 @@ +package net.jjjerp.common.mapper.app; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import net.jjjerp.common.entity.app.AppOpen; + +import org.springframework.stereotype.Repository; + + +/** + * app应用记录表 Mapper 接口 + * + * @author jjjerp + * @since 2022-07-27 + */ +@Repository +public interface AppOpenMapper extends BaseMapper { + + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/app/AppUpdateMapper.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/app/AppUpdateMapper.java new file mode 100644 index 0000000..51fde5d --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/app/AppUpdateMapper.java @@ -0,0 +1,19 @@ +package net.jjjerp.common.mapper.app; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import net.jjjerp.common.entity.app.AppUpdate; + +import org.springframework.stereotype.Repository; + + +/** + * app升级记录表 Mapper 接口 + * + * @author jjjerp + * @since 2022-07-27 + */ +@Repository +public interface AppUpdateMapper extends BaseMapper { + + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/app/AppWxMapper.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/app/AppWxMapper.java new file mode 100644 index 0000000..a3a464d --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/app/AppWxMapper.java @@ -0,0 +1,19 @@ +package net.jjjerp.common.mapper.app; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import net.jjjerp.common.entity.app.AppWx; + +import org.springframework.stereotype.Repository; + + +/** + * 微信小程序记录表 Mapper 接口 + * + * @author jjjerp + * @since 2022-07-03 + */ +@Repository +public interface AppWxMapper extends BaseMapper { + + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/bill/BillAddressMapper.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/bill/BillAddressMapper.java new file mode 100644 index 0000000..3727d91 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/bill/BillAddressMapper.java @@ -0,0 +1,19 @@ +package net.jjjerp.common.mapper.bill; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import net.jjjerp.common.entity.bill.BillAddress; + +import org.springframework.stereotype.Repository; + + +/** + * 用户收货地址表 Mapper 接口 + * + * @author jjjerp + * @since 2024-06-06 + */ +@Repository +public interface BillAddressMapper extends BaseMapper { + + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/bill/BillDeliveryMapper.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/bill/BillDeliveryMapper.java new file mode 100644 index 0000000..2e921c6 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/bill/BillDeliveryMapper.java @@ -0,0 +1,19 @@ +package net.jjjerp.common.mapper.bill; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import net.jjjerp.common.entity.bill.BillDelivery; + +import org.springframework.stereotype.Repository; + + +/** + * 单据物流表 Mapper 接口 + * + * @author jjjerp + * @since 2024-05-07 + */ +@Repository +public interface BillDeliveryMapper extends BaseMapper { + + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/bill/BillHeadMapper.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/bill/BillHeadMapper.java new file mode 100644 index 0000000..b45ed44 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/bill/BillHeadMapper.java @@ -0,0 +1,24 @@ +package net.jjjerp.common.mapper.bill; + +import com.baomidou.mybatisplus.annotation.InterceptorIgnore; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import net.jjjerp.common.entity.bill.BillHead; + +import net.jjjerp.common.param.CommonPageParam; +import net.jjjerp.common.vo.statement.DealVo; +import net.jjjerp.common.vo.statement.ProductBoardVo; +import org.springframework.stereotype.Repository; + +import java.util.List; +import java.util.Map; + + +/** + * 单据主表 Mapper 接口 + * + * @author jjjerp + * @since 2024-05-07 + */ +@Repository +public interface BillHeadMapper extends BaseMapper { +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/bill/BillItemMapper.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/bill/BillItemMapper.java new file mode 100644 index 0000000..7ad4e22 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/bill/BillItemMapper.java @@ -0,0 +1,19 @@ +package net.jjjerp.common.mapper.bill; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import net.jjjerp.common.entity.bill.BillItem; + +import org.springframework.stereotype.Repository; + + +/** + * 单据子表 Mapper 接口 + * + * @author jjjerp + * @since 2024-05-07 + */ +@Repository +public interface BillItemMapper extends BaseMapper { + + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/customer/CustomerAddressMapper.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/customer/CustomerAddressMapper.java new file mode 100644 index 0000000..5eed5b0 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/customer/CustomerAddressMapper.java @@ -0,0 +1,19 @@ +package net.jjjerp.common.mapper.customer; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import net.jjjerp.common.entity.customer.CustomerAddress; + +import org.springframework.stereotype.Repository; + + +/** + * 用户收货地址表 Mapper 接口 + * + * @author jjjerp + * @since 2024-04-22 + */ +@Repository +public interface CustomerAddressMapper extends BaseMapper { + + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/customer/CustomerMapper.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/customer/CustomerMapper.java new file mode 100644 index 0000000..58f2814 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/customer/CustomerMapper.java @@ -0,0 +1,19 @@ +package net.jjjerp.common.mapper.customer; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import net.jjjerp.common.entity.customer.Customer; + +import org.springframework.stereotype.Repository; + + +/** + * 客户记录表 Mapper 接口 + * + * @author jjjerp + * @since 2024-04-22 + */ +@Repository +public interface CustomerMapper extends BaseMapper { + + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/depot/DeliverAreaMapper.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/depot/DeliverAreaMapper.java new file mode 100644 index 0000000..bfb9fba --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/depot/DeliverAreaMapper.java @@ -0,0 +1,19 @@ +package net.jjjerp.common.mapper.depot; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import net.jjjerp.common.entity.depot.DeliverArea; + +import org.springframework.stereotype.Repository; + + +/** + * 配送区域表 Mapper 接口 + * + * @author jjjerp + * @since 2024-04-29 + */ +@Repository +public interface DeliverAreaMapper extends BaseMapper { + + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/depot/DepotAreaMapper.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/depot/DepotAreaMapper.java new file mode 100644 index 0000000..0d52b4c --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/depot/DepotAreaMapper.java @@ -0,0 +1,19 @@ +package net.jjjerp.common.mapper.depot; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import net.jjjerp.common.entity.depot.DepotArea; + +import org.springframework.stereotype.Repository; + + +/** + * 仓库区域表 Mapper 接口 + * + * @author jjjerp + * @since 2024-04-22 + */ +@Repository +public interface DepotAreaMapper extends BaseMapper { + + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/depot/DepotMapper.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/depot/DepotMapper.java new file mode 100644 index 0000000..bd631b2 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/depot/DepotMapper.java @@ -0,0 +1,19 @@ +package net.jjjerp.common.mapper.depot; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import net.jjjerp.common.entity.depot.Depot; + +import org.springframework.stereotype.Repository; + + +/** + * 仓库表 Mapper 接口 + * + * @author jjjerp + * @since 2024-04-22 + */ +@Repository +public interface DepotMapper extends BaseMapper { + + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/depot/DepotReservoirMapper.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/depot/DepotReservoirMapper.java new file mode 100644 index 0000000..568c993 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/depot/DepotReservoirMapper.java @@ -0,0 +1,19 @@ +package net.jjjerp.common.mapper.depot; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import net.jjjerp.common.entity.depot.DepotReservoir; + +import org.springframework.stereotype.Repository; + + +/** + * 仓库库区表 Mapper 接口 + * + * @author jjjerp + * @since 2024-04-22 + */ +@Repository +public interface DepotReservoirMapper extends BaseMapper { + + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/depot/DepotShelfMapper.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/depot/DepotShelfMapper.java new file mode 100644 index 0000000..ac2cc61 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/depot/DepotShelfMapper.java @@ -0,0 +1,19 @@ +package net.jjjerp.common.mapper.depot; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import net.jjjerp.common.entity.depot.DepotShelf; + +import org.springframework.stereotype.Repository; + + +/** + * 仓库货架表 Mapper 接口 + * + * @author jjjerp + * @since 2024-04-22 + */ +@Repository +public interface DepotShelfMapper extends BaseMapper { + + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/depot/DepotStorageMapper.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/depot/DepotStorageMapper.java new file mode 100644 index 0000000..508168f --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/depot/DepotStorageMapper.java @@ -0,0 +1,19 @@ +package net.jjjerp.common.mapper.depot; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import net.jjjerp.common.entity.depot.DepotStorage; + +import org.springframework.stereotype.Repository; + + +/** + * 仓库货位表 Mapper 接口 + * + * @author jjjerp + * @since 2024-04-22 + */ +@Repository +public interface DepotStorageMapper extends BaseMapper { + + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/depot/DepotStorageStockMapper.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/depot/DepotStorageStockMapper.java new file mode 100644 index 0000000..f12606a --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/depot/DepotStorageStockMapper.java @@ -0,0 +1,19 @@ +package net.jjjerp.common.mapper.depot; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import net.jjjerp.common.entity.depot.DepotStorageStock; + +import org.springframework.stereotype.Repository; + + +/** + * 仓库货位库存表 Mapper 接口 + * + * @author jjjerp + * @since 2024-04-22 + */ +@Repository +public interface DepotStorageStockMapper extends BaseMapper { + + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/file/ImageBankMapper.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/file/ImageBankMapper.java new file mode 100644 index 0000000..e142698 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/file/ImageBankMapper.java @@ -0,0 +1,18 @@ +package net.jjjerp.common.mapper.file; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import net.jjjerp.common.entity.file.ImageBank; +import org.springframework.stereotype.Repository; + + +/** + * 系统图库表 Mapper 接口 + * + * @author jjjerp + * @since 2023-10-31 + */ +@Repository +public interface ImageBankMapper extends BaseMapper { + + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/file/UploadFileMapper.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/file/UploadFileMapper.java new file mode 100644 index 0000000..9a12997 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/file/UploadFileMapper.java @@ -0,0 +1,19 @@ +package net.jjjerp.common.mapper.file; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import net.jjjerp.common.entity.file.UploadFile; + +import org.springframework.stereotype.Repository; + + +/** + * 文件库记录表 Mapper 接口 + * + * @author jjjerp + * @since 2022-06-28 + */ +@Repository +public interface UploadFileMapper extends BaseMapper { + + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/file/UploadGroupMapper.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/file/UploadGroupMapper.java new file mode 100644 index 0000000..2ce34d6 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/file/UploadGroupMapper.java @@ -0,0 +1,18 @@ +package net.jjjerp.common.mapper.file; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import net.jjjerp.common.entity.file.UploadGroup; + +import org.springframework.stereotype.Repository; + + +/** + * 文件库分组记录表 Mapper 接口 + * + * @author jjjerp + * @since 2022-06-28 + */ +@Repository +public interface UploadGroupMapper extends BaseMapper { + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/finance/capital/AccountMapper.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/finance/capital/AccountMapper.java new file mode 100644 index 0000000..faae441 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/finance/capital/AccountMapper.java @@ -0,0 +1,19 @@ +package net.jjjerp.common.mapper.finance.capital; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import net.jjjerp.common.entity.finance.capital.Account; + +import org.springframework.stereotype.Repository; + + +/** + * 收支账户表 Mapper 接口 + * + * @author jjjerp + * @since 2024-05-07 + */ +@Repository +public interface AccountMapper extends BaseMapper { + + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/finance/capital/AccountMoneyLogMapper.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/finance/capital/AccountMoneyLogMapper.java new file mode 100644 index 0000000..1f8ff44 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/finance/capital/AccountMoneyLogMapper.java @@ -0,0 +1,19 @@ +package net.jjjerp.common.mapper.finance.capital; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import net.jjjerp.common.entity.finance.capital.AccountMoneyLog; + +import org.springframework.stereotype.Repository; + + +/** + * 账户资金变动明细表 Mapper 接口 + * + * @author jjjerp + * @since 2024-05-09 + */ +@Repository +public interface AccountMoneyLogMapper extends BaseMapper { + + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/page/CenterMenuMapper.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/page/CenterMenuMapper.java new file mode 100644 index 0000000..7c52b5c --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/page/CenterMenuMapper.java @@ -0,0 +1,19 @@ +package net.jjjerp.common.mapper.page; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import net.jjjerp.common.entity.page.CenterMenu; + +import org.springframework.stereotype.Repository; + + +/** + * 个人中心菜单 Mapper 接口 + * + * @author jjjerp + * @since 2022-07-29 + */ +@Repository +public interface CenterMenuMapper extends BaseMapper { + + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/page/PageCategoryMapper.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/page/PageCategoryMapper.java new file mode 100644 index 0000000..106791a --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/page/PageCategoryMapper.java @@ -0,0 +1,19 @@ +package net.jjjerp.common.mapper.page; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import net.jjjerp.common.entity.page.PageCategory; + +import org.springframework.stereotype.Repository; + + +/** + * app分类页模板 Mapper 接口 + * + * @author jjjerp + * @since 2022-07-28 + */ +@Repository +public interface PageCategoryMapper extends BaseMapper { + + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/page/PageMapper.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/page/PageMapper.java new file mode 100644 index 0000000..f447285 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/page/PageMapper.java @@ -0,0 +1,19 @@ +package net.jjjerp.common.mapper.page; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import net.jjjerp.common.entity.page.Page; + +import org.springframework.stereotype.Repository; + + +/** + * diy页面表 Mapper 接口 + * + * @author jjjerp + * @since 2022-07-28 + */ +@Repository +public interface PageMapper extends BaseMapper { + + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/product/ProductAttributeMapper.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/product/ProductAttributeMapper.java new file mode 100644 index 0000000..50e84e1 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/product/ProductAttributeMapper.java @@ -0,0 +1,19 @@ +package net.jjjerp.common.mapper.product; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import net.jjjerp.common.entity.product.ProductAttribute; + +import org.springframework.stereotype.Repository; + + +/** + * 产品属性表 Mapper 接口 + * + * @author jjjerp + * @since 2024-04-12 + */ +@Repository +public interface ProductAttributeMapper extends BaseMapper { + + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/product/ProductCategoryMapper.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/product/ProductCategoryMapper.java new file mode 100644 index 0000000..d9d6efe --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/product/ProductCategoryMapper.java @@ -0,0 +1,19 @@ +package net.jjjerp.common.mapper.product; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import net.jjjerp.common.entity.product.ProductCategory; + +import org.springframework.stereotype.Repository; + + +/** + * 产品类型表 Mapper 接口 + * + * @author jjjerp + * @since 2024-04-12 + */ +@Repository +public interface ProductCategoryMapper extends BaseMapper { + + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/product/ProductDeputyUnitMapper.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/product/ProductDeputyUnitMapper.java new file mode 100644 index 0000000..12c89ec --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/product/ProductDeputyUnitMapper.java @@ -0,0 +1,19 @@ +package net.jjjerp.common.mapper.product; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import net.jjjerp.common.entity.product.ProductDeputyUnit; + +import org.springframework.stereotype.Repository; + + +/** + * 商品副单位表 Mapper 接口 + * + * @author jjjerp + * @since 2024-06-27 + */ +@Repository +public interface ProductDeputyUnitMapper extends BaseMapper { + + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/product/ProductExtendMapper.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/product/ProductExtendMapper.java new file mode 100644 index 0000000..3d28695 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/product/ProductExtendMapper.java @@ -0,0 +1,19 @@ +package net.jjjerp.common.mapper.product; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import net.jjjerp.common.entity.product.ProductExtend; + +import org.springframework.stereotype.Repository; + + +/** + * 产品价格扩展 Mapper 接口 + * + * @author jjjerp + * @since 2024-04-12 + */ +@Repository +public interface ProductExtendMapper extends BaseMapper { + + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/product/ProductImageMapper.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/product/ProductImageMapper.java new file mode 100644 index 0000000..4746359 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/product/ProductImageMapper.java @@ -0,0 +1,19 @@ +package net.jjjerp.common.mapper.product; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import net.jjjerp.common.entity.product.ProductImage; + +import org.springframework.stereotype.Repository; + + +/** + * 商品图片记录表 Mapper 接口 + * + * @author jjjerp + * @since 2024-04-16 + */ +@Repository +public interface ProductImageMapper extends BaseMapper { + + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/product/ProductMapper.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/product/ProductMapper.java new file mode 100644 index 0000000..72feeac --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/product/ProductMapper.java @@ -0,0 +1,17 @@ +package net.jjjerp.common.mapper.product; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import net.jjjerp.common.entity.product.Product; + +import org.springframework.stereotype.Repository; + + +/** + * 产品表 Mapper 接口 + * + * @author jjjerp + * @since 2024-04-12 + */ +@Repository +public interface ProductMapper extends BaseMapper { +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/product/ProductMfrsMapper.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/product/ProductMfrsMapper.java new file mode 100644 index 0000000..da9ed83 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/product/ProductMfrsMapper.java @@ -0,0 +1,19 @@ +package net.jjjerp.common.mapper.product; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import net.jjjerp.common.entity.product.ProductMfrs; + +import org.springframework.stereotype.Repository; + + +/** + * 产品品牌表 Mapper 接口 + * + * @author jjjerp + * @since 2024-04-15 + */ +@Repository +public interface ProductMfrsMapper extends BaseMapper { + + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/product/ProductUnitMapper.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/product/ProductUnitMapper.java new file mode 100644 index 0000000..c330be8 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/product/ProductUnitMapper.java @@ -0,0 +1,19 @@ +package net.jjjerp.common.mapper.product; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import net.jjjerp.common.entity.product.ProductUnit; + +import org.springframework.stereotype.Repository; + + +/** + * 多单位表 Mapper 接口 + * + * @author jjjerp + * @since 2024-04-12 + */ +@Repository +public interface ProductUnitMapper extends BaseMapper { + + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/settings/DeliveryMapper.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/settings/DeliveryMapper.java new file mode 100644 index 0000000..f77ac47 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/settings/DeliveryMapper.java @@ -0,0 +1,19 @@ +package net.jjjerp.common.mapper.settings; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import net.jjjerp.common.entity.settings.Delivery; + +import org.springframework.stereotype.Repository; + + +/** + * 配送模板主表 Mapper 接口 + * + * @author jjjerp + * @since 2022-06-29 + */ +@Repository +public interface DeliveryMapper extends BaseMapper { + + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/settings/DeliveryRuleMapper.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/settings/DeliveryRuleMapper.java new file mode 100644 index 0000000..5b0a145 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/settings/DeliveryRuleMapper.java @@ -0,0 +1,19 @@ +package net.jjjerp.common.mapper.settings; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import net.jjjerp.common.entity.settings.DeliveryRule; + +import org.springframework.stereotype.Repository; + + +/** + * 配送模板区域及运费表 Mapper 接口 + * + * @author jjjerp + * @since 2022-06-29 + */ +@Repository +public interface DeliveryRuleMapper extends BaseMapper { + + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/settings/DeliveryTemplateMapper.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/settings/DeliveryTemplateMapper.java new file mode 100644 index 0000000..cdcdec1 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/settings/DeliveryTemplateMapper.java @@ -0,0 +1,18 @@ +package net.jjjerp.common.mapper.settings; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import net.jjjerp.common.entity.settings.DeliveryTemplate; +import org.springframework.stereotype.Repository; + + +/** + * 电子面单模板主表 Mapper 接口 + * + * @author jjjerp + * @since 2023-12-02 + */ +@Repository +public interface DeliveryTemplateMapper extends BaseMapper { + + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/settings/ExpressMapper.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/settings/ExpressMapper.java new file mode 100644 index 0000000..cc02d34 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/settings/ExpressMapper.java @@ -0,0 +1,19 @@ +package net.jjjerp.common.mapper.settings; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import net.jjjerp.common.entity.settings.Express; + +import org.springframework.stereotype.Repository; + + +/** + * 物流公司记录表 Mapper 接口 + * + * @author jjjerp + * @since 2022-07-19 + */ +@Repository +public interface ExpressMapper extends BaseMapper { + + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/settings/LabelSettingMapper.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/settings/LabelSettingMapper.java new file mode 100644 index 0000000..5b78a07 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/settings/LabelSettingMapper.java @@ -0,0 +1,18 @@ +package net.jjjerp.common.mapper.settings; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import net.jjjerp.common.entity.settings.LabelSetting; +import org.springframework.stereotype.Repository; + + +/** + * 电子面单设置主表 Mapper 接口 + * + * @author jjjerp + * @since 2023-12-05 + */ +@Repository +public interface LabelSettingMapper extends BaseMapper { + + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/settings/MessageFieldMapper.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/settings/MessageFieldMapper.java new file mode 100644 index 0000000..9cc4283 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/settings/MessageFieldMapper.java @@ -0,0 +1,18 @@ +package net.jjjerp.common.mapper.settings; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import net.jjjerp.common.entity.settings.MessageField; + +import org.springframework.stereotype.Repository; + +/** + * 应用消息字段表 Mapper 接口 + * + * @author jjjerp + * @since 2022-06-24 + */ +@Repository +public interface MessageFieldMapper extends BaseMapper { + + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/settings/MessageMapper.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/settings/MessageMapper.java new file mode 100644 index 0000000..13ecef1 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/settings/MessageMapper.java @@ -0,0 +1,17 @@ +package net.jjjerp.common.mapper.settings; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import net.jjjerp.common.entity.settings.Message; +import org.springframework.stereotype.Repository; + +/** + * 应用消息表 Mapper 接口 + * + * @author jjjerp + * @since 2022-06-24 + */ +@Repository +public interface MessageMapper extends BaseMapper { + + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/settings/MessageSettingsMapper.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/settings/MessageSettingsMapper.java new file mode 100644 index 0000000..683fd84 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/settings/MessageSettingsMapper.java @@ -0,0 +1,18 @@ +package net.jjjerp.common.mapper.settings; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import net.jjjerp.common.entity.settings.MessageSettings; + +import org.springframework.stereotype.Repository; + +/** + * 应用消息设置表 Mapper 接口 + * + * @author jjjerp + * @since 2022-06-24 + */ +@Repository +public interface MessageSettingsMapper extends BaseMapper { + + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/settings/PrinterMapper.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/settings/PrinterMapper.java new file mode 100644 index 0000000..d2de7ae --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/settings/PrinterMapper.java @@ -0,0 +1,17 @@ +package net.jjjerp.common.mapper.settings; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import net.jjjerp.common.entity.settings.Printer; +import org.springframework.stereotype.Repository; + + +/** + * 小票打印机记录表 Mapper 接口 + * + * @author jjjerp + * @since 2022-07-19 + */ +@Repository +public interface PrinterMapper extends BaseMapper{ + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/settings/RegionMapper.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/settings/RegionMapper.java new file mode 100644 index 0000000..07dbba7 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/settings/RegionMapper.java @@ -0,0 +1,18 @@ +package net.jjjerp.common.mapper.settings; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import net.jjjerp.common.entity.settings.Region; + +import org.springframework.stereotype.Repository; + +/** + * Mapper 接口 + * + * @author jjjerp + * @since 2022-06-24 + */ +@Repository +public interface RegionMapper extends BaseMapper { + + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/settings/ReturnAddressMapper.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/settings/ReturnAddressMapper.java new file mode 100644 index 0000000..83028d4 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/settings/ReturnAddressMapper.java @@ -0,0 +1,19 @@ +package net.jjjerp.common.mapper.settings; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import net.jjjerp.common.entity.settings.ReturnAddress; + +import org.springframework.stereotype.Repository; + + +/** + * 退货地址记录表 Mapper 接口 + * + * @author jjjerp + * @since 2022-07-20 + */ +@Repository +public interface ReturnAddressMapper extends BaseMapper { + + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/settings/SettingMapper.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/settings/SettingMapper.java new file mode 100644 index 0000000..b9dc937 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/settings/SettingMapper.java @@ -0,0 +1,17 @@ +package net.jjjerp.common.mapper.settings; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import net.jjjerp.common.entity.settings.Setting; +import org.springframework.stereotype.Repository; + +/** + * 商城设置记录表 Mapper 接口 + * + * @author jjjerp + * @since 2022-06-24 + */ +@Repository +public interface SettingMapper extends BaseMapper { + + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/shop/ShopAccessMapper.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/shop/ShopAccessMapper.java new file mode 100644 index 0000000..2b3746e --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/shop/ShopAccessMapper.java @@ -0,0 +1,16 @@ +package net.jjjerp.common.mapper.shop; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import net.jjjerp.common.entity.shop.AdminAccess; +import org.springframework.stereotype.Repository; + +/** + * 商家用户权限表 Mapper 接口 + * + * @author jjjerp + * @since 2022-06-22 + */ +@Repository +public interface ShopAccessMapper extends BaseMapper { + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/shop/ShopLoginLogMapper.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/shop/ShopLoginLogMapper.java new file mode 100644 index 0000000..c4bf8ec --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/shop/ShopLoginLogMapper.java @@ -0,0 +1,19 @@ +package net.jjjerp.common.mapper.shop; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import net.jjjerp.common.entity.shop.AdminLoginLog; + +import org.springframework.stereotype.Repository; + + +/** + * 管理员登录记录表 Mapper 接口 + * + * @author jjjerp + * @since 2022-08-15 + */ +@Repository +public interface ShopLoginLogMapper extends BaseMapper { + + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/shop/ShopOptLogMapper.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/shop/ShopOptLogMapper.java new file mode 100644 index 0000000..d0931fe --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/shop/ShopOptLogMapper.java @@ -0,0 +1,19 @@ +package net.jjjerp.common.mapper.shop; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import net.jjjerp.common.entity.shop.AdminOptLog; + +import org.springframework.stereotype.Repository; + + +/** + * 管理员操作记录表 Mapper 接口 + * + * @author jjjerp + * @since 2022-08-15 + */ +@Repository +public interface ShopOptLogMapper extends BaseMapper { + + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/shop/ShopRoleAccessMapper.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/shop/ShopRoleAccessMapper.java new file mode 100644 index 0000000..3c92aad --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/shop/ShopRoleAccessMapper.java @@ -0,0 +1,19 @@ +package net.jjjerp.common.mapper.shop; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import net.jjjerp.common.entity.shop.AdminRoleAccess; + +import org.springframework.stereotype.Repository; + + +/** + * 商家用户角色权限关系表 Mapper 接口 + * + * @author jjjerp + * @since 2022-07-09 + */ +@Repository +public interface ShopRoleAccessMapper extends BaseMapper { + + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/shop/ShopRoleMapper.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/shop/ShopRoleMapper.java new file mode 100644 index 0000000..c6504b5 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/shop/ShopRoleMapper.java @@ -0,0 +1,18 @@ +package net.jjjerp.common.mapper.shop; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import net.jjjerp.common.entity.shop.AdminRole; + +import org.springframework.stereotype.Repository; + + +/** + * 商家用户角色表 Mapper 接口 + * + * @author jjjerp + * @since 2022-07-09 + */ +@Repository +public interface ShopRoleMapper extends BaseMapper { + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/shop/ShopUserMapper.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/shop/ShopUserMapper.java new file mode 100644 index 0000000..c469f06 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/shop/ShopUserMapper.java @@ -0,0 +1,15 @@ +package net.jjjerp.common.mapper.shop; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import net.jjjerp.common.entity.shop.AdminUser; +import org.springframework.stereotype.Repository; + +/** + * 商家用户记录表 Mapper 接口 + * + * @author jjjerp + * @since 2022-06-23 + */ +@Repository +public interface ShopUserMapper extends BaseMapper { +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/shop/ShopUserRoleMapper.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/shop/ShopUserRoleMapper.java new file mode 100644 index 0000000..7150046 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/shop/ShopUserRoleMapper.java @@ -0,0 +1,17 @@ +package net.jjjerp.common.mapper.shop; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import net.jjjerp.common.entity.shop.AdminUserRole; +import org.springframework.stereotype.Repository; + + +/** + * 商家用户角色记录表 Mapper 接口 + * + * @author jjjerp + * @since 2022-07-09 + */ +@Repository +public interface ShopUserRoleMapper extends BaseMapper { + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/store/StoreMapper.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/store/StoreMapper.java new file mode 100644 index 0000000..0b054e8 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/store/StoreMapper.java @@ -0,0 +1,19 @@ +package net.jjjerp.common.mapper.store; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import net.jjjerp.common.entity.store.Store; + +import org.springframework.stereotype.Repository; + + +/** + * 供应商/客户信息表 Mapper 接口 + * + * @author jjjerp + * @since 2024-04-19 + */ +@Repository +public interface StoreMapper extends BaseMapper { + + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/supplier/SupplierMapper.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/supplier/SupplierMapper.java new file mode 100644 index 0000000..ad051cf --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/supplier/SupplierMapper.java @@ -0,0 +1,19 @@ +package net.jjjerp.common.mapper.supplier; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import net.jjjerp.common.entity.supplier.Supplier; + +import org.springframework.stereotype.Repository; + + +/** + * 供应商/客户信息表 Mapper 接口 + * + * @author jjjerp + * @since 2024-04-18 + */ +@Repository +public interface SupplierMapper extends BaseMapper { + + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/system/SystemVersionMapper.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/system/SystemVersionMapper.java new file mode 100644 index 0000000..1861e48 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/mapper/system/SystemVersionMapper.java @@ -0,0 +1,17 @@ +package net.jjjerp.common.mapper.system; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import net.jjjerp.common.entity.system.SystemVersion; +import org.springframework.stereotype.Repository; + +/** + * 系统信息表 Mapper 接口 + * + * @author jjjerp + * @since 2022-06-22 + */ +@Repository +public interface SystemVersionMapper extends BaseMapper { + + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/param/CommonPageParam.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/param/CommonPageParam.java new file mode 100644 index 0000000..1fce9ca --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/param/CommonPageParam.java @@ -0,0 +1,146 @@ +package net.jjjerp.common.param; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import net.jjjerp.framework.core.pagination.BasePageOrderParam; +import net.jjjerp.framework.core.validator.groups.Update; + +import javax.validation.constraints.NotBlank; +import java.util.List; + + +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = true) +@ApiModel(value = "公共分页查询参数", description = "没有参数的分页") +public class CommonPageParam extends BasePageOrderParam { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("搜索条件") + private String search; + + @ApiModelProperty("名称") + private String name; + + @ApiModelProperty("客户昵称") + private String nickName; + + @ApiModelProperty("手机号") + private String phone; + + @ApiModelProperty("是否启用,0停用,1启用") + private Integer enabled; + + @ApiModelProperty("是否启用,0停用,1启用") + private Integer state; + + @ApiModelProperty("调拨类型,0待出库,1待入库") + private Integer allot; + + @ApiModelProperty("类型") + private Integer type; + + @ApiModelProperty("编码") + private String code; + + @ApiModelProperty("仓库id") + private Long depotId; + + @ApiModelProperty("区域id") + private Integer areaId; + + @ApiModelProperty("库区id") + private Integer reservoirId; + + @ApiModelProperty("货架id") + private Integer depotShelfId; + + @ApiModelProperty("商品规格id") + private Long productExtendId; + + @ApiModelProperty("单据类型") + private Integer billType; + + @ApiModelProperty("单据类型字符串") + private String billTypeStr; + + @ApiModelProperty("供应商id") + private Long supplierId; + + @ApiModelProperty("审核状态,10待审核20通过30拒绝") + private Integer auditStatus; + + @ApiModelProperty("单据状态,0未采购、1完成采购|销售、2部分采购|销售单待发货,3已关闭,4异常,5待配货,6已发货") + private Integer purchaseStatus; + + @ApiModelProperty("规格条码") + private String extendBarCode; + + @ApiModelProperty("规格编码") + private String productExtendCode; + + @ApiModelProperty("多属性") + private String sku; + + @ApiModelProperty("货号") + private String accountNum; + + @ApiModelProperty("商品条码") + private String barCode; + + @ApiModelProperty("商品编码") + private String productCode; + + @ApiModelProperty("仓库ID数组") + private List depotIdList; + + @ApiModelProperty("品牌") + private Integer mfrs; + + @ApiModelProperty("product_id") + private Long productId; + + @ApiModelProperty("查询日期") + private List time; + + @ApiModelProperty("客户id") + private Integer customerId; + + @ApiModelProperty("账户ID") + private Long accountId; + + @ApiModelProperty("店铺id") + private Long storeId; + + @ApiModelProperty("查询日期类型,0记账时间,1业务日期") + private int timeType; + + @ApiModelProperty("收支方向,1支出,2收入") + private Integer directionType; + + @ApiModelProperty("交易往来单位,0其他,1客户,2供应商,3快递") + private Integer tradingUnit; + + @ApiModelProperty("物流公司id") + private Integer expressId; + + @ApiModelProperty("单据编号") + private String codeNum; + + @ApiModelProperty("应用Id") + private Integer appId; + + @ApiModelProperty("查询报表日期类型,0最近一周,1最近一个月,3本年") + private int dateType; + + @ApiModelProperty("开始搜索时间") + private String startDate; + + @ApiModelProperty("结束搜索时间") + private String endDate; +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/param/ImageBankPageParam.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/param/ImageBankPageParam.java new file mode 100644 index 0000000..e02b631 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/param/ImageBankPageParam.java @@ -0,0 +1,24 @@ + + +package net.jjjerp.common.param; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import net.jjjerp.framework.core.pagination.BasePageOrderParam; + +/** + * 系统图库 查询参数对象 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = true) +@ApiModel(value = "UploadFilePageParam对象", description = "app查询参数") +public class ImageBankPageParam extends BasePageOrderParam { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("上级id") + private Integer parentId; +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/param/ImportOrderParam.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/param/ImportOrderParam.java new file mode 100644 index 0000000..014e973 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/param/ImportOrderParam.java @@ -0,0 +1,24 @@ +package net.jjjerp.common.param; + +import lombok.Data; +import net.jjjerp.common.util.excel.ExcelImport; + +@Data +public class ImportOrderParam { + private static final long serialVersionUID = 1L; + + @ExcelImport(value = "订单编号") + private String orderNo; + + @ExcelImport(value = "物流公司") + private String expressName; + + @ExcelImport(value = "物流单号") + private String expressNo; + + //错误提示 + private String rowTips; + +} + + diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/param/LabelCanceParam.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/param/LabelCanceParam.java new file mode 100644 index 0000000..1656be5 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/param/LabelCanceParam.java @@ -0,0 +1,33 @@ +package net.jjjerp.common.param; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.experimental.Accessors; + +import java.io.Serializable; + +@Data +@Accessors(chain = true) +@ApiModel(value = "LabelCancelParam对象", description = "电子面单取消参数") +public class LabelCanceParam implements Serializable { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("订单Id") + private Integer orderId; + + @ApiModelProperty("物流公司Id") + private Integer expressId; + + @ApiModelProperty("电子面单设置Id") + private Integer labelSettingId; + + @ApiModelProperty("物流单号") + private String expressNo; + + @ApiModelProperty("电子面单订单号") + private String kdOrderNum; + + @ApiModelProperty("appId") + private Long appId; +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/param/SignParam.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/param/SignParam.java new file mode 100644 index 0000000..73b9233 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/param/SignParam.java @@ -0,0 +1,28 @@ +package net.jjjerp.common.param; + +import com.alibaba.fastjson.JSONArray; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.experimental.Accessors; + +import java.io.Serializable; + +/** + * 模板参数 + */ +@Data +@Accessors(chain = true) +@ApiModel(value = "模板参数对象", description = "模板参数对象") +public class SignParam implements Serializable { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("支付渠道来源") + private String paySource; + + @ApiModelProperty("url") + private String url; + + @ApiModelProperty("appId") + private Long appId; +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/param/TemplateData.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/param/TemplateData.java new file mode 100644 index 0000000..98a2042 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/param/TemplateData.java @@ -0,0 +1,10 @@ +package net.jjjerp.common.param; + +import lombok.AllArgsConstructor; +import lombok.Data; + +@AllArgsConstructor +@Data +public class TemplateData { + private String value; +} \ No newline at end of file diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/param/WxMssVO.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/param/WxMssVO.java new file mode 100644 index 0000000..5c804c4 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/param/WxMssVO.java @@ -0,0 +1,25 @@ +package net.jjjerp.common.param; + +import lombok.Data; + +import java.util.Map; + +@Data +public class WxMssVO { + /** + * 用户openid + */ + private String touser; + /** + * 订阅消息模版id + */ + private String template_id; + /** + * 默认跳到小程序首页 + */ + private String page; + /** + * 推送文字 + */ + private Map data; +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/param/depot/StorageParam.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/param/depot/StorageParam.java new file mode 100644 index 0000000..55dcf35 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/param/depot/StorageParam.java @@ -0,0 +1,79 @@ + + +package net.jjjerp.common.param.depot; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.experimental.Accessors; +import net.jjjerp.framework.core.validator.groups.Update; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; +import java.io.Serializable; + +/** + * StorageParam参数对象 + */ +@Data +@Accessors(chain = true) +@ApiModel(value = "StorageParam", description = "StorageParam") +public class StorageParam implements Serializable { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("仓库id") + @NotNull(message = "仓库id不能为空") + private Long depotId; + + @ApiModelProperty("库区id") + @NotNull(message = "库区id不能为空") + private Integer reservoirId; + + @ApiModelProperty("货架id") + private Integer sheifId; + + @ApiModelProperty("库区名称") + @NotBlank(message = "库区名称不能为空") + private String reservoirName; + + @ApiModelProperty("货位类型,1拣货货位,2存储货位,3异常货位") + @NotNull(message = "货位类型不能为空") + private Integer storageType; + + @ApiModelProperty("巷道名称") + @NotNull(message = "巷道名称不能为空") + private Integer row; + + @ApiModelProperty("巷道数量") + @NotNull(message = "巷道数量不能为空") + private Integer addRow; + + @ApiModelProperty("架名称") + @NotNull(message = "架名称不能为空") + private Integer columns; + + @ApiModelProperty("架数量") + @NotNull(message = "架数量不能为空") + private Integer addCol; + + @ApiModelProperty("层名称") + @NotNull(message = "层名称不能为空") + private Integer floor; + + @ApiModelProperty("层数量") + @NotNull(message = "层数量不能为空") + private Integer addFloor; + + @ApiModelProperty("格名称") + @NotNull(message = "格名称不能为空") + private Integer cell; + + @ApiModelProperty("格数量") + @NotNull(message = "格数量不能为空") + private Integer addCell; + + @ApiModelProperty("类型,0预览,1添加") + @NotNull(message = "类型不能为空") + private Integer type; +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/param/product/CategoryParam.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/param/product/CategoryParam.java new file mode 100644 index 0000000..895970f --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/param/product/CategoryParam.java @@ -0,0 +1,35 @@ + + +package net.jjjerp.common.param.product; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.experimental.Accessors; +import net.jjjerp.framework.core.validator.groups.Update; + +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; +import java.io.Serializable; + +/** + * 部门 查询参数对象 + */ +@Data +@Accessors(chain = true) +@ApiModel(value = "CategoryParam对象", description = "Category新增修改参数") +public class CategoryParam implements Serializable { + private static final long serialVersionUID = 1L; + + @NotNull(message = "id不能为空", groups = {Update.class}) + @ApiModelProperty("主键id") + private Integer categoryId; + + @NotNull(message = "上级分类id不能为空") + @ApiModelProperty("上级分类id") + private Integer parentId; + + @NotEmpty(message = "分类名称不能为空") + @ApiModelProperty("分类名称") + private String name; +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/param/product/ProductPageParam.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/param/product/ProductPageParam.java new file mode 100644 index 0000000..7e26aa3 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/param/product/ProductPageParam.java @@ -0,0 +1,51 @@ + + +package net.jjjerp.common.param.product; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import net.jjjerp.framework.core.pagination.BasePageOrderParam; + +import javax.validation.constraints.NotNull; + +/** + * 商品 查询参数对象 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = true) +@ApiModel(value = "ProductParam对象", description = "商品查询参数") +public class ProductPageParam extends BasePageOrderParam { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("启用 0-禁用 1-启用") + private Integer enabled; + + @ApiModelProperty("商品名称") + private String name; + + @ApiModelProperty("产品类型id") + private Integer categoryId; + + @ApiModelProperty("规格条码") + private String extendBarCode; + + @ApiModelProperty("规格编码") + private String productExtendCode; + + @ApiModelProperty("多属性") + private String sku; + + @ApiModelProperty("商品货号") + private String accountNum; + + @ApiModelProperty("商品条码") + private String barCode; + + @ApiModelProperty("商品编码") + private String productCode; + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/param/product/ProductParam.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/param/product/ProductParam.java new file mode 100644 index 0000000..ef83a7b --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/param/product/ProductParam.java @@ -0,0 +1,31 @@ + + +package net.jjjerp.common.param.product; + +import com.alibaba.fastjson.JSONObject; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.experimental.Accessors; +import net.jjjerp.common.entity.product.Product; +import net.jjjerp.common.entity.product.ProductExtend; +import net.jjjerp.common.entity.product.ProductImage; +import java.util.List; + +/** + * 部门 查询参数对象 + */ +@Data +@Accessors(chain = true) +@ApiModel(value = "ProductParam对象", description = "Product新增修改参数") +public class ProductParam extends Product { + + @ApiModelProperty("图片集合") + private List image; + + @ApiModelProperty("场景,编辑还是复制") + private String scene; + + @ApiModelProperty("商品sku") + private List skuList; +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/param/setting/ExpressPageParam.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/param/setting/ExpressPageParam.java new file mode 100644 index 0000000..f608890 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/param/setting/ExpressPageParam.java @@ -0,0 +1,16 @@ +package net.jjjerp.common.param.setting; + +import io.swagger.annotations.ApiModel; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import net.jjjerp.framework.core.pagination.BasePageOrderParam; + + +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = true) +@ApiModel(value = "物流公司分页查询参数", description = "物流公司分页查询参数") +public class ExpressPageParam extends BasePageOrderParam { + private static final long serialVersionUID = 1L; +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/param/setting/ExpressParam.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/param/setting/ExpressParam.java new file mode 100644 index 0000000..dba321e --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/param/setting/ExpressParam.java @@ -0,0 +1,30 @@ +package net.jjjerp.common.param.setting; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.experimental.Accessors; + +import java.io.Serializable; + +@Data +@Accessors(chain = true) +@ApiModel(value = "物流公司查询参数", description = "物流公司查询参数") +public class ExpressParam implements Serializable { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("物流公司id") + private Integer expressId; + + @ApiModelProperty("物流公司名称") + private String expressName; + + @ApiModelProperty("物流公司代码 (快递100)") + private String expressCode; + + @ApiModelProperty("微信小程序物流公司编码") + private String wxCode; + + @ApiModelProperty("排序 (数字越小越靠前)") + private Integer sort; +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/param/user/UserAddressParam.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/param/user/UserAddressParam.java new file mode 100644 index 0000000..7528398 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/param/user/UserAddressParam.java @@ -0,0 +1,63 @@ +package net.jjjerp.common.param.user; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import net.jjjerp.common.util.excel.ExcelImport; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; +import java.util.Date; + +@Data +public class UserAddressParam implements Serializable { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + private Integer addressId; + + @ApiModelProperty("收货人姓名") + @NotBlank(message = "收货人不能为空") + private String name; + + @ApiModelProperty("手机") + @NotBlank(message = "手机不能为空") + private String phone; + + @ApiModelProperty("固话") + private String fixPhone; + + @ApiModelProperty("省") + private String province; + + @ApiModelProperty("市") + private String city; + + @ApiModelProperty("区") + private String region; + + @ApiModelProperty("邮编") + private String zip; + + @ApiModelProperty("所在省份id") + private Integer provinceId; + + @ApiModelProperty("所在城市id") + private Integer cityId; + + @ApiModelProperty("所在区id") + private Integer regionId; + + @ApiModelProperty("新市辖区(该字段用于记录region表中没有的市辖区)") + private String district; + + @ApiModelProperty("详细地址") + private String detail; + + @ApiModelProperty("用户id") + private Integer userId; + +} + + diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/app/AppMpService.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/app/AppMpService.java new file mode 100644 index 0000000..35e642d --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/app/AppMpService.java @@ -0,0 +1,14 @@ +package net.jjjerp.common.service.app; + +import net.jjjerp.common.entity.app.AppMp; +import net.jjjerp.framework.common.service.BaseService; + +/** + * 微信公众号记录表 服务类 + * + * @author jjjerp + * @since 2022-07-27 + */ +public interface AppMpService extends BaseService { + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/app/AppOpenService.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/app/AppOpenService.java new file mode 100644 index 0000000..07cda4d --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/app/AppOpenService.java @@ -0,0 +1,14 @@ +package net.jjjerp.common.service.app; + +import net.jjjerp.common.entity.app.AppOpen; +import net.jjjerp.framework.common.service.BaseService; + +/** + * app应用记录表 服务类 + * + * @author jjjerp + * @since 2022-07-27 + */ +public interface AppOpenService extends BaseService { + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/app/AppService.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/app/AppService.java new file mode 100644 index 0000000..38c4faf --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/app/AppService.java @@ -0,0 +1,14 @@ +package net.jjjerp.common.service.app; + +import net.jjjerp.common.entity.app.App; +import net.jjjerp.framework.common.service.BaseService; + +/** + * 微信小程序记录表 服务类 + * + * @author jjjerp + * @since 2022-06-23 + */ +public interface AppService extends BaseService { + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/app/AppUpdateService.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/app/AppUpdateService.java new file mode 100644 index 0000000..b6a3411 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/app/AppUpdateService.java @@ -0,0 +1,14 @@ +package net.jjjerp.common.service.app; + +import net.jjjerp.common.entity.app.AppUpdate; +import net.jjjerp.framework.common.service.BaseService; + +/** + * app升级记录表 服务类 + * + * @author jjjerp + * @since 2022-07-27 + */ +public interface AppUpdateService extends BaseService { + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/app/AppWxService.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/app/AppWxService.java new file mode 100644 index 0000000..ed91c07 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/app/AppWxService.java @@ -0,0 +1,14 @@ +package net.jjjerp.common.service.app; + +import net.jjjerp.common.entity.app.AppWx; +import net.jjjerp.framework.common.service.BaseService; + +/** + * 微信小程序记录表 服务类 + * + * @author jjjerp + * @since 2022-07-03 + */ +public interface AppWxService extends BaseService { + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/app/impl/AppMpServiceImpl.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/app/impl/AppMpServiceImpl.java new file mode 100644 index 0000000..4cd4006 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/app/impl/AppMpServiceImpl.java @@ -0,0 +1,21 @@ +package net.jjjerp.common.service.app.impl; + +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.common.entity.app.AppMp; +import net.jjjerp.common.mapper.app.AppMpMapper; +import net.jjjerp.common.service.app.AppMpService; +import net.jjjerp.framework.common.service.impl.BaseServiceImpl; +import org.springframework.stereotype.Service; + +/** + * 微信公众号记录表 服务实现类 + * + * @author jjjerp + * @since 2022-07-27 + */ +@Slf4j +@Service +public class AppMpServiceImpl extends BaseServiceImpl implements AppMpService { + + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/app/impl/AppOpenServiceImpl.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/app/impl/AppOpenServiceImpl.java new file mode 100644 index 0000000..a3698ea --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/app/impl/AppOpenServiceImpl.java @@ -0,0 +1,24 @@ +package net.jjjerp.common.service.app.impl; + +import net.jjjerp.common.entity.app.AppOpen; +import net.jjjerp.common.mapper.app.AppOpenMapper; +import net.jjjerp.common.service.app.AppOpenService; +import net.jjjerp.framework.common.service.impl.BaseServiceImpl; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.beans.factory.annotation.Autowired; + +/** + * app应用记录表 服务实现类 + * + * @author jjjerp + * @since 2022-07-27 + */ +@Slf4j +@Service +public class AppOpenServiceImpl extends BaseServiceImpl implements AppOpenService { + + @Autowired + private AppOpenMapper appOpenMapper; + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/app/impl/AppServiceImpl.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/app/impl/AppServiceImpl.java new file mode 100644 index 0000000..dec6d38 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/app/impl/AppServiceImpl.java @@ -0,0 +1,20 @@ +package net.jjjerp.common.service.app.impl; + +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.common.entity.app.App; +import net.jjjerp.common.mapper.app.AppMapper; +import net.jjjerp.common.service.app.AppService; +import net.jjjerp.framework.common.service.impl.BaseServiceImpl; +import org.springframework.stereotype.Service; + +/** + * 微信小程序记录表 服务实现类 + * + * @author jjjerp + * @since 2022-06-23 + */ +@Slf4j +@Service +public class AppServiceImpl extends BaseServiceImpl implements AppService { + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/app/impl/AppUpdateServiceImpl.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/app/impl/AppUpdateServiceImpl.java new file mode 100644 index 0000000..33e7a04 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/app/impl/AppUpdateServiceImpl.java @@ -0,0 +1,24 @@ +package net.jjjerp.common.service.app.impl; + +import net.jjjerp.common.entity.app.AppUpdate; +import net.jjjerp.common.mapper.app.AppUpdateMapper; +import net.jjjerp.common.service.app.AppUpdateService; +import net.jjjerp.framework.common.service.impl.BaseServiceImpl; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.beans.factory.annotation.Autowired; + +/** + * app升级记录表 服务实现类 + * + * @author jjjerp + * @since 2022-07-27 + */ +@Slf4j +@Service +public class AppUpdateServiceImpl extends BaseServiceImpl implements AppUpdateService { + + @Autowired + private AppUpdateMapper appUpdateMapper; + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/app/impl/AppWxServiceImpl.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/app/impl/AppWxServiceImpl.java new file mode 100644 index 0000000..4eb8bcc --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/app/impl/AppWxServiceImpl.java @@ -0,0 +1,24 @@ +package net.jjjerp.common.service.app.impl; + +import net.jjjerp.common.entity.app.AppWx; +import net.jjjerp.common.mapper.app.AppWxMapper; +import net.jjjerp.common.service.app.AppWxService; +import net.jjjerp.framework.common.service.impl.BaseServiceImpl; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.beans.factory.annotation.Autowired; + +/** + * 微信小程序记录表 服务实现类 + * + * @author jjjerp + * @since 2022-07-03 + */ +@Slf4j +@Service +public class AppWxServiceImpl extends BaseServiceImpl implements AppWxService { + + @Autowired + private AppWxMapper appWxMapper; + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/bill/BillAddressService.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/bill/BillAddressService.java new file mode 100644 index 0000000..259daa0 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/bill/BillAddressService.java @@ -0,0 +1,14 @@ +package net.jjjerp.common.service.bill; + +import net.jjjerp.common.entity.bill.BillAddress; +import net.jjjerp.framework.common.service.BaseService; + +/** + * 用户收货地址表 服务类 + * + * @author jjjerp + * @since 2024-06-06 + */ +public interface BillAddressService extends BaseService { + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/bill/BillDeliveryService.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/bill/BillDeliveryService.java new file mode 100644 index 0000000..e67103a --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/bill/BillDeliveryService.java @@ -0,0 +1,14 @@ +package net.jjjerp.common.service.bill; + +import net.jjjerp.common.entity.bill.BillDelivery; +import net.jjjerp.framework.common.service.BaseService; + +/** + * 单据物流表 服务类 + * + * @author jjjerp + * @since 2024-05-07 + */ +public interface BillDeliveryService extends BaseService { + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/bill/BillHeadService.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/bill/BillHeadService.java new file mode 100644 index 0000000..caf9ee7 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/bill/BillHeadService.java @@ -0,0 +1,23 @@ +package net.jjjerp.common.service.bill; + +import net.jjjerp.common.entity.bill.BillDelivery; +import net.jjjerp.common.entity.bill.BillHead; +import net.jjjerp.common.entity.bill.BillItem; +import net.jjjerp.common.entity.finance.capital.Account; +import net.jjjerp.common.param.CommonPageParam; +import net.jjjerp.common.vo.product.ProductStockVo; +import net.jjjerp.framework.common.service.BaseService; +import net.jjjerp.framework.core.pagination.Paging; + +import java.util.List; +import java.util.Map; + +/** + * 单据主表 服务类 + * + * @author jjjerp + * @since 2024-05-07 + */ +public interface BillHeadService extends BaseService { + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/bill/BillItemService.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/bill/BillItemService.java new file mode 100644 index 0000000..27eee7a --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/bill/BillItemService.java @@ -0,0 +1,14 @@ +package net.jjjerp.common.service.bill; + +import net.jjjerp.common.entity.bill.BillItem; +import net.jjjerp.framework.common.service.BaseService; + +/** + * 单据子表 服务类 + * + * @author jjjerp + * @since 2024-05-07 + */ +public interface BillItemService extends BaseService { + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/bill/impl/BillAddressServiceImpl.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/bill/impl/BillAddressServiceImpl.java new file mode 100644 index 0000000..a65d8a3 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/bill/impl/BillAddressServiceImpl.java @@ -0,0 +1,24 @@ +package net.jjjerp.common.service.bill.impl; + +import net.jjjerp.common.entity.bill.BillAddress; +import net.jjjerp.common.mapper.bill.BillAddressMapper; +import net.jjjerp.common.service.bill.BillAddressService; +import net.jjjerp.framework.common.service.impl.BaseServiceImpl; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.beans.factory.annotation.Autowired; + +/** + * 用户收货地址表 服务实现类 + * + * @author jjjerp + * @since 2024-06-06 + */ +@Slf4j +@Service +public class BillAddressServiceImpl extends BaseServiceImpl implements BillAddressService { + + @Autowired + private BillAddressMapper billAddressMapper; + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/bill/impl/BillDeliveryServiceImpl.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/bill/impl/BillDeliveryServiceImpl.java new file mode 100644 index 0000000..37e0888 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/bill/impl/BillDeliveryServiceImpl.java @@ -0,0 +1,24 @@ +package net.jjjerp.common.service.bill.impl; + +import net.jjjerp.common.entity.bill.BillDelivery; +import net.jjjerp.common.mapper.bill.BillDeliveryMapper; +import net.jjjerp.common.service.bill.BillDeliveryService; +import net.jjjerp.framework.common.service.impl.BaseServiceImpl; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.beans.factory.annotation.Autowired; + +/** + * 单据物流表 服务实现类 + * + * @author jjjerp + * @since 2024-05-07 + */ +@Slf4j +@Service +public class BillDeliveryServiceImpl extends BaseServiceImpl implements BillDeliveryService { + + @Autowired + private BillDeliveryMapper billDeliveryMapper; + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/bill/impl/BillHeadServiceImpl.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/bill/impl/BillHeadServiceImpl.java new file mode 100644 index 0000000..4426c4a --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/bill/impl/BillHeadServiceImpl.java @@ -0,0 +1,21 @@ +package net.jjjerp.common.service.bill.impl; + + +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.common.entity.bill.BillHead; +import net.jjjerp.common.mapper.bill.BillHeadMapper; +import net.jjjerp.common.service.bill.BillHeadService; +import net.jjjerp.framework.common.service.impl.BaseServiceImpl; +import org.springframework.stereotype.Service; + +/** + * 单据主表 服务实现类 + * + * @author jjjerp + * @since 2024-05-07 + */ +@Slf4j +@Service +public class BillHeadServiceImpl extends BaseServiceImpl implements BillHeadService { + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/bill/impl/BillItemServiceImpl.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/bill/impl/BillItemServiceImpl.java new file mode 100644 index 0000000..e86fdee --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/bill/impl/BillItemServiceImpl.java @@ -0,0 +1,24 @@ +package net.jjjerp.common.service.bill.impl; + +import net.jjjerp.common.entity.bill.BillItem; +import net.jjjerp.common.mapper.bill.BillItemMapper; +import net.jjjerp.common.service.bill.BillItemService; +import net.jjjerp.framework.common.service.impl.BaseServiceImpl; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.beans.factory.annotation.Autowired; + +/** + * 单据子表 服务实现类 + * + * @author jjjerp + * @since 2024-05-07 + */ +@Slf4j +@Service +public class BillItemServiceImpl extends BaseServiceImpl implements BillItemService { + + @Autowired + private BillItemMapper billItemMapper; + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/customer/CustomerAddressService.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/customer/CustomerAddressService.java new file mode 100644 index 0000000..797bc46 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/customer/CustomerAddressService.java @@ -0,0 +1,14 @@ +package net.jjjerp.common.service.customer; + +import net.jjjerp.common.entity.customer.CustomerAddress; +import net.jjjerp.framework.common.service.BaseService; + +/** + * 用户收货地址表 服务类 + * + * @author jjjerp + * @since 2024-04-22 + */ +public interface CustomerAddressService extends BaseService { + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/customer/CustomerService.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/customer/CustomerService.java new file mode 100644 index 0000000..98a8b60 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/customer/CustomerService.java @@ -0,0 +1,16 @@ +package net.jjjerp.common.service.customer; + +import net.jjjerp.common.entity.customer.Customer; +import net.jjjerp.framework.common.service.BaseService;; + +import java.util.Map; + +/** + * 客户记录表 服务类 + * + * @author jjjerp + * @since 2024-04-22 + */ +public interface CustomerService extends BaseService { + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/customer/impl/CustomerAddressServiceImpl.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/customer/impl/CustomerAddressServiceImpl.java new file mode 100644 index 0000000..140ab41 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/customer/impl/CustomerAddressServiceImpl.java @@ -0,0 +1,24 @@ +package net.jjjerp.common.service.customer.impl; + +import net.jjjerp.common.entity.customer.CustomerAddress; +import net.jjjerp.common.mapper.customer.CustomerAddressMapper; +import net.jjjerp.common.service.customer.CustomerAddressService; +import net.jjjerp.framework.common.service.impl.BaseServiceImpl; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.beans.factory.annotation.Autowired; + +/** + * 用户收货地址表 服务实现类 + * + * @author jjjerp + * @since 2024-04-22 + */ +@Slf4j +@Service +public class CustomerAddressServiceImpl extends BaseServiceImpl implements CustomerAddressService { + + @Autowired + private CustomerAddressMapper customerAddressMapper; + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/customer/impl/CustomerServiceImpl.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/customer/impl/CustomerServiceImpl.java new file mode 100644 index 0000000..c0e13d6 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/customer/impl/CustomerServiceImpl.java @@ -0,0 +1,22 @@ +package net.jjjerp.common.service.customer.impl; + + +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.common.entity.customer.Customer; +import net.jjjerp.common.mapper.customer.CustomerMapper; +import net.jjjerp.common.service.customer.CustomerService; +import net.jjjerp.framework.common.service.impl.BaseServiceImpl; +import org.springframework.stereotype.Service; + +/** + * 客户记录表 服务实现类 + * + * @author jjjerp + * @since 2024-04-22 + */ +@Slf4j +@Service +public class CustomerServiceImpl extends BaseServiceImpl implements CustomerService { + + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/depot/DeliverAreaService.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/depot/DeliverAreaService.java new file mode 100644 index 0000000..5a3ab0d --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/depot/DeliverAreaService.java @@ -0,0 +1,17 @@ +package net.jjjerp.common.service.depot; + +import net.jjjerp.common.entity.depot.DeliverArea; +import net.jjjerp.framework.common.service.BaseService; + +import java.util.List; +import java.util.Map; + +/** + * 配送区域表 服务类 + * + * @author jjjerp + * @since 2024-04-29 + */ +public interface DeliverAreaService extends BaseService { + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/depot/DepotAreaService.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/depot/DepotAreaService.java new file mode 100644 index 0000000..57f16bf --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/depot/DepotAreaService.java @@ -0,0 +1,18 @@ +package net.jjjerp.common.service.depot; + +import net.jjjerp.common.entity.depot.DepotArea; +import net.jjjerp.common.param.CommonPageParam; +import net.jjjerp.framework.common.service.BaseService; +import net.jjjerp.framework.core.pagination.Paging; + +import java.util.List; + +/** + * 仓库区域表 服务类 + * + * @author jjjerp + * @since 2024-04-22 + */ +public interface DepotAreaService extends BaseService { + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/depot/DepotReservoirService.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/depot/DepotReservoirService.java new file mode 100644 index 0000000..f455654 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/depot/DepotReservoirService.java @@ -0,0 +1,17 @@ +package net.jjjerp.common.service.depot; + +import net.jjjerp.common.entity.depot.DepotReservoir; +import net.jjjerp.common.param.CommonPageParam; +import net.jjjerp.framework.common.service.BaseService; + +import java.util.List; + +/** + * 仓库库区表 服务类 + * + * @author jjjerp + * @since 2024-04-22 + */ +public interface DepotReservoirService extends BaseService { + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/depot/DepotService.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/depot/DepotService.java new file mode 100644 index 0000000..401cc22 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/depot/DepotService.java @@ -0,0 +1,20 @@ +package net.jjjerp.common.service.depot; + +import net.jjjerp.common.entity.depot.Depot; +import net.jjjerp.common.entity.store.Store; +import net.jjjerp.common.param.CommonPageParam; +import net.jjjerp.framework.common.service.BaseService; +import net.jjjerp.framework.core.pagination.Paging; + +import java.util.List; + +/** + * 仓库表 服务类 + * + * @author jjjerp + * @since 2024-04-22 + */ +public interface DepotService extends BaseService { + + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/depot/DepotShelfService.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/depot/DepotShelfService.java new file mode 100644 index 0000000..0b9829a --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/depot/DepotShelfService.java @@ -0,0 +1,17 @@ +package net.jjjerp.common.service.depot; + +import net.jjjerp.common.entity.depot.DepotShelf; +import net.jjjerp.common.param.CommonPageParam; +import net.jjjerp.framework.common.service.BaseService; + +import java.util.List; + +/** + * 仓库货架表 服务类 + * + * @author jjjerp + * @since 2024-04-22 + */ +public interface DepotShelfService extends BaseService { + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/depot/DepotStorageService.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/depot/DepotStorageService.java new file mode 100644 index 0000000..9c5b4ba --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/depot/DepotStorageService.java @@ -0,0 +1,22 @@ +package net.jjjerp.common.service.depot; + +import net.jjjerp.common.entity.depot.DepotShelf; +import net.jjjerp.common.entity.depot.DepotStorage; +import net.jjjerp.common.entity.store.Store; +import net.jjjerp.common.param.CommonPageParam; +import net.jjjerp.common.param.depot.StorageParam; +import net.jjjerp.framework.common.service.BaseService; +import net.jjjerp.framework.core.pagination.Paging; + +import java.util.List; + +/** + * 仓库货位表 服务类 + * + * @author jjjerp + * @since 2024-04-22 + */ +public interface DepotStorageService extends BaseService { + + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/depot/DepotStorageStockService.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/depot/DepotStorageStockService.java new file mode 100644 index 0000000..5c25309 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/depot/DepotStorageStockService.java @@ -0,0 +1,15 @@ +package net.jjjerp.common.service.depot; + +import net.jjjerp.common.entity.depot.DepotStorage; +import net.jjjerp.common.entity.depot.DepotStorageStock; +import net.jjjerp.framework.common.service.BaseService; + +/** + * 仓库货位库存表 服务类 + * + * @author jjjerp + * @since 2024-04-22 + */ +public interface DepotStorageStockService extends BaseService { + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/depot/impl/DeliverAreaServiceImpl.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/depot/impl/DeliverAreaServiceImpl.java new file mode 100644 index 0000000..f6d4a8a --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/depot/impl/DeliverAreaServiceImpl.java @@ -0,0 +1,37 @@ +package net.jjjerp.common.service.depot.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import net.jjjerp.common.entity.depot.DeliverArea; +import net.jjjerp.common.entity.depot.DepotReservoir; +import net.jjjerp.common.entity.depot.DepotStorage; +import net.jjjerp.common.entity.depot.DepotStorageStock; +import net.jjjerp.common.entity.settings.Region; +import net.jjjerp.common.mapper.depot.DeliverAreaMapper; +import net.jjjerp.common.service.depot.DeliverAreaService; +import net.jjjerp.common.service.settings.RegionService; +import net.jjjerp.config.constant.CommonConstant; +import net.jjjerp.framework.common.exception.BusinessException; +import net.jjjerp.framework.common.service.impl.BaseServiceImpl; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang3.ArrayUtils; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; +import org.springframework.beans.factory.annotation.Autowired; + +import java.util.*; +import java.util.stream.Collectors; + +/** + * 配送区域表 服务实现类 + * + * @author jjjerp + * @since 2024-04-29 + */ +@Slf4j +@Service +public class DeliverAreaServiceImpl extends BaseServiceImpl implements DeliverAreaService { + + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/depot/impl/DepotAreaServiceImpl.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/depot/impl/DepotAreaServiceImpl.java new file mode 100644 index 0000000..0da638d --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/depot/impl/DepotAreaServiceImpl.java @@ -0,0 +1,39 @@ +package net.jjjerp.common.service.depot.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import net.jjjerp.common.entity.depot.Depot; +import net.jjjerp.common.entity.depot.DepotArea; +import net.jjjerp.common.entity.depot.DepotReservoir; +import net.jjjerp.common.entity.depot.DepotShelf; +import net.jjjerp.common.mapper.depot.DepotAreaMapper; +import net.jjjerp.common.param.CommonPageParam; +import net.jjjerp.common.service.depot.DepotAreaService; +import net.jjjerp.common.service.depot.DepotReservoirService; +import net.jjjerp.common.service.depot.DepotShelfService; +import net.jjjerp.framework.common.exception.BusinessException; +import net.jjjerp.framework.common.service.impl.BaseServiceImpl; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.framework.core.pagination.PageInfo; +import net.jjjerp.framework.core.pagination.Paging; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; +import org.springframework.beans.factory.annotation.Autowired; + +import java.util.List; +import java.util.stream.Collectors; + +/** + * 仓库区域表 服务实现类 + * + * @author jjjerp + * @since 2024-04-22 + */ +@Slf4j +@Service +public class DepotAreaServiceImpl extends BaseServiceImpl implements DepotAreaService { + + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/depot/impl/DepotReservoirServiceImpl.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/depot/impl/DepotReservoirServiceImpl.java new file mode 100644 index 0000000..59cd986 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/depot/impl/DepotReservoirServiceImpl.java @@ -0,0 +1,36 @@ +package net.jjjerp.common.service.depot.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import net.jjjerp.common.entity.depot.DepotArea; +import net.jjjerp.common.entity.depot.DepotReservoir; +import net.jjjerp.common.entity.depot.DepotShelf; +import net.jjjerp.common.entity.depot.DepotStorage; +import net.jjjerp.common.mapper.depot.DepotReservoirMapper; +import net.jjjerp.common.param.CommonPageParam; +import net.jjjerp.common.service.depot.DepotAreaService; +import net.jjjerp.common.service.depot.DepotReservoirService; +import net.jjjerp.common.service.depot.DepotShelfService; +import net.jjjerp.common.service.depot.DepotStorageService; +import net.jjjerp.framework.common.exception.BusinessException; +import net.jjjerp.framework.common.service.impl.BaseServiceImpl; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; +import org.springframework.beans.factory.annotation.Autowired; + +import java.util.List; +import java.util.stream.Collectors; + +/** + * 仓库库区表 服务实现类 + * + * @author jjjerp + * @since 2024-04-22 + */ +@Slf4j +@Service +public class DepotReservoirServiceImpl extends BaseServiceImpl implements DepotReservoirService { + + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/depot/impl/DepotServiceImpl.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/depot/impl/DepotServiceImpl.java new file mode 100644 index 0000000..c3a6b16 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/depot/impl/DepotServiceImpl.java @@ -0,0 +1,33 @@ +package net.jjjerp.common.service.depot.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import net.jjjerp.common.entity.depot.Depot; +import net.jjjerp.common.entity.store.Store; +import net.jjjerp.common.entity.supplier.Supplier; +import net.jjjerp.common.mapper.depot.DepotMapper; +import net.jjjerp.common.param.CommonPageParam; +import net.jjjerp.common.service.depot.DepotService; +import net.jjjerp.framework.common.exception.BusinessException; +import net.jjjerp.framework.common.service.impl.BaseServiceImpl; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.framework.core.pagination.PageInfo; +import net.jjjerp.framework.core.pagination.Paging; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; +import org.springframework.beans.factory.annotation.Autowired; + +import java.util.List; + +/** + * 仓库表 服务实现类 + * + * @author jjjerp + * @since 2024-04-22 + */ +@Slf4j +@Service +public class DepotServiceImpl extends BaseServiceImpl implements DepotService { + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/depot/impl/DepotShelfServiceImpl.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/depot/impl/DepotShelfServiceImpl.java new file mode 100644 index 0000000..ab8ea7e --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/depot/impl/DepotShelfServiceImpl.java @@ -0,0 +1,33 @@ +package net.jjjerp.common.service.depot.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import net.jjjerp.common.entity.depot.DepotArea; +import net.jjjerp.common.entity.depot.DepotReservoir; +import net.jjjerp.common.entity.depot.DepotShelf; +import net.jjjerp.common.entity.depot.DepotStorage; +import net.jjjerp.common.mapper.depot.DepotShelfMapper; +import net.jjjerp.common.param.CommonPageParam; +import net.jjjerp.common.service.depot.DepotReservoirService; +import net.jjjerp.common.service.depot.DepotShelfService; +import net.jjjerp.common.service.depot.DepotStorageService; +import net.jjjerp.framework.common.exception.BusinessException; +import net.jjjerp.framework.common.service.impl.BaseServiceImpl; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; +import org.springframework.beans.factory.annotation.Autowired; + +import java.util.List; + +/** + * 仓库货架表 服务实现类 + * + * @author jjjerp + * @since 2024-04-22 + */ +@Slf4j +@Service +public class DepotShelfServiceImpl extends BaseServiceImpl implements DepotShelfService { + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/depot/impl/DepotStorageServiceImpl.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/depot/impl/DepotStorageServiceImpl.java new file mode 100644 index 0000000..a4fb437 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/depot/impl/DepotStorageServiceImpl.java @@ -0,0 +1,49 @@ +package net.jjjerp.common.service.depot.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import net.jjjerp.common.entity.depot.DepotReservoir; +import net.jjjerp.common.entity.depot.DepotShelf; +import net.jjjerp.common.entity.depot.DepotStorage; +import net.jjjerp.common.entity.depot.DepotStorageStock; +import net.jjjerp.common.entity.product.Product; +import net.jjjerp.common.entity.product.ProductExtend; +import net.jjjerp.common.entity.store.Store; +import net.jjjerp.common.mapper.depot.DepotStorageMapper; +import net.jjjerp.common.param.CommonPageParam; +import net.jjjerp.common.param.depot.StorageParam; +import net.jjjerp.common.service.depot.DepotReservoirService; +import net.jjjerp.common.service.depot.DepotShelfService; +import net.jjjerp.common.service.depot.DepotStorageService; +import net.jjjerp.common.service.depot.DepotStorageStockService; +import net.jjjerp.common.service.product.ProductExtendService; +import net.jjjerp.common.service.product.ProductService; +import net.jjjerp.common.vo.product.ProductVo; +import net.jjjerp.framework.common.exception.BusinessException; +import net.jjjerp.framework.common.service.impl.BaseServiceImpl; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.framework.core.pagination.PageInfo; +import net.jjjerp.framework.core.pagination.Paging; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.transaction.annotation.Transactional; + +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +/** + * 仓库货位表 服务实现类 + * + * @author jjjerp + * @since 2024-04-22 + */ +@Slf4j +@Service +public class DepotStorageServiceImpl extends BaseServiceImpl implements DepotStorageService { + + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/depot/impl/DepotStorageStockServiceImpl.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/depot/impl/DepotStorageStockServiceImpl.java new file mode 100644 index 0000000..867b742 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/depot/impl/DepotStorageStockServiceImpl.java @@ -0,0 +1,27 @@ +package net.jjjerp.common.service.depot.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import net.jjjerp.common.entity.depot.DepotStorage; +import net.jjjerp.common.entity.depot.DepotStorageStock; +import net.jjjerp.common.mapper.depot.DepotStorageStockMapper; +import net.jjjerp.common.service.depot.DepotStorageService; +import net.jjjerp.common.service.depot.DepotStorageStockService; +import net.jjjerp.framework.common.service.impl.BaseServiceImpl; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections4.CollectionUtils; +import org.springframework.stereotype.Service; +import org.springframework.beans.factory.annotation.Autowired; + +import java.util.List; + +/** + * 仓库货位库存表 服务实现类 + * + * @author jjjerp + * @since 2024-04-22 + */ +@Slf4j +@Service +public class DepotStorageStockServiceImpl extends BaseServiceImpl implements DepotStorageStockService { + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/file/ImageBankService.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/file/ImageBankService.java new file mode 100644 index 0000000..ae598b1 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/file/ImageBankService.java @@ -0,0 +1,14 @@ +package net.jjjerp.common.service.file; + +import net.jjjerp.common.entity.file.ImageBank; +import net.jjjerp.framework.common.service.BaseService; + +/** + * 系统图库表 服务类 + * + * @author jjjerp + * @since 2023-10-31 + */ +public interface ImageBankService extends BaseService { + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/file/UploadFileService.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/file/UploadFileService.java new file mode 100644 index 0000000..8c398bd --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/file/UploadFileService.java @@ -0,0 +1,14 @@ +package net.jjjerp.common.service.file; + +import net.jjjerp.common.entity.file.UploadFile; +import net.jjjerp.framework.common.service.BaseService; + +/** + * 文件库记录表 服务类 + * + * @author jjjerp + * @since 2022-06-28 + */ +public interface UploadFileService extends BaseService { + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/file/UploadGroupService.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/file/UploadGroupService.java new file mode 100644 index 0000000..5c94975 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/file/UploadGroupService.java @@ -0,0 +1,14 @@ +package net.jjjerp.common.service.file; + +import net.jjjerp.common.entity.file.UploadGroup; +import net.jjjerp.framework.common.service.BaseService; + +/** + * 文件库分组记录表 服务类 + * + * @author jjjerp + * @since 2022-06-28 + */ +public interface UploadGroupService extends BaseService { + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/file/impl/ImageBankServiceImpl.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/file/impl/ImageBankServiceImpl.java new file mode 100644 index 0000000..342a073 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/file/impl/ImageBankServiceImpl.java @@ -0,0 +1,24 @@ +package net.jjjerp.common.service.file.impl; + +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.common.entity.file.ImageBank; +import net.jjjerp.common.mapper.file.ImageBankMapper; +import net.jjjerp.common.service.file.ImageBankService; +import net.jjjerp.framework.common.service.impl.BaseServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +/** + * 系统图库表 服务实现类 + * + * @author jjjerp + * @since 2023-10-31 + */ +@Slf4j +@Service +public class ImageBankServiceImpl extends BaseServiceImpl implements ImageBankService { + + @Autowired + private ImageBankMapper imageBankMapper; + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/file/impl/UploadFileServiceImpl.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/file/impl/UploadFileServiceImpl.java new file mode 100644 index 0000000..e3b0d57 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/file/impl/UploadFileServiceImpl.java @@ -0,0 +1,20 @@ +package net.jjjerp.common.service.file.impl; + +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.common.entity.file.UploadFile; +import net.jjjerp.common.mapper.file.UploadFileMapper; +import net.jjjerp.common.service.file.UploadFileService; +import net.jjjerp.framework.common.service.impl.BaseServiceImpl; +import org.springframework.stereotype.Service; + +/** + * 文件库记录表 服务实现类 + * + * @author jjjerp + * @since 2022-06-28 + */ +@Slf4j +@Service +public class UploadFileServiceImpl extends BaseServiceImpl implements UploadFileService { + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/file/impl/UploadGroupServiceImpl.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/file/impl/UploadGroupServiceImpl.java new file mode 100644 index 0000000..7871b11 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/file/impl/UploadGroupServiceImpl.java @@ -0,0 +1,20 @@ +package net.jjjerp.common.service.file.impl; + +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.common.entity.file.UploadGroup; +import net.jjjerp.common.mapper.file.UploadGroupMapper; +import net.jjjerp.common.service.file.UploadGroupService; +import net.jjjerp.framework.common.service.impl.BaseServiceImpl; +import org.springframework.stereotype.Service; + +/** + * 文件库分组记录表 服务实现类 + * + * @author jjjerp + * @since 2022-06-28 + */ +@Slf4j +@Service +public class UploadGroupServiceImpl extends BaseServiceImpl implements UploadGroupService { + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/finance/capital/AccountMoneyLogService.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/finance/capital/AccountMoneyLogService.java new file mode 100644 index 0000000..12a7884 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/finance/capital/AccountMoneyLogService.java @@ -0,0 +1,20 @@ +package net.jjjerp.common.service.finance.capital; + +import net.jjjerp.common.entity.bill.BillHead; +import net.jjjerp.common.entity.finance.capital.AccountMoneyLog; +import net.jjjerp.common.param.CommonPageParam; +import net.jjjerp.framework.common.service.BaseService; +import net.jjjerp.framework.core.pagination.Paging; + +import java.util.Map; + +/** + * 账户资金变动明细表 服务类 + * + * @author jjjerp + * @since 2024-05-09 + */ +public interface AccountMoneyLogService extends BaseService { + + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/finance/capital/AccountService.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/finance/capital/AccountService.java new file mode 100644 index 0000000..53b5198 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/finance/capital/AccountService.java @@ -0,0 +1,18 @@ +package net.jjjerp.common.service.finance.capital; + +import net.jjjerp.common.entity.finance.capital.Account; +import net.jjjerp.common.param.CommonPageParam; +import net.jjjerp.framework.common.service.BaseService; +import net.jjjerp.framework.core.pagination.Paging; + +import java.util.List; + +/** + * 收支账户表 服务类 + * + * @author jjjerp + * @since 2024-05-07 + */ +public interface AccountService extends BaseService { + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/finance/capital/impl/AccountMoneyLogServiceImpl.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/finance/capital/impl/AccountMoneyLogServiceImpl.java new file mode 100644 index 0000000..47cb753 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/finance/capital/impl/AccountMoneyLogServiceImpl.java @@ -0,0 +1,46 @@ +package net.jjjerp.common.service.finance.capital.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import net.jjjerp.common.entity.bill.BillHead; +import net.jjjerp.common.entity.customer.Customer; +import net.jjjerp.common.entity.finance.capital.Account; +import net.jjjerp.common.entity.finance.capital.AccountMoneyLog; +import net.jjjerp.common.entity.settings.Express; +import net.jjjerp.common.entity.store.Store; +import net.jjjerp.common.entity.supplier.Supplier; +import net.jjjerp.common.enums.BillTypeEnum; +import net.jjjerp.common.mapper.finance.capital.AccountMoneyLogMapper; +import net.jjjerp.common.param.CommonPageParam; +import net.jjjerp.common.service.bill.BillHeadService; +import net.jjjerp.common.service.customer.CustomerService; +import net.jjjerp.common.service.finance.capital.AccountMoneyLogService; +import net.jjjerp.common.service.finance.capital.AccountService; +import net.jjjerp.common.service.settings.ExpressService; +import net.jjjerp.common.service.store.StoreService; +import net.jjjerp.common.service.supplier.SupplierService; +import net.jjjerp.framework.common.exception.BusinessException; +import net.jjjerp.framework.common.service.impl.BaseServiceImpl; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.framework.core.pagination.PageInfo; +import net.jjjerp.framework.core.pagination.Paging; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; +import org.springframework.beans.factory.annotation.Autowired; + +import java.util.HashMap; +import java.util.Map; + +/** + * 账户资金变动明细表 服务实现类 + * + * @author jjjerp + * @since 2024-05-09 + */ +@Slf4j +@Service +public class AccountMoneyLogServiceImpl extends BaseServiceImpl implements AccountMoneyLogService { + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/finance/capital/impl/AccountServiceImpl.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/finance/capital/impl/AccountServiceImpl.java new file mode 100644 index 0000000..7a93787 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/finance/capital/impl/AccountServiceImpl.java @@ -0,0 +1,38 @@ +package net.jjjerp.common.service.finance.capital.impl; + +import cn.hutool.core.bean.BeanUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import net.jjjerp.common.entity.app.App; +import net.jjjerp.common.entity.finance.capital.Account; +import net.jjjerp.common.entity.product.Product; +import net.jjjerp.common.entity.product.ProductMfrs; +import net.jjjerp.common.mapper.finance.capital.AccountMapper; +import net.jjjerp.common.param.CommonPageParam; +import net.jjjerp.common.service.app.AppService; +import net.jjjerp.common.service.finance.capital.AccountService; +import net.jjjerp.framework.common.exception.BusinessException; +import net.jjjerp.framework.common.service.impl.BaseServiceImpl; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.framework.core.pagination.PageInfo; +import net.jjjerp.framework.core.pagination.Paging; +import net.jjjerp.framework.util.ShopLoginUtil; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; +import org.springframework.beans.factory.annotation.Autowired; + +import java.util.List; + +/** + * 收支账户表 服务实现类 + * + * @author jjjerp + * @since 2024-05-07 + */ +@Slf4j +@Service +public class AccountServiceImpl extends BaseServiceImpl implements AccountService { + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/page/CenterMenuService.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/page/CenterMenuService.java new file mode 100644 index 0000000..b645ac8 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/page/CenterMenuService.java @@ -0,0 +1,14 @@ +package net.jjjerp.common.service.page; + +import net.jjjerp.common.entity.page.CenterMenu; +import net.jjjerp.framework.common.service.BaseService; + +/** + * 个人中心菜单 服务类 + * + * @author jjjerp + * @since 2022-07-29 + */ +public interface CenterMenuService extends BaseService { + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/page/PageCategoryService.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/page/PageCategoryService.java new file mode 100644 index 0000000..f394f52 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/page/PageCategoryService.java @@ -0,0 +1,14 @@ +package net.jjjerp.common.service.page; + +import net.jjjerp.common.entity.page.PageCategory; +import net.jjjerp.framework.common.service.BaseService; + +/** + * app分类页模板 服务类 + * + * @author jjjerp + * @since 2022-07-28 + */ +public interface PageCategoryService extends BaseService { + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/page/PageService.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/page/PageService.java new file mode 100644 index 0000000..8e10d34 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/page/PageService.java @@ -0,0 +1,14 @@ +package net.jjjerp.common.service.page; + +import net.jjjerp.common.entity.page.Page; +import net.jjjerp.framework.common.service.BaseService; + +/** + * diy页面表 服务类 + * + * @author jjjerp + * @since 2022-07-28 + */ +public interface PageService extends BaseService { + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/page/impl/CenterMenuServiceImpl.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/page/impl/CenterMenuServiceImpl.java new file mode 100644 index 0000000..583ef4c --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/page/impl/CenterMenuServiceImpl.java @@ -0,0 +1,24 @@ +package net.jjjerp.common.service.page.impl; + +import net.jjjerp.common.entity.page.CenterMenu; +import net.jjjerp.common.mapper.page.CenterMenuMapper; +import net.jjjerp.common.service.page.CenterMenuService; +import net.jjjerp.framework.common.service.impl.BaseServiceImpl; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.beans.factory.annotation.Autowired; + +/** + * 个人中心菜单 服务实现类 + * + * @author jjjerp + * @since 2022-07-29 + */ +@Slf4j +@Service +public class CenterMenuServiceImpl extends BaseServiceImpl implements CenterMenuService { + + @Autowired + private CenterMenuMapper centerMenuMapper; + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/page/impl/PageCategoryServiceImpl.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/page/impl/PageCategoryServiceImpl.java new file mode 100644 index 0000000..bb8dfbe --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/page/impl/PageCategoryServiceImpl.java @@ -0,0 +1,24 @@ +package net.jjjerp.common.service.page.impl; + +import net.jjjerp.common.entity.page.PageCategory; +import net.jjjerp.common.mapper.page.PageCategoryMapper; +import net.jjjerp.common.service.page.PageCategoryService; +import net.jjjerp.framework.common.service.impl.BaseServiceImpl; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.beans.factory.annotation.Autowired; + +/** + * app分类页模板 服务实现类 + * + * @author jjjerp + * @since 2022-07-28 + */ +@Slf4j +@Service +public class PageCategoryServiceImpl extends BaseServiceImpl implements PageCategoryService { + + @Autowired + private PageCategoryMapper pageCategoryMapper; + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/page/impl/PageServiceImpl.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/page/impl/PageServiceImpl.java new file mode 100644 index 0000000..edc5ed8 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/page/impl/PageServiceImpl.java @@ -0,0 +1,24 @@ +package net.jjjerp.common.service.page.impl; + +import net.jjjerp.common.entity.page.Page; +import net.jjjerp.common.mapper.page.PageMapper; +import net.jjjerp.common.service.page.PageService; +import net.jjjerp.framework.common.service.impl.BaseServiceImpl; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.beans.factory.annotation.Autowired; + +/** + * diy页面表 服务实现类 + * + * @author jjjerp + * @since 2022-07-28 + */ +@Slf4j +@Service +public class PageServiceImpl extends BaseServiceImpl implements PageService { + + @Autowired + private PageMapper pageMapper; + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/product/ProductAttributeService.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/product/ProductAttributeService.java new file mode 100644 index 0000000..5a57471 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/product/ProductAttributeService.java @@ -0,0 +1,18 @@ +package net.jjjerp.common.service.product; + +import net.jjjerp.common.entity.product.ProductAttribute; +import net.jjjerp.common.param.CommonPageParam; +import net.jjjerp.framework.common.service.BaseService; +import net.jjjerp.framework.core.pagination.Paging; + +import java.util.List; + +/** + * 产品属性表 服务类 + * + * @author jjjerp + * @since 2024-04-12 + */ +public interface ProductAttributeService extends BaseService { + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/product/ProductCategoryService.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/product/ProductCategoryService.java new file mode 100644 index 0000000..87594cf --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/product/ProductCategoryService.java @@ -0,0 +1,19 @@ +package net.jjjerp.common.service.product; + +import net.jjjerp.common.entity.product.ProductCategory; +import net.jjjerp.common.param.product.CategoryParam; +import net.jjjerp.common.vo.product.CategoryVo; +import net.jjjerp.framework.common.service.BaseService; + +import java.util.List; + +/** + * 产品类型表 服务类 + * + * @author jjjerp + * @since 2024-04-12 + */ +public interface ProductCategoryService extends BaseService { + + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/product/ProductDeputyUnitService.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/product/ProductDeputyUnitService.java new file mode 100644 index 0000000..41fea64 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/product/ProductDeputyUnitService.java @@ -0,0 +1,14 @@ +package net.jjjerp.common.service.product; + +import net.jjjerp.common.entity.product.ProductDeputyUnit; +import net.jjjerp.framework.common.service.BaseService; + +/** + * 商品副单位表 服务类 + * + * @author jjjerp + * @since 2024-06-27 + */ +public interface ProductDeputyUnitService extends BaseService { + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/product/ProductExtendService.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/product/ProductExtendService.java new file mode 100644 index 0000000..b9664e3 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/product/ProductExtendService.java @@ -0,0 +1,21 @@ +package net.jjjerp.common.service.product; + +import net.jjjerp.common.entity.product.ProductExtend; +import net.jjjerp.common.param.CommonPageParam; +import net.jjjerp.common.param.product.ProductPageParam; +import net.jjjerp.common.vo.product.ProductSkuVo; +import net.jjjerp.framework.common.service.BaseService; +import net.jjjerp.framework.core.pagination.Paging; + +import java.util.List; +import java.util.Map; + +/** + * 产品价格扩展 服务类 + * + * @author jjjerp + * @since 2024-04-12 + */ +public interface ProductExtendService extends BaseService { + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/product/ProductImageService.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/product/ProductImageService.java new file mode 100644 index 0000000..579776f --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/product/ProductImageService.java @@ -0,0 +1,14 @@ +package net.jjjerp.common.service.product; + +import net.jjjerp.common.entity.product.ProductImage; +import net.jjjerp.framework.common.service.BaseService; + +/** + * 商品图片记录表 服务类 + * + * @author jjjerp + * @since 2024-04-16 + */ +public interface ProductImageService extends BaseService { + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/product/ProductMfrsService.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/product/ProductMfrsService.java new file mode 100644 index 0000000..bd69dd6 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/product/ProductMfrsService.java @@ -0,0 +1,19 @@ +package net.jjjerp.common.service.product; + +import net.jjjerp.common.entity.product.ProductMfrs; +import net.jjjerp.common.entity.product.ProductUnit; +import net.jjjerp.common.param.CommonPageParam; +import net.jjjerp.framework.common.service.BaseService; +import net.jjjerp.framework.core.pagination.Paging; + +import java.util.List; + +/** + * 产品品牌表 服务类 + * + * @author jjjerp + * @since 2024-04-15 + */ +public interface ProductMfrsService extends BaseService { + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/product/ProductService.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/product/ProductService.java new file mode 100644 index 0000000..80afc2b --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/product/ProductService.java @@ -0,0 +1,18 @@ +package net.jjjerp.common.service.product; + +import net.jjjerp.common.entity.product.Product; +import net.jjjerp.common.param.product.ProductPageParam; +import net.jjjerp.common.param.product.ProductParam; +import net.jjjerp.framework.common.service.BaseService; + +import java.util.Map; + +/** + * 产品表 服务类 + * + * @author jjjerp + * @since 2024-04-12 + */ +public interface ProductService extends BaseService { + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/product/ProductUnitService.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/product/ProductUnitService.java new file mode 100644 index 0000000..0d6bcd9 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/product/ProductUnitService.java @@ -0,0 +1,19 @@ +package net.jjjerp.common.service.product; + +import net.jjjerp.common.entity.product.ProductAttribute; +import net.jjjerp.common.entity.product.ProductUnit; +import net.jjjerp.common.param.CommonPageParam; +import net.jjjerp.framework.common.service.BaseService; +import net.jjjerp.framework.core.pagination.Paging; + +import java.util.List; + +/** + * 多单位表 服务类 + * + * @author jjjerp + * @since 2024-04-12 + */ +public interface ProductUnitService extends BaseService { + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/product/impl/ProductAttributeServiceImpl.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/product/impl/ProductAttributeServiceImpl.java new file mode 100644 index 0000000..49ecc43 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/product/impl/ProductAttributeServiceImpl.java @@ -0,0 +1,41 @@ +package net.jjjerp.common.service.product.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import net.jjjerp.common.entity.product.ProductAttribute; +import net.jjjerp.common.mapper.product.ProductAttributeMapper; +import net.jjjerp.common.param.CommonPageParam; +import net.jjjerp.common.service.product.ProductAttributeService; +import net.jjjerp.common.settings.vo.StoreVo; +import net.jjjerp.framework.common.exception.BusinessException; +import net.jjjerp.framework.common.service.impl.BaseServiceImpl; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.framework.core.pagination.PageInfo; +import net.jjjerp.framework.core.pagination.Paging; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; +import org.springframework.beans.factory.annotation.Autowired; + +import java.util.Arrays; +import java.util.List; +import java.util.stream.Collectors; + +/** + * 产品属性表 服务实现类 + * + * @author jjjerp + * @since 2024-04-12 + */ +@Slf4j +@Service +public class ProductAttributeServiceImpl extends BaseServiceImpl implements ProductAttributeService { + + @Autowired + private ProductAttributeMapper productAttributeMapper; + + + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/product/impl/ProductCategoryServiceImpl.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/product/impl/ProductCategoryServiceImpl.java new file mode 100644 index 0000000..c10cda9 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/product/impl/ProductCategoryServiceImpl.java @@ -0,0 +1,36 @@ +package net.jjjerp.common.service.product.impl; + +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import net.jjjerp.common.entity.product.Product; +import net.jjjerp.common.entity.product.ProductCategory; +import net.jjjerp.common.mapper.product.ProductCategoryMapper; +import net.jjjerp.common.param.product.CategoryParam; +import net.jjjerp.common.service.product.ProductCategoryService; +import net.jjjerp.common.service.product.ProductService; +import net.jjjerp.common.vo.product.CategoryVo; +import net.jjjerp.framework.common.exception.BusinessException; +import net.jjjerp.framework.common.service.impl.BaseServiceImpl; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Service; +import org.springframework.beans.factory.annotation.Autowired; + +import java.util.List; +import java.util.stream.Collectors; + +/** + * 产品类型表 服务实现类 + * + * @author jjjerp + * @since 2024-04-12 + */ +@Slf4j +@Service +public class ProductCategoryServiceImpl extends BaseServiceImpl implements ProductCategoryService { + + @Autowired + private ProductCategoryMapper productCategoryMapper; + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/product/impl/ProductDeputyUnitServiceImpl.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/product/impl/ProductDeputyUnitServiceImpl.java new file mode 100644 index 0000000..7afe498 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/product/impl/ProductDeputyUnitServiceImpl.java @@ -0,0 +1,24 @@ +package net.jjjerp.common.service.product.impl; + +import net.jjjerp.common.entity.product.ProductDeputyUnit; +import net.jjjerp.common.mapper.product.ProductDeputyUnitMapper; +import net.jjjerp.common.service.product.ProductDeputyUnitService; +import net.jjjerp.framework.common.service.impl.BaseServiceImpl; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.beans.factory.annotation.Autowired; + +/** + * 商品副单位表 服务实现类 + * + * @author jjjerp + * @since 2024-06-27 + */ +@Slf4j +@Service +public class ProductDeputyUnitServiceImpl extends BaseServiceImpl implements ProductDeputyUnitService { + + @Autowired + private ProductDeputyUnitMapper productDeputyUnitMapper; + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/product/impl/ProductExtendServiceImpl.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/product/impl/ProductExtendServiceImpl.java new file mode 100644 index 0000000..e29ba7f --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/product/impl/ProductExtendServiceImpl.java @@ -0,0 +1,58 @@ +package net.jjjerp.common.service.product.impl; + +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.google.gson.JsonArray; +import com.google.gson.JsonObject; +import net.jjjerp.common.entity.bill.BillHead; +import net.jjjerp.common.entity.bill.BillItem; +import net.jjjerp.common.entity.depot.DepotStorage; +import net.jjjerp.common.entity.product.*; +import net.jjjerp.common.enums.BillTypeEnum; +import net.jjjerp.common.mapper.product.ProductExtendMapper; +import net.jjjerp.common.param.CommonPageParam; +import net.jjjerp.common.param.product.ProductPageParam; +import net.jjjerp.common.service.bill.BillHeadService; +import net.jjjerp.common.service.bill.BillItemService; +import net.jjjerp.common.service.depot.DepotService; +import net.jjjerp.common.service.depot.DepotStorageService; +import net.jjjerp.common.service.depot.DepotStorageStockService; +import net.jjjerp.common.service.product.ProductCategoryService; +import net.jjjerp.common.service.product.ProductExtendService; +import net.jjjerp.common.service.product.ProductMfrsService; +import net.jjjerp.common.service.product.ProductUnitService; +import net.jjjerp.common.service.supplier.SupplierService; +import net.jjjerp.common.util.ProductUtils; +import net.jjjerp.common.vo.product.ProductImageVo; +import net.jjjerp.common.vo.product.ProductListVo; +import net.jjjerp.common.vo.product.ProductSkuVo; +import net.jjjerp.common.vo.product.ProductVo; +import net.jjjerp.framework.common.service.impl.BaseServiceImpl; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.framework.core.pagination.PageInfo; +import net.jjjerp.framework.core.pagination.Paging; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Service; +import org.springframework.beans.factory.annotation.Autowired; + +import java.math.BigDecimal; +import java.math.RoundingMode; +import java.util.*; +import java.util.stream.Collectors; + +/** + * 产品价格扩展 服务实现类 + * + * @author jjjerp + * @since 2024-04-12 + */ +@Slf4j +@Service +public class ProductExtendServiceImpl extends BaseServiceImpl implements ProductExtendService { + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/product/impl/ProductImageServiceImpl.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/product/impl/ProductImageServiceImpl.java new file mode 100644 index 0000000..09e58ea --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/product/impl/ProductImageServiceImpl.java @@ -0,0 +1,24 @@ +package net.jjjerp.common.service.product.impl; + +import net.jjjerp.common.entity.product.ProductImage; +import net.jjjerp.common.mapper.product.ProductImageMapper; +import net.jjjerp.common.service.product.ProductImageService; +import net.jjjerp.framework.common.service.impl.BaseServiceImpl; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.beans.factory.annotation.Autowired; + +/** + * 商品图片记录表 服务实现类 + * + * @author jjjerp + * @since 2024-04-16 + */ +@Slf4j +@Service +public class ProductImageServiceImpl extends BaseServiceImpl implements ProductImageService { + + @Autowired + private ProductImageMapper productImageMapper; + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/product/impl/ProductMfrsServiceImpl.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/product/impl/ProductMfrsServiceImpl.java new file mode 100644 index 0000000..620faad --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/product/impl/ProductMfrsServiceImpl.java @@ -0,0 +1,39 @@ +package net.jjjerp.common.service.product.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import net.jjjerp.common.entity.product.Product; +import net.jjjerp.common.entity.product.ProductMfrs; +import net.jjjerp.common.entity.product.ProductUnit; +import net.jjjerp.common.mapper.product.ProductMfrsMapper; +import net.jjjerp.common.param.CommonPageParam; +import net.jjjerp.common.service.product.ProductMfrsService; +import net.jjjerp.common.util.StringUtil; +import net.jjjerp.framework.common.exception.BusinessException; +import net.jjjerp.framework.common.service.impl.BaseServiceImpl; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.framework.core.pagination.PageInfo; +import net.jjjerp.framework.core.pagination.Paging; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; +import org.springframework.beans.factory.annotation.Autowired; + +import java.util.List; + +/** + * 产品品牌表 服务实现类 + * + * @author jjjerp + * @since 2024-04-15 + */ +@Slf4j +@Service +public class ProductMfrsServiceImpl extends BaseServiceImpl implements ProductMfrsService { + + @Autowired + private ProductMfrsMapper productMfrsMapper; + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/product/impl/ProductServiceImpl.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/product/impl/ProductServiceImpl.java new file mode 100644 index 0000000..bec6ccd --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/product/impl/ProductServiceImpl.java @@ -0,0 +1,48 @@ +package net.jjjerp.common.service.product.impl; + +import cn.hutool.core.bean.BeanUtil; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.ApiModelProperty; +import net.jjjerp.common.entity.product.*; +import net.jjjerp.common.mapper.product.ProductMapper; +import net.jjjerp.common.param.product.ProductPageParam; +import net.jjjerp.common.param.product.ProductParam; +import net.jjjerp.common.service.product.*; +import net.jjjerp.common.util.ProductUtils; +import net.jjjerp.common.vo.product.ProductImageVo; +import net.jjjerp.common.vo.product.ProductSkuVo; +import net.jjjerp.common.vo.product.ProductVo; +import net.jjjerp.framework.common.exception.BusinessException; +import net.jjjerp.framework.common.service.impl.BaseServiceImpl; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.framework.core.pagination.PageInfo; +import net.jjjerp.framework.core.pagination.Paging; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang3.StringUtils; +import org.apache.commons.lang3.math.NumberUtils; +import org.apache.commons.text.StringEscapeUtils; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Service; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.transaction.annotation.Transactional; + +import javax.annotation.Resource; +import java.util.*; +import java.util.stream.Collectors; + +/** + * 产品表 服务实现类 + * + * @author jjjerp + * @since 2024-04-12 + */ +@Slf4j +@Service +public class ProductServiceImpl extends BaseServiceImpl implements ProductService { + + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/product/impl/ProductUnitServiceImpl.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/product/impl/ProductUnitServiceImpl.java new file mode 100644 index 0000000..501bdd4 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/product/impl/ProductUnitServiceImpl.java @@ -0,0 +1,39 @@ +package net.jjjerp.common.service.product.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import net.jjjerp.common.entity.product.Product; +import net.jjjerp.common.entity.product.ProductAttribute; +import net.jjjerp.common.entity.product.ProductUnit; +import net.jjjerp.common.mapper.product.ProductUnitMapper; +import net.jjjerp.common.param.CommonPageParam; +import net.jjjerp.common.service.product.ProductService; +import net.jjjerp.common.service.product.ProductUnitService; +import net.jjjerp.common.util.StringUtil; +import net.jjjerp.framework.common.exception.BusinessException; +import net.jjjerp.framework.common.service.impl.BaseServiceImpl; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.framework.core.pagination.PageInfo; +import net.jjjerp.framework.core.pagination.Paging; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; +import org.springframework.beans.factory.annotation.Autowired; + +import java.util.List; + +/** + * 多单位表 服务实现类 + * + * @author jjjerp + * @since 2024-04-12 + */ +@Slf4j +@Service +public class ProductUnitServiceImpl extends BaseServiceImpl implements ProductUnitService { + + @Autowired + private ProductUnitMapper productUnitMapper; +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/settings/DeliveryTemplateService.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/settings/DeliveryTemplateService.java new file mode 100644 index 0000000..ff0b399 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/settings/DeliveryTemplateService.java @@ -0,0 +1,17 @@ +package net.jjjerp.common.service.settings; + +import net.jjjerp.common.entity.settings.DeliveryTemplate; +import net.jjjerp.framework.common.service.BaseService; + +import java.util.List; + +/** + * 电子面单模板主表 服务类 + * + * @author jjjerp + * @since 2023-12-02 + */ +public interface DeliveryTemplateService extends BaseService { + + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/settings/ExpressService.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/settings/ExpressService.java new file mode 100644 index 0000000..fb4e066 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/settings/ExpressService.java @@ -0,0 +1,18 @@ +package net.jjjerp.common.service.settings; + +import net.jjjerp.common.entity.settings.Express; +import net.jjjerp.common.param.setting.ExpressPageParam; +import net.jjjerp.common.param.setting.ExpressParam; +import net.jjjerp.framework.common.service.BaseService; +import net.jjjerp.framework.core.pagination.Paging; + +import java.util.List; + +/** + * 物流公司记录表 服务类 + * @author jjjerp + * @since 2022-07-19 + */ +public interface ExpressService extends BaseService { + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/settings/LabelSettingService.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/settings/LabelSettingService.java new file mode 100644 index 0000000..fb9ea13 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/settings/LabelSettingService.java @@ -0,0 +1,14 @@ +package net.jjjerp.common.service.settings; + +import net.jjjerp.common.entity.settings.LabelSetting; +import net.jjjerp.framework.common.service.BaseService; + +/** + * 电子面单设置主表 服务类 + * + * @author jjjerp + * @since 2023-12-05 + */ +public interface LabelSettingService extends BaseService { + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/settings/MessageFieldService.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/settings/MessageFieldService.java new file mode 100644 index 0000000..2ca7b75 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/settings/MessageFieldService.java @@ -0,0 +1,12 @@ +package net.jjjerp.common.service.settings; + +import net.jjjerp.common.entity.settings.MessageField; +import net.jjjerp.framework.common.service.BaseService; + +/** + * 应用消息字段表 服务类 + * @author jjjerp + * @since 2022-06-24 + */ +public interface MessageFieldService extends BaseService { +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/settings/MessageService.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/settings/MessageService.java new file mode 100644 index 0000000..32cf4ec --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/settings/MessageService.java @@ -0,0 +1,13 @@ +package net.jjjerp.common.service.settings; + +import net.jjjerp.common.entity.settings.Message; +import net.jjjerp.framework.common.service.BaseService; + +/** + * 应用消息表 服务实现类 + * @author jjjerp + * @since 2022-06-24 + */ +public interface MessageService extends BaseService { + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/settings/MessageSettingsService.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/settings/MessageSettingsService.java new file mode 100644 index 0000000..aba62b0 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/settings/MessageSettingsService.java @@ -0,0 +1,12 @@ +package net.jjjerp.common.service.settings; + +import net.jjjerp.common.entity.settings.MessageSettings; +import net.jjjerp.framework.common.service.BaseService; + +/** + * 应用消息设置表 服务类 + * @author jjjerp + * @since 2022-06-24 + */ +public interface MessageSettingsService extends BaseService { +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/settings/PrinterService.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/settings/PrinterService.java new file mode 100644 index 0000000..9307590 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/settings/PrinterService.java @@ -0,0 +1,14 @@ +package net.jjjerp.common.service.settings; + +import net.jjjerp.common.entity.settings.Printer; +import net.jjjerp.framework.common.service.BaseService; + +/** + * 小票打印机记录表 服务类 + * + * @author jjjerp + * @since 2022-07-20 + */ +public interface PrinterService extends BaseService { + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/settings/RegionService.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/settings/RegionService.java new file mode 100644 index 0000000..5b84cd1 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/settings/RegionService.java @@ -0,0 +1,21 @@ +package net.jjjerp.common.service.settings; + +import com.alibaba.fastjson.JSONArray; +import net.jjjerp.common.entity.settings.Region; +import net.jjjerp.framework.common.service.BaseService; + +import java.util.List; + +/** + * 服务类 + * + * @author jjjerp + * @since 2022-06-24 + */ +public interface RegionService extends BaseService { + /** + * 转换前端使用地区格式 + * @return + */ + List getRegionForApi(); +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/settings/ReturnAddressService.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/settings/ReturnAddressService.java new file mode 100644 index 0000000..4b31445 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/settings/ReturnAddressService.java @@ -0,0 +1,14 @@ +package net.jjjerp.common.service.settings; + +import net.jjjerp.common.entity.settings.ReturnAddress; +import net.jjjerp.framework.common.service.BaseService; + +/** + * 退货地址记录表 服务类 + * @author jjjerp + * @since 2022-07-20 + */ +public interface ReturnAddressService extends BaseService { + + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/settings/SettingService.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/settings/SettingService.java new file mode 100644 index 0000000..74496dc --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/settings/SettingService.java @@ -0,0 +1,14 @@ +package net.jjjerp.common.service.settings; + +import net.jjjerp.common.entity.settings.Setting; +import net.jjjerp.framework.common.service.BaseService; + +/** + * 商城设置记录表 服务类 + * + * @author jjjerp + * @since 2022-06-24 + */ +public interface SettingService extends BaseService { + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/settings/impl/DeliveryTemplateServiceImpl.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/settings/impl/DeliveryTemplateServiceImpl.java new file mode 100644 index 0000000..11d1f8e --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/settings/impl/DeliveryTemplateServiceImpl.java @@ -0,0 +1,23 @@ +package net.jjjerp.common.service.settings.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.common.entity.settings.DeliveryTemplate; +import net.jjjerp.common.mapper.settings.DeliveryTemplateMapper; +import net.jjjerp.common.service.settings.DeliveryTemplateService; +import net.jjjerp.framework.common.service.impl.BaseServiceImpl; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * 电子面单模板 服务实现类 + * @author jjjerp + * @since 2022-06-29 + */ +@Slf4j +@Service +public class DeliveryTemplateServiceImpl extends BaseServiceImpl implements DeliveryTemplateService { + + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/settings/impl/ExpressServiceImpl.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/settings/impl/ExpressServiceImpl.java new file mode 100644 index 0000000..9efd15e --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/settings/impl/ExpressServiceImpl.java @@ -0,0 +1,35 @@ +package net.jjjerp.common.service.settings.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.common.entity.bill.BillDelivery; +import net.jjjerp.common.entity.bill.BillHead; +import net.jjjerp.common.entity.settings.Express; +import net.jjjerp.common.mapper.settings.ExpressMapper; +import net.jjjerp.common.param.setting.ExpressPageParam; +import net.jjjerp.common.param.setting.ExpressParam; +import net.jjjerp.common.service.bill.BillDeliveryService; +import net.jjjerp.common.service.bill.BillHeadService; +import net.jjjerp.common.service.settings.ExpressService; +import net.jjjerp.framework.common.exception.BusinessException; +import net.jjjerp.framework.common.service.impl.BaseServiceImpl; +import net.jjjerp.framework.core.pagination.PageInfo; +import net.jjjerp.framework.core.pagination.Paging; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.List; + +/** + * 物流公司记录表 服务实现类 + * @author jjjshop + * @since 2022-07-19 + */ +@Slf4j +@Service +public class ExpressServiceImpl extends BaseServiceImpl implements ExpressService { + + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/settings/impl/LabelSettingServiceImpl.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/settings/impl/LabelSettingServiceImpl.java new file mode 100644 index 0000000..e8ca450 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/settings/impl/LabelSettingServiceImpl.java @@ -0,0 +1,22 @@ +package net.jjjerp.common.service.settings.impl; + +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.common.entity.settings.LabelSetting; +import net.jjjerp.common.mapper.settings.LabelSettingMapper; +import net.jjjerp.common.service.settings.LabelSettingService; +import net.jjjerp.framework.common.service.impl.BaseServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +/** + * 电子面单设置主表 服务实现类 + * + * @author jjjerp + * @since 2023-12-05 + */ +@Slf4j +@Service +public class LabelSettingServiceImpl extends BaseServiceImpl implements LabelSettingService { + + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/settings/impl/MessageFieldServiceImpl.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/settings/impl/MessageFieldServiceImpl.java new file mode 100644 index 0000000..3020a53 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/settings/impl/MessageFieldServiceImpl.java @@ -0,0 +1,18 @@ +package net.jjjerp.common.service.settings.impl; + +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.common.entity.settings.MessageField; +import net.jjjerp.common.mapper.settings.MessageFieldMapper; +import net.jjjerp.common.service.settings.MessageFieldService; +import net.jjjerp.framework.common.service.impl.BaseServiceImpl; +import org.springframework.stereotype.Service; + +/** + * 应用消息字段表 服务实现类 + * @author jjjerp + * @since 2022-06-24 + */ +@Slf4j +@Service +public class MessageFieldServiceImpl extends BaseServiceImpl implements MessageFieldService { +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/settings/impl/MessageServiceImpl.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/settings/impl/MessageServiceImpl.java new file mode 100644 index 0000000..501167b --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/settings/impl/MessageServiceImpl.java @@ -0,0 +1,19 @@ +package net.jjjerp.common.service.settings.impl; + +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.common.entity.settings.Message; +import net.jjjerp.common.mapper.settings.MessageMapper; +import net.jjjerp.common.service.settings.MessageService; +import net.jjjerp.framework.common.service.impl.BaseServiceImpl; +import org.springframework.stereotype.Service; + +/** + * 应用消息表 服务实现类 + * @author jjjerp + * @since 2022-06-24 + */ +@Slf4j +@Service +public class MessageServiceImpl extends BaseServiceImpl implements MessageService { + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/settings/impl/MessageSettingsServiceImpl.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/settings/impl/MessageSettingsServiceImpl.java new file mode 100644 index 0000000..10a67d0 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/settings/impl/MessageSettingsServiceImpl.java @@ -0,0 +1,18 @@ +package net.jjjerp.common.service.settings.impl; + +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.common.entity.settings.MessageSettings; +import net.jjjerp.common.mapper.settings.MessageSettingsMapper; +import net.jjjerp.common.service.settings.MessageSettingsService; +import net.jjjerp.framework.common.service.impl.BaseServiceImpl; +import org.springframework.stereotype.Service; + +/** + * 应用消息设置表 服务实现类 + * @author jjjerp + * @since 2022-06-24 + */ +@Slf4j +@Service +public class MessageSettingsServiceImpl extends BaseServiceImpl implements MessageSettingsService { +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/settings/impl/PrinterServiceImpl.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/settings/impl/PrinterServiceImpl.java new file mode 100644 index 0000000..9c9578d --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/settings/impl/PrinterServiceImpl.java @@ -0,0 +1,20 @@ +package net.jjjerp.common.service.settings.impl; + +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.common.entity.settings.Printer; +import net.jjjerp.common.mapper.settings.PrinterMapper; +import net.jjjerp.common.service.settings.PrinterService; +import net.jjjerp.framework.common.service.impl.BaseServiceImpl; +import org.springframework.stereotype.Service; + +/** + * 小票打印机记录表 服务实现类 + * + * @author jjjerp + * @since 2022-07-20 + */ +@Slf4j +@Service +public class PrinterServiceImpl extends BaseServiceImpl implements PrinterService { + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/settings/impl/RegionServiceImpl.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/settings/impl/RegionServiceImpl.java new file mode 100644 index 0000000..c39d890 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/settings/impl/RegionServiceImpl.java @@ -0,0 +1,78 @@ +package net.jjjerp.common.service.settings.impl; + + +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.common.cache.RegionCache; +import net.jjjerp.common.entity.settings.Region; +import net.jjjerp.common.mapper.settings.RegionMapper; +import net.jjjerp.common.service.settings.RegionService; +import net.jjjerp.common.vo.RegionVo; +import net.jjjerp.framework.common.service.impl.BaseServiceImpl; +import org.apache.commons.collections4.CollectionUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; + +/** + * 服务实现类 + * + * @author jjjerp + * @since 2022-06-24 + */ +@Slf4j +@Service +public class RegionServiceImpl extends BaseServiceImpl implements RegionService { + + @Autowired + private RegionCache regionCache; + + public List getRegionForApi() { + List result = new ArrayList<>(); + JSONArray provinceList = new JSONArray(); + JSONArray cityList = new JSONArray(); + JSONArray areaList = new JSONArray(); + JSONObject json = null; + // 省份 + for (RegionVo province : regionCache.getCacheTree()) { + json = new JSONObject(); + json.put("label", province.getName()); + json.put("value", province.getId()); + provinceList.add(json); + + JSONArray cityListTemp = new JSONArray(); + JSONArray cityAreaListTemp = new JSONArray(); + // 城市 + for(RegionVo city : province.getChildren()){ + json = new JSONObject(); + json.put("label", city.getName()); + json.put("value", city.getId()); + cityListTemp.add(json); + + JSONArray areaListTemp = new JSONArray(); + // 地区 + for(RegionVo area : city.getChildren()){ + json = new JSONObject(); + json.put("label", area.getName()); + json.put("value", area.getId()); + areaListTemp.add(json); + } + cityAreaListTemp.add(areaListTemp); + } + if(CollectionUtils.isNotEmpty(cityAreaListTemp)){ + areaList.add(cityAreaListTemp); + } + if(CollectionUtils.isNotEmpty(cityListTemp)){ + cityList.add(cityListTemp); + } + } + result.add(provinceList); + result.add(cityList); + result.add(areaList); + return result; + } + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/settings/impl/ReturnAddressServiceImpl.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/settings/impl/ReturnAddressServiceImpl.java new file mode 100644 index 0000000..151cba2 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/settings/impl/ReturnAddressServiceImpl.java @@ -0,0 +1,19 @@ +package net.jjjerp.common.service.settings.impl; + +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.common.entity.settings.ReturnAddress; +import net.jjjerp.common.mapper.settings.ReturnAddressMapper; +import net.jjjerp.common.service.settings.ReturnAddressService; +import net.jjjerp.framework.common.service.impl.BaseServiceImpl; +import org.springframework.stereotype.Service; + +/** + * 退货地址记录表 服务实现类 + * @author jjjerp + * @since 2022-07-20 + */ +@Slf4j +@Service +public class ReturnAddressServiceImpl extends BaseServiceImpl implements ReturnAddressService { + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/settings/impl/SettingServiceImpl.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/settings/impl/SettingServiceImpl.java new file mode 100644 index 0000000..2cf4d03 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/settings/impl/SettingServiceImpl.java @@ -0,0 +1,24 @@ +package net.jjjerp.common.service.settings.impl; + +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.common.entity.settings.Setting; +import net.jjjerp.common.mapper.settings.SettingMapper; +import net.jjjerp.common.service.settings.SettingService; +import net.jjjerp.framework.common.service.impl.BaseServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +/** + * 商城设置记录表 服务实现类 + * + * @author jjjerp + * @since 2022-06-24 + */ +@Slf4j +@Service +public class SettingServiceImpl extends BaseServiceImpl implements SettingService { + + @Autowired + private SettingMapper settingMapper; + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/shop/ShopAccessService.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/shop/ShopAccessService.java new file mode 100644 index 0000000..db71489 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/shop/ShopAccessService.java @@ -0,0 +1,15 @@ +package net.jjjerp.common.service.shop; + + +import net.jjjerp.common.entity.shop.AdminAccess; +import net.jjjerp.framework.common.service.BaseService; + +/** + * 商家用户权限表 服务类 + * + * @author jjjerp + * @since 2022-06-22 + */ +public interface ShopAccessService extends BaseService { + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/shop/ShopLoginLogService.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/shop/ShopLoginLogService.java new file mode 100644 index 0000000..0adaf49 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/shop/ShopLoginLogService.java @@ -0,0 +1,14 @@ +package net.jjjerp.common.service.shop; + +import net.jjjerp.common.entity.shop.AdminLoginLog; +import net.jjjerp.framework.common.service.BaseService; + +/** + * 管理员登录记录表 服务类 + * + * @author jjjerp + * @since 2022-08-15 + */ +public interface ShopLoginLogService extends BaseService { + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/shop/ShopOptLogService.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/shop/ShopOptLogService.java new file mode 100644 index 0000000..218f760 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/shop/ShopOptLogService.java @@ -0,0 +1,14 @@ +package net.jjjerp.common.service.shop; + +import net.jjjerp.common.entity.shop.AdminOptLog; +import net.jjjerp.framework.common.service.BaseService; + +/** + * 管理员操作记录表 服务类 + * + * @author jjjerp + * @since 2022-08-15 + */ +public interface ShopOptLogService extends BaseService { + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/shop/ShopUserService.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/shop/ShopUserService.java new file mode 100644 index 0000000..274d31a --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/shop/ShopUserService.java @@ -0,0 +1,14 @@ + + +package net.jjjerp.common.service.shop; + +import net.jjjerp.common.entity.shop.AdminUser; +import net.jjjerp.framework.common.service.BaseService; + +/** + * 系统用户 服务类 + */ +public interface ShopUserService extends BaseService { + + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/shop/impl/ShopAccessServiceImpl.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/shop/impl/ShopAccessServiceImpl.java new file mode 100644 index 0000000..b06aca1 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/shop/impl/ShopAccessServiceImpl.java @@ -0,0 +1,20 @@ +package net.jjjerp.common.service.shop.impl; + +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.common.entity.shop.AdminAccess; +import net.jjjerp.common.mapper.shop.ShopAccessMapper; +import net.jjjerp.common.service.shop.ShopAccessService; +import net.jjjerp.framework.common.service.impl.BaseServiceImpl; +import org.springframework.stereotype.Service; + +/** + * 商家用户权限表 服务实现类 + * + * @author jjjerp + * @since 2022-06-22 + */ +@Slf4j +@Service +public class ShopAccessServiceImpl extends BaseServiceImpl implements ShopAccessService { + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/shop/impl/ShopLoginLogServiceImpl.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/shop/impl/ShopLoginLogServiceImpl.java new file mode 100644 index 0000000..f4455b9 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/shop/impl/ShopLoginLogServiceImpl.java @@ -0,0 +1,24 @@ +package net.jjjerp.common.service.shop.impl; + +import net.jjjerp.common.entity.shop.AdminLoginLog; +import net.jjjerp.common.mapper.shop.ShopLoginLogMapper; +import net.jjjerp.common.service.shop.ShopLoginLogService; +import net.jjjerp.framework.common.service.impl.BaseServiceImpl; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.beans.factory.annotation.Autowired; + +/** + * 管理员登录记录表 服务实现类 + * + * @author jjjerp + * @since 2022-08-15 + */ +@Slf4j +@Service +public class ShopLoginLogServiceImpl extends BaseServiceImpl implements ShopLoginLogService { + + @Autowired + private ShopLoginLogMapper shopLoginLogMapper; + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/shop/impl/ShopOptLogServiceImpl.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/shop/impl/ShopOptLogServiceImpl.java new file mode 100644 index 0000000..680dce4 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/shop/impl/ShopOptLogServiceImpl.java @@ -0,0 +1,24 @@ +package net.jjjerp.common.service.shop.impl; + +import net.jjjerp.common.entity.shop.AdminOptLog; +import net.jjjerp.common.mapper.shop.ShopOptLogMapper; +import net.jjjerp.common.service.shop.ShopOptLogService; +import net.jjjerp.framework.common.service.impl.BaseServiceImpl; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.beans.factory.annotation.Autowired; + +/** + * 管理员操作记录表 服务实现类 + * + * @author jjjerp + * @since 2022-08-15 + */ +@Slf4j +@Service +public class ShopOptLogServiceImpl extends BaseServiceImpl implements ShopOptLogService { + + @Autowired + private ShopOptLogMapper shopOptLogMapper; + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/shop/impl/ShopUserServiceImpl.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/shop/impl/ShopUserServiceImpl.java new file mode 100644 index 0000000..c2262db --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/shop/impl/ShopUserServiceImpl.java @@ -0,0 +1,22 @@ + + +package net.jjjerp.common.service.shop.impl; + +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.common.entity.shop.AdminUser; +import net.jjjerp.common.mapper.shop.ShopUserMapper; +import net.jjjerp.common.service.shop.ShopUserService; +import net.jjjerp.framework.common.service.impl.BaseServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +/** + * 系统用户 服务实现类 + */ +@Slf4j +@Service +public class ShopUserServiceImpl extends BaseServiceImpl implements ShopUserService { + + @Autowired + private ShopUserMapper shopUserMapper; +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/store/StoreService.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/store/StoreService.java new file mode 100644 index 0000000..7c7d6fb --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/store/StoreService.java @@ -0,0 +1,18 @@ +package net.jjjerp.common.service.store; + +import net.jjjerp.common.entity.store.Store; +import net.jjjerp.common.param.CommonPageParam; +import net.jjjerp.framework.common.service.BaseService; +import net.jjjerp.framework.core.pagination.Paging; + +import java.util.List; +import java.util.Map; + +/** + * 供应商/客户信息表 服务类 + * + * @author jjjerp + * @since 2024-04-19 + */ +public interface StoreService extends BaseService { +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/store/impl/StoreServiceImpl.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/store/impl/StoreServiceImpl.java new file mode 100644 index 0000000..fe3246c --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/store/impl/StoreServiceImpl.java @@ -0,0 +1,46 @@ +package net.jjjerp.common.service.store.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.ApiModelProperty; +import net.jjjerp.common.cache.RegionCache; +import net.jjjerp.common.entity.bill.BillHead; +import net.jjjerp.common.entity.depot.Depot; +import net.jjjerp.common.entity.store.Store; +import net.jjjerp.common.entity.supplier.Supplier; +import net.jjjerp.common.enums.StoreTypeEnum; +import net.jjjerp.common.mapper.store.StoreMapper; +import net.jjjerp.common.param.CommonPageParam; +import net.jjjerp.common.service.bill.BillHeadService; +import net.jjjerp.common.service.finance.capital.AccountService; +import net.jjjerp.common.service.store.StoreService; +import net.jjjerp.common.util.CodeUtils; +import net.jjjerp.framework.common.exception.BusinessException; +import net.jjjerp.framework.common.service.impl.BaseServiceImpl; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.framework.core.pagination.PageInfo; +import net.jjjerp.framework.core.pagination.Paging; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; +import org.springframework.beans.factory.annotation.Autowired; + +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * 供应商/客户信息表 服务实现类 + * + * @author jjjerp + * @since 2024-04-19 + */ +@Slf4j +@Service +public class StoreServiceImpl extends BaseServiceImpl implements StoreService { + + @Autowired + private StoreMapper storeMapper; +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/supplier/SupplierService.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/supplier/SupplierService.java new file mode 100644 index 0000000..1e9f15a --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/supplier/SupplierService.java @@ -0,0 +1,19 @@ +package net.jjjerp.common.service.supplier; + +import net.jjjerp.common.entity.supplier.Supplier; +import net.jjjerp.common.param.CommonPageParam; +import net.jjjerp.framework.common.service.BaseService; +import net.jjjerp.framework.core.pagination.Paging; + +import java.util.List; +import java.util.Map; + +/** + * 供应商/客户信息表 服务类 + * + * @author jjjerp + * @since 2024-04-18 + */ +public interface SupplierService extends BaseService { + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/supplier/impl/SupplierServiceImpl.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/supplier/impl/SupplierServiceImpl.java new file mode 100644 index 0000000..3c8e651 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/supplier/impl/SupplierServiceImpl.java @@ -0,0 +1,44 @@ +package net.jjjerp.common.service.supplier.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import net.jjjerp.common.cache.RegionCache; +import net.jjjerp.common.entity.product.Product; +import net.jjjerp.common.entity.product.ProductExtend; +import net.jjjerp.common.entity.supplier.Supplier; +import net.jjjerp.common.mapper.supplier.SupplierMapper; +import net.jjjerp.common.param.CommonPageParam; +import net.jjjerp.common.service.supplier.SupplierService; +import net.jjjerp.common.util.CodeUtils; +import net.jjjerp.common.vo.product.ProductVo; +import net.jjjerp.framework.common.exception.BusinessException; +import net.jjjerp.framework.common.service.impl.BaseServiceImpl; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.framework.core.pagination.PageInfo; +import net.jjjerp.framework.core.pagination.Paging; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang3.StringUtils; +import org.springframework.core.annotation.OrderUtils; +import org.springframework.stereotype.Service; +import org.springframework.beans.factory.annotation.Autowired; + +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** + * 供应商/客户信息表 服务实现类 + * + * @author jjjerp + * @since 2024-04-18 + */ +@Slf4j +@Service +public class SupplierServiceImpl extends BaseServiceImpl implements SupplierService { + + @Autowired + private SupplierMapper supplierMapper; +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/system/SystemVersionService.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/system/SystemVersionService.java new file mode 100644 index 0000000..10b5531 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/system/SystemVersionService.java @@ -0,0 +1,14 @@ +package net.jjjerp.common.service.system; + +import net.jjjerp.common.entity.system.SystemVersion; +import net.jjjerp.framework.common.service.BaseService; + +/** + * 系统信息表 服务类 + * + * @author jjjerp + * @since 2022-06-22 + */ +public interface SystemVersionService extends BaseService { + public String getVersion(); +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/system/impl/SystemVersionServiceImpl.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/system/impl/SystemVersionServiceImpl.java new file mode 100644 index 0000000..2376d5b --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/service/system/impl/SystemVersionServiceImpl.java @@ -0,0 +1,30 @@ +package net.jjjerp.common.service.system.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.common.entity.system.SystemVersion; +import net.jjjerp.common.mapper.system.SystemVersionMapper; +import net.jjjerp.common.service.system.SystemVersionService; +import net.jjjerp.config.constant.CommonConstant; +import net.jjjerp.framework.common.service.impl.BaseServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +/** + * 系统信息表 服务实现类 + * + * @author jjjerp + * @since 2022-06-22 + */ +@Slf4j +@Service +public class SystemVersionServiceImpl extends BaseServiceImpl implements SystemVersionService { + @Autowired + private SystemVersionMapper systemVersionMapper; + + public String getVersion(){ + SystemVersion version = systemVersionMapper.selectOne(new LambdaQueryWrapper() + .comment(CommonConstant.NOT_WITH_App_Id)); + return version.getVersionNo(); + } +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/settings/vo/PrinterVo.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/settings/vo/PrinterVo.java new file mode 100644 index 0000000..2d56e95 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/settings/vo/PrinterVo.java @@ -0,0 +1,36 @@ +package net.jjjerp.common.settings.vo; + + +import io.swagger.annotations.ApiModel; +import lombok.Data; +import lombok.experimental.Accessors; + +import java.io.Serializable; + +@Data +@Accessors(chain = true) +@ApiModel("打印机设置VO") +public class PrinterVo implements Serializable { + private static final long serialVersionUID = 1L; + private Integer isOpen; + private Integer orderStatus; + private Integer printerId; + + //电子面单打印方式,0本地打印,1快递100云打印 + private Integer labelPrintType; + //打印机ID + private Integer labelPrinterId; + //快递100云打印机编码 + private String siid; + + public PrinterVo() { + this.isOpen = 1; + this.orderStatus = 20; + this.printerId = 0; + + this.labelPrintType = 0; + this.labelPrinterId = 0; + this.siid = ""; + } + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/settings/vo/SmsVo.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/settings/vo/SmsVo.java new file mode 100644 index 0000000..c22f7d9 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/settings/vo/SmsVo.java @@ -0,0 +1,91 @@ +package net.jjjerp.common.settings.vo; + +import io.swagger.annotations.ApiModel; +import lombok.Data; +import lombok.experimental.Accessors; + +import java.io.Serializable; + +@Data +@Accessors(chain = true) +@ApiModel("短信设置VO") +public class SmsVo implements Serializable { + private static final long serialVersionUID = 1L; + private String acceptPhone; + private String templateCode; + private AliyunSms aliyunSms; + private QcloudSms QcloudSms; + private HWcloudSms HWcloudSms; + private String radio; + + + @Data + @Accessors(chain = true) + @ApiModel("阿里云短信VO") + public static class AliyunSms implements Serializable { + private static final long serialVersionUID = 1L; + private String accessKeyId; + private String accessKeySecret; + private String sign; + private String templateCode; + + public AliyunSms() { + this.accessKeyId = ""; + this.accessKeySecret = ""; + this.sign = ""; + this.templateCode = ""; + } + } + + @Data + @Accessors(chain = true) + @ApiModel("腾讯云短信VO") + public static class QcloudSms implements Serializable { + private static final long serialVersionUID = 1L; + private String accessKeyId; + private String secretId; + private String secretKey; + private String sign; + private String templateCode; + + public QcloudSms() { + this.accessKeyId = ""; + this.secretId = ""; + this.secretKey = ""; + this.sign = ""; + this.templateCode = ""; + } + } + + @Data + @Accessors(chain = true) + @ApiModel("华为云短信VO") + public static class HWcloudSms implements Serializable { + private static final long serialVersionUID = 1L; + private String accessKeyId; + private String accessKeySecret; + private String sender; + private String sign; + private String templateCode; + //APP接入地址 + private String url; + + public HWcloudSms() { + this.accessKeyId = ""; + this.accessKeySecret = ""; + this.sender = ""; + this.sign = ""; + this.templateCode = ""; + this.url = ""; + } + } + + public SmsVo() { + this.acceptPhone = ""; + this.templateCode = ""; + this.aliyunSms = new AliyunSms(); + this.QcloudSms = new QcloudSms(); + this.HWcloudSms = new HWcloudSms(); + this.radio = "aliyun"; + } +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/settings/vo/StorageVo.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/settings/vo/StorageVo.java new file mode 100644 index 0000000..819adcb --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/settings/vo/StorageVo.java @@ -0,0 +1,115 @@ +package net.jjjerp.common.settings.vo; + + +import io.swagger.annotations.ApiModel; +import lombok.Data; +import lombok.experimental.Accessors; + +import java.io.Serializable; + +@Data +@Accessors(chain = true) +@ApiModel("上传设置VO") +public class StorageVo implements Serializable { + private static final long serialVersionUID = 1L; + // 当前设置 + private String current; + // 图片最大多少M + private Integer maxImage; + // 视频最大多少M + private Integer maxVideo; + + private QiNiu qiNiu; + private AliYun aliYun; + private QCloud qCloud; + private HwCloud hwCloud; + + @Data + @Accessors(chain = true) + @ApiModel("华为云OBS设置") + public static class HwCloud implements Serializable { + private static final long serialVersionUID = 1L; + private String endPoint; + private String accessKeyId; + private String accessKeySecret; + private String bucketName; + private String domain; + + public HwCloud() { + this.endPoint = ""; + this.accessKeyId = ""; + this.accessKeySecret = ""; + this.bucketName = ""; + this.domain = "http://"; + } + } + + @Data + @Accessors(chain = true) + @ApiModel("七牛设置VO") + public static class QiNiu implements Serializable { + private static final long serialVersionUID = 1L; + private String bucket; + private String accessKey; + private String secretKey; + private String domain; + + public QiNiu() { + this.bucket = ""; + this.accessKey = ""; + this.secretKey = ""; + this.domain = "http://"; + } + } + + @Data + @Accessors(chain = true) + @ApiModel("阿里云设置VO") + public static class AliYun implements Serializable { + private static final long serialVersionUID = 1L; + private String bucket; + private String accessKeyId; + private String accessKeySecret; + private String domain; + private String endpoint; + + public AliYun() { + this.bucket = ""; + this.accessKeyId = ""; + this.accessKeySecret = ""; + this.domain = "http://"; + this.endpoint = ""; + } + } + + @Data + @Accessors(chain = true) + @ApiModel("腾讯云设置VO") + public static class QCloud implements Serializable { + private static final long serialVersionUID = 1L; + private String bucket; + private String region; + private String secretId; + private String secretKey; + private String domain; + + public QCloud() { + this.bucket = ""; + this.region = ""; + this.secretId = ""; + this.secretKey = ""; + this.domain = "http://"; + } + } + + public StorageVo() { + this.current = "Local"; + this.maxImage = 2; + this.maxVideo = 20; + this.qiNiu = new QiNiu(); + this.aliYun = new AliYun(); + this.qCloud = new QCloud(); + this.hwCloud = new HwCloud(); + } + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/settings/vo/StoreVo.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/settings/vo/StoreVo.java new file mode 100644 index 0000000..903fab2 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/settings/vo/StoreVo.java @@ -0,0 +1,61 @@ +package net.jjjerp.common.settings.vo; + +import io.swagger.annotations.ApiModel; +import lombok.Data; +import lombok.experimental.Accessors; +import net.jjjerp.common.enums.DeliveryTypeEnum; + +import java.io.Serializable; +import java.util.List; + +@Data +@Accessors(chain = true) +@ApiModel("系统设置VO") +public class StoreVo implements Serializable { + + private static final long serialVersionUID = 1L; + + private List deliveryType; + private Boolean isGetLog; + private KuaiDi100 kuaiDi100; + private Policy policy; + + @Data + @Accessors(chain = true) + @ApiModel("快递100VO") + public static class KuaiDi100 implements Serializable{ + private static final long serialVersionUID = 1L; + //授权key + private String key; + //查询customer + private String customer; + //电子面单secret + private String secret; + + public KuaiDi100(){ + this.customer = ""; + this.key = ""; + this.secret = ""; + } + } + + @Data + @Accessors(chain = true) + @ApiModel("隐私政策") + public static class Policy implements Serializable{ + private static final long serialVersionUID = 1L; + private String service; + private String privacy; + public Policy(){ + this.service = ""; + this.privacy = ""; + } + } + + public StoreVo(){ + this.deliveryType = DeliveryTypeEnum.getValues(); + this.isGetLog = false; + this.kuaiDi100 = new KuaiDi100(); + this.policy = new Policy(); + } +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/settings/vo/SysConfigVo.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/settings/vo/SysConfigVo.java new file mode 100644 index 0000000..4d4528a --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/settings/vo/SysConfigVo.java @@ -0,0 +1,49 @@ +package net.jjjerp.common.settings.vo; + +import io.swagger.annotations.ApiModel; +import lombok.Data; +import lombok.experimental.Accessors; + +import java.io.Serializable; + +@Data +@Accessors(chain = true) +@ApiModel("系统设置VO") +public class SysConfigVo implements Serializable { + + private static final long serialVersionUID = 1L; + + private String shopName; + private String shopBgImg; + private WeixinService weixinService; + //上传设置VO + private StorageVo storageVo; + + @Data + @Accessors(chain = true) + @ApiModel("系统设置VO") + public static class WeixinService implements Serializable{ + private static final long serialVersionUID = 1L; + private Boolean isOpen; + private String appId; + private String mchId; + private String apiKey; + private String certPem; + private String keyPem; + public WeixinService(){ + this.isOpen = false; + this.appId = ""; + this.mchId = ""; + this.apiKey = ""; + this.certPem = ""; + this.keyPem = ""; + } + } + + public SysConfigVo(){ + this.shopName = "三勾商城管理系统"; + this.shopBgImg = ""; + this.weixinService = new WeixinService(); + this.storageVo = new StorageVo(); + } +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/util/CodeUtils.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/util/CodeUtils.java new file mode 100644 index 0000000..ad3b92f --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/util/CodeUtils.java @@ -0,0 +1,62 @@ +package net.jjjerp.common.util; + +import cn.hutool.core.date.DateUtil; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; +import java.util.*; +@Slf4j +@Component +public class CodeUtils { + + /** + * 生成订单号 + * @return + */ + public static String geneOrderNo(Integer userId){ + + String date = DateUtil.format(new Date(), "yyyyMMdd"); + + Random random = new Random(); + + int rannum = (int) (random.nextDouble() * (9999 - 1000 + 1)) + 1000;// 获取4位随机数 + + //8位用户id + int subStrLength = 8; + String sUserId = userId.toString(); + int length = sUserId.length(); + String str; + if (length >= subStrLength) { + str = sUserId.substring(length - subStrLength, length); + } else { + str = String.format("%0" + subStrLength + "d", userId); + } + + return date + str + rannum;// 当前时间 + 用户id + 随机数 + } + + public static String geneCode(){ + + String date = DateUtil.format(new Date(), "yyyyMMdd"); + + Random random = new Random(); + + int rannum = (int) (random.nextDouble() * (9999 - 1000 + 1)) + 1000;// 获取4位随机数 + + return date + rannum;// 当前时间 + 随机数 + } + + public static String geneBillCode(String code,Integer num){ + + String date = DateUtil.format(new Date(), "yyyyMMdd"); + + //订单数量,不足4位补0 + int subStrLength = 4; + String sNum = num.toString(); + int length = sNum.length(); + if (length < subStrLength) { + sNum = String.format("%0" + subStrLength + "d", num); + } + + return code + date + sNum;// 订单类型 + 当前时间 + 当天订单数量 + } +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/util/CoordinateUtils.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/util/CoordinateUtils.java new file mode 100644 index 0000000..e5338ba --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/util/CoordinateUtils.java @@ -0,0 +1,37 @@ +package net.jjjerp.common.util; + +public class CoordinateUtils { + // WGS84标准参考椭球中的地球长半径(单位:米) + private static final double EARTH_RADIUS_WGS84 = 6378137.0; + + /** + * 计算两个坐标的距离(粗略计算,单位:米) + * 计算公式参照 google map 的距离计算 + * + * @param lat1 坐标1纬度 + * @param lng1 坐标1经度 + * @param lat2 坐标2纬度 + * @param lng2 坐标2经度 + * @return + */ + public static double distance(double lat1, double lng1, double lat2, double lng2) { + + double radLat1 = Math.toRadians(lat1); + double radLat2 = Math.toRadians(lat2); + + double a = radLat1 - radLat2; + double b = Math.toRadians(lng1) - Math.toRadians(lng2); + + double s = 2 * Math.asin(Math.sqrt(Math.pow(Math.sin(a / 2), 2) + + Math.cos(radLat1) * Math.cos(radLat2) * Math.pow(Math.sin(b / 2), 2))); + + return Math.round(s * EARTH_RADIUS_WGS84); + } + + public static void main(String args[]){ + //double distance = CoordinateUtils.distance(30.332946, 114.116931, 39.737725, 116.302257); + //System.out.println(distance); + int a = (int)(100.60 * 10 / 100); + System.out.println(a); + } +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/util/HttpUtils.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/util/HttpUtils.java new file mode 100644 index 0000000..a0d2569 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/util/HttpUtils.java @@ -0,0 +1,140 @@ +package net.jjjerp.common.util; + + +import lombok.extern.slf4j.Slf4j; +import org.apache.http.NameValuePair; +import org.apache.http.client.entity.UrlEncodedFormEntity; +import org.apache.http.client.methods.CloseableHttpResponse; +import org.apache.http.client.methods.HttpGet; +import org.apache.http.client.methods.HttpPost; +import org.apache.http.client.utils.URIBuilder; +import org.apache.http.entity.ContentType; +import org.apache.http.entity.StringEntity; +import org.apache.http.impl.client.CloseableHttpClient; +import org.apache.http.impl.client.HttpClients; +import org.apache.http.message.BasicNameValuePair; +import org.apache.http.util.EntityUtils; +import org.springframework.stereotype.Component; + +import java.io.IOException; +import java.net.URI; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + +@Slf4j +@Component +public class HttpUtils { + public static String doGet(String url, Map param) { + // 创建Httpclient对象 + CloseableHttpClient httpclient = HttpClients.createDefault(); + String resultString = ""; + CloseableHttpResponse response = null; + try { + // 创建uri + URIBuilder builder = new URIBuilder(url); + if (param != null) { + for (String key : param.keySet()) { + builder.addParameter(key, param.get(key)); + } + } + URI uri = builder.build(); + + // 创建http GET请求 + HttpGet httpGet = new HttpGet(uri); + + // 执行请求 + response = httpclient.execute(httpGet); + // 判断返回状态是否为200 + if (response.getStatusLine().getStatusCode() == 200) { + resultString = EntityUtils.toString(response.getEntity(), "UTF-8"); + } + } catch (Exception e) { + e.printStackTrace(); + } finally { + try { + if (response != null) { + response.close(); + } + httpclient.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + return resultString; + } + + public static String doGet(String url) { + return doGet(url, null); + } + + public static String doPost(String url, Map param) { + // 创建Httpclient对象 + CloseableHttpClient httpClient = HttpClients.createDefault(); + CloseableHttpResponse response = null; + String resultString = ""; + try { + // 创建Http Post请求 + HttpPost httpPost = new HttpPost(url); + // 创建参数列表 + if (param != null) { + List paramList = new ArrayList<>(); + for (String key : param.keySet()) { + paramList.add(new BasicNameValuePair(key, param.get(key))); + } + // 模拟表单 + UrlEncodedFormEntity entity = new UrlEncodedFormEntity(paramList, "utf-8"); + httpPost.setEntity(entity); + } + // 执行http请求 + response = httpClient.execute(httpPost); + resultString = EntityUtils.toString(response.getEntity(), "utf-8"); + } catch (Exception e) { + e.printStackTrace(); + } finally { + try { + response.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + return resultString; + } + + public static String doPost(String url) { + return doPost(url, null); + } + + /** + * 请求的参数类型为json + * @param url + * @param json + * @return + * {username:"",pass:""} + */ + public static String doPostJson(String url, String json) { + // 创建Httpclient对象 + CloseableHttpClient httpClient = HttpClients.createDefault(); + CloseableHttpResponse response = null; + String resultString = ""; + try { + // 创建Http Post请求 + HttpPost httpPost = new HttpPost(url); + // 创建请求内容 + StringEntity entity = new StringEntity(json, ContentType.APPLICATION_JSON); + httpPost.setEntity(entity); + // 执行http请求 + response = httpClient.execute(httpPost); + resultString = EntityUtils.toString(response.getEntity(), "utf-8"); + } catch (Exception e) { + e.printStackTrace(); + } finally { + try { + response.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + return resultString; + } +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/util/HuaWeiSMSUtil.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/util/HuaWeiSMSUtil.java new file mode 100644 index 0000000..9644c72 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/util/HuaWeiSMSUtil.java @@ -0,0 +1,143 @@ +package net.jjjerp.common.util; + +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import javax.net.ssl.HttpsURLConnection; +import javax.net.ssl.SSLContext; +import javax.net.ssl.TrustManager; +import javax.net.ssl.X509TrustManager; +import java.io.UnsupportedEncodingException; +import java.net.URLEncoder; +import java.security.MessageDigest; +import java.security.NoSuchAlgorithmException; +import java.security.cert.CertificateException; +import java.security.cert.X509Certificate; +import java.text.SimpleDateFormat; +import java.util.*; + +/** + * ClassName: HuaweiSms + * Package: net.jjjerp.common.util + * Description: + * + * @Author jjjerp + * @Create 2023/3/15 15:29 + */ +//如果JDK版本是1.8,可使用原生Base64类 +@Slf4j +@Component +public class HuaWeiSMSUtil { + + @Autowired + private SettingUtils settingUtils; + + + //无需修改,用于格式化鉴权头域,给"X-WSSE"参数赋值 + private static final String WSSE_HEADER_FORMAT = "UsernameToken Username=\"%s\",PasswordDigest=\"%s\",Nonce=\"%s\",Created=\"%s\""; + + /** + * 构造请求Body体 + * @param sender + * @param receiver + * @param templateId + * @param templateParas + * @param statusCallBack + * @param signature | 签名名称,使用国内短信通用模板时填写 + * @return + */ + public static String buildRequestBody(String sender, String receiver, String templateId, String templateParas, + String statusCallBack, String signature) { + if (null == sender || null == receiver || null == templateId || sender.isEmpty() || receiver.isEmpty() + || templateId.isEmpty()) { + System.out.println("buildRequestBody(): sender, receiver or templateId is null."); + return null; + } + Map map = new HashMap(); + + map.put("from", sender); + map.put("to", receiver); + map.put("templateId", templateId); + if (null != templateParas && !templateParas.isEmpty()) { + map.put("templateParas", templateParas); + } + if (null != statusCallBack && !statusCallBack.isEmpty()) { + map.put("statusCallback", statusCallBack); + } + if (null != signature && !signature.isEmpty()) { + map.put("signature", signature); + } + + StringBuilder sb = new StringBuilder(); + String temp = ""; + + for (String s : map.keySet()) { + try { + temp = URLEncoder.encode(map.get(s), "UTF-8"); + } catch (UnsupportedEncodingException e) { + e.printStackTrace(); + } + sb.append(s).append("=").append(temp).append("&"); + } + + return sb.deleteCharAt(sb.length()-1).toString(); + } + + /** + * 构造X-WSSE参数值 + * @param appKey + * @param appSecret + * @return + */ + public static String buildWsseHeader(String appKey, String appSecret) { + if (null == appKey || null == appSecret || appKey.isEmpty() || appSecret.isEmpty()) { + System.out.println("buildWsseHeader(): appKey or appSecret is null."); + return null; + } + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'"); + String time = sdf.format(new Date()); //Created + String nonce = UUID.randomUUID().toString().replace("-", ""); //Nonce + + MessageDigest md; + byte[] passwordDigest = null; + + try { + md = MessageDigest.getInstance("SHA-256"); + md.update((nonce + time + appSecret).getBytes()); + passwordDigest = md.digest(); + } catch (NoSuchAlgorithmException e) { + e.printStackTrace(); + } + + //如果JDK版本是1.8,请加载原生Base64类,并使用如下代码 + String passwordDigestBase64Str = Base64.getEncoder().encodeToString(passwordDigest); //PasswordDigest + //如果JDK版本低于1.8,请加载三方库提供Base64类,并使用如下代码 + //String passwordDigestBase64Str = Base64.encodeBase64String(passwordDigest); //PasswordDigest + //若passwordDigestBase64Str中包含换行符,请执行如下代码进行修正 + //passwordDigestBase64Str = passwordDigestBase64Str.replaceAll("[\\s*\t\n\r]", ""); + return String.format(WSSE_HEADER_FORMAT, appKey, passwordDigestBase64Str, nonce, time); + } + + /*** @throws Exception + */ + public static void trustAllHttpsCertificates() throws Exception { + TrustManager[] trustAllCerts = new TrustManager[] { + new X509TrustManager() { + public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException { + return; + } + public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException { + return; + } + public X509Certificate[] getAcceptedIssuers() { + return null; + } + } + }; + SSLContext sc = SSLContext.getInstance("SSL"); + sc.init(null, trustAllCerts, null); + HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory()); + } +} + diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/util/ImageBankUtils.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/util/ImageBankUtils.java new file mode 100644 index 0000000..738fcb0 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/util/ImageBankUtils.java @@ -0,0 +1,102 @@ +package net.jjjerp.common.util; + +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.common.entity.file.ImageBank; +import net.jjjerp.common.param.ImageBankPageParam; +import net.jjjerp.common.service.file.ImageBankService; +import net.jjjerp.common.vo.image.ImageBankVo; +import net.jjjerp.config.constant.CommonConstant; +import net.jjjerp.framework.core.pagination.PageInfo; +import net.jjjerp.framework.core.pagination.Paging; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import java.util.List; +import java.util.stream.Collectors; + +@Slf4j +@Component +public class ImageBankUtils { + + @Autowired + private ImageBankService imageBankService; + + //获取系统图库列表 + public List index() { + List list = imageBankService.list(new LambdaQueryWrapper() + .comment(CommonConstant.NOT_WITH_App_Id) + .eq(ImageBank::getParentId,0) + .orderByAsc(ImageBank::getSort).orderByAsc(ImageBank::getCreateTime)); + // 转成vo + List voList = list.stream().map(e -> { + ImageBankVo vo = new ImageBankVo(); + BeanUtils.copyProperties(e, vo); + return vo; + }).collect(Collectors.toList()); + return voList; + } + + /** + * 组装成树形 + * @param list + * @return + */ + private List transTree(List list){ + // 转成vo + List voList = list.stream().map(e -> { + ImageBankVo vo = new ImageBankVo(); + BeanUtils.copyProperties(e, vo); + return vo; + }).collect(Collectors.toList()); + // 遍历成树形结构 + List collect = voList.stream() + // 2. 找出所有顶级(规定 0 为顶级) + .filter(o -> StrUtil.equals("0", String.valueOf(o.getParentId()))) + // 3.给当前父级的 childList 设置子 + .peek(o -> o.setChildren(getChildList(o, voList))) + // 4.收集 + .collect(Collectors.toList()); + return collect; + } + + // 根据当前父类 找出子类, 并通过递归找出子类的子类 + private List getChildList(ImageBank bean, List voList) { + List list = voList.stream() + //筛选出父节点id == parentId 的所有对象 => list + .filter(o -> StrUtil.equals(String.valueOf(bean.getCategoryId()), String.valueOf(o.getParentId()))) + .peek(o -> o.setChildren(getChildList(o, voList))) + .collect(Collectors.toList()); + if(list.size() == 0){ + return null; + } + return list; + } + + //分页列表 + public Paging list(ImageBankPageParam param) { + Page page = new PageInfo<>(param); + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.comment(CommonConstant.NOT_WITH_App_Id); + if(param.getParentId() != null && param.getParentId() != 0){ + wrapper.eq(ImageBank::getParentId, param.getParentId()); + }else { + //所有图片,不包括一级分类 + wrapper.ne(ImageBank::getParentId, 0); + } + wrapper.orderByDesc(ImageBank::getCreateTime); + IPage iPage = imageBankService.page(page, wrapper); + // 最终返回分页对象 + IPage resultPage = iPage.convert(result -> { + ImageBankVo vo = new ImageBankVo(); + BeanUtil.copyProperties(result, vo); + return vo; + }); + return new Paging(resultPage); + } +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/util/KuaiDi100Utils.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/util/KuaiDi100Utils.java new file mode 100644 index 0000000..599b052 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/util/KuaiDi100Utils.java @@ -0,0 +1,26 @@ +package net.jjjerp.common.util; + +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.common.service.settings.*; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +@Slf4j +@Component +public class KuaiDi100Utils { + + @Autowired + private SettingUtils settingUtils; + @Autowired + private RegionService regionService; + @Autowired + private ReturnAddressService returnAddressService; + @Autowired + private ExpressService expressService; + @Autowired + private DeliveryTemplateService deliveryTemplateService; + @Autowired + private LabelSettingService labelSettingService; + + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/util/MybatisPlusUtils.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/util/MybatisPlusUtils.java new file mode 100644 index 0000000..fcae5b9 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/util/MybatisPlusUtils.java @@ -0,0 +1,24 @@ +package net.jjjerp.common.util; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.TableFieldInfo; +import com.baomidou.mybatisplus.core.toolkit.StringUtils; + +import java.util.function.Predicate; + +public class MybatisPlusUtils { + + /** + * 只返回 指定字段 + */ + public static void fieldValues(String fieldValues, LambdaQueryWrapper queryWrapper, Class aClass) { + if (StringUtils.isNotBlank(fieldValues)) { + Predicate predicate = null; + String[] fieldValuesArray = fieldValues.split(","); + for (String field : fieldValuesArray) { + predicate = predicate == null ? p -> p.getColumn().equals(field) : predicate.or(p -> p.getColumn().equals(field)); + } + queryWrapper.select(aClass, predicate); + } + } +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/util/PayUtils.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/util/PayUtils.java new file mode 100644 index 0000000..2b8b465 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/util/PayUtils.java @@ -0,0 +1,27 @@ +package net.jjjerp.common.util; +import com.github.binarywang.wxpay.service.WxPayService; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.common.service.app.AppService; +import net.jjjerp.common.util.wx.WxPayUtils; +import net.jjjerp.config.properties.SpringBootJjjProperties; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import java.math.BigDecimal; +import java.net.URLEncoder; +import java.util.Map; + +@Slf4j +@Component +public class PayUtils { + + @Autowired + private SpringBootJjjProperties springBootJjjProperties; + @Autowired + private WxPayService wxPayService; + @Autowired + private WxPayUtils wxPayUtils; + @Autowired + private AppService appService; + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/util/ProductUtils.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/util/ProductUtils.java new file mode 100644 index 0000000..627f6a0 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/util/ProductUtils.java @@ -0,0 +1,274 @@ +package net.jjjerp.common.util; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.common.entity.bill.BillItem; +import net.jjjerp.common.entity.depot.DepotStorage; +import net.jjjerp.common.entity.depot.DepotStorageStock; +import net.jjjerp.common.entity.product.ProductExtend; +import net.jjjerp.common.entity.product.ProductImage; +import net.jjjerp.common.enums.BillTypeEnum; +import net.jjjerp.common.enums.BusinessTypeEnum; +import net.jjjerp.common.service.bill.BillItemService; +import net.jjjerp.common.service.depot.DepotStorageService; +import net.jjjerp.common.service.depot.DepotStorageStockService; +import net.jjjerp.common.service.product.ProductExtendService; +import net.jjjerp.common.service.product.ProductImageService; +import net.jjjerp.common.vo.product.ProductImageVo; +import org.apache.commons.collections4.CollectionUtils; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import java.util.List; +import java.util.stream.Collectors; + +@Slf4j +@Component +public class ProductUtils { + + @Autowired + private ProductExtendService productExtendService; + @Autowired + private UploadFileUtils uploadFileUtils; + @Autowired + private ProductImageService productImageService; + @Autowired + private DepotStorageStockService storageStockService; + @Autowired + private DepotStorageStockService depotStorageStockService; + @Autowired + private BillItemService billItemService; + @Autowired + private DepotStorageService depotStorageService; + + /** + * 库存到货,累积库存 + */ + public void addStock(ProductExtend extend, BillItem item) { + Long num = item.getBasicNumber(); + //调拨入库单不影响总库存 + if(!BillTypeEnum.DBRKD.getValue().equals(item.getBillType())){ + //当前可用库存 + extend.setStockNum(extend.getStockNum() + num); + //实际总库存 + extend.setTotalStock(extend.getTotalStock() + num); + //更新成本价 + extend.setCostPrice(item.getDiscountPrice()); + //期初库存单 + if(BillTypeEnum.QCKCD.getValue().equals(item.getBillType())){ + //期初库存 + extend.setOpenningStock(num); + } + //是否可以修改期初成本价,0否,1是 + extend.setInitialStatus(0); + productExtendService.updateById(extend); + } + //商品库存余量 + item.setStockNum(getExtendStock(extend.getId(), item.getDepotId()) + num); + //库存变化数量 + item.setDifferenceNum(num); + billItemService.updateById(item); + //获取商品绑定货位 + DepotStorage storage = this.getStorage(extend.getId()); + //如果是本仓库货位,则新增货位库存 + if(storage != null && storage.getDepotId().equals(item.getDepotId())){ + DepotStorageStock stock = storage.getStock(); + stock.setStockNum(stock.getStockNum() + num); + //更新货位库存 + depotStorageStockService.updateById(stock); + } + //如果采购入库单业务类型是2订单采购入库,则更新关联的采购订单入库数量 + if(item.getLinkItemId() != null && item.getLinkItemId() > 0 && BusinessTypeEnum.DDCGRK.getValue().equals(item.getBusinessType())){ + //关联采购订单子单 + BillItem billItem = billItemService.getById(item.getLinkItemId()); + if(billItem != null){ + //可入库数量 + billItem.setAvailableNumber(billItem.getAvailableNumber() - item.getOperNumber()); + //可入库总数量 + billItem.setAvailableAllNumber(billItem.getAvailableAllNumber() - num); + billItemService.updateById(billItem); + } + } + //如果是调拨入库单,则更新关联的库存调拨单数量 + if(item.getLinkItemId() != null && item.getLinkItemId() > 0 && BillTypeEnum.DBRKD.getValue().equals(item.getBillType())){ + //关联库存调拨单子单 + BillItem billItem = billItemService.getById(item.getLinkItemId()); + if(billItem != null){ + //调入数量 + billItem.setFoldNumber(billItem.getFoldNumber() + item.getOperNumber()); + //调入总数 + billItem.setFoldAllNumber(billItem.getFoldAllNumber() + num); + //待入库数量 + billItem.setNoArrivalNumber(billItem.getNoArrivalNumber() - item.getOperNumber()); + //待入库总数量 + billItem.setNoArrivalAllNumber(billItem.getNoArrivalAllNumber() - num); + billItemService.updateById(billItem); + } + } + //如果是销售退货单,则更新关联的售后单入货数量 + if(item.getLinkItemId() != null && item.getLinkItemId() > 0 && item.getBillType() != null && BillTypeEnum.XSTHD.getValue().equals(item.getBillType())){ + //关联售后单子单 + BillItem billItem = billItemService.getById(item.getLinkItemId()); + if(billItem != null){ + //已退数量 + billItem.setReturnNumber(billItem.getReturnNumber() + item.getOperNumber()); + //已退总数 + billItem.setReturnAllNumber(billItem.getReturnAllNumber() + num); + //可退货总数 + billItem.setAvailableAllNumber(billItem.getAvailableAllNumber() - num); + billItemService.updateById(billItem); + } + } + } + + //获取商品绑定货位 + private DepotStorage getStorage(Long productExtendId) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(DepotStorageStock::getProductExtendId, productExtendId); + List list = depotStorageStockService.list(wrapper); + if(CollectionUtils.isNotEmpty(list)){ + DepotStorageStock stock = list.get(0); + DepotStorage storage = depotStorageService.getById(stock.getStorageId()); + if(storage != null){ + storage.setStock(stock); + return storage; + } + } + return null; + } + + /** + * 减少库存 + */ + public void subtractStock(ProductExtend extend, BillItem item) { + Long num = item.getBasicNumber(); + if(!BillTypeEnum.DBCKD.getValue().equals(item.getBillType())){ + //当前可用库存 + extend.setStockNum(extend.getStockNum() - num); + //实际总库存 + extend.setTotalStock(extend.getTotalStock() - num); + //是否可以修改期初成本价,0否,1是 + extend.setInitialStatus(0); + productExtendService.updateById(extend); + } + //商品库存余量 + item.setStockNum(getExtendStock(extend.getId(), item.getDepotId()) - num); + //库存变化数量 + item.setDifferenceNum(item.getDifferenceNum() - num); + billItemService.updateById(item); + //获取商品绑定货位 + DepotStorage storage = this.getStorage(extend.getId()); + //如果是本仓库货位,则新增货位库存 + if(storage != null && storage.getDepotId().equals(item.getDepotId())){ + DepotStorageStock stock = storage.getStock(); + stock.setStockNum(stock.getStockNum() - num); + //更新货位库存 + depotStorageStockService.updateById(stock); + } + + //如果采购退货单业务类型是4采购入库单退货,则更新关联的采购入库单退货数量 + if(item.getLinkItemId() != null && item.getLinkItemId() > 0 && item.getBusinessType() != null && BusinessTypeEnum.CGRKDTH.getValue().equals(item.getBusinessType())){ + //关联采购入库单子单 + BillItem billItem = billItemService.getById(item.getLinkItemId()); + if(billItem != null){ + //已退数量 + billItem.setReturnNumber(billItem.getReturnNumber() + item.getOperNumber()); + //已退总数 + billItem.setReturnAllNumber(billItem.getReturnAllNumber() + num); + //可退货总数 + billItem.setAvailableAllNumber(billItem.getAvailableAllNumber() - num); + billItemService.updateById(billItem); + } + } + //如果是11调拨出库单,则解锁关联的锁定库存 + if(item.getLinkItemId() != null && item.getLinkItemId() > 0 && BillTypeEnum.DBCKD.getValue().equals(item.getBillType())){ + //关联库存调拨单子单 + BillItem billItem = billItemService.getById(item.getLinkItemId()); + if(billItem != null){ + //调出数量 + billItem.setCalloutNumber(billItem.getFoldNumber() + item.getOperNumber()); + //调出总数 + billItem.setCalloutAllNumber(billItem.getFoldAllNumber() + num); + //待入库数量 + billItem.setNoArrivalNumber(billItem.getNoArrivalNumber() + item.getOperNumber()); + //待入库总数量 + billItem.setNoArrivalAllNumber(billItem.getNoArrivalAllNumber() + num); + //待出库数量 + billItem.setAvailableNumber(billItem.getNoArrivalNumber() - item.getOperNumber()); + //待出库总数量 + billItem.setAvailableAllNumber(billItem.getNoArrivalAllNumber() - num); + //已出库,锁定库存减少 + billItem.setFreezeStock(billItem.getFreezeStock() - item.getBasicNumber()); + billItemService.updateById(billItem); + } + } + } + + //获取商品规格实际库存余量 + public Long getExtendStock(Long extendId, Long depotId) { + //获取出库入库类型子单据 + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + //仓库id + if(depotId != null){ + wrapper.eq(BillItem::getDepotId, depotId); + } + wrapper.orderByDesc(BillItem::getCreateTime); + wrapper.eq(BillItem::getIsDelete, 0); + wrapper.eq(BillItem::getProductExtendId, extendId); + //库存变化数量 + wrapper.ne(BillItem::getDifferenceNum, 0); + List itemStockList = billItemService.list(wrapper); + //实际总库存 + Long totalStock = 0l; + totalStock = totalStock + itemStockList.stream().mapToLong(BillItem::getDifferenceNum).sum(); + return totalStock; + } + + /** + * 新增销售订单、库存调拨单 待出库 + * 锁定库存 + */ + public Boolean freezeStock(ProductExtend extend, Long num) { + if(extend != null && num != null){ + //当前可用库存 + extend.setStockNum(extend.getStockNum() - num); + //锁定库存 + extend.setFreezeStock(extend.getFreezeStock() + num); + return productExtendService.updateById(extend); + } + return false; + } + + /** + * 销售订单、库存调拨单 已出库 + * 解锁库存 + */ + public Boolean backFreezeStock(ProductExtend extend, Long num) { + if(extend != null && num != null){ + //当前可用库存 + extend.setStockNum(extend.getStockNum() + num); + //锁定库存 + extend.setFreezeStock(extend.getFreezeStock() - num); + return productExtendService.updateById(extend); + } + return false; + } + + /** + * 根据id和图片类型获取图片 + * @param productId 商品id + * @return + */ + public List getListByProductId(Long productId){ + List imageList = productImageService.list(new LambdaQueryWrapper() + .eq(ProductImage::getProductId, productId) + .orderByAsc(ProductImage::getId)); + return imageList.stream().map(e -> { + ProductImageVo productImageVo = new ProductImageVo(); + BeanUtils.copyProperties(e, productImageVo); + productImageVo.setFilePath(uploadFileUtils.getFilePath(e.getImageId())); + return productImageVo; + }).collect(Collectors.toList()); + } +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/util/SettingUtils.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/util/SettingUtils.java new file mode 100644 index 0000000..3e6b64d --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/util/SettingUtils.java @@ -0,0 +1,97 @@ +package net.jjjerp.common.util; + +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.toolkit.SqlHelper; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.common.entity.settings.Setting; +import net.jjjerp.common.enums.SettingEnum; +import net.jjjerp.common.mapper.settings.SettingMapper; +import net.jjjerp.config.constant.CommonRedisKey; +import net.jjjerp.framework.core.util.RequestDetailThreadLocal; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.redis.core.RedisTemplate; +import org.springframework.stereotype.Component; + +@Slf4j +@Component +public class SettingUtils { + + @Autowired + private RedisTemplate redisTemplate; + @Autowired + private SettingMapper settingMapper; + + private static final String backPackage = "net.jjjerp.common.settings.vo."; + /** + * 通过key查找设置信息 + * @param key + * @return + * @throws Exception + */ + public JSONObject getSetting(String key, Long appId) { + JSONObject result = null; + if(appId == null){ + appId = RequestDetailThreadLocal.getRequestDetail().getAppId(); + } + String cacheKey = String.format(CommonRedisKey.SETTING_DATA, appId, key); + // 如果缓存中存在,则返回 + Object object = redisTemplate.opsForValue().get(cacheKey); + if(object != null){ + try{ + // 跟默认数据进行合并 + Class cla = Class.forName(backPackage + SettingEnum.getClassNameByKey(key)); + Object vo = cla.newInstance(); + result = (JSONObject)JSONObject.toJSON(vo); + result.putAll((JSONObject)object); + }catch (Exception e){ + log.info("获取设置异常:", e.getMessage()); + } + return result; + } + // 先从数据库查询,如果没有,则取默认数据 + Setting setting = settingMapper.selectOne(new LambdaQueryWrapper() + .eq(Setting::getSetKey, key).eq(Setting::getAppId, appId)); + + try{ + if(setting != null){ + result = JSONObject.parseObject(setting.getSetValue()); + }else{ + Class cla = Class.forName(backPackage + SettingEnum.getClassNameByKey(key)); + Object vo = cla.newInstance(); + result = (JSONObject)JSONObject.toJSON(vo); + } + // 存入缓存 + redisTemplate.opsForValue().set(cacheKey, result); + }catch (Exception e){ + log.info("获取设置异常:", e.getMessage()); + } + return result; + } + + /** + * 保存 + * @param key + * @param jsonData + * @return + */ + public Boolean saveSetting(String key, JSONObject jsonData){ + Setting setting = settingMapper.selectOne(new LambdaQueryWrapper() + .eq(Setting::getSetKey, key)); + Setting bean = new Setting(); + // 删除缓存 + redisTemplate.delete(String.format(CommonRedisKey.SETTING_DATA, RequestDetailThreadLocal.getRequestDetail().getAppId(), key)); + if(setting == null){ + // 新增 + bean.setSetKey(key); + bean.setDescription(SettingEnum.getDescriptionByKey(key)); + bean.setSetValue(jsonData.toJSONString()); + return SqlHelper.retBool(settingMapper.insert(bean)); + }else{ + // 修改 + bean.setSetKey(key); + bean.setSetValue(jsonData.toJSONString()); + return SqlHelper.retBool(settingMapper.updateById(bean)); + } + } +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/util/ShopAccessUtils.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/util/ShopAccessUtils.java new file mode 100644 index 0000000..3ea10e3 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/util/ShopAccessUtils.java @@ -0,0 +1,82 @@ +package net.jjjerp.common.util; + +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.common.entity.shop.AdminAccess; +import net.jjjerp.common.service.shop.ShopAccessService; +import net.jjjerp.common.vo.shop.AdminAccessVo; +import net.jjjerp.config.constant.CommonConstant; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import java.util.List; +import java.util.stream.Collectors; + +@Slf4j +@Component +public class ShopAccessUtils { + @Autowired + private ShopAccessService shopAccessService; + + public List getAll(){ + LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(); + wrapper.orderByAsc(AdminAccess::getSort).orderByAsc(AdminAccess::getCreateTime).comment(CommonConstant.NOT_WITH_App_Id); + // 获取所有权限列表 + List list = shopAccessService.list(wrapper); + // 转成vo + List voList = list.stream().map(e -> { + AdminAccessVo shopAccessVo = new AdminAccessVo(); + BeanUtils.copyProperties(e, shopAccessVo); + return shopAccessVo; + }).collect(Collectors.toList()); + // 遍历成树形结构 + List collect = voList.stream() + // 2. 找出所有顶级(规定 0 为顶级) + .filter(o -> StrUtil.equals("0", String.valueOf(o.getParentId()))) + // 3.给当前父级的 childList 设置子 + .peek(o -> o.setChildren(getChildList(o, voList))) + // 4.收集 + .collect(Collectors.toList()); + return collect; + } + + public List getShopAll(){ + LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(); + //是否显示1=显示0=不显示 + wrapper.eq(AdminAccess::getIsShow,1); + wrapper.orderByAsc(AdminAccess::getSort).orderByAsc(AdminAccess::getCreateTime).comment(CommonConstant.NOT_WITH_App_Id); + // 获取所有权限列表 + List list = shopAccessService.list(wrapper); + // 转成vo + List voList = list.stream().map(e -> { + AdminAccessVo shopAccessVo = new AdminAccessVo(); + BeanUtils.copyProperties(e, shopAccessVo); + return shopAccessVo; + }).collect(Collectors.toList()); + // 遍历成树形结构 + List collect = voList.stream() + // 2. 找出所有顶级(规定 0 为顶级) + .filter(o -> StrUtil.equals("0", String.valueOf(o.getParentId()))) + // 3.给当前父级的 childList 设置子 + .peek(o -> o.setChildren(getChildList(o, voList))) + // 4.收集 + .collect(Collectors.toList()); + return collect; + } + + // 根据当前父类 找出子类, 并通过递归找出子类的子类 + private List getChildList(AdminAccess bean, List voList) { + List list = voList.stream() + //筛选出父节点id == parentId 的所有对象 => list + .filter(o -> StrUtil.equals(String.valueOf(bean.getAccessId()), String.valueOf(o.getParentId()))) + .peek(o -> o.setChildren(getChildList(o, voList))) + .collect(Collectors.toList()); + if(list.size() == 0){ + return null; + } + return list; + } +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/util/StringUtil.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/util/StringUtil.java new file mode 100644 index 0000000..7c38fbd --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/util/StringUtil.java @@ -0,0 +1,370 @@ +package net.jjjerp.common.util; + +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; +import org.springframework.util.StringUtils; + +import java.math.BigDecimal; +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.*; +import java.util.regex.Pattern; + +public class StringUtil { + + private StringUtil() { + + } + + private static String DEFAULT_FORMAT = "yyyy-MM-dd HH:mm:ss"; + + public final static String regex = "'|#|%|;|--| and | and|and | or | or|or | not | not|not " + + "| use | use|use | insert | insert|insert | delete | delete|delete | update | update|update " + + "| select | select|select | count | count|count | group | group|group | union | union|union " + + "| create | create|create | drop | drop|drop | truncate | truncate|truncate | alter | alter|alter " + + "| grant | grant|grant | execute | execute|execute | exec | exec|exec | xp_cmdshell | xp_cmdshell|xp_cmdshell " + + "| call | call|call | declare | declare|declare | source | source|source | sql | sql|sql "; + + public static String filterNull(String str) { + if (str == null) { + return ""; + } else { + return str.trim(); + } + } + + public static boolean stringEquels(String source,String target) { + if(isEmpty(source)||isEmpty(target)){ + return false; + }else{ + return source.equals(target); + } + } + + public static boolean isEmpty(String str) { + return str == null || "".equals(str.trim()); + } + + public static boolean isNotEmpty(String str) { + return !isEmpty(str); + } + + public static String getSysDate(String format) { + if (StringUtil.isEmpty(format)) { + format = DEFAULT_FORMAT; + } + SimpleDateFormat df = new SimpleDateFormat(format); + return df.format(new Date()); + } + + public static Date getDateByString(String date, String format) { + if (StringUtil.isEmpty(format)) { + format = DEFAULT_FORMAT; + } + if (StringUtil.isNotEmpty(date)) { + SimpleDateFormat sdf = new SimpleDateFormat(format); + try { + return sdf.parse(date); + } catch (ParseException e) { + throw new RuntimeException("转换为日期类型错误:DATE:" + date + " FORMAT:" + format); + } + } else { + return null; + } + } + + public static Date getDateByLongDate(Long millis) { + if (millis == null) { + return new Date(); + } + Calendar cal = Calendar.getInstance(); + cal.setTimeInMillis(millis); + return cal.getTime(); + + } + + public static UUID stringToUUID(String id) { + if (StringUtil.isNotEmpty(id)) { + return UUID.fromString(id); + } else { + return null; + } + } + + public static Integer parseInteger(String str) { + if (StringUtil.isNotEmpty(str)) { + return Integer.parseInt(str); + } else { + return null; + } + } + + public static Long parseStrLong(String str) { + if (StringUtil.isNotEmpty(str)) { + return Long.parseLong(str); + } else { + return null; + } + } + + public static List listToUUID(List listStrs) { + if (listStrs != null && listStrs.size() > 0) { + List uuidList = new ArrayList(); + for (String str : listStrs) { + uuidList.add(UUID.fromString(str)); + } + return uuidList; + } else { + return null; + } + } + + public static List arrayToUUIDList(String[] uuids) { + if (uuids != null && uuids.length > 0) { + List uuidList = new ArrayList(); + for (String str : uuids) { + uuidList.add(UUID.fromString(str)); + } + return uuidList; + } else { + return null; + } + } + + //是否是JSON + public static boolean containsAny(String str, String... flag) { + if (str != null) { + if (flag == null || flag.length == 0) { + flag = "[-{-}-]-,".split("-"); + } + for (String s : flag) { + if (str.contains(s)) { + return true; + } + } + } + return false; + } + + public static String getModifyOrgOperateData(UUID resourceId, UUID orgId) { + if (resourceId != null && orgId != null) { + Map map = new HashMap(); + map.put(resourceId, orgId); + return JSON.toJSONString(map); + } + return ""; + } + + public static String[] listToStringArray(List list) { + if (list != null && !list.isEmpty()) { + return list.toArray(new String[list.size()]); + } + return new String[0]; + } + + public static Long[] listToLongArray(List list) { + if (list != null && !list.isEmpty()) { + return list.toArray(new Long[list.size()]); + } + return new Long[0]; + } + + public static List stringToListArray(String[] strings) { + if (strings != null && strings.length > 0) { + return Arrays.asList(strings); + } + return new ArrayList(); + } + + public static BigDecimal getArrSum(String[] strings) { + BigDecimal sum = BigDecimal.ZERO; + for(int i=0;i数据格式 + * String str = "1,2,3,4,5,6" -> List listLong [1,2,3,4,5,6]; + * + * @param strArr + * @return + */ + public static List strToLongList(String strArr) { + List idList=new ArrayList(); + String[] d=strArr.split(","); + for (int i = 0, size = d.length; i < size; i++) { + if(d[i]!=null) { + idList.add(Long.parseLong(d[i])); + } + } + return idList; + } + + /** + * String字符串转成List数据格式 + * String str = "1,2,3,4,5,6" -> List listBigDecimal [1,2,3,4,5,6]; + * + * @param strArr + * @return + */ + public static List strToBigDecimalList(String strArr) { + List idList=new ArrayList<>(); + String[] d=strArr.split(","); + for (int i = 0, size = d.length; i < size; i++) { + if(d[i]!=null) { + idList.add(new BigDecimal(d[i])); + } + } + return idList; + } + + /** + * String字符串转成List数据格式 + * String str = "1,2,3,4,5,6" -> List listLong [1,2,3,4,5,6]; + * + * @param strArr + * @return + */ + public static List strToStringList(String strArr) { + if(StringUtils.isEmpty(strArr)){ + return null; + } + List idList=new ArrayList(); + String[] d=strArr.split(","); + for (int i = 0, size = d.length; i < size; i++) { + if(d[i]!=null) { + idList.add(d[i].toString()); + } + } + return idList; + } + + public static List searchCondition(String search) { + if (isEmpty(search)) { + return new ArrayList(); + }else{ + //String[] split = search.split(" "); + String[] split = search.split("#"); + return stringToListArray(split); + } + } + + public static String getInfo(String search, String key){ + String value = null; + if(StringUtil.isNotEmpty(search)) { + search = search.replace("{}",""); + if(StringUtil.isNotEmpty(search)) { + JSONObject obj = JSONObject.parseObject(search); + if (obj.get(key) != null) { + value = obj.getString(key).trim(); + if (value.equals("")) { + value = null; + } + } else { + value = null; + } + } + } + return value; + } + + public static String toNull(String value) { + if(isEmpty(value)) { + value = null; + } else { + value = value.trim(); + } + return value; + } + + public static boolean isExist(Object value) { + if(value!=null) { + String str = value.toString(); + if("".equals(str.trim())) { + return false; + } else { + return true; + } + } else { + return false; + } + } + + /** + * 判断对象是否为正整数 + * @param value + * @return + */ + public static boolean isPositiveLong(Object value) { + if(value!=null) { + String str = value.toString(); + if(isNotEmpty(str)) { + if((str.matches("[0-9]+"))&&(Long.parseLong(str)>0)) { + return true; + } else { + return false; + } + } else { + return false; + } + } else { + return false; + } + } + + /** + * 校验条码长度为4到40位 + * @param value + * @return + */ + public static boolean checkBarCodeLength(Object value) { + if(value!=null) { + String str = value.toString(); + if(isNotEmpty(str)) { + if(str.length()>=4 && str.length()<=40 ) { + return true; + } else { + return false; + } + } else { + return false; + } + } else { + return false; + } + } + + /** + * 判断对象是否为数字(含小数) + * @param str + * @return + */ + public static boolean isPositiveBigDecimal(String str){ + Pattern pattern = Pattern.compile("[0-9]*"); + if(str.indexOf(".")>0){//判断是否有小数点 + if(str.indexOf(".")==str.lastIndexOf(".") && str.split("\\.").length==2){ //判断是否只有一个小数点 + return pattern.matcher(str.replace(".","")).matches(); + }else { + return false; + } + }else { + return pattern.matcher(str).matches(); + } + } + + /** + * sql注入过滤,保障sql的安全执行 + * @param originStr + * @return + */ + public static String safeSqlParse(String originStr){ + return originStr.replaceAll("(?i)" + regex, ""); + } + + public static void main(String[] args) { + int i = 10/3; + System.out.println(i); + } +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/util/UploadFileUtils.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/util/UploadFileUtils.java new file mode 100644 index 0000000..d5e3599 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/util/UploadFileUtils.java @@ -0,0 +1,56 @@ +package net.jjjerp.common.util; + +import cn.binarywang.wx.miniapp.api.WxMaService; +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.common.entity.file.UploadFile; +import net.jjjerp.common.enums.StorageEnum; +import net.jjjerp.common.service.file.UploadFileService; +import net.jjjerp.common.util.wx.AppWxUtils; +import net.jjjerp.config.properties.SpringBootJjjProperties; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import java.io.File; +import java.io.InputStream; +import java.net.URL; +import java.util.Date; +import java.util.List; + +@Slf4j +@Component +public class UploadFileUtils { + + @Autowired + private UploadFileService uploadFileService; + @Autowired + private SpringBootJjjProperties springBootJjjProperties; + @Autowired + private WxMaService wxMaService; + @Autowired + private AppWxUtils appWxUtils; + /** + * 通过文件id查找文件路径 + * @param fileId + * @return + */ + public String getFilePath(Integer fileId){ + UploadFile file = uploadFileService.getOne(new LambdaQueryWrapper() + .eq(UploadFile::getFileId, fileId)); + return this.getFilePathByFile(file); + } + + public String getFilePathByFile(UploadFile file){ + String filePath = ""; + if(file != null){ + if(StorageEnum.LOCAL.getValue().equals(file.getStorage())){ + filePath = springBootJjjProperties.getResourceAccessUrl() + file.getFileName(); + }else{ + filePath = file.getFileUrl() + "/" + file.getFileName(); + } + } + return filePath; + } + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/util/excel/ExcelClassField.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/util/excel/ExcelClassField.java new file mode 100644 index 0000000..032a328 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/util/excel/ExcelClassField.java @@ -0,0 +1,75 @@ +package net.jjjerp.common.util.excel; + + + +import java.util.LinkedHashMap; + +public class ExcelClassField { + + /** 字段名称 */ + private String fieldName; + + /** 表头名称 */ + private String name; + + /** 映射关系 */ + private LinkedHashMap kvMap; + + /** 示例值 */ + private Object example; + + /** 排序 */ + private int sort; + + /** 是否为注解字段:0-否,1-是 */ + private int hasAnnotation; + + public String getFieldName() { + return fieldName; + } + + public void setFieldName(String fieldName) { + this.fieldName = fieldName; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public LinkedHashMap getKvMap() { + return kvMap; + } + + public void setKvMap(LinkedHashMap kvMap) { + this.kvMap = kvMap; + } + + public Object getExample() { + return example; + } + + public void setExample(Object example) { + this.example = example; + } + + public int getSort() { + return sort; + } + + public void setSort(int sort) { + this.sort = sort; + } + + public int getHasAnnotation() { + return hasAnnotation; + } + + public void setHasAnnotation(int hasAnnotation) { + this.hasAnnotation = hasAnnotation; + } + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/util/excel/ExcelExport.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/util/excel/ExcelExport.java new file mode 100644 index 0000000..b31fa49 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/util/excel/ExcelExport.java @@ -0,0 +1,24 @@ +package net.jjjerp.common.util.excel; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +@Target(ElementType.FIELD) +@Retention(RetentionPolicy.RUNTIME) +public @interface ExcelExport { + + /** 字段名称 */ + String value(); + + /** 导出排序先后: 数字越小越靠前(默认按Java类字段顺序导出) */ + int sort() default 0; + + /** 导出映射,格式如:0-未知;1-男;2-女 */ + String kv() default ""; + + /** 导出模板示例值(有值的话,直接取该值,不做映射) */ + String example() default ""; + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/util/excel/ExcelImport.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/util/excel/ExcelImport.java new file mode 100644 index 0000000..7d8366c --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/util/excel/ExcelImport.java @@ -0,0 +1,27 @@ +package net.jjjerp.common.util.excel; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +@Target(ElementType.FIELD) +@Retention(RetentionPolicy.RUNTIME) +public @interface ExcelImport { + + /** 字段名称 */ + String value(); + + /** 导出映射,格式如:0-未知;1-男;2-女 */ + String kv() default ""; + + /** 是否为必填字段(默认为非必填) */ + boolean required() default false; + + /** 最大长度(默认255) */ + int maxLength() default 255; + + /** 导入唯一性验证(多个字段则取联合验证) */ + boolean unique() default false; + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/util/excel/ExcelUtils.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/util/excel/ExcelUtils.java new file mode 100644 index 0000000..27e681b --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/util/excel/ExcelUtils.java @@ -0,0 +1,1018 @@ +package net.jjjerp.common.util.excel; + +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import org.apache.poi.hssf.usermodel.HSSFDataValidation; +import org.apache.poi.hssf.usermodel.HSSFWorkbook; +import org.apache.poi.poifs.filesystem.POIFSFileSystem; +import org.apache.poi.ss.usermodel.*; +import org.apache.poi.ss.usermodel.ClientAnchor.AnchorType; +import org.apache.poi.ss.util.CellRangeAddress; +import org.apache.poi.ss.util.CellRangeAddressList; +import org.apache.poi.xssf.streaming.SXSSFWorkbook; +import org.apache.poi.xssf.usermodel.XSSFClientAnchor; +import org.apache.poi.xssf.usermodel.XSSFWorkbook; +import org.springframework.web.multipart.MultipartFile; + +import javax.servlet.ServletOutputStream; +import javax.servlet.http.HttpServletResponse; +import java.io.*; +import java.lang.reflect.Field; +import java.math.BigDecimal; +import java.math.RoundingMode; +import java.net.URL; +import java.text.NumberFormat; +import java.text.SimpleDateFormat; +import java.util.*; +import java.util.Map.Entry; +import java.util.regex.Pattern; + +/** + * Excel导入导出工具类 + * + */ +@SuppressWarnings("unused") +public class ExcelUtils { + + private static final String XLSX = ".xlsx"; + private static final String XLS = ".xls"; + public static final String ROW_MERGE = "row_merge"; + public static final String COLUMN_MERGE = "column_merge"; + private static final String DATE_FORMAT = "yyyy-MM-dd HH:mm:ss"; + private static final String ROW_NUM = "rowNum"; + private static final String ROW_DATA = "rowData"; + private static final String ROW_TIPS = "rowTips"; + private static final int CELL_OTHER = 0; + private static final int CELL_ROW_MERGE = 1; + private static final int CELL_COLUMN_MERGE = 2; + private static final int IMG_HEIGHT = 30; + private static final int IMG_WIDTH = 30; + private static final char LEAN_LINE = '/'; + private static final int BYTES_DEFAULT_LENGTH = 10240; + private static final NumberFormat NUMBER_FORMAT = NumberFormat.getNumberInstance(); + + + public static List readFile(File file, Class clazz) throws Exception { + JSONArray array = readFile(file); + return getBeanList(array, clazz); + } + + public static List readMultipartFile(MultipartFile mFile, Class clazz) throws Exception { + JSONArray array = readMultipartFile(mFile); + return getBeanList(array, clazz); + } + + public static JSONArray readFile(File file) throws Exception { + return readExcel(null, file); + } + + public static JSONArray readMultipartFile(MultipartFile mFile) throws Exception { + return readExcel(mFile, null); + } + + public static Map readFileManySheet(File file) throws Exception { + return readExcelManySheet(null, file); + } + + public static Map readFileManySheet(MultipartFile file) throws Exception { + return readExcelManySheet(file, null); + } + + private static List getBeanList(JSONArray array, Class clazz) throws Exception { + List list = new ArrayList<>(); + Map uniqueMap = new HashMap<>(16); + for (int i = 0; i < array.size(); i++) { + list.add(getBean(clazz, array.getJSONObject(i), uniqueMap)); + } + return list; + } + + /** + * 获取每个对象的数据 + */ + private static T getBean(Class c, JSONObject obj, Map uniqueMap) throws Exception { + T t = c.newInstance(); + Field[] fields = c.getDeclaredFields(); + List errMsgList = new ArrayList<>(); + boolean hasRowTipsField = false; + StringBuilder uniqueBuilder = new StringBuilder(); + int rowNum = 0; + for (Field field : fields) { + // 行号 + if (field.getName().equals(ROW_NUM)) { + rowNum = obj.getInteger(ROW_NUM); + field.setAccessible(true); + field.set(t, rowNum); + continue; + } + // 是否需要设置异常信息 + if (field.getName().equals(ROW_TIPS)) { + hasRowTipsField = true; + continue; + } + // 原始数据 + if (field.getName().equals(ROW_DATA)) { + field.setAccessible(true); + field.set(t, obj.toString()); + continue; + } + // 设置对应属性值 + setFieldValue(t, field, obj, uniqueBuilder, errMsgList); + } + // 数据唯一性校验 + if (uniqueBuilder.length() > 0) { + if (uniqueMap.containsValue(uniqueBuilder.toString())) { + Set rowNumKeys = uniqueMap.keySet(); + for (Integer num : rowNumKeys) { + if (uniqueMap.get(num).equals(uniqueBuilder.toString())) { + errMsgList.add(String.format("数据唯一性校验失败,(%s)与第%s行重复)", uniqueBuilder, num)); + } + } + } else { + uniqueMap.put(rowNum, uniqueBuilder.toString()); + } + } + // 失败处理 + if (errMsgList.isEmpty() && !hasRowTipsField) { + return t; + } + StringBuilder sb = new StringBuilder(); + int size = errMsgList.size(); + for (int i = 0; i < size; i++) { + if (i == size - 1) { + sb.append(errMsgList.get(i)); + } else { + sb.append(errMsgList.get(i)).append(";"); + } + } + // 设置错误信息 + for (Field field : fields) { + if (field.getName().equals(ROW_TIPS)) { + field.setAccessible(true); + field.set(t, sb.toString()); + } + } + return t; + } + + private static void setFieldValue(T t, Field field, JSONObject obj, StringBuilder uniqueBuilder, List errMsgList) { + // 获取 ExcelImport 注解属性 + ExcelImport annotation = field.getAnnotation(ExcelImport.class); + if (annotation == null) { + return; + } + String cname = annotation.value(); + if (cname.trim().length() == 0) { + return; + } + // 获取具体值 + String val = null; + if (obj.containsKey(cname)) { + val = getString(obj.getString(cname)); + } + if (val == null) { + return; + } + field.setAccessible(true); + // 判断是否必填 + boolean require = annotation.required(); + if (require && val.isEmpty()) { + errMsgList.add(String.format("[%s]不能为空", cname)); + return; + } + //判断是否有空格或特殊符号 +// String regEx = ".*[\\s`~!#$%^&*()+=|{}':;',\\[\\].<>/?~!@#¥%……&*()——+|{}【】‘;:”“’。,、?\\\\]+.*"; +// Pattern p = Pattern.compile(regEx); +// if(p.matcher(val).matches()){ +// errMsgList.add(String.format("[%s]有空格或特殊符号", cname)); +// return; +// } + // 数据唯一性获取 + boolean unique = annotation.unique(); + if (unique) { + if (uniqueBuilder.length() > 0) { + uniqueBuilder.append("--").append(val); + } else { + uniqueBuilder.append(val); + } + } + // 判断是否超过最大长度 + int maxLength = annotation.maxLength(); + if (maxLength > 0 && val.length() > maxLength) { + errMsgList.add(String.format("[%s]长度不能超过%s个字符(当前%s个字符)", cname, maxLength, val.length())); + } + // 判断当前属性是否有映射关系 + LinkedHashMap kvMap = getKvMap(annotation.kv()); + if (!kvMap.isEmpty()) { + boolean isMatch = false; + for (String key : kvMap.keySet()) { + if (kvMap.get(key).equals(val)) { + val = key; + isMatch = true; + break; + } + } + if (!isMatch) { + errMsgList.add(String.format("[%s]的值不正确(当前值为%s)", cname, val)); + return; + } + } + // 其余情况根据类型赋值 + String fieldClassName = field.getType().getSimpleName(); + try { + if ("String".equalsIgnoreCase(fieldClassName)) { + field.set(t, val); + } else if ("boolean".equalsIgnoreCase(fieldClassName)) { + field.set(t, Boolean.valueOf(val)); + } else if ("int".equalsIgnoreCase(fieldClassName) || "Integer".equals(fieldClassName)) { + try { + field.set(t, Integer.valueOf(val)); + } catch (NumberFormatException e) { + errMsgList.add(String.format("[%s]的值格式不正确(当前值为%s)", cname, val)); + } + } else if ("double".equalsIgnoreCase(fieldClassName)) { + field.set(t, Double.valueOf(val)); + } else if ("long".equalsIgnoreCase(fieldClassName)) { + field.set(t, Long.valueOf(val)); + } else if ("BigDecimal".equalsIgnoreCase(fieldClassName)) { + field.set(t, new BigDecimal(val)); + } else if ("Date".equalsIgnoreCase(fieldClassName)) { + try { + field.set(t, new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(val)); + } catch (Exception e) { + field.set(t, new SimpleDateFormat("yyyy-MM-dd").parse(val)); + } + } + } catch (Exception e) { + e.printStackTrace(); + } + } + + private static Map readExcelManySheet(MultipartFile mFile, File file) throws IOException { + Workbook book = getWorkbook(mFile, file); + if (book == null) { + return Collections.emptyMap(); + } + Map map = new LinkedHashMap<>(); + for (int i = 0; i < book.getNumberOfSheets(); i++) { + Sheet sheet = book.getSheetAt(i); + JSONArray arr = readSheet(sheet); + map.put(sheet.getSheetName(), arr); + } + book.close(); + return map; + } + + private static JSONArray readExcel(MultipartFile mFile, File file) throws IOException { + Workbook book = getWorkbook(mFile, file); + if (book == null) { + return new JSONArray(); + } + JSONArray array = readSheet(book.getSheetAt(0)); + book.close(); + return array; + } + + private static Workbook getWorkbook(MultipartFile mFile, File file) throws IOException { + boolean fileNotExist = (file == null || !file.exists()); + if (mFile == null && fileNotExist) { + return null; + } + // 解析表格数据 + InputStream in; + String fileName; + if (mFile != null) { + // 上传文件解析 + in = mFile.getInputStream(); + fileName = getString(mFile.getOriginalFilename()).toLowerCase(); + } else { + // 本地文件解析 + in = new FileInputStream(file); + fileName = file.getName().toLowerCase(); + } + Workbook book; + if (fileName.endsWith(XLSX)) { + book = new XSSFWorkbook(in); + } else if (fileName.endsWith(XLS)) { + POIFSFileSystem poifsFileSystem = new POIFSFileSystem(in); + book = new HSSFWorkbook(poifsFileSystem); + } else { + return null; + } + in.close(); + return book; + } + + private static JSONArray readSheet(Sheet sheet) { + // 首行下标 + int rowStart = sheet.getFirstRowNum(); + // 尾行下标 + int rowEnd = sheet.getLastRowNum(); + // 获取表头行 + Row headRow = sheet.getRow(rowStart); + if (headRow == null) { + return new JSONArray(); + } + int cellStart = headRow.getFirstCellNum(); + int cellEnd = headRow.getLastCellNum(); + Map keyMap = new HashMap<>(); + for (int j = cellStart; j < cellEnd; j++) { + // 获取表头数据 + String val = getCellValue(headRow.getCell(j)); + if (val != null && val.trim().length() != 0) { + keyMap.put(j, val); + } + } + // 如果表头没有数据则不进行解析 + if (keyMap.isEmpty()) { + return (JSONArray) Collections.emptyList(); + } + // 获取每行JSON对象的值 + JSONArray array = new JSONArray(); + // 如果首行与尾行相同,表明只有一行,返回表头数据 + if (rowStart == rowEnd) { + JSONObject obj = new JSONObject(); + // 添加行号 + obj.put(ROW_NUM, 1); + for (int i : keyMap.keySet()) { + obj.put(keyMap.get(i), ""); + } + array.add(obj); + return array; + } + for (int i = rowStart + 1; i <= rowEnd; i++) { + Row eachRow = sheet.getRow(i); + JSONObject obj = new JSONObject(); + // 添加行号 + obj.put(ROW_NUM, i + 1); + StringBuilder sb = new StringBuilder(); + for (int k = cellStart; k < cellEnd; k++) { + if (eachRow != null) { + + if(k == 4 || k==5){ + eachRow.getCell(k).setCellType(CellType.STRING); + } + + String val = getCellValue(eachRow.getCell(k)); + // 所有数据添加到里面,用于判断该行是否为空 + sb.append(val); + obj.put(keyMap.get(k), val); + } + } + if (sb.length() > 0) { + array.add(obj); + } + } + return array; + } + + private static String getCellValue(Cell cell) { + // 空白或空 + if (cell == null || cell.getCellTypeEnum() == CellType.BLANK) { + return ""; + } + // String类型 + if (cell.getCellTypeEnum() == CellType.STRING) { + String val = cell.getStringCellValue(); + if (val == null || val.trim().length() == 0) { + return ""; + } + return val.trim(); + } + // 数字类型 + if (cell.getCellTypeEnum() == CellType.NUMERIC) { + String s = cell.getNumericCellValue() + ""; + // 去掉尾巴上的小数点0 + if (Pattern.matches(".*\\.0*", s)) { + return s.split("\\.")[0]; + } else { + return s; + } + } + // 布尔值类型 + if (cell.getCellTypeEnum() == CellType.BOOLEAN) { + return cell.getBooleanCellValue() + ""; + } + // 错误类型 + return cell.getCellFormula(); + } + + public static void exportTemplate(HttpServletResponse response, String fileName, Class clazz) { + exportTemplate(response, fileName, fileName, clazz, false); + } + + public static void exportTemplate(HttpServletResponse response, String fileName, String sheetName, + Class clazz) { + exportTemplate(response, fileName, sheetName, clazz, false); + } + + public static void exportTemplate(HttpServletResponse response, String fileName, Class clazz, + boolean isContainExample) { + exportTemplate(response, fileName, fileName, clazz, isContainExample); + } + + public static void exportTemplate(HttpServletResponse response, String fileName, String sheetName, + Class clazz, boolean isContainExample) { + // 获取表头字段 + List headFieldList = getExcelClassFieldList(clazz); + // 获取表头数据和示例数据 + List> sheetDataList = new ArrayList<>(); + List headList = new ArrayList<>(); + List exampleList = new ArrayList<>(); + Map> selectMap = new LinkedHashMap<>(); + for (int i = 0; i < headFieldList.size(); i++) { + ExcelClassField each = headFieldList.get(i); + headList.add(each.getName()); + exampleList.add(each.getExample()); + LinkedHashMap kvMap = each.getKvMap(); + if (kvMap != null && kvMap.size() > 0) { + selectMap.put(i, new ArrayList<>(kvMap.values())); + } + } + sheetDataList.add(headList); + if (isContainExample) { + sheetDataList.add(exampleList); + } + // 导出数据 + export(response, fileName, sheetName, sheetDataList, selectMap); + } + + private static List getExcelClassFieldList(Class clazz) { + // 解析所有字段 + Field[] fields = clazz.getDeclaredFields(); + boolean hasExportAnnotation = false; + Map> map = new LinkedHashMap<>(); + List sortList = new ArrayList<>(); + for (Field field : fields) { + ExcelClassField cf = getExcelClassField(field); + if (cf.getHasAnnotation() == 1) { + hasExportAnnotation = true; + } + int sort = cf.getSort(); + if (map.containsKey(sort)) { + map.get(sort).add(cf); + } else { + List list = new ArrayList<>(); + list.add(cf); + sortList.add(sort); + map.put(sort, list); + } + } + Collections.sort(sortList); + // 获取表头 + List headFieldList = new ArrayList<>(); + if (hasExportAnnotation) { + for (Integer sort : sortList) { + for (ExcelClassField cf : map.get(sort)) { + if (cf.getHasAnnotation() == 1) { + headFieldList.add(cf); + } + } + } + } else { + headFieldList.addAll(map.get(0)); + } + return headFieldList; + } + + private static ExcelClassField getExcelClassField(Field field) { + ExcelClassField cf = new ExcelClassField(); + String fieldName = field.getName(); + cf.setFieldName(fieldName); + ExcelExport annotation = field.getAnnotation(ExcelExport.class); + // 无 ExcelExport 注解情况 + if (annotation == null) { + cf.setHasAnnotation(0); + cf.setName(fieldName); + cf.setSort(0); + return cf; + } + // 有 ExcelExport 注解情况 + cf.setHasAnnotation(1); + cf.setName(annotation.value()); + String example = getString(annotation.example()); + if (!example.isEmpty()) { + if (isNumeric(example) && example.length() < 8) { + cf.setExample(Double.valueOf(example)); + } else { + cf.setExample(example); + } + } else { + cf.setExample(""); + } + cf.setSort(annotation.sort()); + // 解析映射 + String kv = getString(annotation.kv()); + cf.setKvMap(getKvMap(kv)); + return cf; + } + + private static LinkedHashMap getKvMap(String kv) { + LinkedHashMap kvMap = new LinkedHashMap<>(); + if (kv.isEmpty()) { + return kvMap; + } + String[] kvs = kv.split(";"); + if (kvs.length == 0) { + return kvMap; + } + for (String each : kvs) { + String[] eachKv = getString(each).split("-"); + if (eachKv.length != 2) { + continue; + } + String k = eachKv[0]; + String v = eachKv[1]; + if (k.isEmpty() || v.isEmpty()) { + continue; + } + kvMap.put(k, v); + } + return kvMap; + } + + /** + * 导出表格到本地 + * + * @param file 本地文件对象 + * @param sheetData 导出数据 + */ + public static void exportFile(File file, List> sheetData) { + if (file == null) { + System.out.println("文件创建失败"); + return; + } + if (sheetData == null) { + sheetData = new ArrayList<>(); + } + Map>> map = new HashMap<>(); + map.put(file.getName(), sheetData); + export(null, file, file.getName(), map, null); + } + + /** + * 导出表格到本地 + * + * @param 导出数据类似,和K类型保持一致 + * @param filePath 文件父路径(如:D:/doc/excel/) + * @param fileName 文件名称(不带尾缀,如:学生表) + * @param list 导出数据 + * @throws IOException IO异常 + */ + public static File exportFile(String filePath, String fileName, List list) throws IOException { + File file = getFile(filePath, fileName); + List> sheetData = getSheetData(list); + exportFile(file, sheetData); + return file; + } + + /** + * 获取文件 + * + * @param filePath filePath 文件父路径(如:D:/doc/excel/) + * @param fileName 文件名称(不带尾缀,如:用户表) + * @return 本地File文件对象 + */ + private static File getFile(String filePath, String fileName) throws IOException { + String dirPath = getString(filePath); + String fileFullPath; + if (dirPath.isEmpty()) { + fileFullPath = fileName; + } else { + // 判定文件夹是否存在,如果不存在,则级联创建 + File dirFile = new File(dirPath); + if (!dirFile.exists()) { + boolean mkdirs = dirFile.mkdirs(); + if (!mkdirs) { + return null; + } + } + // 获取文件夹全名 + if (dirPath.endsWith(String.valueOf(LEAN_LINE))) { + fileFullPath = dirPath + fileName + XLSX; + } else { + fileFullPath = dirPath + LEAN_LINE + fileName + XLSX; + } + } + System.out.println(fileFullPath); + File file = new File(fileFullPath); + if (!file.exists()) { + boolean result = file.createNewFile(); + if (!result) { + return null; + } + } + return file; + } + + private static List> getSheetData(List list) { + // 获取表头字段 + List excelClassFieldList = getExcelClassFieldList(list.get(0).getClass()); + List headFieldList = new ArrayList<>(); + List headList = new ArrayList<>(); + Map headFieldMap = new HashMap<>(); + for (ExcelClassField each : excelClassFieldList) { + String fieldName = each.getFieldName(); + headFieldList.add(fieldName); + headFieldMap.put(fieldName, each); + headList.add(each.getName()); + } + // 添加表头名称 + List> sheetDataList = new ArrayList<>(); + sheetDataList.add(headList); + // 获取表数据 + for (T t : list) { + Map fieldDataMap = getFieldDataMap(t); + Set fieldDataKeys = fieldDataMap.keySet(); + List rowList = new ArrayList<>(); + for (String headField : headFieldList) { + if (!fieldDataKeys.contains(headField)) { + continue; + } + Object data = fieldDataMap.get(headField); + if (data == null) { + rowList.add(""); + continue; + } + ExcelClassField cf = headFieldMap.get(headField); + // 判断是否有映射关系 + LinkedHashMap kvMap = cf.getKvMap(); + if (kvMap == null || kvMap.isEmpty()) { + rowList.add(data); + continue; + } + String val = kvMap.get(data.toString()); + if (isNumeric(val)) { + rowList.add(Double.valueOf(val)); + } else { + rowList.add(val); + } + } + sheetDataList.add(rowList); + } + return sheetDataList; + } + + private static Map getFieldDataMap(T t) { + Map map = new HashMap<>(); + Field[] fields = t.getClass().getDeclaredFields(); + try { + for (Field field : fields) { + String fieldName = field.getName(); + field.setAccessible(true); + Object object = field.get(t); + map.put(fieldName, object); + } + } catch (IllegalArgumentException | IllegalAccessException e) { + e.printStackTrace(); + } + return map; + } + + public static void exportEmpty(HttpServletResponse response, String fileName) { + List> sheetDataList = new ArrayList<>(); + List headList = new ArrayList<>(); + headList.add("导出无数据"); + sheetDataList.add(headList); + export(response, fileName, sheetDataList); + } + + public static void export(HttpServletResponse response, String fileName, List> sheetDataList) { + export(response, fileName, fileName, sheetDataList, null); + } + + public static void exportManySheet(HttpServletResponse response, String fileName, Map>> sheetMap) { + export(response, null, fileName, sheetMap, null); + } + + + public static void export(HttpServletResponse response, String fileName, String sheetName, + List> sheetDataList) { + export(response, fileName, sheetName, sheetDataList, null); + } + + public static void export(HttpServletResponse response, String fileName, String sheetName, + List> sheetDataList, Map> selectMap) { + + Map>> map = new HashMap<>(); + map.put(sheetName, sheetDataList); + export(response, null, fileName, map, selectMap); + } + + public static void export(HttpServletResponse response, String fileName, List list, Class template) { + // list 是否为空 + boolean lisIsEmpty = list == null || list.isEmpty(); + // 如果模板数据为空,且导入的数据为空,则导出空文件 + if (template == null && lisIsEmpty) { + exportEmpty(response, fileName); + return; + } + // 如果 list 数据,则导出模板数据 + if (lisIsEmpty) { + exportTemplate(response, fileName, template); + return; + } + // 导出数据 + List> sheetDataList = getSheetData(list); + export(response, fileName, sheetDataList); + } + + public static void export(HttpServletResponse response, String fileName, List> sheetDataList, Map> selectMap) { + export(response, fileName, fileName, sheetDataList, selectMap); + } + + private static void export(HttpServletResponse response, File file, String fileName, + Map>> sheetMap, Map> selectMap) { + // 整个 Excel 表格 book 对象 + SXSSFWorkbook book = new SXSSFWorkbook(); + // 每个 Sheet 页 + Set>>> entries = sheetMap.entrySet(); + for (Entry>> entry : entries) { + List> sheetDataList = entry.getValue(); + Sheet sheet = book.createSheet(entry.getKey()); + Drawing patriarch = sheet.createDrawingPatriarch(); + // 设置表头背景色(灰色) + CellStyle headStyle = book.createCellStyle(); + headStyle.setFillForegroundColor(IndexedColors.GREY_80_PERCENT.index); + headStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND); + headStyle.setAlignment(HorizontalAlignment.CENTER); + headStyle.setFillForegroundColor(IndexedColors.GREY_25_PERCENT.index); + // 设置表身背景色(默认色) + CellStyle rowStyle = book.createCellStyle(); + rowStyle.setAlignment(HorizontalAlignment.CENTER); + rowStyle.setVerticalAlignment(VerticalAlignment.CENTER); + // 设置表格列宽度(默认为15个字节) + sheet.setDefaultColumnWidth(15); + // 创建合并算法数组 + int rowLength = sheetDataList.size(); + int columnLength = sheetDataList.get(0).size(); + int[][] mergeArray = new int[rowLength][columnLength]; + for (int i = 0; i < sheetDataList.size(); i++) { + // 每个 Sheet 页中的行数据 + Row row = sheet.createRow(i); + List rowList = sheetDataList.get(i); + for (int j = 0; j < rowList.size(); j++) { + // 每个行数据中的单元格数据 + Object o = rowList.get(j); + if("".equals(o)){ + o = " "; + } + int v = 0; + if (o instanceof URL) { + // 如果要导出图片的话, 链接需要传递 URL 对象 + setCellPicture(book, row, patriarch, i, j, (URL) o); + } else { + Cell cell = row.createCell(j); + if (i == 0) { + // 第一行为表头行,采用灰色底背景 + v = setCellValue(cell, o, headStyle); + } else { + // 其他行为数据行,默认白底色 + v = setCellValue(cell, o, rowStyle); + } + } + mergeArray[i][j] = v; + } + } + // 合并单元格 + mergeCells(sheet, mergeArray); + // 设置下拉列表 + setSelect(sheet, selectMap); + } + // 写数据 + if (response != null) { + // 前端导出 + try { + write(response, book, fileName); + } catch (IOException e) { + e.printStackTrace(); + } + } else { + // 本地导出 + FileOutputStream fos; + try { + fos = new FileOutputStream(file); + ByteArrayOutputStream ops = new ByteArrayOutputStream(); + book.write(ops); + fos.write(ops.toByteArray()); + fos.close(); + } catch (Exception e) { + e.printStackTrace(); + } + } + } + + /** + * 合并当前Sheet页的单元格 + * + * @param sheet 当前 sheet 页 + * @param mergeArray 合并单元格算法 + */ + private static void mergeCells(Sheet sheet, int[][] mergeArray) { + // 横向合并 + for (int x = 0; x < mergeArray.length; x++) { + int[] arr = mergeArray[x]; + boolean merge = false; + int y1 = 0; + int y2 = 0; + for (int y = 0; y < arr.length; y++) { + int value = arr[y]; + if (value == CELL_COLUMN_MERGE) { + if (!merge) { + y1 = y; + } + y2 = y; + merge = true; + } else { + merge = false; + if (y1 > 0) { + sheet.addMergedRegion(new CellRangeAddress(x, x, (y1 - 1), y2)); + } + y1 = 0; + y2 = 0; + } + } + if (y1 > 0) { + sheet.addMergedRegion(new CellRangeAddress(x, x, (y1 - 1), y2)); + } + } + // 纵向合并 + int xLen = mergeArray.length; + int yLen = mergeArray[0].length; + for (int y = 0; y < yLen; y++) { + boolean merge = false; + int x1 = 0; + int x2 = 0; + for (int x = 0; x < xLen; x++) { + int value = mergeArray[x][y]; + if (value == CELL_ROW_MERGE) { + if (!merge) { + x1 = x; + } + x2 = x; + merge = true; + } else { + merge = false; + if (x1 > 0) { + sheet.addMergedRegion(new CellRangeAddress((x1 - 1), x2, y, y)); + } + x1 = 0; + x2 = 0; + } + } + if (x1 > 0) { + sheet.addMergedRegion(new CellRangeAddress((x1 - 1), x2, y, y)); + } + } + } + + private static void write(HttpServletResponse response, SXSSFWorkbook book, String fileName) throws IOException { + response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); + response.setCharacterEncoding("utf-8"); + String name = new String(fileName.getBytes("GBK"), "ISO8859_1") + XLSX; + response.addHeader("Content-Disposition", "attachment;filename=" + name); + ServletOutputStream out = response.getOutputStream(); + book.write(out); + out.flush(); + out.close(); + } + + private static int setCellValue(Cell cell, Object o, CellStyle style) { + // 设置样式 + cell.setCellStyle(style); + // 数据为空时 + if (o == null) { + cell.setCellType(CellType.STRING); + cell.setCellValue(""); + return CELL_OTHER; + } + // 是否为字符串 + if (o instanceof String) { + String s = o.toString(); + // 当数字类型长度超过8位时,改为字符串类型显示(Excel数字超过一定长度会显示为科学计数法) + if (isNumeric(s) && s.length() < 8) { + cell.setCellType(CellType.NUMERIC); + cell.setCellValue(Double.parseDouble(s)); + return CELL_OTHER; + } else { + cell.setCellType(CellType.STRING); + cell.setCellValue(s); + } + if (s.equals(ROW_MERGE)) { + return CELL_ROW_MERGE; + } else if (s.equals(COLUMN_MERGE)) { + return CELL_COLUMN_MERGE; + } else { + return CELL_OTHER; + } + } + // 是否为字符串 + if (o instanceof Integer || o instanceof Long || o instanceof Double || o instanceof Float) { + cell.setCellType(CellType.NUMERIC); + cell.setCellValue(Double.parseDouble(o.toString())); + return CELL_OTHER; + } + // 是否为Boolean + if (o instanceof Boolean) { + cell.setCellType(CellType.BOOLEAN); + cell.setCellValue((Boolean) o); + return CELL_OTHER; + } + // 如果是BigDecimal,则默认3位小数 + if (o instanceof BigDecimal) { + cell.setCellType(CellType.NUMERIC); + cell.setCellValue(((BigDecimal) o).setScale(3, RoundingMode.HALF_UP).doubleValue()); + return CELL_OTHER; + } + // 如果是Date数据,则显示格式化数据 + if (o instanceof Date) { + cell.setCellType(CellType.STRING); + cell.setCellValue(formatDate((Date) o)); + return CELL_OTHER; + } + // 如果是其他,则默认字符串类型 + cell.setCellType(CellType.STRING); + cell.setCellValue(o.toString()); + return CELL_OTHER; + } + + private static void setCellPicture(SXSSFWorkbook wb, Row sr, Drawing patriarch, int x, int y, URL url) { + // 设置图片宽高 + sr.setHeight((short) (IMG_WIDTH * IMG_HEIGHT)); + // (jdk1.7版本try中定义流可自动关闭) + try (InputStream is = url.openStream(); ByteArrayOutputStream outputStream = new ByteArrayOutputStream()) { + byte[] buff = new byte[BYTES_DEFAULT_LENGTH]; + int rc; + while ((rc = is.read(buff, 0, BYTES_DEFAULT_LENGTH)) > 0) { + outputStream.write(buff, 0, rc); + } + // 设置图片位置 + XSSFClientAnchor anchor = new XSSFClientAnchor(0, 0, 0, 0, y, x, y + 1, x + 1); + // 设置这个,图片会自动填满单元格的长宽 + anchor.setAnchorType(AnchorType.MOVE_AND_RESIZE); + patriarch.createPicture(anchor, wb.addPicture(outputStream.toByteArray(), HSSFWorkbook.PICTURE_TYPE_JPEG)); + } catch (Exception e) { + e.printStackTrace(); + } + } + + private static String formatDate(Date date) { + if (date == null) { + return ""; + } + SimpleDateFormat format = new SimpleDateFormat(DATE_FORMAT); + return format.format(date); + } + + private static void setSelect(Sheet sheet, Map> selectMap) { + if (selectMap == null || selectMap.isEmpty()) { + return; + } + Set>> entrySet = selectMap.entrySet(); + for (Entry> entry : entrySet) { + int y = entry.getKey(); + List list = entry.getValue(); + if (list == null || list.isEmpty()) { + continue; + } + String[] arr = new String[list.size()]; + for (int i = 0; i < list.size(); i++) { + arr[i] = list.get(i); + } + DataValidationHelper helper = sheet.getDataValidationHelper(); + CellRangeAddressList addressList = new CellRangeAddressList(1, 65000, y, y); + DataValidationConstraint dvc = helper.createExplicitListConstraint(arr); + DataValidation dv = helper.createValidation(dvc, addressList); + if (dv instanceof HSSFDataValidation) { + dv.setSuppressDropDownArrow(false); + } else { + dv.setSuppressDropDownArrow(true); + dv.setShowErrorBox(true); + } + sheet.addValidationData(dv); + } + } + + private static boolean isNumeric(String str) { + if (Objects.nonNull(str) && "0.0".equals(str)) { + return true; + } + for (int i = str.length(); --i >= 0; ) { + if (!Character.isDigit(str.charAt(i))) { + return false; + } + } + return true; + } + + private static String getString(String s) { + if (s == null) { + return ""; + } + if (s.isEmpty()) { + return s; + } + return s.trim(); + } + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/util/lock/RedisLock.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/util/lock/RedisLock.java new file mode 100644 index 0000000..3371c63 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/util/lock/RedisLock.java @@ -0,0 +1,72 @@ +package net.jjjerp.common.util.lock; + +import lombok.Data; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.redis.core.RedisCallback; +import org.springframework.data.redis.core.RedisTemplate; +import org.springframework.stereotype.Component; + +import java.util.Objects; + + +@Component +@Slf4j +@Data +public class RedisLock { + @Autowired + RedisTemplate redisTemplate; + + /** + * 获取锁,true 则得到锁,false 已被锁定 + * @param lockName 锁名称 + * @param lockExoire 锁时间 + * @return + */ + public Boolean getLock(String lockName, Integer lockExoire) { + return (Boolean) redisTemplate.execute((RedisCallback) connection -> { + // 获取时间毫秒值 + long expireAt = System.currentTimeMillis() + lockExoire + 1; + // 获取锁 + Boolean acquire = connection.setNX(lockName.getBytes(), String.valueOf(expireAt).getBytes()); + if (acquire) { + return true; + } else { + byte[] bytes = connection.get(lockName.getBytes()); + // 非空判断 + if (Objects.nonNull(bytes) && bytes.length > 0) { + long expireTime = Long.parseLong(new String(bytes)); + // 如果锁已经过期 + if (expireTime < System.currentTimeMillis()) { + // 重新加锁,防止死锁 + byte[] set = connection.getSet(lockName.getBytes(), + String.valueOf(System.currentTimeMillis() + lockExoire + 1).getBytes()); + return Long.parseLong(new String(set)) < System.currentTimeMillis(); + } + } + } + return false; + }); + } + + /** + * 删除锁 + * @param lockName + */ + public void delLock(String lockName) { + redisTemplate.delete(lockName); + } + + /** + * 获取锁Key + * @param prefix 前缀 + * @param name 名称 + * @return + */ + public static String getFullKey(String prefix, String name) { + return prefix + "_" + name; + } +} + + + diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/util/message/MessageUtils.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/util/message/MessageUtils.java new file mode 100644 index 0000000..08a03de --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/util/message/MessageUtils.java @@ -0,0 +1,121 @@ +package net.jjjerp.common.util.message; + +import cn.hutool.core.date.DateUtil; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import lombok.extern.slf4j.Slf4j; +import me.chanjar.weixin.common.bean.WxJsapiSignature; +import me.chanjar.weixin.common.enums.TicketType; +import me.chanjar.weixin.mp.api.WxMpService; +import net.jjjerp.common.entity.settings.Message; +import net.jjjerp.common.entity.settings.MessageSettings; +import net.jjjerp.common.param.SignParam; +import net.jjjerp.common.service.settings.ExpressService; +import net.jjjerp.common.service.settings.MessageService; +import net.jjjerp.common.service.settings.MessageSettingsService; +import net.jjjerp.common.service.settings.RegionService; +import net.jjjerp.common.util.wx.AppMpUtils; +import net.jjjerp.framework.common.api.ApiResult; +import org.apache.commons.lang3.StringUtils; +import org.apache.commons.text.StringEscapeUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.scheduling.annotation.Async; +import org.springframework.stereotype.Component; +import java.util.*; + +@Slf4j +@Component +public class MessageUtils { + @Autowired + private MessageService messageService; + @Autowired + private MessageSettingsService messageSettingsService; + @Autowired + private WxMessageUtils wxMessageUtils; + @Autowired + private ExpressService expressService; + @Autowired + private RegionService regionService; + @Autowired + private MpMessageUtils mpMessageUtils; + @Autowired + private SmsMessageUtils smsMessageUtils; + @Autowired + private WxMpService wxMpService; + @Autowired + private AppMpUtils appMpUtils; + + + /** + * 获取设置 + * + * @param name + * @return + */ + private MessageSettings getSettings(String name, Integer appId) { + Message message = messageService.getOne(new LambdaQueryWrapper().eq(Message::getMessageEname, name)); + return messageSettingsService.getOne(new LambdaQueryWrapper() + .eq(MessageSettings::getMessageId, message.getMessageId()).eq(MessageSettings::getAppId, appId)); + } + + //获取签名和模版id + public ApiResult> getSign(SignParam signParam){ + Map result = new HashMap<>(); + // 如果来源是公众号, 则获取签名 + result.put("signPackage", this.getSignPackage(signParam)); + return ApiResult.ok(result); + } + + /** + * 获取模板ID + */ + public List getMessageByNameArr(String platform, String[] messageENameArr){ + List templateArr = new ArrayList<>(); + //只适用于微信 + if("wx".equals(platform)){ + List list = messageService.list(new LambdaQueryWrapper() + .eq(Message::getIsDelete, false).in(Message::getMessageEname, messageENameArr) + .orderByAsc(Message::getSort)); + for(Message message:list){ + MessageSettings settings = messageSettingsService.getOne(new LambdaQueryWrapper() + .eq(MessageSettings::getMessageId, message.getMessageId())); + if(settings != null && settings.getWxStatus() == 1 && StringUtils.isNotBlank(settings.getWxTemplate())){ + templateArr.add(JSONObject.parseObject(settings.getWxTemplate()).getString("templateId")); + } + } + } + //只适用于公众号 + if("mp".equals(platform)){ + List list = messageService.list(new LambdaQueryWrapper() + .eq(Message::getIsDelete, false).in(Message::getMessageEname, messageENameArr) + .orderByAsc(Message::getSort)); + for(Message message:list){ + MessageSettings settings = messageSettingsService.getOne(new LambdaQueryWrapper() + .eq(MessageSettings::getMessageId, message.getMessageId())); + if(settings != null && settings.getMpStatus() == 1 && StringUtils.isNotBlank(settings.getMpTemplate())){ + templateArr.add(JSONObject.parseObject(settings.getMpTemplate()).getString("templateId")); + } + } + } + + return templateArr; + } + + //获取公众号签名 + public WxJsapiSignature getSignPackage(SignParam signParam) { + //公众号签名 + WxJsapiSignature signPackage = null; + // 公众号环境才生成签名 + if(StringUtils.isNotEmpty(signParam.getUrl()) && "mp".equals(signParam.getPaySource())){ + String transUrl = StringEscapeUtils.unescapeHtml4(signParam.getUrl()); + try { + wxMpService.switchoverTo(appMpUtils.getConfig(wxMpService, signParam.getAppId())) + .getWxMpConfigStorage().isTicketExpired(TicketType.JSAPI); + signPackage = wxMpService.createJsapiSignature(transUrl); + } catch (Exception e){ + log.info("公众号签名异常:",e); + } + } + return signPackage; + } +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/util/message/MpChatSendUtil.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/util/message/MpChatSendUtil.java new file mode 100644 index 0000000..78987e6 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/util/message/MpChatSendUtil.java @@ -0,0 +1,141 @@ +package net.jjjerp.common.util.message; + +import com.alibaba.fastjson.JSONObject; +import lombok.extern.slf4j.Slf4j; +import me.chanjar.weixin.mp.bean.template.WxMpTemplate; +import net.jjjerp.common.entity.app.AppMp; +import net.jjjerp.common.param.TemplateData; +import net.jjjerp.common.param.WxMssVO; +import net.jjjerp.common.service.app.AppMpService; +import net.jjjerp.framework.common.exception.BusinessException; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.ResponseEntity; +import org.springframework.stereotype.Component; +import org.springframework.web.client.RestTemplate; + +import java.io.*; +import java.net.URL; +import java.net.URLConnection; +import java.util.*; + +@Slf4j +@Component +public class MpChatSendUtil { + + @Autowired + private AppMpService appMpService; + + /** + * 发送订阅消息 + */ + public void send(JSONObject data, String template, String openId, Long appId) + { + try{ + // 组装参数 + JSONObject params = JSONObject.parseObject(template); + JSONObject varData = params.getJSONObject("varData"); + Map msgData = new HashMap<>(); + Iterator iter = varData.entrySet().iterator(); + while (iter.hasNext()) { + Map.Entry entry = (Map.Entry) iter.next(); + String key = entry.getKey().toString(); + JSONObject value = varData.getJSONObject(key); + // 如果模板包含变量 + if(data.containsKey(key)){ + msgData.put(value.getString("fieldName"),new TemplateData(data.getString(key))); + }else{ + msgData.put(value.getString("fieldName"),new TemplateData(value.getString("fieldValue"))); + } + } + // 1、获取 接口调用凭证 + RestTemplate restTemplate = new RestTemplate(); + String url = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=" + this.getAccessToken(appId); + //拼接推送的模版 + WxMssVO wxMssVo = new WxMssVO(); + //用户的openId + wxMssVo.setTouser(openId); + //订阅消息模板id + wxMssVo.setTemplate_id(params.getString("templateId")); + wxMssVo.setData(msgData); + ResponseEntity responseEntity = + restTemplate.postForEntity(url, wxMssVo, String.class); + }catch (Exception e){ + log.info("微信公众号消息发送失败:",e); + } + } + + /** + * 获取小程序token + * + * @return + */ + public String getAccessToken(Long id) { + AppMp appMp = appMpService.getById(id); + if(appMp == null || StringUtils.isEmpty(appMp.getMpappId())){ + throw new BusinessException("未设置微信公众号参数"); + } + String appId = appMp.getMpappId(); + String secret = appMp.getMpappSecret(); + String url = "https://api.weixin.qq.com/cgi-bin/token?" + + "appid=" + appId + "&secret=" + secret + "&grant_type=client_credential"; + PrintWriter out = null; + BufferedReader in = null; + String line; + StringBuffer stringBuffer = new StringBuffer(); + try { + URL realUrl = new URL(url); + // 打开和URL之间的连接 + URLConnection conn = realUrl.openConnection(); + + // 设置通用的请求属性 设置请求格式 + //设置返回类型 + conn.setRequestProperty("contentType", "text/plain"); + //设置请求类型 + conn.setRequestProperty("content-type", "application/x-www-form-urlencoded"); + //设置超时时间 + conn.setConnectTimeout(1000); + conn.setReadTimeout(1000); + conn.setDoOutput(true); + conn.connect(); + // 获取URLConnection对象对应的输出流 + out = new PrintWriter(conn.getOutputStream()); + // flush输出流的缓冲 + out.flush(); + // 定义BufferedReader输入流来读取URL的响应 设置接收格式 + in = new BufferedReader( + new InputStreamReader(conn.getInputStream(), "UTF-8")); + while ((line = in.readLine()) != null) { + stringBuffer.append(line); + } + JSONObject jsonObject = JSONObject.parseObject(stringBuffer.toString()); + return jsonObject.getString("access_token"); + + } catch (Exception e) { + e.printStackTrace(); + } + //使用finally块来关闭输出流、输入流 + finally { + try { + if (out != null) { + out.close(); + } + if (in != null) { + in.close(); + } + } catch (IOException ex) { + ex.printStackTrace(); + } + } + return null; + } + + public List getTemplate(Long appId) { + String url = "https://api.weixin.qq.com/cgi-bin/template/get_all_private_template?access_token=" + this.getAccessToken(appId); + RestTemplate restTemplate = new RestTemplate(); + ResponseEntity response = + restTemplate.getForEntity(url, String.class); + return WxMpTemplate.fromJson(response.getBody()); + } +} + diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/util/message/MpMessageUtils.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/util/message/MpMessageUtils.java new file mode 100644 index 0000000..07dcce8 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/util/message/MpMessageUtils.java @@ -0,0 +1,72 @@ +package net.jjjerp.common.util.message; + +import com.alibaba.fastjson.JSONObject; +import lombok.extern.slf4j.Slf4j; +import me.chanjar.weixin.mp.api.WxMpService; +import me.chanjar.weixin.mp.bean.subscribe.WxMpSubscribeMessage; +import me.chanjar.weixin.mp.bean.template.WxMpTemplateData; +import me.chanjar.weixin.mp.bean.template.WxMpTemplateMessage; +import net.jjjerp.common.util.wx.AppMpUtils; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import java.util.*; + +@Slf4j +@Component +public class MpMessageUtils { + @Autowired + private WxMpService wxMpService; + @Autowired + private AppMpUtils appMpUtils; + /** + * 发送订阅消息 + */ + public void send(JSONObject data, String template, String openId, Long appId) + { + try{ + // 组装参数 + JSONObject params = JSONObject.parseObject(template); + JSONObject varData = params.getJSONObject("varData"); + Map msgDataList = new HashMap<>(); + Iterator iter = varData.entrySet().iterator(); + while (iter.hasNext()) { + Map.Entry entry = (Map.Entry) iter.next(); + String key = entry.getKey().toString(); + JSONObject value = varData.getJSONObject(key); + // 如果模板包含变量 + if(data.containsKey(key)){ + msgDataList.put(value.getString("fieldName"), getValueStr(value.getString("fieldName"),data.getString(key))); + //msgDataList.add(new WxMpTemplateData(value.getString("fieldName"), data.getString(key))); + }else{ + msgDataList.put(value.getString("fieldName"), getValueStr(value.getString("fieldName"),value.getString("fieldValue"))); + //msgDataList.add(new WxMpTemplateData(value.getString("fieldName"), value.getString("fieldValue"))); + } + } + WxMpSubscribeMessage message = new WxMpSubscribeMessage(); + message.setDataMap(msgDataList); + message.setUrl(""); + message.setToUser(openId); + message.setTemplateId(params.getString("templateId")); + wxMpService.switchoverTo(appMpUtils.getConfig(wxMpService, appId)) + .getSubscribeMsgService().send(message); + }catch (Exception e){ + log.info("微信公众号消息发送失败:",e); + } + } + + /** + * 截取值,不能超过20字符 + * @return + */ + private String getValueStr(String fieldName,String value){ + if(StringUtils.isEmpty(value)){ + return " "; + } + if(fieldName.contains("thing") && value.length() > 19){ + return value.substring(0,19); + } + return value; + } +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/util/message/SmsMessageUtils.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/util/message/SmsMessageUtils.java new file mode 100644 index 0000000..e54a928 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/util/message/SmsMessageUtils.java @@ -0,0 +1,44 @@ +package net.jjjerp.common.util.message; + +import com.alibaba.fastjson.JSONObject; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.common.factory.sms.impl.AliyunSmsFactoryService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import java.util.Iterator; +import java.util.Map; + +@Slf4j +@Component +public class SmsMessageUtils { + @Autowired + private AliyunSmsFactoryService aliyunSmsFactoryService; + /** + * 发送订阅消息 + */ + public void send(JSONObject data, String template, String mobile, Long appId) + { + try{ + // 组装参数 + JSONObject params = JSONObject.parseObject(template); + JSONObject varData = params.getJSONObject("varData"); + JSONObject templateParam = new JSONObject(); + Iterator iter = varData.entrySet().iterator(); + while (iter.hasNext()) { + Map.Entry entry = (Map.Entry) iter.next(); + String key = entry.getKey().toString(); + JSONObject value = varData.getJSONObject(key); + // 如果模板包含变量 + if(data.containsKey(key)){ + templateParam.put(value.getString("fieldName"), data.getString(key)); + }else{ + templateParam.put(key, value.getString("fieldValue")); + } + } + aliyunSmsFactoryService.sendSms(mobile, params.getString("templateId"), templateParam); + }catch (Exception e){ + log.info("短信消息发送失败:",e); + } + } +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/util/message/WxMessageUtils.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/util/message/WxMessageUtils.java new file mode 100644 index 0000000..a4cdf70 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/util/message/WxMessageUtils.java @@ -0,0 +1,70 @@ +package net.jjjerp.common.util.message; + +import cn.binarywang.wx.miniapp.api.WxMaService; +import cn.binarywang.wx.miniapp.bean.WxMaSubscribeMessage; +import com.alibaba.fastjson.JSONObject; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.common.util.wx.AppWxUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Lazy; +import org.springframework.stereotype.Component; + +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; +import java.util.Map; + +@Slf4j +@Component +public class WxMessageUtils { + @Lazy + @Autowired + private WxMaService wxMaService; + @Lazy + @Autowired + private AppWxUtils appWxUtils; + /** + * 发送订阅消息 + */ + public void send(JSONObject data, String template, String openId, Long appId) + { + try{ + // 组装参数 + JSONObject params = JSONObject.parseObject(template); + JSONObject varData = params.getJSONObject("varData"); + List msgDataList = new ArrayList<>(); + Iterator iter = varData.entrySet().iterator(); + while (iter.hasNext()) { + Map.Entry entry = (Map.Entry) iter.next(); + String key = entry.getKey().toString(); + JSONObject value = varData.getJSONObject(key); + // 如果模板包含变量 + if(data.containsKey(key)){ + msgDataList.add(new WxMaSubscribeMessage.MsgData(value.getString("fieldName"), getValueStr(data.getString(key)))); + }else{ + msgDataList.add(new WxMaSubscribeMessage.MsgData(value.getString("fieldName"), getValueStr(value.getString("fieldValue")))); + } + } + WxMaSubscribeMessage message = new WxMaSubscribeMessage(); + message.setData(msgDataList); + message.setPage("/pages/index/index"); + message.setToUser(openId); + message.setTemplateId(params.getString("templateId")); + wxMaService.switchoverTo(appWxUtils.getConfig(wxMaService, appId)) + .getMsgService().sendSubscribeMsg(message); + }catch (Exception e){ + log.info("微信小程序消息发送失败:",e); + } + } + + /** + * 截取值,不能超过20字符 + * @return + */ + private String getValueStr(String value){ + if(value.length() > 20){ + return value.substring(0,20); + } + return value; + } +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/util/wx/AppMpUtils.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/util/wx/AppMpUtils.java new file mode 100644 index 0000000..a5602ae --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/util/wx/AppMpUtils.java @@ -0,0 +1,64 @@ +package net.jjjerp.common.util.wx; + +import lombok.extern.slf4j.Slf4j; +import me.chanjar.weixin.mp.api.WxMpService; +import me.chanjar.weixin.mp.api.impl.WxMpServiceImpl; +import me.chanjar.weixin.mp.config.WxMpConfigStorage; +import me.chanjar.weixin.mp.config.impl.WxMpDefaultConfigImpl; +import net.jjjerp.common.entity.app.AppMp; +import net.jjjerp.common.service.app.AppMpService; +import net.jjjerp.framework.common.exception.BusinessException; +import net.jjjerp.framework.core.util.RequestDetailThreadLocal; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Lazy; + +/** + * 维信公众号工具类 + */ +@Slf4j +@Configuration +public class AppMpUtils { + + @Lazy + @Autowired + private AppMpService appMpService; + + @Bean + public WxMpConfigStorage wxMpConfig() { + WxMpDefaultConfigImpl config = new WxMpDefaultConfigImpl(); + // 临时放入,支付会再次设置 + config.setAppId("jjjerp"); + config.setSecret("jjjerp"); + return config; + } + + + @Bean + public WxMpService wxMpService(WxMpConfigStorage maConfig) { + WxMpService service = new WxMpServiceImpl(); + service.addConfigStorage(maConfig.getAppId(), maConfig); + return service; + } + + public String getConfig(WxMpService wxMpService, Long appId){ + if(appId == null){ + appId = RequestDetailThreadLocal.getRequestDetail().getAppId(); + } + AppMp appMp = appMpService.getById(appId); + if(appMp == null || StringUtils.isEmpty(appMp.getMpappId())){ + throw new BusinessException("未设置微信公众号参数"); + } + try{ + wxMpService.switchoverTo(appMp.getMpappId()); + }catch (Exception e){ + WxMpDefaultConfigImpl config = new WxMpDefaultConfigImpl(); + config.setAppId(appMp.getMpappId()); + config.setSecret(appMp.getMpappSecret()); + wxMpService.addConfigStorage(appMp.getMpappId(), config); + } + return appMp.getMpappId(); + } +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/util/wx/AppWxUtils.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/util/wx/AppWxUtils.java new file mode 100644 index 0000000..3b6f417 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/util/wx/AppWxUtils.java @@ -0,0 +1,62 @@ +package net.jjjerp.common.util.wx; + +import cn.binarywang.wx.miniapp.api.WxMaService; +import cn.binarywang.wx.miniapp.api.impl.WxMaServiceImpl; +import cn.binarywang.wx.miniapp.config.WxMaConfig; +import cn.binarywang.wx.miniapp.config.impl.WxMaDefaultConfigImpl; +import net.jjjerp.common.entity.app.AppWx; +import net.jjjerp.common.service.app.AppWxService; +import net.jjjerp.framework.common.exception.BusinessException; +import net.jjjerp.framework.core.util.RequestDetailThreadLocal; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Lazy; + +/** + * 维信小程序工具类 + */ +@Configuration +public class AppWxUtils { + + @Lazy + @Autowired + private AppWxService appWxService; + + @Bean + public WxMaConfig wxMaConfig() { + WxMaDefaultConfigImpl config = new WxMaDefaultConfigImpl(); + // 临时放入,支付会再次设置 + config.setAppid("jjjerp"); + config.setSecret("jjjerp"); + return config; + } + + + @Bean + public WxMaService wxMaService(WxMaConfig maConfig) { + WxMaService service = new WxMaServiceImpl(); + service.addConfig(maConfig.getAppid(), maConfig); + return service; + } + + public String getConfig(WxMaService wxMaService, Long appId){ + if(appId == null){ + appId = RequestDetailThreadLocal.getRequestDetail().getAppId(); + } + AppWx appWx = appWxService.getById(appId); + if(appWx == null || StringUtils.isEmpty(appWx.getWxappId())){ + throw new BusinessException("未设置微信小程序参数"); + } + try{ + wxMaService.switchoverTo(appWx.getWxappId()); + }catch (Exception e) { + WxMaDefaultConfigImpl config = new WxMaDefaultConfigImpl(); + config.setAppid(appWx.getWxappId()); + config.setSecret(appWx.getWxappSecret()); + wxMaService.addConfig(appWx.getWxappId(), config); + } + return appWx.getWxappId(); + } +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/util/wx/WxPayUtils.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/util/wx/WxPayUtils.java new file mode 100644 index 0000000..01f5846 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/util/wx/WxPayUtils.java @@ -0,0 +1,153 @@ +package net.jjjerp.common.util.wx; + +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.github.binarywang.wxpay.config.WxPayConfig; +import com.github.binarywang.wxpay.service.WxPayService; +import com.github.binarywang.wxpay.service.impl.WxPayServiceImpl; +import com.github.binarywang.wxpay.v3.auth.Verifier; +import net.jjjerp.common.entity.app.App; +import net.jjjerp.common.entity.app.AppMp; +import net.jjjerp.common.entity.app.AppOpen; +import net.jjjerp.common.entity.app.AppWx; +import net.jjjerp.common.enums.SettingEnum; +import net.jjjerp.common.service.app.AppMpService; +import net.jjjerp.common.service.app.AppOpenService; +import net.jjjerp.common.service.app.AppService; +import net.jjjerp.common.service.app.AppWxService; +import net.jjjerp.common.settings.vo.SysConfigVo; +import net.jjjerp.common.util.SettingUtils; +import net.jjjerp.framework.common.exception.BusinessException; +import net.jjjerp.framework.core.util.RequestDetailThreadLocal; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Lazy; + +/** + * 维信小程序工具类 + */ +@Configuration +public class WxPayUtils { + + @Lazy + @Autowired + private AppService appService; + @Lazy + @Autowired + private AppWxService appWxService; + @Lazy + @Autowired + private AppMpService appMpService; + @Lazy + @Autowired + private AppOpenService appOpenService; + @Lazy + @Autowired + private SettingUtils settingUtils; + + @Bean + public WxPayService wxPayService() { + WxPayService wxPayService = new WxPayServiceImpl(); + WxPayConfig payConfig = new WxPayConfig(); + payConfig.setMchId("jjjerp"); + wxPayService.addConfig("jjjerp", payConfig); + return wxPayService; + } + + public String getConfig(WxPayService wxPayService, String paySource, Long appId){ + if(appId == null){ + appId = RequestDetailThreadLocal.getRequestDetail().getAppId(); + } + App app = appService.getById(appId); + if(app == null || StringUtils.isEmpty(app.getMchid())){ + throw new BusinessException("未设置微信支付"); + } + String mchIdKey = ""; + if ("mp".equals(paySource) || "h5".equals(paySource)) { + mchIdKey = "mp"; + } else if ("wx".equals(paySource)) { + mchIdKey = "wx"; + } else if ("android".equals(paySource) || "ios".equals(paySource)) { + mchIdKey = "open"; + } + boolean isServicePay = this.isServicePay(appId); + + mchIdKey = app.getMchid() + "_" + mchIdKey; + //try{ + //wxPayService.switchoverTo(mchIdKey); + //}catch (Exception e){ + WxPayConfig payConfig = new WxPayConfig(); + if(isServicePay){ + JSONObject vo = settingUtils.getSetting(SettingEnum.SYS_CONFIG.getKey(), 0L); + SysConfigVo configVo = JSONObject.toJavaObject(vo, SysConfigVo.class); + + payConfig.setPrivateKeyContent(configVo.getWeixinService().getKeyPem().getBytes()); + payConfig.setPrivateCertContent(configVo.getWeixinService().getCertPem().getBytes()); + payConfig.setMchId(StringUtils.trimToNull(configVo.getWeixinService().getMchId())); + payConfig.setMchKey(StringUtils.trimToNull(configVo.getWeixinService().getApiKey())); + payConfig.setApiV3Key(StringUtils.trimToNull(configVo.getWeixinService().getApiKey())); + payConfig.setSubMchId(StringUtils.trimToNull(app.getMchid())); + payConfig.setAppId(StringUtils.trimToNull(configVo.getWeixinService().getAppId())); + }else { + payConfig.setMchId(StringUtils.trimToNull(app.getMchid())); + payConfig.setMchKey(StringUtils.trimToNull(app.getApikey())); + payConfig.setApiV3Key(StringUtils.trimToNull(app.getApikey())); + payConfig.setSubAppId(null); + payConfig.setSubMchId(null); + payConfig.setKeyContent(app.getP12()); + payConfig.setPrivateKeyContent(app.getKeyPem()==null?null : app.getKeyPem().getBytes()); + payConfig.setPrivateCertContent(app.getCertPem()==null?null : app.getCertPem().getBytes()); + } + // 可以指定是否使用沙箱环境 + payConfig.setUseSandboxEnv(false); + String payAppId = ""; + if ("mp".equals(paySource) || "h5".equals(paySource)) { + AppMp appMp = appMpService.getById(appId); + //payConfig.setAppId(StringUtils.trimToNull(appMp.getMpappId())); + payAppId = StringUtils.trimToNull(appMp.getMpappId()); + } else if ("wx".equals(paySource)) { + AppWx appWx = appWxService.getById(appId); + //payConfig.setAppId(StringUtils.trimToNull(appWx.getWxappId())); + payAppId = StringUtils.trimToNull(appWx.getWxappId()); + } else if ("android".equals(paySource) || "ios".equals(paySource)) { + AppOpen appOpen = appOpenService.getById(appId); + //payConfig.setAppId(StringUtils.trimToNull(appOpen.getOpenappId())); + payAppId = StringUtils.trimToNull(appOpen.getOpenappId()); + } + if(isServicePay){ + payConfig.setSubAppId(payAppId); + }else{ + payConfig.setAppId(StringUtils.trimToNull(payAppId)); + } + wxPayService.addConfig(mchIdKey, payConfig); + // 如果没有开服务商支付,检查证书是否正确 + if(app.getWxPayKind() == 3 && !isServicePay){ + Verifier verifier = null; + try { + verifier = payConfig.getVerifier(); + } catch (Exception ex) { + ex.printStackTrace(); + throw new BusinessException("证书错误,请检查或重试"); + } + String serialNo = verifier.getValidCertificate().getSerialNumber().toString(16).toUpperCase(); + if(StringUtils.isEmpty(serialNo)){ + throw new BusinessException("证书错误,请检查或重试"); + } + appService.update(new LambdaUpdateWrapper().eq(App::getAppId,app.getAppId()).set(App::getWechatpaySerial, serialNo)); + } + //} + return mchIdKey; + } + + public boolean isServicePay(Long appId){ + JSONObject vo = settingUtils.getSetting(SettingEnum.SYS_CONFIG.getKey(), 0L); + SysConfigVo configVo = JSONObject.toJavaObject(vo, SysConfigVo.class); + App app = appService.getById(appId); + if(configVo.getWeixinService().getIsOpen() && app.getWeixinService()){ + return true; + } + return false; + } +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/vo/RegionVo.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/vo/RegionVo.java new file mode 100644 index 0000000..0257862 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/vo/RegionVo.java @@ -0,0 +1,43 @@ + + +package net.jjjerp.common.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.experimental.Accessors; + +import java.io.Serializable; +import java.util.List; + +@Data +@Accessors(chain = true) +@ApiModel("地区VO") +public class RegionVo implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("ID") + private Integer id; + + @ApiModelProperty("父id") + private Integer pid; + + @ApiModelProperty("名称") + private String name; + + @ApiModelProperty("层级 1 2 3 省市区县") + private Integer level; + + @ApiModelProperty("children") + private List children; + + @ApiModelProperty("是否选中") + private Boolean checked; + + @ApiModelProperty("选中下标") + private List index; + + @ApiModelProperty("选中下标") + private Integer childIndex; +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/vo/image/ImageBankVo.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/vo/image/ImageBankVo.java new file mode 100644 index 0000000..04116b7 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/vo/image/ImageBankVo.java @@ -0,0 +1,28 @@ +package net.jjjerp.common.vo.image; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import net.jjjerp.common.entity.file.ImageBank; + +import java.util.List; + +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@ApiModel("系统图片库VO") +public class ImageBankVo extends ImageBank { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("分类图片路径") + private String image; + + @ApiModelProperty("子分类集合") + private List children; + + @ApiModelProperty("父类名称") + private String parent; +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/vo/page/PageVo.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/vo/page/PageVo.java new file mode 100644 index 0000000..c75e6e8 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/vo/page/PageVo.java @@ -0,0 +1,28 @@ + + +package net.jjjerp.common.vo.page; + +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.experimental.Accessors; +import net.jjjerp.common.entity.page.Page; + +@Data +@Accessors(chain = true) +@ApiModel("页面VO") +public class PageVo extends Page { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("页面数据,json格式") + private JSONObject pageDataJson; + + @ApiModelProperty("页面数据,json格式") + private JSONArray items; + + @ApiModelProperty("页面数据,json格式") + private JSONObject page; +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/vo/product/CategoryVo.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/vo/product/CategoryVo.java new file mode 100644 index 0000000..fa0c484 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/vo/product/CategoryVo.java @@ -0,0 +1,28 @@ +package net.jjjerp.common.vo.product; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import net.jjjerp.common.entity.product.ProductCategory; + +import java.util.List; + +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@ApiModel("商品分类VO") +public class CategoryVo extends ProductCategory { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("子分类集合") + private List children; + + @ApiModelProperty("父类名称") + private String parent; + + @ApiModelProperty("商品") + private List products; +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/vo/product/ProductImageVo.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/vo/product/ProductImageVo.java new file mode 100644 index 0000000..692b9b3 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/vo/product/ProductImageVo.java @@ -0,0 +1,22 @@ +package net.jjjerp.common.vo.product; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.experimental.Accessors; + +import java.io.Serializable; + +@Data +@Accessors(chain = true) +@ApiModel("商品分类VO") +public class ProductImageVo implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("图片id") + private Integer imageId; + + @ApiModelProperty("商品图片主图") + private String filePath; +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/vo/product/ProductListVo.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/vo/product/ProductListVo.java new file mode 100644 index 0000000..05662ba --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/vo/product/ProductListVo.java @@ -0,0 +1,37 @@ + + +package net.jjjerp.common.vo.product; + +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import net.jjjerp.common.entity.product.Product; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@ApiModel("商品列表VO") +public class ProductListVo extends Product { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("图片") + private List image; + + @ApiModelProperty("商品sku") + private List skuList; + + @ApiModelProperty("商品sku") + private ProductSkuVo productSku; + + @ApiModelProperty("购物车数量") + private Integer cartNum; + + @ApiModelProperty("产品属性(10单属性 20多属性)") + private Integer specTypes; +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/vo/product/ProductSkuVo.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/vo/product/ProductSkuVo.java new file mode 100644 index 0000000..2fb430a --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/vo/product/ProductSkuVo.java @@ -0,0 +1,21 @@ +package net.jjjerp.common.vo.product; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import net.jjjerp.common.entity.product.ProductExtend; + +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@ApiModel("商品分类VO") +public class ProductSkuVo extends ProductExtend { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("商品图片主图") + private String imagePath; + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/vo/product/ProductStockVo.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/vo/product/ProductStockVo.java new file mode 100644 index 0000000..6f463c2 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/vo/product/ProductStockVo.java @@ -0,0 +1,37 @@ +package net.jjjerp.common.vo.product; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import net.jjjerp.common.entity.product.Product; +import net.jjjerp.common.entity.product.ProductExtend; + +import javax.validation.constraints.NotEmpty; +import java.io.Serializable; +import java.util.List; + +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@ApiModel("商品规格库存VO") +public class ProductStockVo implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("仓库ID") + private Long depotId; + + @ApiModelProperty("仓库名称") + private String depotName; + + @ApiModelProperty("实际总库存,初始默认为0") + private Long totalStock; + + @ApiModelProperty("锁定库存,实物数量中已经被销售订单、库存调拨单锁定的数量") + private Long freezeStock; + + @ApiModelProperty("当前可用库存(实际库存-锁定库存)") + private Long stockNum; +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/vo/product/ProductVo.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/vo/product/ProductVo.java new file mode 100644 index 0000000..4e85965 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/vo/product/ProductVo.java @@ -0,0 +1,58 @@ +package net.jjjerp.common.vo.product; + +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import net.jjjerp.common.entity.product.Product; +import net.jjjerp.common.entity.product.ProductExtend; +import net.jjjerp.common.entity.product.ProductUnit; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@ApiModel("商品VO") +public class ProductVo extends Product { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("商品图片主图") + private String imagePath; + + @ApiModelProperty("商品分类名称") + private String categoryName; + + @ApiModelProperty("品牌名称") + private String mfrsName; + + @ApiModelProperty("单位名称") + private String unitName; + + //编辑使用 + @ApiModelProperty("商品sku") + private List skuList; + + //编辑使用 + @ApiModelProperty("商品图片集合") + private List image; + + @ApiModelProperty("实际总库存,初始默认为0") + private Long totalStock; + + @ApiModelProperty("锁定库存,实物数量中已经被销售订单、库存调拨单锁定的数量") + private Long freezeStock; + + @ApiModelProperty("当前可用库存(实际库存-锁定库存)") + private Long stockNum; + + @ApiModelProperty("期初库存") + private Long openningStock; + + @ApiModelProperty("成本价,初始默认为0") + private BigDecimal costPrice; +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/vo/setting/ImageVo.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/vo/setting/ImageVo.java new file mode 100644 index 0000000..c8037f4 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/vo/setting/ImageVo.java @@ -0,0 +1,23 @@ +package net.jjjerp.common.vo.setting; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.experimental.Accessors; + +import java.io.Serializable; + +@Data +@Accessors(chain = true) +@ApiModel("前端图片VO") +public class ImageVo implements Serializable { + + private static final long serialVersionUID = 1L; + + //有很多模块都用到了该图片Vo,顾提取出来 + @ApiModelProperty("图片id") + private Integer fileId; + + @ApiModelProperty("商品图片主图") + private String filePath; +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/vo/shop/AdminAccessVo.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/vo/shop/AdminAccessVo.java new file mode 100644 index 0000000..5fbaa0a --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/vo/shop/AdminAccessVo.java @@ -0,0 +1,24 @@ + + +package net.jjjerp.common.vo.shop; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import net.jjjerp.common.entity.shop.AdminAccess; + +import java.util.List; + +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@ApiModel("插件列表VO") +public class AdminAccessVo extends AdminAccess { + + private static final long serialVersionUID = -2138450422989081056L; + + @ApiModelProperty("children") + private List children; +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/vo/sms/HwSmsResult.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/vo/sms/HwSmsResult.java new file mode 100644 index 0000000..b9cbb10 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/vo/sms/HwSmsResult.java @@ -0,0 +1,19 @@ +package net.jjjerp.common.vo.sms; + + +import lombok.Data; + +@Data +public class HwSmsResult { + + private String originTo; + + private String createTime; + + private String from; + + private String smsMsgId; + + private String status; + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/vo/sms/HwSmsRoot.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/vo/sms/HwSmsRoot.java new file mode 100644 index 0000000..17353ac --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/vo/sms/HwSmsRoot.java @@ -0,0 +1,18 @@ +package net.jjjerp.common.vo.sms; + + +import lombok.Data; + +import java.util.List; + +@Data +public class HwSmsRoot { + + private List result; + + private String code; + + private String description; +} + + diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/vo/statement/BacklogVo.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/vo/statement/BacklogVo.java new file mode 100644 index 0000000..5a95140 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/vo/statement/BacklogVo.java @@ -0,0 +1,44 @@ +package net.jjjerp.common.vo.statement; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.math.BigDecimal; + +@Data +@ApiModel(value = "待办VO") +public class BacklogVo implements Serializable { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("待审核") + private int daiShenHe; + + @ApiModelProperty("待发货") + private int daiFaHuo; + + @ApiModelProperty("待配货") + private int daiPeiHuo; + + @ApiModelProperty("待处理售后") + private int daiShouHou; + + @ApiModelProperty("异常订单") + private int yiChang; + + @ApiModelProperty("补发") + private int buFa; + + @ApiModelProperty("其他") + private int qiTa; + + @ApiModelProperty("退货退款") + private int tuiHuo; + + @ApiModelProperty("仅退款") + private int tuiKuan; + + @ApiModelProperty("换货") + private int huanHuo; +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/vo/statement/DealVo.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/vo/statement/DealVo.java new file mode 100644 index 0000000..d588c7d --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/vo/statement/DealVo.java @@ -0,0 +1,36 @@ +package net.jjjerp.common.vo.statement; + +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.math.BigDecimal; + +@Data +@ApiModel(value = "交易趋势VO") +public class DealVo implements Serializable { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("支付笔数") + private BigDecimal depositNum; + + @ApiModelProperty("支付金额") + private BigDecimal depositMoney; + + @ApiModelProperty("支付客户数") + private BigDecimal customerNum; + + @ApiModelProperty("平均客单价") + private BigDecimal customerMoney; + + @ApiModelProperty("发货笔数") + private BigDecimal deliverNum; + + @ApiModelProperty("发货金额") + private BigDecimal deliverMoney; + + @ApiModelProperty("查询日期") + private String day; +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/vo/statement/HomeDealVo.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/vo/statement/HomeDealVo.java new file mode 100644 index 0000000..91c4eb2 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/vo/statement/HomeDealVo.java @@ -0,0 +1,23 @@ +package net.jjjerp.common.vo.statement; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.math.BigDecimal; + +@Data +@ApiModel(value = "首页交易趋势VO") +public class HomeDealVo implements Serializable { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("支付笔数") + private BigDecimal depositNum; + + @ApiModelProperty("支付金额") + private BigDecimal depositMoney; + + @ApiModelProperty("查询日期") + private String day; +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/vo/statement/ProductBoardVo.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/vo/statement/ProductBoardVo.java new file mode 100644 index 0000000..8f399cc --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/vo/statement/ProductBoardVo.java @@ -0,0 +1,32 @@ +package net.jjjerp.common.vo.statement; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.math.BigDecimal; + +@Data +@ApiModel(value = "商品排行VO") +public class ProductBoardVo implements Serializable { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("商品ID") + private long productId; + + @ApiModelProperty("销售数量") + private long marketNum; + + @ApiModelProperty("销售金额") + private BigDecimal marketPrice; + + @ApiModelProperty("商品名称") + private String productName; + + @ApiModelProperty("商品主图") + private String imagePath; + + @ApiModelProperty("库存数量") + private long stockNum; +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/vo/store/ExtractSaveVo.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/vo/store/ExtractSaveVo.java new file mode 100644 index 0000000..02b396b --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/common/vo/store/ExtractSaveVo.java @@ -0,0 +1,26 @@ +package net.jjjerp.common.vo.store; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.io.Serializable; + +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@ApiModel("自提门店保存信息Vo") +public class ExtractSaveVo implements Serializable { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("联系人") + private String linkman; + + @ApiModelProperty("联系人电话") + private String phone; + + @ApiModelProperty("自提门店Id") + private Integer storeId; +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/common/api/ApiCode.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/common/api/ApiCode.java new file mode 100644 index 0000000..06a5c30 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/common/api/ApiCode.java @@ -0,0 +1,113 @@ + + +package net.jjjerp.framework.common.api; + +/** + * REST API 响应码 + */ +public enum ApiCode { + + /** + * 操作成功 + **/ + SUCCESS(200, "操作成功"), + /** + * 未登录 + **/ + NOT_LOGIN(-1, "未登录"), + /** + * 没有权限 + **/ + NOT_PERMISSION(403, "没有权限"), + /** + * 你请求的资源不存在 + **/ + NOT_FOUND(404, "你请求的资源不存在"), + /** + * 操作失败 + **/ + FAIL(500, "操作失败"), + /** + * 登录失败 + **/ + LOGIN_EXCEPTION(4000, "登录失败"), + /** + * 系统异常 + **/ + SYSTEM_EXCEPTION(5000, "系统异常"), + /** + * 请求参数校验异常 + **/ + PARAMETER_EXCEPTION(5001, "请求参数校验异常"), + /** + * 请求参数解析异常 + **/ + PARAMETER_PARSE_EXCEPTION(5002, "请求参数解析异常"), + /** + * HTTP内容类型异常 + **/ + HTTP_MEDIA_TYPE_EXCEPTION(5003, "HTTP内容类型异常"), + /** + * 系统处理异常 + **/ + SPRING_BOOT_JJJ_EXCEPTION(5100, "系统处理异常"), + /** + * 业务处理异常 + **/ + BUSINESS_EXCEPTION(5101, "业务处理异常"), + /** + * 数据库处理异常 + **/ + DAO_EXCEPTION(5102, "数据库处理异常"), + /** + * 验证码校验异常 + **/ + VERIFICATION_CODE_EXCEPTION(5103, "验证码校验异常"), + /** + * 登录授权异常 + **/ + AUTHENTICATION_EXCEPTION(5104, "登录授权异常"), + /** + * 没有访问权限 + **/ + UNAUTHENTICATED_EXCEPTION(5105, "没有访问权限"), + /** + * 没有访问权限 + **/ + UNAUTHORIZED_EXCEPTION(5106, "没有访问权限"), + /** + * JWT Token解析异常 + **/ + JWTDECODE_EXCEPTION(5107, "Token解析异常"), + + HTTP_REQUEST_METHOD_NOT_SUPPORTED_EXCEPTION(5108, "METHOD NOT SUPPORTED"), + + ; + + private final int code; + private final String message; + + ApiCode(final int code, final String message) { + this.code = code; + this.message = message; + } + + public static ApiCode getApiCode(int code) { + ApiCode[] ecs = ApiCode.values(); + for (ApiCode ec : ecs) { + if (ec.getCode() == code) { + return ec; + } + } + return SUCCESS; + } + + public int getCode() { + return code; + } + + public String getMessage() { + return message; + } + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/common/api/ApiResult.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/common/api/ApiResult.java new file mode 100644 index 0000000..ff23362 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/common/api/ApiResult.java @@ -0,0 +1,153 @@ + + +package net.jjjerp.framework.common.api; + +import com.alibaba.fastjson.annotation.JSONField; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.experimental.Accessors; +import org.apache.commons.lang3.StringUtils; + +import java.io.Serializable; +import java.util.Date; +import java.util.HashMap; +import java.util.Map; + +/** + * REST API 返回结果 + */ +@Data +@Accessors(chain = true) +@Builder +@AllArgsConstructor +public class ApiResult implements Serializable { + private static final long serialVersionUID = 8004487252556526569L; + + /** + * 请求响应码,1成功,0失败 + */ + private int code; + + /** + * 错误码 + */ + private int errCode; + + /** + * 响应消息 + */ + private String msg; + + /** + * 响应数据 + */ + private T data; + + /** + * 响应时间 + */ + @JSONField(format = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date time; + + public ApiResult() { + time = new Date(); + } + + public static ApiResult result(boolean flag){ + if (flag){ + return ok(); + } + return fail(); + } + + public static ApiResult result(ApiCode apiCode){ + return result(apiCode,null); + } + + public static ApiResult result(ApiCode apiCode,T data){ + return result(apiCode,null,data); + } + + public static ApiResult result(ApiCode apiCode,String msg,T data){ + int code = 0; + if (apiCode.getCode() == ApiCode.SUCCESS.getCode()){ + code = 1; + } + // 如果小于0,未登录 + if(apiCode.getCode() < 0){ + code = apiCode.getCode(); + } + if(StringUtils.isBlank(msg)){ + String apiMessage = apiCode.getMessage(); + if (StringUtils.isNotBlank(apiMessage)){ + msg = apiMessage; + } + } + return (ApiResult) ApiResult.builder() + .code(code) + .errCode(apiCode.getCode()) + .msg(msg) + .data(data) + .time(new Date()) + .build(); + } + + public static ApiResult ok(){ + return ok(null); + } + + public static ApiResult ok(T data){ + return result(ApiCode.SUCCESS,data); + } + + public static ApiResult ok(T data,String msg){ + return result(ApiCode.SUCCESS,msg,data); + } + + public static ApiResult> okMap(String key,Object value){ + Map map = new HashMap<>(1); + map.put(key,value); + return ok(map); + } + + public static ApiResult fail(ApiCode apiCode){ + return result(apiCode,null); + } + + public static ApiResult fail(String msg){ + return result(ApiCode.FAIL,msg,null); + + } + + public static ApiResult fail(ApiCode apiCode,T data){ + if (ApiCode.SUCCESS == apiCode){ + throw new RuntimeException("失败结果状态码不能为" + ApiCode.SUCCESS.getCode()); + } + return result(apiCode,data.toString(),data); + } + + public static ApiResult fail(Integer errorCode,String msg){ + int code = 0; + // 如果小于0,未登录 + if(errorCode < 0){ + code = errorCode; + } + return new ApiResult() + .setCode(code) + .setErrCode(errorCode) + .setMsg(msg); + } + + public static ApiResult> fail(String key,Object value){ + Map map = new HashMap<>(1); + map.put(key,value); + return result(ApiCode.FAIL,map); + } + + public static ApiResult fail() { + return fail(ApiCode.FAIL); + } +} \ No newline at end of file diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/common/bean/ClientInfo.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/common/bean/ClientInfo.java new file mode 100644 index 0000000..5b011e3 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/common/bean/ClientInfo.java @@ -0,0 +1,72 @@ + + +package net.jjjerp.framework.common.bean; + +import lombok.Data; + +import java.io.Serializable; + +/** + * 用户客户端信息对象 + **/ +@Data +public class ClientInfo implements Serializable { + + private static final long serialVersionUID = -5549531244606897514L; + + /** + * ip + */ + private String ip; + + /** + * ip对应的地址 + */ + private String addree; + + /** + * 浏览器名称 + */ + private String browserName; + + /** + * 浏览器版本 + */ + private String browserversion; + + /** + * 浏览器引擎名称 + */ + private String engineName; + + /** + * 浏览器引擎版本 + */ + private String engineVersion; + + /** + * 系统名称 + */ + private String osName; + + /** + * 平台名称 + */ + private String platformName; + + /** + * 是否是手机 + */ + private boolean mobile; + + /** + * 移动端设备型号 + */ + private String deviceName; + + /** + * 移动端设备型号 + */ + private String deviceModel; + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/common/bean/DeviceInfo.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/common/bean/DeviceInfo.java new file mode 100644 index 0000000..766e3aa --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/common/bean/DeviceInfo.java @@ -0,0 +1,25 @@ + + +package net.jjjerp.framework.common.bean; + +import lombok.Data; + +import java.io.Serializable; + +/** + * 设备信息 + **/ +@Data +public class DeviceInfo implements Serializable { + private static final long serialVersionUID = -5912785220335057555L; + + /** + * 设备名称 + */ + private String name; + + /** + * 设备型号 + */ + private String model; +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/common/controller/BaseController.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/common/controller/BaseController.java new file mode 100644 index 0000000..b80313a --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/common/controller/BaseController.java @@ -0,0 +1,13 @@ + + +package net.jjjerp.framework.common.controller; + +import lombok.extern.slf4j.Slf4j; + +/** + * Controller父类 + */ +@Slf4j +public abstract class BaseController { + +} \ No newline at end of file diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/common/controller/CsrfController.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/common/controller/CsrfController.java new file mode 100644 index 0000000..8e8e41b --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/common/controller/CsrfController.java @@ -0,0 +1,25 @@ + + +package net.jjjerp.framework.common.controller; + +import net.jjjerp.framework.log.annotation.OperationLogIgnore; +import net.jjjerp.framework.util.UUIDUtil; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RestController; +import springfox.documentation.annotations.ApiIgnore; + +/** + * CSRF 供swagger调用 + **/ +@ApiIgnore +@OperationLogIgnore +@RestController +public class CsrfController { + + @RequestMapping(value = "/csrf", method = {RequestMethod.GET, RequestMethod.POST}) + public String csrf() { + return UUIDUtil.getUuid(); + } + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/common/controller/EnumController.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/common/controller/EnumController.java new file mode 100644 index 0000000..36db1fb --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/common/controller/EnumController.java @@ -0,0 +1,84 @@ + + +package net.jjjerp.framework.common.controller; + +import net.jjjerp.framework.common.api.ApiResult; +import net.jjjerp.framework.common.enums.BaseEnum; +import net.jjjerp.framework.common.vo.EnumVo; +import net.jjjerp.framework.log.annotation.OperationLogIgnore; +import net.jjjerp.framework.util.BaseEnumUtil; +import io.swagger.annotations.Api; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections4.CollectionUtils; +import org.reflections.Reflections; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.PostConstruct; +import java.util.*; +import java.util.concurrent.ConcurrentHashMap; + +/** + * 展示实现BaseEnum接口的所有枚举值 + */ +@RestController +@Slf4j +@OperationLogIgnore +@Api(value = "枚举字典", tags = {"枚举字典"}) +public class EnumController { + + private static final List FRAMEWORK_ENUM_PACKAGES = Arrays.asList( + "net.jjjerp.framework.common.enums", + "net.jjjerp.system.enums"); + + /** + * 枚举包路径 + */ + @Value("${spring-boot-jjj.enum-packages}") + private List enumPackages; + + @GetMapping("/enum") + public ApiResult>>> enumList() { + log.debug("enumList..."); + return ApiResult.ok(BaseEnumUtil.getEnumMap()); + } + + @PostConstruct + public void init() { + try { + if (enumPackages == null) { + enumPackages = new ArrayList<>(); + } + enumPackages.addAll(FRAMEWORK_ENUM_PACKAGES); + + // 获取BaseEnum接口的所有实现 + log.debug("enumPackages:" + enumPackages); + Reflections reflections = new Reflections(enumPackages); + Set> set = reflections.getSubTypesOf(BaseEnum.class); + if (CollectionUtils.isEmpty(set)) { + return; + } + // 循环获取BaseEnum枚举 + for (Class clazz : set) { + BaseEnum[] enumConstants = clazz.getEnumConstants(); + Map> enumVoMap = new ConcurrentHashMap<>(enumConstants.length); + for (BaseEnum baseEnum : enumConstants) { + Integer code = baseEnum.getCode(); + String desc = baseEnum.getDesc(); + EnumVo enumVo = new EnumVo() + .setCode(code) + .setDesc(desc) + .setBaseEnum(baseEnum); + enumVoMap.put(code, enumVo); + } + // 设置map + BaseEnumUtil.getEnumMap().put(clazz.getName(), enumVoMap); + } + log.debug("enumMap:{}", BaseEnumUtil.getEnumMap()); + } catch (Exception e) { + log.error("获取BaseEnum枚举map异常", e); + } + } + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/common/controller/IndexController.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/common/controller/IndexController.java new file mode 100644 index 0000000..3561459 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/common/controller/IndexController.java @@ -0,0 +1,33 @@ + + +package net.jjjerp.framework.common.controller; + +import net.jjjerp.framework.log.annotation.OperationLogIgnore; +import io.swagger.annotations.Api; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.GetMapping; + +/** + * 项目根路径提示信息 + */ +@Slf4j +@Controller +@OperationLogIgnore +@Api(value = "Index API", tags = {"Index"}) +public class IndexController { + + @GetMapping("/") + public String home() { + return "redirect:/index.html"; + } + + /** + * SwaggerUI + */ + @GetMapping("/docs") + public String swagger() { + return "redirect:/swagger-ui.html"; + } + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/common/enums/BaseEnum.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/common/enums/BaseEnum.java new file mode 100644 index 0000000..1d8beee --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/common/enums/BaseEnum.java @@ -0,0 +1,49 @@ + + +package net.jjjerp.framework.common.enums; + + +/** + * 枚举类型父接口 + */ +public interface BaseEnum { + + /** + * 获取枚举标识 + * + * @return + */ + Integer getCode(); + + /** + * 获取枚举描述 + * + * @return + */ + String getDesc(); + + /** + * 通过枚举类型和code值获取对应的枚举类型 + * @param enumType + * @param code + * @param + * @return + */ + static T valueOf(Class enumType, Integer code) { + if (enumType == null || code == null) { + return null; + } + T[] enumConstants = (T[]) enumType.getEnumConstants(); + if (enumConstants == null) { + return null; + } + for (T enumConstant : enumConstants) { + int enumCode = enumConstant.getCode(); + if (code.equals(enumCode)) { + return enumConstant; + } + } + return null; + } + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/common/enums/BaseNameEnum.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/common/enums/BaseNameEnum.java new file mode 100644 index 0000000..d7b4720 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/common/enums/BaseNameEnum.java @@ -0,0 +1,49 @@ + + +package net.jjjerp.framework.common.enums; + + +/** + * 枚举类型父接口 + */ +public interface BaseNameEnum { + + /** + * 获取枚举标识 + * + * @return + */ + String getCode(); + + /** + * 获取枚举描述 + * + * @return + */ + String getDesc(); + + /** + * 通过枚举类型和code值获取对应的枚举类型 + * @param enumType + * @param code + * @param + * @return + */ + static T valueOf(Class enumType, String code) { + if (enumType == null || code == null) { + return null; + } + T[] enumConstants = (T[]) enumType.getEnumConstants(); + if (enumConstants == null) { + return null; + } + for (T enumConstant : enumConstants) { + String enumCode = enumConstant.getCode(); + if (code.equals(enumCode)) { + return enumConstant; + } + } + return null; + } + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/common/exception/BusinessException.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/common/exception/BusinessException.java new file mode 100644 index 0000000..1fcee6f --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/common/exception/BusinessException.java @@ -0,0 +1,25 @@ + + +package net.jjjerp.framework.common.exception; + +import net.jjjerp.framework.common.api.ApiCode; + +/** + * 业务异常 + */ +public class BusinessException extends SpringBootJjjException { + private static final long serialVersionUID = -2303357122330162359L; + + public BusinessException(String message) { + super(message); + } + + public BusinessException(Integer errorCode, String message) { + super(errorCode, message); + } + + public BusinessException(ApiCode apiCode) { + super(apiCode); + } + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/common/exception/DaoException.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/common/exception/DaoException.java new file mode 100644 index 0000000..de376ad --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/common/exception/DaoException.java @@ -0,0 +1,24 @@ + + +package net.jjjerp.framework.common.exception; + +import net.jjjerp.framework.common.api.ApiCode; + +/** + * DAO异常 + */ +public class DaoException extends SpringBootJjjException { + private static final long serialVersionUID = -6912618737345878854L; + + public DaoException(String message) { + super(message); + } + + public DaoException(Integer errorCode, String message) { + super(errorCode, message); + } + + public DaoException(ApiCode apiCode) { + super(apiCode); + } +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/common/exception/GlobalErrorController.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/common/exception/GlobalErrorController.java new file mode 100644 index 0000000..6d225b3 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/common/exception/GlobalErrorController.java @@ -0,0 +1,48 @@ + + +package net.jjjerp.framework.common.exception; + +import net.jjjerp.framework.common.api.ApiCode; +import net.jjjerp.framework.common.api.ApiResult; +import lombok.extern.slf4j.Slf4j; +import org.springframework.boot.web.servlet.error.ErrorController; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import springfox.documentation.annotations.ApiIgnore; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + + +/** + * 全局Error/404处理 + */ +@ApiIgnore +@RestController +@Slf4j +public class GlobalErrorController implements ErrorController { + + private static final String ERROR_PATH = "/error"; + + @RequestMapping(ERROR_PATH) + public ApiResult handleError(HttpServletRequest request,HttpServletResponse response){ + int status = response.getStatus(); + switch (status){ + case HttpServletResponse.SC_UNAUTHORIZED: + return ApiResult.fail(ApiCode.NOT_LOGIN); + case HttpServletResponse.SC_FORBIDDEN: + return ApiResult.fail(ApiCode.NOT_PERMISSION); + case HttpServletResponse.SC_NOT_FOUND: + return ApiResult.fail(ApiCode.NOT_FOUND); + default: + break; + } + return ApiResult.fail(ApiCode.FAIL); + } + + @Override + public String getErrorPath() { + log.error("errorPath...."); + return ERROR_PATH; + } +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/common/exception/SpringBootJjjConfigException.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/common/exception/SpringBootJjjConfigException.java new file mode 100644 index 0000000..e2dcbe3 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/common/exception/SpringBootJjjConfigException.java @@ -0,0 +1,50 @@ + + +package net.jjjerp.framework.common.exception; + +import net.jjjerp.framework.common.api.ApiCode; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * spring-boot-jjj配置异常 + */ +@Data +@EqualsAndHashCode(callSuper = true) +public class SpringBootJjjConfigException extends SpringBootJjjException { + + private static final long serialVersionUID = 8952028631871769425L; + + private Integer errorCode; + private String message; + + public SpringBootJjjConfigException() { + super(); + } + + public SpringBootJjjConfigException(String message) { + super(message); + this.message = message; + } + + public SpringBootJjjConfigException(Integer errorCode, String message) { + super(message); + this.errorCode = errorCode; + this.message = message; + } + + public SpringBootJjjConfigException(ApiCode apiCode) { + super(apiCode.getMessage()); + this.errorCode = apiCode.getCode(); + this.message = apiCode.getMessage(); + } + + public SpringBootJjjConfigException(String message, Throwable cause) { + super(message, cause); + } + + public SpringBootJjjConfigException(Throwable cause) { + super(cause); + } + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/common/exception/SpringBootJjjException.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/common/exception/SpringBootJjjException.java new file mode 100644 index 0000000..e554644 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/common/exception/SpringBootJjjException.java @@ -0,0 +1,50 @@ + + +package net.jjjerp.framework.common.exception; + +import net.jjjerp.framework.common.api.ApiCode; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * 自定义异常 + */ +@Data +@EqualsAndHashCode(callSuper = true) +public class SpringBootJjjException extends RuntimeException{ + + private static final long serialVersionUID = -2470461654663264392L; + + private Integer errorCode; + private String message; + + public SpringBootJjjException() { + super(); + } + + public SpringBootJjjException(String message) { + super(message); + this.message = message; + } + + public SpringBootJjjException(Integer errorCode, String message) { + super(message); + this.errorCode = errorCode; + this.message = message; + } + + public SpringBootJjjException(ApiCode apiCode) { + super(apiCode.getMessage()); + this.errorCode = apiCode.getCode(); + this.message = apiCode.getMessage(); + } + + public SpringBootJjjException(String message, Throwable cause) { + super(message, cause); + } + + public SpringBootJjjException(Throwable cause) { + super(cause); + } + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/common/param/IdParam.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/common/param/IdParam.java new file mode 100644 index 0000000..736b5a5 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/common/param/IdParam.java @@ -0,0 +1,22 @@ + + +package net.jjjerp.framework.common.param; + +import io.swagger.annotations.ApiModel; +import lombok.Data; + +import javax.validation.constraints.NotNull; +import java.io.Serializable; + +/** + * ID参数 + */ +@Data +@ApiModel("ID参数") +public class IdParam implements Serializable { + private static final long serialVersionUID = -5353973980674510450L; + + @NotNull(message = "ID不能为空") + private Long id; + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/common/service/BaseService.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/common/service/BaseService.java new file mode 100644 index 0000000..780b9be --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/common/service/BaseService.java @@ -0,0 +1,12 @@ + + +package net.jjjerp.framework.common.service; + +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * 公共Service接口 + */ +public interface BaseService extends IService { + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/common/service/impl/BaseServiceImpl.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/common/service/impl/BaseServiceImpl.java new file mode 100644 index 0000000..796664b --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/common/service/impl/BaseServiceImpl.java @@ -0,0 +1,44 @@ + + +package net.jjjerp.framework.common.service.impl; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.toolkit.support.SFunction; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import net.jjjerp.framework.common.service.BaseService; +import net.jjjerp.framework.util.LambdaColumn; + +import java.lang.reflect.ParameterizedType; +import java.lang.reflect.Type; + +/** + * 公共Service父类 + */ +public abstract class BaseServiceImpl, T> extends ServiceImpl implements BaseService { + + /** + * 实体类型 + */ + private Class entityClass; + + { + Class clazz = this.getClass(); + Type type = clazz.getGenericSuperclass(); + if (type instanceof ParameterizedType) { + Type[] p = ((ParameterizedType) type).getActualTypeArguments(); + this.entityClass = (Class) p[1]; + } + } + + /** + * 获取对应字段的数据表列名称 + * + * @param func + * @return + */ + public String getLambdaColumn(SFunction func) { + return new LambdaColumn().get(func); + } + + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/common/vo/EnumVo.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/common/vo/EnumVo.java new file mode 100644 index 0000000..164165c --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/common/vo/EnumVo.java @@ -0,0 +1,30 @@ + + +package net.jjjerp.framework.common.vo; + +import lombok.Data; +import lombok.experimental.Accessors; + +/** + * 枚举类型VO + **/ +@Data +@Accessors(chain = true) +public class EnumVo { + + /** + * 枚举code + */ + private Integer code; + + /** + * 枚举描述 + */ + private String desc; + + /** + * 枚举类型 + */ + private T baseEnum; + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/config/converter/ConverterConfig.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/config/converter/ConverterConfig.java new file mode 100644 index 0000000..7f9fccc --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/config/converter/ConverterConfig.java @@ -0,0 +1,32 @@ + + +package net.jjjerp.framework.config.converter; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.core.convert.converter.Converter; + +import java.util.Date; + +/** + * 转换器配置 + */ +@Configuration +public class ConverterConfig { + + @Bean + public Converter stringToDateConverter() { + return new StringToDateConverter(); + } + + @Bean + public Converter stringToIntegerConverter() { + return new StringToIntegerConverter(); + } + + @Bean + public Converter stringToDoubleConverter() { + return new StringToDoubleConverter(); + } + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/config/converter/StringToDateConverter.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/config/converter/StringToDateConverter.java new file mode 100644 index 0000000..1f36f80 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/config/converter/StringToDateConverter.java @@ -0,0 +1,18 @@ + + +package net.jjjerp.framework.config.converter; + +import org.springframework.core.convert.converter.Converter; + +import java.util.Date; + +/** + * 日期转换器,将请求参数的日期字符串转换成java.util.Date类型 + */ +public class StringToDateConverter implements Converter { + + @Override + public Date convert(String source) { + return StringToDateUtil.convert(source); + } +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/config/converter/StringToDateUtil.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/config/converter/StringToDateUtil.java new file mode 100644 index 0000000..11de137 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/config/converter/StringToDateUtil.java @@ -0,0 +1,88 @@ + + +package net.jjjerp.framework.config.converter; + +import org.apache.commons.lang3.StringUtils; + +import java.text.DateFormat; +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.Date; + +/** + * 日期转换器,将请求参数的日期字符串转换成java.util.Date类型 + * 日期格式顺序: + * 1.yyyy-MM-dd HH:mm:ss:S + * 2.yyyy-MM-dd HH:mm:ss + * 3.yyyy-MM-dd HH:mm + * 4.yyyy-MM-dd HH + * 5.yyyy-MM-dd + */ +public class StringToDateUtil { + + /** + * 时间戳字符长度,不包含毫秒 + */ + private static final Integer TIMESTAMP_LENGTH = 10; + + /** + * 日期格式化数组 + */ + private static DateFormat[] dateFormats = { + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:S"), + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"), + new SimpleDateFormat("yyyy-MM-dd HH:mm"), + new SimpleDateFormat("yyyy-MM-dd HH"), + new SimpleDateFormat("yyyy-MM-dd"), + new SimpleDateFormat("yyyy-MM") + }; + + /** + * + *
+     * 1.如果日期字符串为空,则直接返回空
+     * 2.使用格式化组进行格式化,如果解析成功,则直接返回
+     * 4.否则,抛出非法参数异常
+     * @param source 请求的日期参数
+     * @return 解析后的日期类型:java.util.Date
+     * @exception IllegalArgumentException 非法参数异常
+     * 
+ *
+ */ + public static Date convert(String source) { + if (StringUtils.isBlank(source)) { + return null; + } + source = source.trim(); + + try { + int timeLength = source.length(); + Long time = Long.parseLong(source); + if (timeLength == TIMESTAMP_LENGTH) { + time = time * 1000; + } + Date date = new Date(time); + return date; + } catch (Exception e) { + + } + + Date date = null; + boolean flag = false; + for (DateFormat dateFormat : dateFormats) { + try { + date = dateFormat.parse(source); + flag = true; + break; + } catch (ParseException e) { + } + } + + if (flag) { + return date; + } else { + throw new IllegalArgumentException("不能解析日期:" + source); + } + + } +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/config/converter/StringToDoubleConverter.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/config/converter/StringToDoubleConverter.java new file mode 100644 index 0000000..1599e3d --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/config/converter/StringToDoubleConverter.java @@ -0,0 +1,14 @@ + + +package net.jjjerp.framework.config.converter; + +import org.springframework.core.convert.converter.Converter; + + +public class StringToDoubleConverter implements Converter { + + @Override + public Double convert(String source) { + return StringToDoubleUtil.convert(source); + } +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/config/converter/StringToDoubleUtil.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/config/converter/StringToDoubleUtil.java new file mode 100644 index 0000000..d3bdb6c --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/config/converter/StringToDoubleUtil.java @@ -0,0 +1,20 @@ + + +package net.jjjerp.framework.config.converter; + + +import org.apache.commons.lang3.StringUtils; + +/** + * 空字符串("")转换成Double的null + */ +public class StringToDoubleUtil { + + public static Double convert(String source) { + if (StringUtils.isBlank(source)){ + return null; + } + Double d = Double.parseDouble(source); + return d; + } +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/config/converter/StringToIntegerConverter.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/config/converter/StringToIntegerConverter.java new file mode 100644 index 0000000..6e5d1ed --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/config/converter/StringToIntegerConverter.java @@ -0,0 +1,13 @@ + + +package net.jjjerp.framework.config.converter; + +import org.springframework.core.convert.converter.Converter; + +public class StringToIntegerConverter implements Converter { + + @Override + public Integer convert(String source) { + return StringToIntegerUtil.convert(source); + } +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/config/converter/StringToIntegerUtil.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/config/converter/StringToIntegerUtil.java new file mode 100644 index 0000000..0708b6e --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/config/converter/StringToIntegerUtil.java @@ -0,0 +1,19 @@ + + +package net.jjjerp.framework.config.converter; + +import org.apache.commons.lang3.StringUtils; + +/** + * 空字符串("")转换成Integer的null + */ +public class StringToIntegerUtil { + + public static Integer convert(String source) { + if (StringUtils.isBlank(source)){ + return null; + } + Integer i = Integer.parseInt(source); + return i; + } +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/config/jackson/deserializer/JacksonDateDeserializer.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/config/jackson/deserializer/JacksonDateDeserializer.java new file mode 100644 index 0000000..b58f491 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/config/jackson/deserializer/JacksonDateDeserializer.java @@ -0,0 +1,24 @@ + + +package net.jjjerp.framework.config.jackson.deserializer; + +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.JsonDeserializer; +import net.jjjerp.framework.config.converter.StringToDateUtil; + +import java.io.IOException; +import java.util.Date; + +/** + * Jackson Date序列化器 + */ +public class JacksonDateDeserializer extends JsonDeserializer { + @Override + public Date deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException, JsonProcessingException { + String date = jp.getText(); + return StringToDateUtil.convert(date); + } + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/config/jackson/deserializer/JacksonDoubleDeserializer.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/config/jackson/deserializer/JacksonDoubleDeserializer.java new file mode 100644 index 0000000..921f34a --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/config/jackson/deserializer/JacksonDoubleDeserializer.java @@ -0,0 +1,20 @@ + + +package net.jjjerp.framework.config.jackson.deserializer; + +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.JsonDeserializer; +import net.jjjerp.framework.config.converter.StringToDoubleUtil; + +import java.io.IOException; + +public class JacksonDoubleDeserializer extends JsonDeserializer { + + @Override + public Double deserialize(JsonParser jsonParser, DeserializationContext deserializationContext) throws IOException, JsonProcessingException { + String string = jsonParser.getText(); + return StringToDoubleUtil.convert(string); + } +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/config/jackson/deserializer/JacksonLocalDateTimeDeserializer.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/config/jackson/deserializer/JacksonLocalDateTimeDeserializer.java new file mode 100644 index 0000000..daded27 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/config/jackson/deserializer/JacksonLocalDateTimeDeserializer.java @@ -0,0 +1,29 @@ + + +package net.jjjerp.framework.config.jackson.deserializer; + +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.JsonDeserializer; +import net.jjjerp.config.constant.DatePattern; +import org.apache.commons.lang3.StringUtils; + +import java.io.IOException; +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; + +/** + * Jackson LocaDateTime反序列化器 + */ +public class JacksonLocalDateTimeDeserializer extends JsonDeserializer { + + @Override + public LocalDateTime deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException { + String string = jp.getText(); + if (StringUtils.isBlank(string)){ + return null; + } + return LocalDateTime.parse(string, DateTimeFormatter.ofPattern(DatePattern.YYYY_MM_DD_HH_MM_SS)); + } + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/config/jackson/serializer/JacksonBigDecimalSerializer.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/config/jackson/serializer/JacksonBigDecimalSerializer.java new file mode 100644 index 0000000..19c4dc0 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/config/jackson/serializer/JacksonBigDecimalSerializer.java @@ -0,0 +1,23 @@ + + +package net.jjjerp.framework.config.jackson.serializer; + +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.JsonSerializer; +import com.fasterxml.jackson.databind.SerializerProvider; + +import java.io.IOException; +import java.math.BigDecimal; + +public class JacksonBigDecimalSerializer extends JsonSerializer { + + @Override + public void serialize(BigDecimal value, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException, JsonProcessingException { + String str = null; + if (value != null) { + str = value.setScale(2,BigDecimal.ROUND_HALF_UP).toString(); + } + jsonGenerator.writeString(str); + } +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/config/jackson/serializer/JacksonDateSerializer.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/config/jackson/serializer/JacksonDateSerializer.java new file mode 100644 index 0000000..1e62b3e --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/config/jackson/serializer/JacksonDateSerializer.java @@ -0,0 +1,26 @@ + + +package net.jjjerp.framework.config.jackson.serializer; + +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.JsonSerializer; +import com.fasterxml.jackson.databind.SerializerProvider; +import net.jjjerp.framework.util.DateUtil; + +import java.io.IOException; +import java.util.Date; + +/** + * Jackson Date反序列化器 + */ +public class JacksonDateSerializer extends JsonSerializer { + @Override + public void serialize(Date date, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException, JsonProcessingException { + String string = null; + if (date != null) { + string = DateUtil.getDateTimeString(date); + } + jsonGenerator.writeString(string); + } +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/config/jackson/serializer/JacksonIntegerDeserializer.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/config/jackson/serializer/JacksonIntegerDeserializer.java new file mode 100644 index 0000000..5d9a80a --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/config/jackson/serializer/JacksonIntegerDeserializer.java @@ -0,0 +1,20 @@ + + +package net.jjjerp.framework.config.jackson.serializer; + +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.JsonDeserializer; +import net.jjjerp.framework.config.converter.StringToIntegerUtil; + +import java.io.IOException; + +public class JacksonIntegerDeserializer extends JsonDeserializer { + + @Override + public Integer deserialize(JsonParser jsonParser, DeserializationContext deserializationContext) throws IOException, JsonProcessingException { + String string = jsonParser.getText(); + return StringToIntegerUtil.convert(string); + } +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/config/jackson/serializer/JacksonLocalDateTimeSerializer.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/config/jackson/serializer/JacksonLocalDateTimeSerializer.java new file mode 100644 index 0000000..ec798ef --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/config/jackson/serializer/JacksonLocalDateTimeSerializer.java @@ -0,0 +1,29 @@ + + +package net.jjjerp.framework.config.jackson.serializer; + +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.JsonSerializer; +import com.fasterxml.jackson.databind.SerializerProvider; +import net.jjjerp.config.constant.DatePattern; + +import java.io.IOException; +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; + +/** + * Jackson LocalDateTime 自定义序列化器 + */ +public class JacksonLocalDateTimeSerializer extends JsonSerializer { + + @Override + public void serialize(LocalDateTime localDateTime, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException, JsonProcessingException { + String string = null; + if (localDateTime != null) { + string = localDateTime.format(DateTimeFormatter.ofPattern(DatePattern.YYYY_MM_DD_HH_MM_SS)); + } + jsonGenerator.writeString(string); + } + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/core/bean/RequestDetail.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/core/bean/RequestDetail.java new file mode 100644 index 0000000..93fb17f --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/core/bean/RequestDetail.java @@ -0,0 +1,36 @@ + + +package net.jjjerp.framework.core.bean; + +import lombok.Data; +import lombok.experimental.Accessors; + +import java.io.Serializable; + +/** + * Filter请求详情信息 + **/ +@Data +@Accessors(chain = true) +public class RequestDetail implements Serializable { + private static final long serialVersionUID = 2543641512850125440L; + + /** + * 请求ip地址 + */ + private String ip; + + /** + * 请求路径 + */ + private String path; + /** + * appId + */ + private Long appId; + + /** + * 用户名 + */ + private String userName; +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/core/filter/CustomizeHttpServletRequestWrapper.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/core/filter/CustomizeHttpServletRequestWrapper.java new file mode 100644 index 0000000..3e63972 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/core/filter/CustomizeHttpServletRequestWrapper.java @@ -0,0 +1,67 @@ +package net.jjjerp.framework.core.filter; + +import lombok.extern.slf4j.Slf4j; +import javax.servlet.ReadListener; +import javax.servlet.ServletInputStream; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletRequestWrapper; +import java.io.*; + +@Slf4j +public class CustomizeHttpServletRequestWrapper extends HttpServletRequestWrapper { + private byte[] buffer = {}; + + /** + * Constructs a request object wrapping the given request. + * + * @param request The request to wrap + * @throws IllegalArgumentException if the request is null + */ + public CustomizeHttpServletRequestWrapper(HttpServletRequest request) { + super(request); + try { + InputStream is = request.getInputStream(); + ByteArrayOutputStream os = new ByteArrayOutputStream(); + byte[] buff = new byte[1024]; + int read = 0; + while ((read = is.read(buff)) > 0) { + os.write(buff, 0, read); + this.buffer = os.toByteArray(); + } + } catch (IOException e) { + e.printStackTrace(); + } + } + + @Override + public ServletInputStream getInputStream() { + final ByteArrayInputStream is = new ByteArrayInputStream(buffer); + return new ServletInputStream() { + + @Override + public int read() { + return is.read(); + } + + @Override + public boolean isFinished() { + return is.available() == 0; + } + + @Override + public boolean isReady() { + return true; + } + + @Override + public void setReadListener(ReadListener readListener) { + //do nothing + } + }; + } + + @Override + public BufferedReader getReader() { + return new BufferedReader(new InputStreamReader(this.getInputStream())); + } +} \ No newline at end of file diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/core/filter/RequestDetailFilter.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/core/filter/RequestDetailFilter.java new file mode 100644 index 0000000..ec56a50 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/core/filter/RequestDetailFilter.java @@ -0,0 +1,118 @@ + + +package net.jjjerp.framework.core.filter; + +import com.alibaba.fastjson.JSONObject; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.framework.core.bean.RequestDetail; +import net.jjjerp.framework.core.util.RequestDetailThreadLocal; +import net.jjjerp.framework.shiro.vo.LoginShopUserRedisVo; +import net.jjjerp.framework.util.IpUtil; +import net.jjjerp.framework.util.ShopLoginUtil; +import org.springframework.http.MediaType; +import org.springframework.util.StringUtils; +import org.springframework.web.bind.annotation.RequestMethod; + +import javax.servlet.*; +import javax.servlet.http.HttpServletRequest; +import java.io.BufferedReader; +import java.io.IOException; +import java.util.stream.Collectors; + +/** + * 请求详情信息Filter + **/ +@Slf4j +public class RequestDetailFilter implements Filter { + + @Override + public void init(FilterConfig filterConfig) throws ServletException { + log.info("RequestDetailFilter init"); + } + + @Override + public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { + // 设置请求详情信息 + HttpServletRequest httpServletRequest = (HttpServletRequest) request; + // 请求IP + String ip = IpUtil.getRequestIp(httpServletRequest); + // 请求路径 + String path = httpServletRequest.getRequestURI(); + // 设置appId + Long appId = 0L; + String userName = ""; + if(path.startsWith("/api/admin/")){ + appId = getShopAppId(); + userName = getShopUserName(); + }else if(path.startsWith("/api/front/")){ + appId = getFrontAppId(httpServletRequest); + } + RequestDetail requestDetail = new RequestDetail() + .setIp(ip) + .setPath(path).setAppId(appId).setUserName(userName); + // 设置请求详情信息 + RequestDetailThreadLocal.setRequestDetail(requestDetail); + boolean isBody = false; + if (request instanceof HttpServletRequest && path.startsWith("/api/front/") && appId == 0L) { + String contentType = request.getContentType(); + // 如果处理上传文件数据,下面方法执行到chain.doFilter()时会出线异常,所以此处只处理@RequestBody数据 + if (!StringUtils.isEmpty(contentType) && contentType.contains(MediaType.APPLICATION_JSON_VALUE)) { + // body中获取appid参数 + ServletRequest jsonRequest = new CustomizeHttpServletRequestWrapper((HttpServletRequest) request); + BufferedReader reader = jsonRequest.getReader(); + String bodyParams = reader.lines().collect(Collectors.joining()); + JSONObject params = JSONObject.parseObject(bodyParams); + appId = params.getLongValue("appId"); + requestDetail.setAppId(appId); + RequestDetailThreadLocal.setRequestDetail(requestDetail); + chain.doFilter(jsonRequest, response); + isBody = true; + } + } + if(!isBody){ + chain.doFilter(request, response); + } + // 释放 + RequestDetailThreadLocal.remove(); + } + + private Long getShopAppId(){ + LoginShopUserRedisVo vo = ShopLoginUtil.getLoginShopUserRedisVo(); + if(vo == null){ + return 0L; + } + if(vo.getAppId() == null){ + return 0L; + } + return Long.valueOf(vo.getAppId()); + } + + private String getShopUserName(){ + LoginShopUserRedisVo vo = ShopLoginUtil.getLoginShopUserRedisVo(); + if(vo == null){ + return ""; + } + return vo.getUserName(); + } + + private Long getFrontAppId(HttpServletRequest request){ + boolean isBody = false; + String contentType = request.getContentType(); + Long appId = 0L; + // 如果处理上传文件数据,下面方法执行到chain.doFilter()时会出线异常,所以此处只处理@RequestBody数据 + if (!StringUtils.isEmpty(contentType) + && contentType.contains(MediaType.APPLICATION_JSON_VALUE) + && request.getMethod().equals(RequestMethod.POST.name())) { + isBody = true; + } + if(!isBody){ + appId = Long.parseLong(request.getParameter("appId")); + } + return appId; + } + + @Override + public void destroy() { + log.info("RequestDetailFilter destroy"); + } +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/core/interceptor/FrontInterceptor.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/core/interceptor/FrontInterceptor.java new file mode 100644 index 0000000..93f1459 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/core/interceptor/FrontInterceptor.java @@ -0,0 +1,47 @@ + + +package net.jjjerp.framework.core.interceptor; + +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.common.entity.app.App; +import net.jjjerp.common.service.app.AppService; +import net.jjjerp.framework.common.exception.BusinessException; +import net.jjjerp.framework.core.util.RequestDetailThreadLocal; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.servlet.ModelAndView; +import org.springframework.web.servlet.handler.HandlerInterceptorAdapter; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.util.Date; + +/** + * 自定义权限拦截器 + */ +@Slf4j +public class FrontInterceptor extends HandlerInterceptorAdapter { + + @Autowired + private AppService appService; + @Override + public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) + throws Exception { + App app = appService.getById(RequestDetailThreadLocal.getRequestDetail().getAppId()); + if (app == null) { + throw new BusinessException("当前应用信息不存在"); + } + if (app.getIsRecycle() || app.getIsDelete()) { + throw new BusinessException("当前应用已删除"); + } + if (app.getExpireTime() != null && app.getExpireTime().before(new Date())) { + throw new BusinessException("当前应用已过期"); + } + return true; + } + + @Override + public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception { + + } + +} \ No newline at end of file diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/core/interceptor/PermissionInterceptor.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/core/interceptor/PermissionInterceptor.java new file mode 100644 index 0000000..9f07350 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/core/interceptor/PermissionInterceptor.java @@ -0,0 +1,31 @@ + + +package net.jjjerp.framework.core.interceptor; + +import lombok.extern.slf4j.Slf4j; +import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; +import org.springframework.web.servlet.ModelAndView; +import org.springframework.web.servlet.handler.HandlerInterceptorAdapter; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +/** + * 自定义权限拦截器 + */ +@Slf4j +@ConditionalOnProperty(value = {"spring-boot-jjj.interceptor.permission.enable"}, matchIfMissing = true) +public class PermissionInterceptor extends HandlerInterceptorAdapter { + + @Override + public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) + throws Exception { + return true; + } + + @Override + public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception { + + } + +} \ No newline at end of file diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/core/pagination/BasePageOrderParam.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/core/pagination/BasePageOrderParam.java new file mode 100644 index 0000000..8114b71 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/core/pagination/BasePageOrderParam.java @@ -0,0 +1,38 @@ + + +package net.jjjerp.framework.core.pagination; + +import com.baomidou.mybatisplus.core.metadata.OrderItem; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.apache.commons.collections.CollectionUtils; + +import java.util.Arrays; +import java.util.List; + +/** + * 可排序查询参数对象 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@ApiModel("可排序查询参数对象") +public abstract class BasePageOrderParam extends BasePageParam { + private static final long serialVersionUID = 57714391204790143L; + + @ApiModelProperty("排序") + private List pageSorts; + + public void defaultPageSort(OrderItem orderItem) { + this.defaultPageSorts(Arrays.asList(orderItem)); + } + + public void defaultPageSorts(List pageSorts) { + if (CollectionUtils.isEmpty(pageSorts)) { + return; + } + this.pageSorts = pageSorts; + } + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/core/pagination/BasePageParam.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/core/pagination/BasePageParam.java new file mode 100644 index 0000000..ce23529 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/core/pagination/BasePageParam.java @@ -0,0 +1,48 @@ + + +package net.jjjerp.framework.core.pagination; + +import net.jjjerp.config.constant.CommonConstant; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * 查询参数 + */ +@Data +@ApiModel("查询参数对象") +public abstract class BasePageParam implements Serializable { + private static final long serialVersionUID = -3263921252635611410L; + + @ApiModelProperty(value = "页码,默认为1", example = "1") + private Long pageIndex = CommonConstant.DEFAULT_PAGE_INDEX; + + @ApiModelProperty(value = "开始条数") + private Long startIndex = 0L; + + @ApiModelProperty(value = "页大小,默认为10", example = "10") + private Long pageSize = CommonConstant.DEFAULT_PAGE_SIZE; + + @ApiModelProperty(value = "搜索字符串", example = "") + private String keyword; + + public void setPageIndex(Long pageIndex) { + if (pageIndex == null || pageIndex <= 0) { + this.pageIndex = CommonConstant.DEFAULT_PAGE_INDEX; + } else { + this.pageIndex = pageIndex; + } + } + + public void setPageSize(Long pageSize) { + if (pageSize == null || pageSize <= 0) { + this.pageSize = CommonConstant.DEFAULT_PAGE_SIZE; + } else { + this.pageSize = pageSize; + } + } + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/core/pagination/OrderMapping.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/core/pagination/OrderMapping.java new file mode 100644 index 0000000..5f6d10c --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/core/pagination/OrderMapping.java @@ -0,0 +1,91 @@ + + +package net.jjjerp.framework.core.pagination; + +import com.baomidou.mybatisplus.core.metadata.OrderItem; +import com.google.common.base.CaseFormat; +import net.jjjerp.framework.util.PropertyColumnUtil; +import lombok.Data; +import lombok.experimental.Accessors; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.collections4.MapUtils; +import org.apache.commons.lang3.StringUtils; + +import java.util.List; +import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; + +/** + * 排序列映射 + **/ +@Data +@Accessors(chain = true) +public class OrderMapping { + + private boolean underLineMode; + + public OrderMapping() { + + } + + public OrderMapping(boolean underLineMode) { + this.underLineMode = underLineMode; + } + + private Map map = new ConcurrentHashMap<>(); + + public OrderMapping mapping(String property, String column) { + map.put(property, column); + return this; + } + + public OrderMapping mapping(String property, String tablePrefix, String column) { + if (StringUtils.isNotBlank(tablePrefix)) { + column = tablePrefix + "." + column; + } + map.put(property, column); + return this; + } + + + public OrderMapping mapping(String property, Class clazz) { + String column = PropertyColumnUtil.getColumn(clazz, property); + map.put(property, column); + return this; + } + + public OrderMapping mapping(String property, String tablePrefix, Class clazz) { + String column = PropertyColumnUtil.getColumn(clazz, property); + mapping(property, tablePrefix, column); + return this; + } + + public String getMappingColumn(String property) { + if (StringUtils.isBlank(property)) { + return null; + } + return map.get(property); + } + + public void filterOrderItems(List orderItems) { + if (CollectionUtils.isEmpty(orderItems)) { + return; + } + // 如果集合不为空,则按照PropertyColumnUtil映射 + if (MapUtils.isNotEmpty(map)) { + orderItems.forEach(item -> { + item.setColumn(this.getMappingColumn(item.getColumn())); + }); + } else if (underLineMode) { + // 如果开启下划线模式,自动转换成下划线 + orderItems.forEach(item -> { + String column = item.getColumn(); + if (StringUtils.isNotBlank(column)) { + // 驼峰转换成下划线 + item.setColumn(CaseFormat.LOWER_CAMEL.to(CaseFormat.LOWER_UNDERSCORE, column)); + } + }); + } + } + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/core/pagination/PageInfo.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/core/pagination/PageInfo.java new file mode 100644 index 0000000..b2d3a5d --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/core/pagination/PageInfo.java @@ -0,0 +1,148 @@ + + +package net.jjjerp.framework.core.pagination; + +import com.baomidou.mybatisplus.core.metadata.OrderItem; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import org.apache.commons.collections4.CollectionUtils; + +import java.util.Arrays; +import java.util.List; + +/** + * 自定义分页参数 + **/ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = true) +public class PageInfo extends Page { + private static final long serialVersionUID = -2211095086394170578L; + + /** + * 分页参数 + */ + private BasePageParam pageParam; + + /** + * 默认排序字段信息 + */ + private OrderItem defaultOrderItem; + + /** + * 排序字段映射 + */ + private OrderMapping orderMapping; + + + public PageInfo() { + + } + + /** + * 传入分页参数 + * + * @param pageParam + */ + public PageInfo(BasePageParam pageParam) { + this(pageParam, null, null); + } + + /** + * 传入分页参数,默认排序 + * + * @param basePageParam + * @param defaultOrderItem + */ + public PageInfo(BasePageParam basePageParam, OrderItem defaultOrderItem) { + this(basePageParam, defaultOrderItem, null); + } + + /** + * 传入分页参数,排序字段映射 + * + * @param pageParam + * @param orderMapping + */ + public PageInfo(BasePageParam pageParam, OrderMapping orderMapping) { + this(pageParam, null, orderMapping); + } + + /** + * 传入分页参数,默认排序,排序字段映射 + * + * @param pageParam + * @param defaultOrderItem + * @param orderMapping + */ + public PageInfo(BasePageParam pageParam, OrderItem defaultOrderItem, OrderMapping orderMapping) { + this.pageParam = pageParam; + this.defaultOrderItem = defaultOrderItem; + this.orderMapping = orderMapping; + this.handle(); + } + + /** + * 分页构造函数 + * + * @param current 当前页 + * @param size 每页显示条数 + */ + public PageInfo(long current, long size) { + super(current, size, 0); + } + + public PageInfo(long current, long size, long total) { + super(current, size, total, true); + } + + public PageInfo(long current, long size, boolean isSearchCount) { + super(current, size, isSearchCount); + } + + public PageInfo(long current, long size, long total, boolean isSearchCount) { + super(current, size, total, isSearchCount); + } + + /** + * 如果是pageParam是OrderPageParam,并且不为空,则使用前端排序 + * 否则使用默认排序 + */ + private void handle() { + if (pageParam == null) { + return; + } + // 设置pageIndex/pageSize + super.setCurrent(pageParam.getPageIndex()); + this.setSize(pageParam.getPageSize()); + // 排序字段处理 + BasePageOrderParam basePageOrderParam = (BasePageOrderParam) pageParam; + List orderItems = basePageOrderParam.getPageSorts(); + if (CollectionUtils.isEmpty(orderItems)) { + setDefaultOrder(defaultOrderItem); + return; + } + if (orderMapping == null) { + orderMapping = new OrderMapping(true); + } + orderMapping.filterOrderItems(orderItems); + super.setOrders(orderItems); + } + + /** + * 设置默认排序 + * + * @param defaultOrderItem + * @return + */ + public PageInfo setDefaultOrder(OrderItem defaultOrderItem) { + if (defaultOrderItem != null) { + this.defaultOrderItem = defaultOrderItem; + super.setOrders(Arrays.asList(defaultOrderItem)); + } + return this; + } + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/core/pagination/Paging.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/core/pagination/Paging.java new file mode 100644 index 0000000..885e953 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/core/pagination/Paging.java @@ -0,0 +1,69 @@ + + +package net.jjjerp.framework.core.pagination; + +import com.alibaba.fastjson.annotation.JSONField; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.fasterxml.jackson.annotation.JsonProperty; +import net.jjjerp.config.constant.CommonConstant; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.extern.slf4j.Slf4j; + +import java.io.Serializable; +import java.util.Collections; +import java.util.List; + +/** + * 分页结果对象 + */ + +@Slf4j +@Data +@ApiModel("分页结果对象") +public class Paging implements Serializable { + private static final long serialVersionUID = 4784961132604516495L; + + @ApiModelProperty("总行数") + @JSONField(name = CommonConstant.PAGE_TOTAL_NAME) + @JsonProperty(CommonConstant.PAGE_TOTAL_NAME) + private long total = 0; + + @ApiModelProperty("数据列表") + @JSONField(name = CommonConstant.PAGE_RECORDS_NAME) + @JsonProperty(CommonConstant.PAGE_RECORDS_NAME) + private List records = Collections.emptyList(); + + @ApiModelProperty(value = "页码") + @JSONField(name = CommonConstant.PAGE_INDEX_NAME) + @JsonProperty(CommonConstant.PAGE_INDEX_NAME) + private Long pageIndex; + + @ApiModelProperty(value = "页大小") + @JSONField(name = CommonConstant.PAGE_SIZE_NAME) + @JsonProperty(CommonConstant.PAGE_SIZE_NAME) + private Long pageSize; + + @ApiModelProperty(value = "最后一页") + @JSONField(name = CommonConstant.PAGE_LAST_NAME) + @JsonProperty(CommonConstant.PAGE_LAST_NAME) + private Long lastPage; + + public Paging() { + + } + + public Paging(IPage page) { + this.total = page.getTotal(); + this.records = page.getRecords(); + this.pageIndex = page.getCurrent(); + this.pageSize = page.getSize(); + if (page.getTotal() % page.getSize() == 0){ + this.lastPage = page.getTotal() / page.getSize(); + }else{ + this.lastPage = (page.getTotal() / page.getSize()) + 1; + } + } + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/core/util/RequestDetailThreadLocal.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/core/util/RequestDetailThreadLocal.java new file mode 100644 index 0000000..fe5f031 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/core/util/RequestDetailThreadLocal.java @@ -0,0 +1,37 @@ + + +package net.jjjerp.framework.core.util; + +import net.jjjerp.framework.core.bean.RequestDetail; + +/** + * 记录请求详情信息到当前线程中,可在任何地方获取 + **/ +public class RequestDetailThreadLocal { + + private static ThreadLocal threadLocal = new ThreadLocal<>(); + + /** + * 设置请求信息到当前线程中 + * + * @param requestDetail + */ + public static void setRequestDetail(RequestDetail requestDetail) { + threadLocal.set(requestDetail); + } + + /** + * 从当前线程中获取请求信息 + */ + public static RequestDetail getRequestDetail() { + return threadLocal.get(); + } + + /** + * 销毁 + */ + public static void remove() { + threadLocal.remove(); + } + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/core/validator/EnumTypeValidator.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/core/validator/EnumTypeValidator.java new file mode 100644 index 0000000..146d920 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/core/validator/EnumTypeValidator.java @@ -0,0 +1,35 @@ + + +package net.jjjerp.framework.core.validator; + +import net.jjjerp.framework.common.enums.BaseEnum; +import net.jjjerp.framework.common.exception.BusinessException; +import net.jjjerp.framework.core.validator.constraints.EnumType; +import net.jjjerp.framework.util.BaseEnumUtil; + +import javax.validation.ConstraintValidator; +import javax.validation.ConstraintValidatorContext; + +/** + * 自定义系统内的枚举验证注解实现类 + */ +public class EnumTypeValidator implements ConstraintValidator { + + private Class baseEnum; + + @Override + public void initialize(EnumType parameters) { + baseEnum = parameters.type(); + if (baseEnum == null) { + throw new BusinessException("请传入枚举类型类"); + } + } + + @Override + public boolean isValid(Integer value, ConstraintValidatorContext constraintValidatorContext) { + if (value == null) { + return true; + } + return BaseEnumUtil.exists(baseEnum, value); + } +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/core/validator/IdCardValidator.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/core/validator/IdCardValidator.java new file mode 100644 index 0000000..4ff989e --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/core/validator/IdCardValidator.java @@ -0,0 +1,29 @@ + + +package net.jjjerp.framework.core.validator; + +import net.jjjerp.framework.core.validator.constraints.IdCard; + +import javax.validation.ConstraintValidator; +import javax.validation.ConstraintValidatorContext; +import java.util.regex.Pattern; + +/** + * 自定义身份证号码验证注解实现类 + */ +public class IdCardValidator implements ConstraintValidator { + private static final String REG_EX = "(^[1-9]\\d{7}((0\\d)|(1[0-2]))(([0|1|2]\\d)|3[0-1])\\d{2}[0-9Xx]$)|(^[1-9]\\d{5}[1-9]\\d{3}((0\\d)|(1[0-2]))(([0|1|2]\\d)|3[0-1])\\d{3}[0-9Xx]$)"; + private static final Pattern PATTERN = Pattern.compile(REG_EX); + + @Override + public void initialize(IdCard parameters) { + } + + @Override + public boolean isValid(String value, ConstraintValidatorContext constraintValidatorContext) { + if (value ==null){ + return true; + } + return PATTERN.matcher(value).matches(); + } +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/core/validator/PhoneValidator.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/core/validator/PhoneValidator.java new file mode 100644 index 0000000..d3d7658 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/core/validator/PhoneValidator.java @@ -0,0 +1,30 @@ + + +package net.jjjerp.framework.core.validator; + +import net.jjjerp.framework.core.validator.constraints.Phone; + +import javax.validation.ConstraintValidator; +import javax.validation.ConstraintValidatorContext; +import java.util.regex.Pattern; + +/** + * 自定义手机号码验证注解实现类 + */ +public class PhoneValidator implements ConstraintValidator { + + private static final String REG_EX = "^1[3,4,5,6,7,8,9]\\d{9}$"; + private static final Pattern PATTERN = Pattern.compile(REG_EX); + + @Override + public void initialize(Phone parameters) { + } + + @Override + public boolean isValid(String value, ConstraintValidatorContext constraintValidatorContext) { + if (value ==null){ + return true; + } + return PATTERN.matcher(value).matches(); + } +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/core/validator/constraints/EnumType.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/core/validator/constraints/EnumType.java new file mode 100644 index 0000000..e28483a --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/core/validator/constraints/EnumType.java @@ -0,0 +1,33 @@ + + +package net.jjjerp.framework.core.validator.constraints; + +import net.jjjerp.framework.common.enums.BaseEnum; +import net.jjjerp.framework.core.validator.EnumTypeValidator; + +import javax.validation.Constraint; +import javax.validation.Payload; +import java.lang.annotation.Documented; +import java.lang.annotation.Retention; +import java.lang.annotation.Target; + +import static java.lang.annotation.ElementType.*; +import static java.lang.annotation.RetentionPolicy.RUNTIME; + +/** + * 枚举类型注解 + */ +@Documented +@Constraint(validatedBy = { EnumTypeValidator.class }) +@Target({ METHOD, FIELD, ANNOTATION_TYPE, CONSTRUCTOR, PARAMETER }) +@Retention(RUNTIME) +public @interface EnumType { + String message() default "请输入正确的类型值"; + + Class type(); + + Class[] groups() default { }; + + Class[] payload() default { }; + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/core/validator/constraints/IdCard.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/core/validator/constraints/IdCard.java new file mode 100644 index 0000000..c14afa6 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/core/validator/constraints/IdCard.java @@ -0,0 +1,30 @@ + + +package net.jjjerp.framework.core.validator.constraints; + +import net.jjjerp.framework.core.validator.IdCardValidator; + +import javax.validation.Constraint; +import javax.validation.Payload; +import java.lang.annotation.Documented; +import java.lang.annotation.Retention; +import java.lang.annotation.Target; + +import static java.lang.annotation.ElementType.*; +import static java.lang.annotation.RetentionPolicy.RUNTIME; + +/** + * 自定义身份证号码正则验证注解 + */ +@Documented +@Constraint(validatedBy = { IdCardValidator.class }) +@Target({ METHOD, FIELD, ANNOTATION_TYPE, CONSTRUCTOR, PARAMETER }) +@Retention(RUNTIME) +public @interface IdCard { + String message() default "请输入有效的身份证号码"; + + Class[] groups() default { }; + + Class[] payload() default { }; + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/core/validator/constraints/Phone.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/core/validator/constraints/Phone.java new file mode 100644 index 0000000..9997904 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/core/validator/constraints/Phone.java @@ -0,0 +1,30 @@ + + +package net.jjjerp.framework.core.validator.constraints; + +import net.jjjerp.framework.core.validator.PhoneValidator; + +import javax.validation.Constraint; +import javax.validation.Payload; +import java.lang.annotation.Documented; +import java.lang.annotation.Retention; +import java.lang.annotation.Target; + +import static java.lang.annotation.ElementType.*; +import static java.lang.annotation.RetentionPolicy.RUNTIME; + +/** + * 自定义手机号码正则验证注解 + */ +@Documented +@Constraint(validatedBy = { PhoneValidator.class }) +@Target({ METHOD, FIELD, ANNOTATION_TYPE, CONSTRUCTOR, PARAMETER }) +@Retention(RUNTIME) +public @interface Phone { + String message() default "请输入有效的手机号码"; + + Class[] groups() default { }; + + Class[] payload() default { }; + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/core/validator/groups/Add.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/core/validator/groups/Add.java new file mode 100644 index 0000000..397f649 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/core/validator/groups/Add.java @@ -0,0 +1,11 @@ + + +package net.jjjerp.framework.core.validator.groups; + +import javax.validation.groups.Default; + +/** + * Validator分组验证:添加 + **/ +public interface Add extends Default { +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/core/validator/groups/Update.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/core/validator/groups/Update.java new file mode 100644 index 0000000..9de914b --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/core/validator/groups/Update.java @@ -0,0 +1,11 @@ + + +package net.jjjerp.framework.core.validator.groups; + +import javax.validation.groups.Default; + +/** + * Validator分组验证:修改 + **/ +public interface Update extends Default { +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/core/xss/XssFilter.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/core/xss/XssFilter.java new file mode 100644 index 0000000..4d3a7d6 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/core/xss/XssFilter.java @@ -0,0 +1,32 @@ + + +package net.jjjerp.framework.core.xss; + +import lombok.extern.slf4j.Slf4j; + +import javax.servlet.*; +import javax.servlet.http.HttpServletRequest; +import java.io.IOException; + +/** + * Xss过滤器 + **/ +@Slf4j +public class XssFilter implements Filter { + @Override + public void init(FilterConfig filterConfig) throws ServletException { + log.info("XssFilter init"); + } + + @Override + public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException { + HttpServletRequest request = (HttpServletRequest) servletRequest; + XssHttpServletRequestWrapper xssHttpServletRequestWrapper = new XssHttpServletRequestWrapper(request); + filterChain.doFilter(xssHttpServletRequestWrapper, servletResponse); + } + + @Override + public void destroy() { + log.info("XssFilter destroy"); + } +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/core/xss/XssHttpServletRequestWrapper.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/core/xss/XssHttpServletRequestWrapper.java new file mode 100644 index 0000000..8304690 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/core/xss/XssHttpServletRequestWrapper.java @@ -0,0 +1,44 @@ + + +package net.jjjerp.framework.core.xss; + +import org.apache.commons.lang3.ArrayUtils; +import org.apache.commons.text.StringEscapeUtils; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletRequestWrapper; + +/** + * XSS 跨站脚本攻击(Cross Site Scripting) 处理 + **/ +public class XssHttpServletRequestWrapper extends HttpServletRequestWrapper { + + public XssHttpServletRequestWrapper(HttpServletRequest request) { + super(request); + } + + @Override + public String getQueryString() { + return StringEscapeUtils.escapeHtml4(super.getQueryString()); + } + + @Override + public String getParameter(String name) { + return StringEscapeUtils.escapeHtml4(super.getParameter(name)); + } + + @Override + public String[] getParameterValues(String name) { + String[] values = super.getParameterValues(name); + if (ArrayUtils.isEmpty(values)) { + return values; + } + int length = values.length; + String[] escapeValues = new String[length]; + for (int i = 0; i < length; i++) { + escapeValues[i] = StringEscapeUtils.escapeHtml4(values[i]); + } + return escapeValues; + } + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/core/xss/XssJacksonDeserializer.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/core/xss/XssJacksonDeserializer.java new file mode 100644 index 0000000..5e1e1a2 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/core/xss/XssJacksonDeserializer.java @@ -0,0 +1,22 @@ + + +package net.jjjerp.framework.core.xss; + +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.JsonDeserializer; +import org.apache.commons.text.StringEscapeUtils; + +import java.io.IOException; + +/** + * Jackson请求参数字符串转义处理 + **/ +public class XssJacksonDeserializer extends JsonDeserializer { + + @Override + public String deserialize(JsonParser jp, DeserializationContext deserializationContext) throws IOException, JsonProcessingException { + return StringEscapeUtils.escapeHtml4(jp.getText()); + } +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/core/xss/XssJacksonSerializer.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/core/xss/XssJacksonSerializer.java new file mode 100644 index 0000000..cec1dc4 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/core/xss/XssJacksonSerializer.java @@ -0,0 +1,47 @@ + + +package net.jjjerp.framework.core.xss; + +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.databind.JsonSerializer; +import com.fasterxml.jackson.databind.SerializerProvider; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.text.StringEscapeUtils; +import org.springframework.util.StringUtils; + +import java.io.IOException; + +/** + * Jackson响应参数字符串转义处理 + **/ +@Slf4j +public class XssJacksonSerializer extends JsonSerializer { + + @Override + public void serialize(String s, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException { + if (isJson(s)) { + jsonGenerator.writeString(s); + return; + } + jsonGenerator.writeString(StringEscapeUtils.unescapeHtml4(s)); + } + + /** + * 判断字符串是不是JSON + * + * @param str + * @return + */ + private boolean isJson(String str) { + boolean result = false; + if (!StringUtils.isEmpty(str)) { + str = str.trim(); + if (str.startsWith("{") && str.endsWith("}")) { + result = true; + } else if (str.startsWith("[") && str.endsWith("]")) { + result = true; + } + } + return result; + } +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/ip/entity/IpAddress.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/ip/entity/IpAddress.java new file mode 100644 index 0000000..d2d390c --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/ip/entity/IpAddress.java @@ -0,0 +1,42 @@ + + +package net.jjjerp.framework.ip.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.io.Serializable; + +/** + * IP地址 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@ApiModel(value = "IpAddress对象") +public class IpAddress implements Serializable { + private static final long serialVersionUID = 1L; + + @TableId(value = "id", type = IdType.AUTO) + private Long id; + + private String ipStart; + + private String ipEnd; + + @ApiModelProperty("区域") + private String area; + + @ApiModelProperty("运营商") + private String operator; + + private Long ipStartNum; + + private Long ipEndNum; + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/ip/mapper/IpAddressMapper.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/ip/mapper/IpAddressMapper.java new file mode 100644 index 0000000..56f7bdb --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/ip/mapper/IpAddressMapper.java @@ -0,0 +1,24 @@ + + +package net.jjjerp.framework.ip.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import net.jjjerp.framework.ip.entity.IpAddress; +import org.apache.ibatis.annotations.Param; +import org.springframework.stereotype.Repository; + +/** + * IP地址 Mapper 接口 + */ +@Repository +public interface IpAddressMapper extends BaseMapper { + + /** + * 通过ip地址获取IP对象 + * + * @param ip + * @return + */ + IpAddress getByIp(@Param("ip") String ip); + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/ip/service/IpAddressService.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/ip/service/IpAddressService.java new file mode 100644 index 0000000..64581eb --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/ip/service/IpAddressService.java @@ -0,0 +1,37 @@ + + +package net.jjjerp.framework.ip.service; + +import net.jjjerp.framework.common.service.BaseService; +import net.jjjerp.framework.ip.entity.IpAddress; + +/** + * IP地址 服务类 + */ +public interface IpAddressService extends BaseService { + + /** + * 通过ip地址获取IP对象 + * + * @param ip + * @return + */ + IpAddress getByIp(String ip); + + /** + * 通过ip地址获取区域 + * + * @param ip + * @return + */ + String getAreaByIp(String ip); + + /** + * 通过ip地址获取运营商 + * + * @param ip + * @return + */ + String getOperatorByIp(String ip); + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/ip/service/impl/IpAddressServiceImpl.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/ip/service/impl/IpAddressServiceImpl.java new file mode 100644 index 0000000..65c617c --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/ip/service/impl/IpAddressServiceImpl.java @@ -0,0 +1,57 @@ + + +package net.jjjerp.framework.ip.service.impl; + +import net.jjjerp.config.constant.CommonConstant; +import net.jjjerp.framework.common.service.impl.BaseServiceImpl; +import net.jjjerp.framework.ip.entity.IpAddress; +import net.jjjerp.framework.ip.mapper.IpAddressMapper; +import net.jjjerp.framework.ip.service.IpAddressService; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +/** + * IP地址 服务实现类 + */ +@Slf4j +@Service +public class IpAddressServiceImpl extends BaseServiceImpl implements IpAddressService { + + @Autowired + private IpAddressMapper ipAddressMapper; + + + @Override + public IpAddress getByIp(String ip) { + if (StringUtils.isBlank(ip)) { + return null; + } + if (CommonConstant.LOCALHOST_IP.equals(ip)) { + return new IpAddress().setArea(CommonConstant.LOCALHOST_IP_NAME); + } + if (CommonConstant.LAN_IP.equals(ip)) { + return new IpAddress().setArea(CommonConstant.LAN_IP_NAME); + } + return ipAddressMapper.getByIp(ip); + } + + @Override + public String getAreaByIp(String ip) { + IpAddress ipAddress = getByIp(ip); + if (ipAddress != null) { + return ipAddress.getArea(); + } + return null; + } + + @Override + public String getOperatorByIp(String ip) { + IpAddress ipAddress = getByIp(ip); + if (ipAddress != null) { + return ipAddress.getOperator(); + } + return null; + } +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/log/annotation/Module.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/log/annotation/Module.java new file mode 100644 index 0000000..b99d19c --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/log/annotation/Module.java @@ -0,0 +1,32 @@ + + +package net.jjjerp.framework.log.annotation; + +import org.springframework.core.annotation.AliasFor; + +import java.lang.annotation.*; + +/** + * 模块名称注解 + **/ +@Target({ElementType.TYPE}) +@Retention(RetentionPolicy.RUNTIME) +@Documented +public @interface Module { + + /** + * 模块名称 + * + * @return + */ + String name() default ""; + + /** + * 模块名称 + * + * @return + */ + @AliasFor("name") + String value() default ""; + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/log/annotation/OperationLog.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/log/annotation/OperationLog.java new file mode 100644 index 0000000..efe80a4 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/log/annotation/OperationLog.java @@ -0,0 +1,47 @@ + + +package net.jjjerp.framework.log.annotation; + +import net.jjjerp.framework.log.enums.OperationLogType; +import org.springframework.core.annotation.AliasFor; + +import java.lang.annotation.*; + +/** + * 操作日志注解 + * 记录:日志名称,日志类型,日志备注 + **/ +@Target({ElementType.METHOD}) +@Retention(RetentionPolicy.RUNTIME) +@Documented +public @interface OperationLog { + + /** + * 日志名称 + * + * @return + */ + String name() default ""; + + /** + * 日志名称 + * + * @return + */ + @AliasFor("name") + String value() default ""; + + /** + * 日志类型 + * + * @return + */ + OperationLogType type() default OperationLogType.OTHER; + + /** + * 日志备注 + * + * @return + */ + String remark() default ""; +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/log/annotation/OperationLogIgnore.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/log/annotation/OperationLogIgnore.java new file mode 100644 index 0000000..aa6cd44 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/log/annotation/OperationLogIgnore.java @@ -0,0 +1,17 @@ + + +package net.jjjerp.framework.log.annotation; + +import java.lang.annotation.*; + +/** + * 忽略操作日志记录注解 + * 在controller上标注该方法后,将不会记录操作日志 + * 可以标注在类和方法上,如果标记在类上,则会忽略controller中的所有方法 + **/ +@Target({ElementType.TYPE, ElementType.METHOD}) +@Retention(RetentionPolicy.RUNTIME) +@Documented +public @interface OperationLogIgnore { + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/log/aop/BaseLogAop.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/log/aop/BaseLogAop.java new file mode 100644 index 0000000..93a1b64 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/log/aop/BaseLogAop.java @@ -0,0 +1,860 @@ + + +package net.jjjerp.framework.log.aop; + +import com.alibaba.fastjson.JSONObject; +import com.auth0.jwt.exceptions.JWTDecodeException; +import com.baomidou.mybatisplus.core.toolkit.IdWorker; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.common.entity.shop.AdminLoginLog; +import net.jjjerp.common.entity.shop.AdminOptLog; +import net.jjjerp.common.enums.SettingEnum; +import net.jjjerp.common.service.shop.ShopLoginLogService; +import net.jjjerp.common.service.shop.ShopOptLogService; +import net.jjjerp.common.settings.vo.StoreVo; +import net.jjjerp.common.util.SettingUtils; +import net.jjjerp.config.constant.CommonConstant; +import net.jjjerp.config.properties.SpringBootJjjAopProperties; +import net.jjjerp.framework.common.api.ApiCode; +import net.jjjerp.framework.common.api.ApiResult; +import net.jjjerp.framework.common.bean.ClientInfo; +import net.jjjerp.framework.ip.service.IpAddressService; +import net.jjjerp.framework.log.annotation.Module; +import net.jjjerp.framework.log.annotation.OperationLog; +import net.jjjerp.framework.log.annotation.OperationLogIgnore; +import net.jjjerp.framework.log.bean.OperationLogInfo; +import net.jjjerp.framework.log.bean.RequestInfo; +import net.jjjerp.framework.shiro.util.JwtTokenUtil; +import net.jjjerp.framework.shiro.util.JwtUtil; +import net.jjjerp.framework.shiro.vo.LoginShopUserTokenVo; +import net.jjjerp.framework.util.*; +import org.apache.commons.codec.digest.DigestUtils; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.collections4.MapUtils; +import org.apache.commons.lang3.ArrayUtils; +import org.apache.commons.lang3.StringUtils; +import org.apache.shiro.authz.annotation.*; +import org.aspectj.lang.JoinPoint; +import org.aspectj.lang.ProceedingJoinPoint; +import org.aspectj.lang.Signature; +import org.aspectj.lang.reflect.MethodSignature; +import org.fusesource.jansi.Ansi; +import org.slf4j.MDC; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.scheduling.annotation.Async; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; +import org.springframework.web.multipart.MultipartFile; +import org.springframework.web.servlet.ModelAndView; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.lang.annotation.Annotation; +import java.lang.reflect.AnnotatedType; +import java.lang.reflect.Method; +import java.util.*; + +/** + *

+ * Controller Aop 抽象类 + * 获取响应结果信息 + *

+ * 日志输出类型:print-type + * 1. 请求和响应分开,按照执行顺序打印 + * 2. ThreadLocal线程绑定,方法执行结束时,连续打印请求和响应日志 + * 3. ThreadLocal线程绑定,方法执行结束时,同时打印请求和响应日志 + *

+ */ +@Slf4j +public abstract class BaseLogAop { + + @Autowired + protected ShopOptLogService shopOptLogService; + @Autowired + private IpAddressService ipAddressService; + @Autowired + private ShopLoginLogService shopLoginLogService; + @Autowired + private SettingUtils settingUtils; + /** + * 本地线程变量,保存请求参数信息到当前线程中 + */ + protected static ThreadLocal threadLocal = new ThreadLocal<>(); + protected static ThreadLocal requestInfoThreadLocal = new ThreadLocal<>(); + protected static ThreadLocal operationLogThreadLocal = new ThreadLocal<>(); + + /** + * 请求ID + */ + private static final String REQUEST_ID = "requestId"; + /** + * 零 + */ + private static final int ZERO = 0; + /** + * 截取字符串的最多长度 + */ + private static final int MAX_LENGTH = 300; + /** + * 登录日志:登录类型 + */ + private static final int LOGIN_TYPE = 1; + /** + * 登录日志:登出类型 + */ + private static final int LOGOUT_TYPE = 2; + + /** + * 项目上下文路径 + */ + @Value("${server.servlet.context-path}") + private String contextPath; + + /** + * Aop日志配置 + */ + protected SpringBootJjjAopProperties.LogAopConfig logAopConfig; + + /** + * 日志打印类型 + */ + protected SpringBootJjjAopProperties.LogPrintType logPrintType; + + /** + * 是否启用请求ID + */ + protected boolean enableRequestId; + + /** + * requestId生成类型 + */ + protected SpringBootJjjAopProperties.RequestIdType requestIdType; + + /** + * Aop操作日志配置 + */ + protected SpringBootJjjAopProperties.OperationLogConfig operationLogConfig; + + /** + * Aop登录日志配置 + */ + protected SpringBootJjjAopProperties.LoginLogConfig loginLogConfig; + + @Autowired + public void setSpringBootJjjAopProperties(SpringBootJjjAopProperties springBootJjjAopProperties) { + logAopConfig = springBootJjjAopProperties.getLog(); + logPrintType = logAopConfig.getLogPrintType(); + enableRequestId = logAopConfig.isEnableRequestId(); + requestIdType = logAopConfig.getRequestIdType(); + operationLogConfig = springBootJjjAopProperties.getOperationLog(); + loginLogConfig = springBootJjjAopProperties.getLoginLog(); + log.debug("logAopConfig = " + logAopConfig); + log.debug("logPrintType = " + logPrintType); + log.debug("enableRequestId = " + enableRequestId); + log.debug("requestIdType = " + requestIdType); + log.debug("operationLogConfig = " + operationLogConfig); + log.debug("loginLogConfig = " + loginLogConfig); + log.debug("contextPath = " + contextPath); + } + + /** + * 环绕通知 + * 方法执行前打印请求参数信息 + * 方法执行后打印响应结果信息 + * + * @param joinPoint + * @return + * @throws Throwable + */ + public abstract Object doAround(ProceedingJoinPoint joinPoint) throws Throwable; + + /** + * 异常通知方法 + * + * @param joinPoint + * @param exception + */ + public abstract void afterThrowing(JoinPoint joinPoint, Exception exception); + + /** + * 设置请求ID + * + * @param requestInfo + */ + protected abstract void setRequestId(RequestInfo requestInfo); + + /** + * 获取请求信息对象 + * + * @param requestInfo + */ + protected abstract void getRequestInfo(RequestInfo requestInfo); + + /** + * 获取响应结果对象 + * + * @param result + */ + protected abstract void getResponseResult(Object result); + + /** + * 请求响应处理完成之后的回调方法 + * + * @param requestInfo + * @param operationLogInfo + * @param result + * @param exception + */ + protected abstract void finish(RequestInfo requestInfo, OperationLogInfo operationLogInfo, Object result, Exception exception); + + /** + * 处理 + * + * @param joinPoint + * @return + * @throws Throwable + */ + public Object handle(ProceedingJoinPoint joinPoint) throws Throwable { + // 获取请求相关信息 + try { + // 获取当前的HttpServletRequest对象 + ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes(); + HttpServletRequest request = attributes.getRequest(); + + // HTTP请求信息对象 + RequestInfo requestInfo = new RequestInfo(); + + // 请求路径 /api/foobar/add + String path = request.getRequestURI(); + requestInfo.setPath(path); + // 获取实际路径 /foobar/add + String realPath = getRealPath(path); + requestInfo.setRealPath(realPath); + + // 排除路径 + Set excludePaths = logAopConfig.getExcludePaths(); + // 请求路径 + if (handleExcludePaths(excludePaths, realPath)) { + return joinPoint.proceed(); + } + + // 获取请求类名和方法名称 + Signature signature = joinPoint.getSignature(); + + // 获取真实的方法对象 + MethodSignature methodSignature = (MethodSignature) signature; + Method method = methodSignature.getMethod(); + + // 处理操作日志信息 + handleOperationLogInfo(method); + + // IP地址 + String ip = IpUtil.getRequestIp(); + requestInfo.setIp(ip); + + // 获取请求方式 + String requestMethod = request.getMethod(); + requestInfo.setRequestMethod(requestMethod); + + // 获取请求内容类型 + String contentType = request.getContentType(); + requestInfo.setContentType(contentType); + + // 判断控制器方法参数中是否有RequestBody注解 + Annotation[][] annotations = method.getParameterAnnotations(); + boolean isRequestBody = isRequestBody(annotations); + requestInfo.setRequestBody(isRequestBody); + + AnnotatedType[] annotatedTypes = method.getAnnotatedParameterTypes(); + + // 获取Shiro注解值,并记录到map中 + handleShiroAnnotationValue(requestInfo, method); + + // 设置请求参数 + Object requestParamObject = getRequestParamObject(joinPoint, request, requestMethod, contentType, isRequestBody); + requestInfo.setParam(requestParamObject); + requestInfo.setTime(DateUtil.getDateTimeString(new Date())); + + String model = JwtTokenUtil.getModel(path); + + // 获取请求头token + String token = request.getHeader(JwtTokenUtil.getTokenName(model)); + requestInfo.setToken(token); + if (StringUtils.isNotBlank(token)) { + requestInfo.setTokenMd5(DigestUtils.md5Hex(token)); + } + + // 用户浏览器代理字符串 + requestInfo.setUserAgent(request.getHeader(CommonConstant.USER_AGENT)); + + // 记录请求ID + setRequestId(requestInfo); + + // 调用子类重写方法,控制请求信息日志处理 + getRequestInfo(requestInfo); + } catch (Exception e) { + log.error("请求日志AOP处理异常", e); + } + + // 执行目标方法,获得返回值 + // 方法异常时,会调用子类的@AfterThrowing注解的方法,不会调用下面的代码,异常单独处理 + Object result = joinPoint.proceed(); + try { + // 调用子类重写方法,控制响应结果日志处理 + getResponseResult(result); + } catch (Exception e) { + log.error("处理响应结果异常", e); + } finally { + handleAfterReturn(result, null); + } + return result; + } + + /** + * 正常调用返回或者异常结束后调用此方法 + * + * @param result + * @param exception + */ + protected void handleAfterReturn(Object result, Exception exception) { + // 获取RequestInfo + RequestInfo requestInfo = requestInfoThreadLocal.get(); + // 获取OperationLogInfo + OperationLogInfo operationLogInfo = operationLogThreadLocal.get(); + // 调用抽象方法,是否保存日志操作,需要子类重写该方法,手动调用saveSysOperationLog + finish(requestInfo, operationLogInfo, result, null); + // 释放资源 + remove(); + } + + /** + * 处理异常 + * + * @param exception + */ + public void handleAfterThrowing(Exception exception) { + // 获取RequestInfo + RequestInfo requestInfo = requestInfoThreadLocal.get(); + // 获取OperationLogInfo + OperationLogInfo operationLogInfo = operationLogThreadLocal.get(); + // 调用抽象方法,是否保存日志操作,需要子类重写该方法,手动调用saveSysOperationLog + finish(requestInfo, operationLogInfo, null, exception); + // 释放资源 + remove(); + } + + + private void handleOperationLogInfo(Method method) { + // 设置控制器类名称和方法名称 + OperationLogInfo operationLogInfo = new OperationLogInfo() + .setControllerClassName(method.getDeclaringClass().getName()) + .setControllerMethodName(method.getName()); + + // 获取Module类注解 + Class controllerClass = method.getDeclaringClass(); + Module module = controllerClass.getAnnotation(Module.class); + if (module != null) { + String moduleName = module.name(); + String moduleValue = module.value(); + if (StringUtils.isNotBlank(moduleValue)) { + operationLogInfo.setModule(moduleValue); + } + if (StringUtils.isNotBlank(moduleName)) { + operationLogInfo.setModule(moduleName); + } + } + // 获取OperationLogIgnore注解 + OperationLogIgnore classOperationLogIgnore = controllerClass.getAnnotation(OperationLogIgnore.class); + if (classOperationLogIgnore != null) { + // 不记录日志 + operationLogInfo.setIgnore(true); + } + // 判断方法是否要过滤 + OperationLogIgnore operationLogIgnore = method.getAnnotation(OperationLogIgnore.class); + if (operationLogIgnore != null) { + operationLogInfo.setIgnore(true); + } + // 从方法上获取OperationLog注解 + OperationLog operationLog = method.getAnnotation(OperationLog.class); + if (operationLog != null) { + String operationLogName = operationLog.name(); + String operationLogValue = operationLog.value(); + if (StringUtils.isNotBlank(operationLogValue)) { + operationLogInfo.setName(operationLogValue); + } + if (StringUtils.isNotBlank(operationLogName)) { + operationLogInfo.setName(operationLogName); + } + operationLogInfo.setType(operationLog.type().getCode()).setRemark(operationLog.remark()); + } + operationLogThreadLocal.set(operationLogInfo); + } + + /** + * 获取Shiro注解值,并记录到map中 + * + * @param requestInfo + * @param method + */ + protected void handleShiroAnnotationValue(RequestInfo requestInfo, Method method) { + RequiresRoles requiresRoles = method.getAnnotation(RequiresRoles.class); + if (requiresRoles != null) { + String[] requiresRolesValues = requiresRoles.value(); + if (ArrayUtils.isNotEmpty(requiresRolesValues)) { + String requiresRolesString = Arrays.toString(requiresRolesValues); + requestInfo.setRequiresRoles(requiresRolesString); + } + } + + RequiresPermissions requiresPermissions = method.getAnnotation(RequiresPermissions.class); + if (requiresPermissions != null) { + String[] requiresPermissionsValues = requiresPermissions.value(); + if (ArrayUtils.isNotEmpty(requiresPermissionsValues)) { + String requiresPermissionsString = Arrays.toString(requiresPermissionsValues); + requestInfo.setRequiresPermissions(requiresPermissionsString); + } + } + + RequiresAuthentication requiresAuthentication = method.getAnnotation(RequiresAuthentication.class); + if (requiresAuthentication != null) { + requestInfo.setRequiresAuthentication(true); + } + + RequiresUser requiresUser = method.getAnnotation(RequiresUser.class); + if (requiresUser != null) { + requestInfo.setRequiresUser(true); + } + + RequiresGuest requiresGuest = method.getAnnotation(RequiresGuest.class); + if (requiresGuest != null) { + requestInfo.setRequiresGuest(true); + } + + } + + /** + * 处理请求ID + * + * @param requestInfo + */ + protected void handleRequestId(RequestInfo requestInfo) { + if (!enableRequestId) { + return; + } + String requestId = null; + if (SpringBootJjjAopProperties.RequestIdType.IDWORK == requestIdType) { + requestId = IdWorker.getIdStr(); + } else if (SpringBootJjjAopProperties.RequestIdType.UUID == requestIdType) { + requestId = UUIDUtil.getUuid(); + } + // 设置请求ID + MDC.put(REQUEST_ID, requestId); + requestInfo.setRequestId(requestId); + } + + /** + * 处理请求参数 + * + * @param requestInfo + */ + protected void handleRequestInfo(RequestInfo requestInfo) { + requestInfoThreadLocal.set(requestInfo); + if (SpringBootJjjAopProperties.LogPrintType.NONE == logPrintType) { + return; + } + // 获取请求信息 + String requestInfoString = formatRequestInfo(requestInfo); + // 如果打印方式为顺序打印,则直接打印,否则,保存的threadLocal中 + if (SpringBootJjjAopProperties.LogPrintType.ORDER == logPrintType) { + printRequestInfoString(requestInfoString); + } else { + threadLocal.set(requestInfoString); + } + } + + /** + * 处理响应结果 + * + * @param result + */ + protected void handleResponseResult(Object result) { + if (SpringBootJjjAopProperties.LogPrintType.NONE == logPrintType) { + return; + } + if (result != null && result instanceof ApiResult) { + ApiResult apiResult = (ApiResult) result; + int code = apiResult.getCode(); + // 获取格式化后的响应结果 + String responseResultString = formatResponseResult(apiResult); + if (SpringBootJjjAopProperties.LogPrintType.ORDER == logPrintType) { + printResponseResult(code, responseResultString); + } else { + // 从threadLocal中获取线程请求信息 + String requestInfoString = threadLocal.get(); + // 如果是连续打印,则先打印请求参数,再打印响应结果 + if (SpringBootJjjAopProperties.LogPrintType.LINE == logPrintType) { + printRequestInfoString(requestInfoString); + printResponseResult(code, responseResultString); + } else if (SpringBootJjjAopProperties.LogPrintType.MERGE == logPrintType) { + printRequestResponseString(code, requestInfoString, responseResultString); + } + } + } + } + + /** + * 同时打印请求和响应信息 + * + * @param code + * @param requestInfoString + * @param responseResultString + */ + protected void printRequestResponseString(int code, String requestInfoString, String responseResultString) { + if (code == ApiCode.SUCCESS.getCode()) { + //log.info(requestInfoString + "\n" + responseResultString); + } else { + log.error(requestInfoString + "\n" + responseResultString); + } + } + + + /** + * 格式化请求信息 + * + * @param requestInfo + * @return + */ + protected String formatRequestInfo(RequestInfo requestInfo) { + String requestInfoString = null; + try { + if (logAopConfig.isRequestLogFormat()) { + requestInfoString = "\n" + Jackson.toJsonStringNonNull(requestInfo, true); + } else { + requestInfoString = Jackson.toJsonStringNonNull(requestInfo); + } + } catch (Exception e) { + log.error("格式化请求信息日志异常", e); + } + return AnsiUtil.getAnsi(Ansi.Color.GREEN, "requestInfo:" + requestInfoString); + } + + /** + * 打印请求信息 + * + * @param requestInfoString + */ + protected void printRequestInfoString(String requestInfoString) { + log.info(requestInfoString); + } + + /** + * 格式化响应信息 + * + * @param apiResult + * @return + */ + protected String formatResponseResult(ApiResult apiResult) { + String responseResultString = "responseResult:"; + try { + if (logAopConfig.isResponseLogFormat()) { + responseResultString += "\n" + Jackson.toJsonString(apiResult, true); + } else { + responseResultString += Jackson.toJsonString(apiResult); + } + int code = apiResult.getCode(); + if (code == ApiCode.SUCCESS.getCode()) { + return AnsiUtil.getAnsi(Ansi.Color.BLUE, responseResultString); + } else { + return AnsiUtil.getAnsi(Ansi.Color.RED, responseResultString); + } + } catch (Exception e) { + log.error("格式化响应日志异常", e); + } + return responseResultString; + } + + /** + * 打印响应信息 + * + * @param code + * @param responseResultString + */ + protected void printResponseResult(int code, String responseResultString) { + if (code == ApiCode.SUCCESS.getCode() || code == 1) { + log.info(responseResultString); + } else { + log.error(responseResultString); + } + } + + /** + * 获取请求参数JSON字符串 + * + * @param joinPoint + * @param request + * @param requestMethod + * @param contentType + * @param isRequestBody + */ + protected Object getRequestParamObject(ProceedingJoinPoint joinPoint, HttpServletRequest request, String requestMethod, String contentType, boolean isRequestBody) { + Object paramObject = null; + if (isRequestBody) { + // POST,application/json,RequestBody的类型,简单判断,然后序列化成JSON字符串 + Object[] args = joinPoint.getArgs(); + paramObject = getArgsObject(args); + } else { + // 获取getParameterMap中所有的值,处理后序列化成JSON字符串 + Map paramsMap = request.getParameterMap(); + paramObject = getParamJSONObject(paramsMap); + } + return paramObject; + } + + /** + * 判断控制器方法参数中是否有RequestBody注解 + * + * @param annotations + * @return + */ + protected boolean isRequestBody(Annotation[][] annotations) { + boolean isRequestBody = false; + for (Annotation[] annotationArray : annotations) { + for (Annotation annotation : annotationArray) { + if (annotation instanceof RequestBody) { + isRequestBody = true; + } + } + } + return isRequestBody; + } + + /** + * 请求参数拼装 + * + * @param args + * @return + */ + protected Object getArgsObject(Object[] args) { + if (args == null) { + return null; + } + // 去掉HttpServletRequest和HttpServletResponse + List realArgs = new ArrayList<>(); + for (Object arg : args) { + if (arg instanceof HttpServletRequest) { + continue; + } + if (arg instanceof HttpServletResponse) { + continue; + } + if (arg instanceof MultipartFile) { + continue; + } + if (arg instanceof ModelAndView) { + continue; + } + realArgs.add(arg); + } + if (realArgs.size() == 1) { + return realArgs.get(0); + } else { + return realArgs; + } + } + + + /** + * 获取参数Map的JSON字符串 + * + * @param paramsMap + * @return + */ + protected JSONObject getParamJSONObject(Map paramsMap) { + if (MapUtils.isEmpty(paramsMap)) { + return null; + } + JSONObject jsonObject = new JSONObject(); + for (Map.Entry kv : paramsMap.entrySet()) { + String key = kv.getKey(); + String[] values = kv.getValue(); + // 没有值 + if (values == null) { + jsonObject.put(key, null); + } else if (values.length == 1) { + // 一个值 + jsonObject.put(key, values[0]); + } else { + // 多个值 + jsonObject.put(key, values); + } + } + return jsonObject; + } + + /** + * 处理排除路径,匹配返回true,否则返回false + * + * @param excludePaths 排除路径 + * @param realPath 请求实际路径 + * @return + */ + protected boolean handleExcludePaths(Set excludePaths, String realPath) { + if (CollectionUtils.isEmpty(excludePaths) || StringUtils.isBlank(realPath)) { + return false; + } + // 如果是排除路径,则跳过 + if (excludePaths.contains(realPath)) { + return true; + } + return false; + } + + /** + * 获取实际路径 + * + * @param requestPath + * @return + */ + private String getRealPath(String requestPath) { + // 如果项目路径不为空,则去掉项目路径,获取实际访问路径 + if (StringUtils.isNotBlank(contextPath)) { + return requestPath.substring(contextPath.length()); + } + return requestPath; + } + + /** + * 异步保存系统操作日志 + * + * @param requestInfo + * @param operationLogInfo + * @param result + * @param exception + */ + @Async + protected void saveShopOperationLog(RequestInfo requestInfo, OperationLogInfo operationLogInfo, Object result, Exception exception) { + try { + Integer shopUserId = ShopLoginUtil.getUserId(); + if(shopUserId == null){ + return; + } + JSONObject vo = settingUtils.getSetting(SettingEnum.STORE.getKey(), null); + StoreVo storeVo = JSONObject.parseObject(vo.toJSONString(), StoreVo.class); + // 如果不记录操作日志,则跳过 + if (!storeVo.getIsGetLog()) { + return; + } + // 排除路径 + Set excludePaths = operationLogConfig.getExcludePaths(); + // 请求路径 + if (handleExcludePaths(excludePaths, requestInfo.getRealPath())) { + return; + } + + // 操作日志 + AdminOptLog adminOptLog = new AdminOptLog(); + // 设置操作日志信息 + if (operationLogInfo != null) { + // 如果类或方法上标注有OperationLogIgnore,则跳过 + if (operationLogInfo.isIgnore()) { + return; + } + } + // 设置请求参数信息 + if (requestInfo != null) { + adminOptLog.setIp(requestInfo.getIp()) + .setUrl(requestInfo.getPath()) + .setRequestType(requestInfo.getRequestMethod()); + + // 设置参数字符串 + adminOptLog.setContent(Jackson.toJsonStringNonNull(requestInfo.getParam())); + // Customer-Agent + String userAgent = requestInfo.getUserAgent(); + if (StringUtils.isNotBlank(userAgent)) { + adminOptLog.setAgent(StringUtils.substring(userAgent, ZERO, MAX_LENGTH)); + } + ClientInfo clientInfo = ClientInfoUtil.get(requestInfo.getUserAgent()); + if (clientInfo != null) { + adminOptLog.setBrowser(clientInfo.getBrowserName()); + } + } + + // 设置当前登录信息 + adminOptLog.setShopUserId(shopUserId.intValue()); + // 保存日志到数据库 + shopOptLogService.save(adminOptLog); + } catch (Exception e) { + if (e instanceof JWTDecodeException) { + JWTDecodeException jwtDecodeException = (JWTDecodeException) e; + throw jwtDecodeException; + } + log.error("保存系统操作日志失败", e); + } + } + + /** + * 异步保存系统登录日志 + * + * @param requestInfo + * @param operationLogInfo + * @param result + * @param exception + */ + @Async + protected void saveShopLoginLog(RequestInfo requestInfo, OperationLogInfo operationLogInfo, Object result, Exception exception) { + try { + String realPath = requestInfo.getRealPath(); + if (StringUtils.isBlank(realPath)) { + return; + } + + boolean flag = false; + String optName = ""; + // 判断是否是登录路径 + if (realPath.equals(loginLogConfig.getLoginPath())) { + flag = true; + optName = "登录成功"; + } else if (realPath.equals(loginLogConfig.getLogoutPath())) { + flag = true; + optName = "退出成功"; + } + + // 判断登录登出结果 + if (flag && result != null && result instanceof ApiResult) { + ApiResult apiResult = (ApiResult) result; + if (apiResult.getCode() == 1) { + AdminLoginLog adminLoginLog = new AdminLoginLog(); + adminLoginLog.setResult(optName); + adminLoginLog.setIp(requestInfo.getIp()); + if ("登录成功".equals(optName)) { + LoginShopUserTokenVo loginShopUserVo = (LoginShopUserTokenVo)apiResult.getData(); + JSONObject paramObject = (JSONObject)requestInfo.getParam(); + adminLoginLog.setUsername(paramObject.getString("username")); + adminLoginLog.setAppId(loginShopUserVo.getLoginShopUserVo().getAppId()); + }else { + String username = JwtUtil.getUsername(requestInfo.getToken()); + adminLoginLog.setUsername(username); + } + // 保存登录日志 + shopLoginLogService.save(adminLoginLog); + } + } + } catch (Exception e) { + log.error("保存系统登录日志失败", e); + } + } + + + /** + * 释放资源 + */ + protected void remove() { + threadLocal.remove(); + requestInfoThreadLocal.remove(); + operationLogThreadLocal.remove(); + MDC.clear(); + } + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/log/bean/OperationLogInfo.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/log/bean/OperationLogInfo.java new file mode 100644 index 0000000..97cf8b3 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/log/bean/OperationLogInfo.java @@ -0,0 +1,50 @@ + + +package net.jjjerp.framework.log.bean; + +import lombok.Data; +import lombok.experimental.Accessors; + +/** + * 操作日志信息 + **/ +@Data +@Accessors(chain = true) +public class OperationLogInfo { + + /** + * 是否忽略 + */ + private boolean ignore; + + /** + * 模块名称 + */ + private String module; + + /** + * 日志名称 + */ + private String name; + + /** + * 日志类型 + */ + private Integer type; + + /** + * 日志备注 + */ + private String remark; + + /** + * controller类名称 + */ + private String controllerClassName; + + /** + * controller目标方法名称 + */ + private String controllerMethodName; + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/log/bean/RequestInfo.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/log/bean/RequestInfo.java new file mode 100644 index 0000000..c8509d2 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/log/bean/RequestInfo.java @@ -0,0 +1,123 @@ + + +package net.jjjerp.framework.log.bean; + +import com.alibaba.fastjson.annotation.JSONField; +import com.fasterxml.jackson.annotation.JsonIgnore; +import net.jjjerp.framework.ip.entity.IpAddress; +import lombok.Data; +import lombok.experimental.Accessors; + +import java.io.Serializable; + +/** + * HTTP请求信息对象 + **/ +@Data +@Accessors(chain = true) +public class RequestInfo implements Serializable { + private static final long serialVersionUID = 1421424612944015973L; + + /** + * 请求路径 + * /api/foobar/add + */ + private String path; + + /** + * 请求ID + */ + @JsonIgnore + @JSONField(serialize = false) + private String requestId; + + /** + * 请求实际路径 + * /foobar/add + */ + @JsonIgnore + @JSONField(serialize = false) + private String realPath; + + /** + * 请求IP地址 + */ + private String ip; + + /** + * 请求IP对象 + */ + @JsonIgnore + @JSONField(serialize = false) + private IpAddress ipAddress; + + /** + * 请求方式,GET/POST + */ + private String requestMethod; + + /** + * 请求内容类型 + */ + private String contentType; + + /** + * 判断控制器方法参数中是否有RequestBody注解 + */ + private Boolean requestBody; + + /** + * 请求参数对象 + */ + private Object param; + + /** + * 请求时间字符串 + */ + private String time; + + /** + * 请求token + */ + private String token; + + /** + * 请求token MD5值 + */ + @JsonIgnore + @JSONField(serialize = false) + private String tokenMd5; + + /** + * 用户代理字符串 + */ + @JsonIgnore + @JSONField(serialize = false) + private String userAgent; + + /** + * requiresRoles值 + */ + private String requiresRoles; + + /** + * requiresPermissions值 + */ + private String requiresPermissions; + + /** + * requiresAuthentication + */ + private Boolean requiresAuthentication; + + /** + * requiresUser + */ + private Boolean requiresUser; + + /** + * requiresGuest + */ + private Boolean requiresGuest; + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/log/entity/SysLoginLog.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/log/entity/SysLoginLog.java new file mode 100644 index 0000000..b6b5512 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/log/entity/SysLoginLog.java @@ -0,0 +1,102 @@ + + +package net.jjjerp.framework.log.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import net.jjjerp.framework.core.validator.groups.Update; + +import javax.validation.constraints.NotNull; +import java.io.Serializable; +import java.util.Date; + +/** + * 系统登录日志 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@ApiModel(value = "SysLoginLog对象") +public class SysLoginLog implements Serializable { + private static final long serialVersionUID = 1L; + + @NotNull(message = "id不能为空", groups = {Update.class}) + @ApiModelProperty("主键") + @TableId(value = "id", type = IdType.AUTO) + private Long id; + + @ApiModelProperty("请求ID") + private String requestId; + + @ApiModelProperty("用户名称") + private String username; + + @ApiModelProperty("IP") + private String ip; + + @ApiModelProperty("区域") + private String area; + + @ApiModelProperty("运营商") + private String operator; + + @ApiModelProperty("tokenMd5值") + private String token; + + @ApiModelProperty("1:登录,2:登出") + private Integer type; + + @ApiModelProperty("是否成功 true:成功/false:失败") + private Boolean success; + + @ApiModelProperty("响应码") + private Integer code; + + @ApiModelProperty("失败消息记录") + private String exceptionMessage; + + @ApiModelProperty("浏览器名称") + private String userAgent; + + @ApiModelProperty("浏览器名称") + private String browserName; + + @ApiModelProperty("浏览器版本") + private String browserVersion; + + @ApiModelProperty("浏览器引擎名称") + private String engineName; + + @ApiModelProperty("浏览器引擎版本") + private String engineVersion; + + @ApiModelProperty("系统名称") + private String osName; + + @ApiModelProperty("平台名称") + private String platformName; + + @ApiModelProperty("是否是手机,0:否,1:是") + private Boolean mobile; + + @ApiModelProperty("移动端设备名称") + private String deviceName; + + @ApiModelProperty("移动端设备型号") + private String deviceModel; + + @ApiModelProperty("备注") + private String remark; + + @ApiModelProperty("创建时间") + private Date createTime; + + @ApiModelProperty("修改时间") + private Date updateTime; + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/log/entity/SysOperationLog.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/log/entity/SysOperationLog.java new file mode 100644 index 0000000..9bb3add --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/log/entity/SysOperationLog.java @@ -0,0 +1,135 @@ + + +package net.jjjerp.framework.log.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import net.jjjerp.framework.core.validator.groups.Update; + +import javax.validation.constraints.NotNull; +import java.io.Serializable; +import java.util.Date; + +/** + * 系统操作日志 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@ApiModel(value = "SysOperationLog对象") +public class SysOperationLog implements Serializable { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键") + @TableId(value = "id", type = IdType.AUTO) + @NotNull(message = "id不能为空", groups = {Update.class}) + private Long id; + + @ApiModelProperty("请求ID") + private String requestId; + + @ApiModelProperty("用户ID") + private Long userId; + + @ApiModelProperty("用户名称") + private String userName; + + @ApiModelProperty("日志名称") + private String name; + + @ApiModelProperty("IP") + private String ip; + + @ApiModelProperty("区域") + private String area; + + @ApiModelProperty("运营商") + private String operator; + + @ApiModelProperty("全路径") + private String path; + + @ApiModelProperty("模块名称") + private String module; + + @ApiModelProperty("类名") + private String className; + + @ApiModelProperty("方法名称") + private String methodName; + + @ApiModelProperty("请求方式,GET/POST") + private String requestMethod; + + @ApiModelProperty("内容类型") + private String contentType; + + @ApiModelProperty("是否是JSON请求映射参数") + private Boolean requestBody; + + @ApiModelProperty("请求参数") + private String param; + + @ApiModelProperty("tokenMd5值") + private String token; + + @ApiModelProperty("0:其它,1:新增,2:修改,3:删除,4:详情查询,5:所有列表,6:分页列表,7:其它查询,8:上传文件") + private Integer type; + + @ApiModelProperty("0:失败,1:成功") + private Boolean success; + + @ApiModelProperty("响应结果状态码") + private Integer code; + + @ApiModelProperty("响应结果消息") + private String message; + + @ApiModelProperty("异常类名称") + private String exceptionName; + + @ApiModelProperty("异常信息") + private String exceptionMessage; + + @ApiModelProperty("浏览器名称") + private String browserName; + + @ApiModelProperty("浏览器版本") + private String browserVersion; + + @ApiModelProperty("浏览器引擎名称") + private String engineName; + + @ApiModelProperty("浏览器引擎版本") + private String engineVersion; + + @ApiModelProperty("系统名称") + private String osName; + + @ApiModelProperty("平台名称") + private String platformName; + + @ApiModelProperty("是否是手机,0:否,1:是") + private Boolean mobile; + + @ApiModelProperty("移动端设备名称") + private String deviceName; + + @ApiModelProperty("移动端设备型号") + private String deviceModel; + + @ApiModelProperty("备注") + private String remark; + + @ApiModelProperty("创建时间") + private Date createTime; + + @ApiModelProperty("修改时间") + private Date updateTime; + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/log/enums/OperationLogType.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/log/enums/OperationLogType.java new file mode 100644 index 0000000..4138361 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/log/enums/OperationLogType.java @@ -0,0 +1,71 @@ + + +package net.jjjerp.framework.log.enums; + +import net.jjjerp.framework.common.enums.BaseEnum; +import lombok.AllArgsConstructor; +import lombok.Getter; + +/** + * 操作日志类型枚举 + **/ +@Getter +@AllArgsConstructor +public enum OperationLogType implements BaseEnum { + /** + * 其它 + **/ + OTHER(0, "其它"), + /** + * 添加 + **/ + ADD(1, "添加"), + /** + * 修改 + **/ + UPDATE(2, "修改"), + /** + * 删除 + **/ + DELETE(3, "删除"), + /** + * 查询 + **/ + query(4, "详情查询"), + /** + * 详情查询 + **/ + INFO(5, "详情查询"), + /** + * 列表查询 + **/ + LIST(6, "列表查询"), + /** + * 分页列表 + **/ + PAGE(7, "分页列表"), + /** + * 其它查询 + **/ + OTHER_QUERY(8, "其它查询"), + /** + * 文件上传 + **/ + UPLOAD(9, "文件上传"), + /** + * 文件下载 + **/ + download(10, "文件下载"), + /** + * Excel导入 + **/ + excel_import(11, "Excel导入"), + /** + * Excel导出 + **/ + EXCEL_EXPORT(12, "Excel导出"); + + private Integer code; + private String desc; + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/log/mapper/SysLoginLogMapper.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/log/mapper/SysLoginLogMapper.java new file mode 100644 index 0000000..7e4f75b --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/log/mapper/SysLoginLogMapper.java @@ -0,0 +1,16 @@ + + +package net.jjjerp.framework.log.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import net.jjjerp.framework.log.entity.SysLoginLog; +import org.springframework.stereotype.Repository; + +/** + * 系统登录日志 Mapper 接口 + */ +@Repository +public interface SysLoginLogMapper extends BaseMapper { + + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/log/mapper/SysOperationLogMapper.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/log/mapper/SysOperationLogMapper.java new file mode 100644 index 0000000..c3a8a16 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/log/mapper/SysOperationLogMapper.java @@ -0,0 +1,16 @@ + + +package net.jjjerp.framework.log.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import net.jjjerp.framework.log.entity.SysOperationLog; +import org.springframework.stereotype.Repository; + +/** + * 系统操作日志 Mapper 接口 + */ +@Repository +public interface SysOperationLogMapper extends BaseMapper { + + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/log/param/SysLoginLogPageParam.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/log/param/SysLoginLogPageParam.java new file mode 100644 index 0000000..5c0fe2c --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/log/param/SysLoginLogPageParam.java @@ -0,0 +1,20 @@ + + +package net.jjjerp.framework.log.param; + +import net.jjjerp.framework.core.pagination.BasePageOrderParam; +import io.swagger.annotations.ApiModel; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * 系统登录日志 分页参数对象 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = true) +@ApiModel(value = "系统登录日志分页参数") +public class SysLoginLogPageParam extends BasePageOrderParam { + private static final long serialVersionUID = 1L; +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/log/param/SysOperationLogPageParam.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/log/param/SysOperationLogPageParam.java new file mode 100644 index 0000000..3a6b50f --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/log/param/SysOperationLogPageParam.java @@ -0,0 +1,20 @@ + + +package net.jjjerp.framework.log.param; + +import net.jjjerp.framework.core.pagination.BasePageOrderParam; +import io.swagger.annotations.ApiModel; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * 系统操作日志 分页参数对象 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = true) +@ApiModel(value = "系统操作日志分页参数") +public class SysOperationLogPageParam extends BasePageOrderParam { + private static final long serialVersionUID = 1L; +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/log/service/SysLoginLogService.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/log/service/SysLoginLogService.java new file mode 100644 index 0000000..47026e0 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/log/service/SysLoginLogService.java @@ -0,0 +1,52 @@ + + +package net.jjjerp.framework.log.service; + +import net.jjjerp.framework.common.service.BaseService; +import net.jjjerp.framework.core.pagination.Paging; +import net.jjjerp.framework.log.entity.SysLoginLog; +import net.jjjerp.framework.log.param.SysLoginLogPageParam; + +/** + * 系统登录日志 服务类 + */ +public interface SysLoginLogService extends BaseService { + + /** + * 保存 + * + * @param sysLoginLog + * @return + * @throws Exception + */ + boolean saveSysLoginLog(SysLoginLog sysLoginLog) throws Exception; + + /** + * 修改 + * + * @param sysLoginLog + * @return + * @throws Exception + */ + boolean updateSysLoginLog(SysLoginLog sysLoginLog) throws Exception; + + /** + * 删除 + * + * @param id + * @return + * @throws Exception + */ + boolean deleteSysLoginLog(Long id) throws Exception; + + + /** + * 获取分页对象 + * + * @param sysLoginLogQueryParam + * @return + * @throws Exception + */ + Paging getSysLoginLogPageList(SysLoginLogPageParam sysLoginLogPageParam) throws Exception; + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/log/service/SysOperationLogService.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/log/service/SysOperationLogService.java new file mode 100644 index 0000000..3011161 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/log/service/SysOperationLogService.java @@ -0,0 +1,52 @@ + + +package net.jjjerp.framework.log.service; + +import net.jjjerp.framework.common.service.BaseService; +import net.jjjerp.framework.core.pagination.Paging; +import net.jjjerp.framework.log.entity.SysOperationLog; +import net.jjjerp.framework.log.param.SysOperationLogPageParam; + +/** + * 系统操作日志 服务类 + */ +public interface SysOperationLogService extends BaseService { + + /** + * 保存 + * + * @param sysOperationLog + * @return + * @throws Exception + */ + boolean saveSysOperationLog(SysOperationLog sysOperationLog) throws Exception; + + /** + * 修改 + * + * @param sysOperationLog + * @return + * @throws Exception + */ + boolean updateSysOperationLog(SysOperationLog sysOperationLog) throws Exception; + + /** + * 删除 + * + * @param id + * @return + * @throws Exception + */ + boolean deleteSysOperationLog(Long id) throws Exception; + + + /** + * 获取分页对象 + * + * @param sysOperationLogQueryParam + * @return + * @throws Exception + */ + Paging getSysOperationLogPageList(SysOperationLogPageParam sysOperationLogPageParam) throws Exception; + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/log/service/impl/SysLoginLogServiceImpl.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/log/service/impl/SysLoginLogServiceImpl.java new file mode 100644 index 0000000..6cf4b9f --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/log/service/impl/SysLoginLogServiceImpl.java @@ -0,0 +1,57 @@ + + +package net.jjjerp.framework.log.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.metadata.OrderItem; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import net.jjjerp.framework.common.service.impl.BaseServiceImpl; +import net.jjjerp.framework.core.pagination.PageInfo; +import net.jjjerp.framework.core.pagination.Paging; +import net.jjjerp.framework.log.entity.SysLoginLog; +import net.jjjerp.framework.log.mapper.SysLoginLogMapper; +import net.jjjerp.framework.log.param.SysLoginLogPageParam; +import net.jjjerp.framework.log.service.SysLoginLogService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +/** + * 系统登录日志 服务实现类 + */ +@Slf4j +@Service +public class SysLoginLogServiceImpl extends BaseServiceImpl implements SysLoginLogService { + + @Autowired + private SysLoginLogMapper sysLoginLogMapper; + + @Transactional(rollbackFor = Exception.class) + @Override + public boolean saveSysLoginLog(SysLoginLog sysLoginLog) throws Exception { + return super.save(sysLoginLog); + } + + @Transactional(rollbackFor = Exception.class) + @Override + public boolean updateSysLoginLog(SysLoginLog sysLoginLog) throws Exception { + return super.updateById(sysLoginLog); + } + + @Transactional(rollbackFor = Exception.class) + @Override + public boolean deleteSysLoginLog(Long id) throws Exception { + return super.removeById(id); + } + + @Override + public Paging getSysLoginLogPageList(SysLoginLogPageParam sysLoginLogPageParam) throws Exception { + Page page = new PageInfo<>(sysLoginLogPageParam,OrderItem.desc(getLambdaColumn(SysLoginLog::getCreateTime))); + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + IPage iPage = sysLoginLogMapper.selectPage(page, wrapper); + return new Paging(iPage); + } + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/log/service/impl/SysOperationLogServiceImpl.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/log/service/impl/SysOperationLogServiceImpl.java new file mode 100644 index 0000000..7033a6f --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/log/service/impl/SysOperationLogServiceImpl.java @@ -0,0 +1,57 @@ + + +package net.jjjerp.framework.log.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.metadata.OrderItem; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import net.jjjerp.framework.common.service.impl.BaseServiceImpl; +import net.jjjerp.framework.core.pagination.PageInfo; +import net.jjjerp.framework.core.pagination.Paging; +import net.jjjerp.framework.log.entity.SysOperationLog; +import net.jjjerp.framework.log.mapper.SysOperationLogMapper; +import net.jjjerp.framework.log.param.SysOperationLogPageParam; +import net.jjjerp.framework.log.service.SysOperationLogService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +/** + * 系统操作日志 服务实现类 + */ +@Slf4j +@Service +public class SysOperationLogServiceImpl extends BaseServiceImpl implements SysOperationLogService { + + @Autowired + private SysOperationLogMapper sysOperationLogMapper; + + @Transactional(rollbackFor = Exception.class) + @Override + public boolean saveSysOperationLog(SysOperationLog sysOperationLog) throws Exception { + return super.save(sysOperationLog); + } + + @Transactional(rollbackFor = Exception.class) + @Override + public boolean updateSysOperationLog(SysOperationLog sysOperationLog) throws Exception { + return super.updateById(sysOperationLog); + } + + @Transactional(rollbackFor = Exception.class) + @Override + public boolean deleteSysOperationLog(Long id) throws Exception { + return super.removeById(id); + } + + @Override + public Paging getSysOperationLogPageList(SysOperationLogPageParam sysOperationLogPageParam) throws Exception { + Page page = new PageInfo<>(sysOperationLogPageParam,OrderItem.desc(getLambdaColumn(SysOperationLog::getCreateTime))); + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + IPage iPage = sysOperationLogMapper.selectPage(page, wrapper); + return new Paging(iPage); + } + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/shiro/cache/AdminLoginRedisService.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/shiro/cache/AdminLoginRedisService.java new file mode 100644 index 0000000..4fdb20f --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/shiro/cache/AdminLoginRedisService.java @@ -0,0 +1,80 @@ + + +package net.jjjerp.framework.shiro.cache; + + +import net.jjjerp.framework.shiro.jwt.JwtToken; +import net.jjjerp.framework.shiro.vo.LoginAdminUserRedisVo; +import net.jjjerp.framework.shiro.vo.LoginAdminUserVo; + +/** + * 登录信息Redis缓存操作服务 + **/ +public interface AdminLoginRedisService { + + /** + * 缓存登录信息 + * + * @param jwtToken + * @param loginAdminUserVo + */ + void cacheLoginInfo(JwtToken jwtToken, LoginAdminUserVo loginAdminUserVo); + + + /** + * 刷新登录信息 + * + * @param oldToken + * @param username + * @param newJwtToken + */ + void refreshLoginInfo(String oldToken, String username, JwtToken newJwtToken); + + /** + * 通过用户名,从缓存中获取登录用户LoginSysUserRedisVo + * + * @param username + * @return + */ + LoginAdminUserRedisVo getLoginAdminUserRedisVo(String username); + + /** + * 获取登录用户对象 + * + * @param username + * @return + */ + LoginAdminUserVo getLoginAdminUserVo(String username); + + /** + * 通过用户名称获取盐值 + * + * @param username + * @return + */ + String getSalt(String username); + + /** + * 删除对应用户的Redis缓存 + * + * @param token + * @param username + */ + void deleteLoginInfo(String token, String username); + + /** + * 判断token在redis中是否存在 + * + * @param token + * @return + */ + boolean exists(String token); + + /** + * 删除用户所有登录缓存 + * + * @param username + */ + void deleteUserAllCache(String username); + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/shiro/cache/ShopLoginRedisService.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/shiro/cache/ShopLoginRedisService.java new file mode 100644 index 0000000..b79e8ab --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/shiro/cache/ShopLoginRedisService.java @@ -0,0 +1,80 @@ + + +package net.jjjerp.framework.shiro.cache; + + +import net.jjjerp.framework.shiro.jwt.JwtToken; +import net.jjjerp.framework.shiro.vo.LoginShopUserRedisVo; +import net.jjjerp.framework.shiro.vo.LoginShopUserVo; + +/** + * 登录信息Redis缓存操作服务 + **/ +public interface ShopLoginRedisService { + + /** + * 缓存登录信息 + * + * @param jwtToken + * @param loginShopUserVo + */ + void cacheLoginInfo(JwtToken jwtToken, LoginShopUserVo loginShopUserVo); + + + /** + * 刷新登录信息 + * + * @param oldToken + * @param username + * @param newJwtToken + */ + void refreshLoginInfo(String oldToken, String username, JwtToken newJwtToken); + + /** + * 通过用户名,从缓存中获取登录用户LoginSysUserRedisVo + * + * @param username + * @return + */ + LoginShopUserRedisVo getLoginShopUserRedisVo(String username); + + /** + * 获取登录用户对象 + * + * @param username + * @return + */ + LoginShopUserVo getLoginShopUserVo(String username); + + /** + * 通过用户名称获取盐值 + * + * @param username + * @return + */ + String getSalt(String username); + + /** + * 删除对应用户的Redis缓存 + * + * @param token + * @param username + */ + void deleteLoginInfo(String token, String username); + + /** + * 判断token在redis中是否存在 + * + * @param token + * @return + */ + boolean exists(String token); + + /** + * 删除用户所有登录缓存 + * + * @param username + */ + void deleteUserAllCache(String username); + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/shiro/cache/impl/AdminLoginRedisServiceImpl.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/shiro/cache/impl/AdminLoginRedisServiceImpl.java new file mode 100644 index 0000000..c9fa371 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/shiro/cache/impl/AdminLoginRedisServiceImpl.java @@ -0,0 +1,180 @@ + + +package net.jjjerp.framework.shiro.cache.impl; + +import net.jjjerp.config.constant.CommonRedisKey; +import net.jjjerp.config.properties.JwtProperties; +import net.jjjerp.framework.common.bean.ClientInfo; +import net.jjjerp.framework.shiro.cache.AdminLoginRedisService; +import net.jjjerp.framework.shiro.convert.ShiroMapstructConvert; +import net.jjjerp.framework.shiro.jwt.JwtToken; +import net.jjjerp.framework.shiro.vo.*; +import net.jjjerp.framework.util.ClientInfoUtil; +import net.jjjerp.framework.util.HttpServletRequestUtil; +import org.apache.commons.codec.digest.DigestUtils; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.redis.core.RedisTemplate; +import org.springframework.stereotype.Service; + +import java.time.Duration; +import java.util.List; +import java.util.Set; + +/** + * 登录信息Redis缓存服务类 + **/ +@Service +public class AdminLoginRedisServiceImpl implements AdminLoginRedisService { + + @Autowired + private JwtProperties jwtProperties; + + @Autowired + private RedisTemplate redisTemplate; + + /** + * key-value: 有过期时间-->token过期时间 + * 1. tokenMd5:jwtTokenRedisVo + * 2. username:loginSysUserRedisVo + * 3. username:salt + * hash: 没有过期时间,统计在线的用户信息 + * username:num + */ + @Override + public void cacheLoginInfo(JwtToken jwtToken, LoginAdminUserVo loginAdminUserVo) { + if (jwtToken == null) { + throw new IllegalArgumentException("jwtToken不能为空"); + } + if (loginAdminUserVo == null) { + throw new IllegalArgumentException("loginAdminUserVo不能为空"); + } + // token + String token = jwtToken.getToken(); + // 盐值 + String salt = jwtToken.getSalt(); + // 登录用户名称 + String username = loginAdminUserVo.getUserName(); + // token md5值 + String tokenMd5 = DigestUtils.md5Hex(token); + + // Redis缓存JWT Token信息 + JwtTokenRedisVo jwtTokenRedisVo = ShiroMapstructConvert.INSTANCE.jwtTokenToJwtTokenRedisVo(jwtToken); + + // 用户客户端信息 + ClientInfo clientInfo = ClientInfoUtil.get(HttpServletRequestUtil.getRequest()); + + // Redis缓存登录用户信息 + // 将loginAdminUserVo对象复制到loginAdminUserRedisVo + LoginAdminUserRedisVo loginAdminUserRedisVo = new LoginAdminUserRedisVo(); + BeanUtils.copyProperties(loginAdminUserVo, loginAdminUserRedisVo); + loginAdminUserRedisVo.setSalt(salt); + loginAdminUserRedisVo.setClientInfo(clientInfo); + + // Redis过期时间与JwtToken过期时间一致 + Duration expireDuration = Duration.ofSeconds(jwtToken.getExpireSecond()); + + // 判断是否启用单个用户登录,如果是,这每个用户只有一个有效token + boolean singleLogin = jwtProperties.isSingleLogin(); + if (singleLogin) { + deleteUserAllCache(username); + } + + // 1. tokenMd5:jwtTokenRedisVo + String loginTokenRedisKey = String.format(CommonRedisKey.ADMIN_LOGIN_TOKEN, tokenMd5); + redisTemplate.opsForValue().set(loginTokenRedisKey, jwtTokenRedisVo, expireDuration); + // 2. username:loginSysUserRedisVo + redisTemplate.opsForValue().set(String.format(CommonRedisKey.ADMIN_LOGIN_USER, username), loginAdminUserRedisVo, expireDuration); + // 3. salt hash,方便获取盐值鉴权 + redisTemplate.opsForValue().set(String.format(CommonRedisKey.ADMIN_LOGIN_SALT, username), salt, expireDuration); + // 4. login user token + redisTemplate.opsForValue().set(String.format(CommonRedisKey.ADMIN_LOGIN_USER_TOKEN, username, tokenMd5), loginTokenRedisKey, expireDuration); + } + + @Override + public void refreshLoginInfo(String oldToken, String username, JwtToken newJwtToken) { + // 获取缓存的登录用户信息 + LoginAdminUserRedisVo loginAdminUserRedisVo = getLoginAdminUserRedisVo(username); + // 删除之前的token信息 + deleteLoginInfo(oldToken, username); + // 缓存登录信息 + cacheLoginInfo(newJwtToken, loginAdminUserRedisVo); + } + + @Override + public LoginAdminUserRedisVo getLoginAdminUserRedisVo(String username) { + if (StringUtils.isBlank(username)) { + throw new IllegalArgumentException("username不能为空"); + } + return (LoginAdminUserRedisVo) redisTemplate.opsForValue().get(String.format(CommonRedisKey.ADMIN_LOGIN_USER, username)); + } + + @Override + public LoginAdminUserVo getLoginAdminUserVo(String username) { + if (StringUtils.isBlank(username)) { + throw new IllegalArgumentException("username不能为空"); + } + LoginAdminUserRedisVo userRedisVo = getLoginAdminUserRedisVo(username); + return userRedisVo; + } + + @Override + public String getSalt(String username) { + if (StringUtils.isBlank(username)) { + throw new IllegalArgumentException("username不能为空"); + } + String salt = (String) redisTemplate.opsForValue().get(String.format(CommonRedisKey.ADMIN_LOGIN_SALT, username)); + return salt; + } + + @Override + public void deleteLoginInfo(String token, String username) { + if (token == null) { + throw new IllegalArgumentException("token不能为空"); + } + if (username == null) { + throw new IllegalArgumentException("username不能为空"); + } + String tokenMd5 = DigestUtils.md5Hex(token); + // 1. delete tokenMd5 + redisTemplate.delete(String.format(CommonRedisKey.ADMIN_LOGIN_TOKEN, tokenMd5)); + // 2. delete username + redisTemplate.delete(String.format(CommonRedisKey.ADMIN_LOGIN_USER, username)); + // 3. delete salt + redisTemplate.delete(String.format(CommonRedisKey.ADMIN_LOGIN_SALT, username)); + // 4. delete user token + redisTemplate.delete(String.format(CommonRedisKey.ADMIN_LOGIN_USER_TOKEN, username, tokenMd5)); + } + + @Override + public boolean exists(String token) { + if (token == null) { + throw new IllegalArgumentException("token不能为空"); + } + String tokenMd5 = DigestUtils.md5Hex(token); + Object object = redisTemplate.opsForValue().get(String.format(CommonRedisKey.ADMIN_LOGIN_TOKEN, tokenMd5)); + return object != null; + } + + @Override + public void deleteUserAllCache(String username) { + Set userTokenMd5Set = redisTemplate.keys(String.format(CommonRedisKey.ADMIN_LOGIN_USER_ALL_TOKEN, username)); + if (CollectionUtils.isEmpty(userTokenMd5Set)) { + return; + } + + // 1. 删除登录用户的所有token信息 + List tokenMd5List = redisTemplate.opsForValue().multiGet(userTokenMd5Set); + redisTemplate.delete(tokenMd5List); + // 2. 删除登录用户的所有user:token信息 + redisTemplate.delete(userTokenMd5Set); + // 3. 删除登录用户信息 + redisTemplate.delete(String.format(CommonRedisKey.ADMIN_LOGIN_USER, username)); + // 4. 删除登录用户盐值信息 + redisTemplate.delete(String.format(CommonRedisKey.ADMIN_LOGIN_SALT, username)); + } + + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/shiro/cache/impl/ShopLoginRedisServiceImpl.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/shiro/cache/impl/ShopLoginRedisServiceImpl.java new file mode 100644 index 0000000..205ebbf --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/shiro/cache/impl/ShopLoginRedisServiceImpl.java @@ -0,0 +1,180 @@ + + +package net.jjjerp.framework.shiro.cache.impl; + +import net.jjjerp.config.constant.CommonRedisKey; +import net.jjjerp.config.properties.JwtProperties; +import net.jjjerp.framework.common.bean.ClientInfo; +import net.jjjerp.framework.shiro.cache.ShopLoginRedisService; +import net.jjjerp.framework.shiro.convert.ShiroMapstructConvert; +import net.jjjerp.framework.shiro.jwt.JwtToken; +import net.jjjerp.framework.shiro.vo.*; +import net.jjjerp.framework.util.ClientInfoUtil; +import net.jjjerp.framework.util.HttpServletRequestUtil; +import org.apache.commons.codec.digest.DigestUtils; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.redis.core.RedisTemplate; +import org.springframework.stereotype.Service; + +import java.time.Duration; +import java.util.List; +import java.util.Set; + +/** + * 登录信息Redis缓存服务类 + **/ +@Service +public class ShopLoginRedisServiceImpl implements ShopLoginRedisService { + + @Autowired + private JwtProperties jwtProperties; + + @Autowired + private RedisTemplate redisTemplate; + + /** + * key-value: 有过期时间-->token过期时间 + * 1. tokenMd5:jwtTokenRedisVo + * 2. username:loginSysUserRedisVo + * 3. username:salt + * hash: 没有过期时间,统计在线的用户信息 + * username:num + */ + @Override + public void cacheLoginInfo(JwtToken jwtToken, LoginShopUserVo loginShopUserVo) { + if (jwtToken == null) { + throw new IllegalArgumentException("jwtToken不能为空"); + } + if (loginShopUserVo == null) { + throw new IllegalArgumentException("loginShopUserVo不能为空"); + } + // token + String token = jwtToken.getToken(); + // 盐值 + String salt = jwtToken.getSalt(); + // 登录用户名称 + String username = loginShopUserVo.getUserName(); + // token md5值 + String tokenMd5 = DigestUtils.md5Hex(token); + + // Redis缓存JWT Token信息 + JwtTokenRedisVo jwtTokenRedisVo = ShiroMapstructConvert.INSTANCE.jwtTokenToJwtTokenRedisVo(jwtToken); + + // 用户客户端信息 + ClientInfo clientInfo = ClientInfoUtil.get(HttpServletRequestUtil.getRequest()); + + // Redis缓存登录用户信息 + // 将loginShopUserVo对象复制到loginShopUserRedisVo + LoginShopUserRedisVo loginShopUserRedisVo = new LoginShopUserRedisVo(); + BeanUtils.copyProperties(loginShopUserVo, loginShopUserRedisVo); + loginShopUserRedisVo.setSalt(salt); + loginShopUserRedisVo.setClientInfo(clientInfo); + + // Redis过期时间与JwtToken过期时间一致 + Duration expireDuration = Duration.ofSeconds(jwtToken.getExpireSecond()); + + // 判断是否启用单个用户登录,如果是,这每个用户只有一个有效token + boolean singleLogin = jwtProperties.isSingleLogin(); + if (singleLogin) { + deleteUserAllCache(username); + } + + // 1. tokenMd5:jwtTokenRedisVo + String loginTokenRedisKey = String.format(CommonRedisKey.SHOP_LOGIN_TOKEN, tokenMd5); + redisTemplate.opsForValue().set(loginTokenRedisKey, jwtTokenRedisVo, expireDuration); + // 2. username:loginSysUserRedisVo + redisTemplate.opsForValue().set(String.format(CommonRedisKey.SHOP_LOGIN_USER, username), loginShopUserRedisVo, expireDuration); + // 3. salt hash,方便获取盐值鉴权 + redisTemplate.opsForValue().set(String.format(CommonRedisKey.SHOP_LOGIN_SALT, username), salt, expireDuration); + // 4. login user token + redisTemplate.opsForValue().set(String.format(CommonRedisKey.SHOP_LOGIN_USER_TOKEN, username, tokenMd5), loginTokenRedisKey, expireDuration); + } + + @Override + public void refreshLoginInfo(String oldToken, String username, JwtToken newJwtToken) { + // 获取缓存的登录用户信息 + LoginShopUserRedisVo loginShopUserRedisVo = getLoginShopUserRedisVo(username); + // 删除之前的token信息 + deleteLoginInfo(oldToken, username); + // 缓存登录信息 + cacheLoginInfo(newJwtToken, loginShopUserRedisVo); + } + + @Override + public LoginShopUserRedisVo getLoginShopUserRedisVo(String username) { + if (StringUtils.isBlank(username)) { + throw new IllegalArgumentException("username不能为空"); + } + return (LoginShopUserRedisVo) redisTemplate.opsForValue().get(String.format(CommonRedisKey.SHOP_LOGIN_USER, username)); + } + + @Override + public LoginShopUserVo getLoginShopUserVo(String username) { + if (StringUtils.isBlank(username)) { + throw new IllegalArgumentException("username不能为空"); + } + LoginShopUserRedisVo userRedisVo = getLoginShopUserRedisVo(username); + return userRedisVo; + } + + @Override + public String getSalt(String username) { + if (StringUtils.isBlank(username)) { + throw new IllegalArgumentException("username不能为空"); + } + String salt = (String) redisTemplate.opsForValue().get(String.format(CommonRedisKey.SHOP_LOGIN_SALT, username)); + return salt; + } + + @Override + public void deleteLoginInfo(String token, String username) { + if (token == null) { + throw new IllegalArgumentException("token不能为空"); + } + if (username == null) { + throw new IllegalArgumentException("username不能为空"); + } + String tokenMd5 = DigestUtils.md5Hex(token); + // 1. delete tokenMd5 + redisTemplate.delete(String.format(CommonRedisKey.SHOP_LOGIN_TOKEN, tokenMd5)); + // 2. delete username + redisTemplate.delete(String.format(CommonRedisKey.SHOP_LOGIN_USER, username)); + // 3. delete salt + redisTemplate.delete(String.format(CommonRedisKey.SHOP_LOGIN_SALT, username)); + // 4. delete user token + redisTemplate.delete(String.format(CommonRedisKey.SHOP_LOGIN_USER_TOKEN, username, tokenMd5)); + } + + @Override + public boolean exists(String token) { + if (token == null) { + throw new IllegalArgumentException("token不能为空"); + } + String tokenMd5 = DigestUtils.md5Hex(token); + Object object = redisTemplate.opsForValue().get(String.format(CommonRedisKey.SHOP_LOGIN_TOKEN, tokenMd5)); + return object != null; + } + + @Override + public void deleteUserAllCache(String username) { + Set userTokenMd5Set = redisTemplate.keys(String.format(CommonRedisKey.SHOP_LOGIN_USER_ALL_TOKEN, username)); + if (CollectionUtils.isEmpty(userTokenMd5Set)) { + return; + } + + // 1. 删除登录用户的所有token信息 + List tokenMd5List = redisTemplate.opsForValue().multiGet(userTokenMd5Set); + redisTemplate.delete(tokenMd5List); + // 2. 删除登录用户的所有user:token信息 + redisTemplate.delete(userTokenMd5Set); + // 3. 删除登录用户信息 + redisTemplate.delete(String.format(CommonRedisKey.SHOP_LOGIN_USER, username)); + // 4. 删除登录用户盐值信息 + redisTemplate.delete(String.format(CommonRedisKey.SHOP_LOGIN_SALT, username)); + } + + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/shiro/convert/ShiroMapstructConvert.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/shiro/convert/ShiroMapstructConvert.java new file mode 100644 index 0000000..86a7717 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/shiro/convert/ShiroMapstructConvert.java @@ -0,0 +1,26 @@ + + +package net.jjjerp.framework.shiro.convert; + +import net.jjjerp.framework.shiro.jwt.JwtToken; +import net.jjjerp.framework.shiro.vo.JwtTokenRedisVo; +import org.mapstruct.Mapper; +import org.mapstruct.factory.Mappers; + +/** + * Shiro包下使用mapstruct对象属性复制转换器 + **/ +@Mapper +public interface ShiroMapstructConvert { + + ShiroMapstructConvert INSTANCE = Mappers.getMapper(ShiroMapstructConvert.class); + + /** + * JwtToken对象转换成JwtTokenRedisVo + * + * @param jwtToken + * @return + */ + JwtTokenRedisVo jwtTokenToJwtTokenRedisVo(JwtToken jwtToken); + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/shiro/exception/ShiroConfigException.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/shiro/exception/ShiroConfigException.java new file mode 100644 index 0000000..fe54f4a --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/shiro/exception/ShiroConfigException.java @@ -0,0 +1,25 @@ + + +package net.jjjerp.framework.shiro.exception; + +import net.jjjerp.framework.common.api.ApiCode; +import net.jjjerp.framework.common.exception.SpringBootJjjException; + +/** + * Shiro配置异常 + **/ +public class ShiroConfigException extends SpringBootJjjException { + private static final long serialVersionUID = -4573955712491628431L; + + public ShiroConfigException(String message) { + super(message); + } + + public ShiroConfigException(Integer errorCode, String message) { + super(errorCode, message); + } + + public ShiroConfigException(ApiCode apiCode) { + super(apiCode); + } +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/shiro/jwt/JwtCredentialsMatcher.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/shiro/jwt/JwtCredentialsMatcher.java new file mode 100644 index 0000000..fcb97ce --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/shiro/jwt/JwtCredentialsMatcher.java @@ -0,0 +1,29 @@ + + +package net.jjjerp.framework.shiro.jwt; + +import net.jjjerp.framework.shiro.util.JwtUtil; +import lombok.extern.slf4j.Slf4j; +import org.apache.shiro.authc.AuthenticationInfo; +import org.apache.shiro.authc.AuthenticationToken; +import org.apache.shiro.authc.credential.CredentialsMatcher; + +/** + * JWT证书匹配 + **/ +@Slf4j +public class JwtCredentialsMatcher implements CredentialsMatcher { + + @Override + public boolean doCredentialsMatch(AuthenticationToken authenticationToken, AuthenticationInfo authenticationInfo) { + String token = authenticationToken.getCredentials().toString(); + String salt = authenticationInfo.getCredentials().toString(); + try { + return JwtUtil.verifyToken(token, salt); + } catch (Exception e) { + log.error("JWT Token CredentialsMatch Exception:" + e.getMessage(), e); + } + return false; + } + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/shiro/jwt/JwtFilter.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/shiro/jwt/JwtFilter.java new file mode 100644 index 0000000..0fe3c76 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/shiro/jwt/JwtFilter.java @@ -0,0 +1,178 @@ + + +package net.jjjerp.framework.shiro.jwt; + +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.config.properties.JwtProperties; +import net.jjjerp.framework.common.api.ApiCode; +import net.jjjerp.framework.common.api.ApiResult; +import net.jjjerp.framework.shiro.cache.AdminLoginRedisService; +import net.jjjerp.framework.shiro.cache.ShopLoginRedisService; +import net.jjjerp.framework.shiro.service.ShiroLoginService; +import net.jjjerp.framework.shiro.util.JwtTokenUtil; +import net.jjjerp.framework.shiro.util.JwtUtil; +import net.jjjerp.framework.util.HttpServletResponseUtil; +import org.apache.commons.lang3.StringUtils; +import org.apache.shiro.authc.AuthenticationException; +import org.apache.shiro.authc.AuthenticationToken; +import org.apache.shiro.subject.Subject; +import org.apache.shiro.web.filter.authc.AuthenticatingFilter; +import org.apache.shiro.web.servlet.ShiroHttpServletRequest; +import org.apache.shiro.web.util.WebUtils; + +import javax.servlet.ServletRequest; +import javax.servlet.ServletResponse; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +/** + * Shiro JWT授权过滤器 + **/ +@Slf4j +public class JwtFilter extends AuthenticatingFilter { + + private ShiroLoginService shiroLoginService; + + private AdminLoginRedisService adminLoginRedisService; + + private ShopLoginRedisService shopLoginRedisService; + + private JwtProperties jwtProperties; + + public JwtFilter(ShiroLoginService shiroLoginService, AdminLoginRedisService adminLoginRedisService, + ShopLoginRedisService shopLoginRedisService, JwtProperties jwtProperties) { + this.shiroLoginService = shiroLoginService; + this.adminLoginRedisService = adminLoginRedisService; + this.shopLoginRedisService = shopLoginRedisService; + this.jwtProperties = jwtProperties; + } + + /** + * 将JWT Token包装成AuthenticationToken + * + * @param servletRequest + * @param servletResponse + * @return + * @throws Exception + */ + @Override + protected AuthenticationToken createToken(ServletRequest servletRequest, ServletResponse servletResponse) throws Exception { + String url = ((ShiroHttpServletRequest) servletRequest).getRequestURI(); + String model = JwtTokenUtil.getModel(url); + String token = JwtTokenUtil.getToken(model); + if (StringUtils.isBlank(token)) { + throw new AuthenticationException("token不能为空"); + } + if (JwtUtil.isExpired(token)) { + throw new AuthenticationException("JWT Token已过期,token:" + token); + } + + // 如果开启redis二次校验,或者设置为单个用户token登录,则先在redis中判断token是否存在 + if (jwtProperties.isRedisCheck() || jwtProperties.isSingleLogin()) { + boolean redisExpired = false; + if(url.startsWith("/api/saas/")){ + redisExpired = adminLoginRedisService.exists(token); + }else if(url.startsWith("/api/admin/")){ + redisExpired = shopLoginRedisService.exists(token); + } + if (!redisExpired) { + throw new AuthenticationException("Redis Token不存在,token:" + token); + } + } + + String username = JwtUtil.getUsername(token); + String salt = null; + if (jwtProperties.isSaltCheck()) { + if(url.startsWith("/api/saas/")) { + salt = adminLoginRedisService.getSalt(username); + }else if(url.startsWith("/api/admin/")){ + salt = shopLoginRedisService.getSalt(username); + } + } else { + salt = jwtProperties.getSecret(); + } + return JwtToken.build(token, username, salt, jwtProperties.getExpireSecond()); + } + + /** + * 访问失败处理 + * + * @param request + * @param response + * @return + * @throws Exception + */ + @Override + protected boolean onAccessDenied(ServletRequest request, ServletResponse response) throws Exception { + HttpServletRequest httpServletRequest = WebUtils.toHttp(request); + HttpServletResponse httpServletResponse = WebUtils.toHttp(response); + // 返回-1未登录 + String url = httpServletRequest.getRequestURI(); + log.error("onAccessDenied url:{}", url); + ApiResult apiResult = ApiResult.fail(ApiCode.NOT_LOGIN); + HttpServletResponseUtil.printJson(httpServletResponse, apiResult); + return false; + } + + /** + * 判断是否允许访问 + * + * @param request + * @param response + * @param mappedValue + * @return + */ + @Override + protected boolean isAccessAllowed(ServletRequest request, ServletResponse response, Object mappedValue) { + String url = WebUtils.toHttp(request).getRequestURI(); + log.debug("isAccessAllowed url:{}", url); + if (this.isLoginRequest(request, response)) { + return true; + } + boolean allowed = false; + try { + allowed = executeLogin(request, response); + } catch (IllegalStateException e) { //not found any token + log.error("Token不能为空", e); + } catch (Exception e) { + log.error("访问错误", e); + } + return allowed || super.isPermissive(mappedValue); + } + + /** + * 登录成功处理 + * + * @param token + * @param subject + * @param request + * @param response + * @return + * @throws Exception + */ + @Override + protected boolean onLoginSuccess(AuthenticationToken token, Subject subject, ServletRequest request, ServletResponse response) throws Exception { + String url = WebUtils.toHttp(request).getRequestURI(); + log.debug("鉴权成功,token:{},url:{}", token, url); + // 刷新token + JwtToken jwtToken = (JwtToken) token; + HttpServletResponse httpServletResponse = WebUtils.toHttp(response); + shiroLoginService.refreshToken(jwtToken, url, httpServletResponse); + return true; + } + + /** + * 登录失败处理 + * + * @param token + * @param e + * @param request + * @param response + * @return + */ + @Override + protected boolean onLoginFailure(AuthenticationToken token, AuthenticationException e, ServletRequest request, ServletResponse response) { + log.error("登录失败,token:" + token + ",error:" + e.getMessage(), e); + return false; + } +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/shiro/jwt/JwtRealm.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/shiro/jwt/JwtRealm.java new file mode 100644 index 0000000..5dddc18 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/shiro/jwt/JwtRealm.java @@ -0,0 +1,95 @@ + + +package net.jjjerp.framework.shiro.jwt; + +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.framework.shiro.cache.AdminLoginRedisService; +import net.jjjerp.framework.shiro.cache.ShopLoginRedisService; +import net.jjjerp.framework.shiro.vo.LoginShopUserRedisVo; +import org.apache.commons.lang3.StringUtils; +import org.apache.shiro.authc.AuthenticationException; +import org.apache.shiro.authc.AuthenticationInfo; +import org.apache.shiro.authc.AuthenticationToken; +import org.apache.shiro.authc.SimpleAuthenticationInfo; +import org.apache.shiro.authz.AuthorizationInfo; +import org.apache.shiro.authz.SimpleAuthorizationInfo; +import org.apache.shiro.realm.AuthorizingRealm; +import org.apache.shiro.subject.PrincipalCollection; +import org.springframework.beans.factory.annotation.Autowired; + +import javax.servlet.http.HttpServletRequest; + +/** + * Shiro 授权认证 + **/ +@Slf4j +public class JwtRealm extends AuthorizingRealm { + + private AdminLoginRedisService adminLoginRedisService; + + private ShopLoginRedisService shopLoginRedisService; + + @Autowired + private HttpServletRequest request; + + public JwtRealm(AdminLoginRedisService adminLoginRedisService, ShopLoginRedisService shopLoginRedisService) { + this.adminLoginRedisService = adminLoginRedisService; + this.shopLoginRedisService = shopLoginRedisService; + } + + @Override + public boolean supports(AuthenticationToken token) { + return token != null && token instanceof JwtToken; + } + + /** + * 授权认证,设置角色/权限信息 + * + * @param principalCollection + * @return + */ + @Override + protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principalCollection) { + log.debug("doGetAuthorizationInfo principalCollection..."+request.getRequestURI()); + // 设置角色/权限信息 + JwtToken jwtToken = (JwtToken) principalCollection.getPrimaryPrincipal(); + // 获取username + String username = jwtToken.getUsername(); + SimpleAuthorizationInfo authorizationInfo = new SimpleAuthorizationInfo(); + if(request.getRequestURI().startsWith("/api/admin/")){ + // 获取登录用户角色权限信息 + LoginShopUserRedisVo loginShopUserRedisVo = shopLoginRedisService.getLoginShopUserRedisVo(username); + // 设置权限 + authorizationInfo.setStringPermissions(loginShopUserRedisVo.getPermissions()); + } + return authorizationInfo; + } + + /** + * 登录认证 + * + * @param authenticationToken + * @return + * @throws AuthenticationException + */ + @Override + protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken authenticationToken) throws AuthenticationException { + log.debug("doGetAuthenticationInfo authenticationToken..."); + // 校验token + JwtToken jwtToken = (JwtToken) authenticationToken; + if (jwtToken == null) { + throw new AuthenticationException("jwtToken不能为空"); + } + String salt = jwtToken.getSalt(); + if (StringUtils.isBlank(salt)) { + throw new AuthenticationException("salt不能为空"); + } + return new SimpleAuthenticationInfo( + jwtToken, + salt, + getName() + ); + + } + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/shiro/jwt/JwtToken.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/shiro/jwt/JwtToken.java new file mode 100644 index 0000000..c65fdbc --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/shiro/jwt/JwtToken.java @@ -0,0 +1,80 @@ + + +package net.jjjerp.framework.shiro.jwt; + +import com.auth0.jwt.interfaces.DecodedJWT; +import net.jjjerp.framework.shiro.util.JwtUtil; +import net.jjjerp.framework.util.IpUtil; +import lombok.Data; +import lombok.experimental.Accessors; +import org.apache.shiro.authc.HostAuthenticationToken; + +import java.util.Date; + +/** + * Shiro JwtToken对象 + **/ +@Data +@Accessors(chain = true) +public class JwtToken implements HostAuthenticationToken { + private static final long serialVersionUID = 5101247566043093405L; + + /** + * 登录ip + */ + private String host; + /** + * 登录用户名称 + */ + private String username; + /** + * 登录盐值 + */ + private String salt; + /** + * 登录token + */ + private String token; + /** + * 创建时间 + */ + private Date createDate; + /** + * 多长时间过期,默认一小时 + */ + private long expireSecond; + /** + * 过期日期 + */ + private Date expireDate; + + private String principal; + + private String credentials; + + @Override + public Object getPrincipal() { + return token; + } + + @Override + public Object getCredentials() { + return token; + } + + public static JwtToken build(String token, String username, String salt, long expireSecond) { + DecodedJWT decodedJwt = JwtUtil.getJwtInfo(token); + Date createDate = decodedJwt.getIssuedAt(); + Date expireDate = decodedJwt.getExpiresAt(); + return new JwtToken() + .setUsername(username) + .setToken(token) + .setHost(IpUtil.getRequestIp()) + .setSalt(salt) + .setCreateDate(createDate) + .setExpireSecond(expireSecond) + .setExpireDate(expireDate); + + } + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/shiro/service/LoginToken.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/shiro/service/LoginToken.java new file mode 100644 index 0000000..a80c012 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/shiro/service/LoginToken.java @@ -0,0 +1,19 @@ + + +package net.jjjerp.framework.shiro.service; + +import java.io.Serializable; + +/** + * 获取登录token + **/ +public interface LoginToken extends Serializable { + + /** + * 获取登录token + * + * @return + */ + String getToken(); + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/shiro/service/LoginUsername.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/shiro/service/LoginUsername.java new file mode 100644 index 0000000..0d5d93b --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/shiro/service/LoginUsername.java @@ -0,0 +1,19 @@ + + +package net.jjjerp.framework.shiro.service; + +import java.io.Serializable; + +/** + * 获取登录用户名称 + **/ +public interface LoginUsername extends Serializable { + + /** + * 获取用户名 + * + * @return + */ + String getUsername(); + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/shiro/service/ShiroLoginService.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/shiro/service/ShiroLoginService.java new file mode 100644 index 0000000..07ca99f --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/shiro/service/ShiroLoginService.java @@ -0,0 +1,24 @@ + + +package net.jjjerp.framework.shiro.service; + +import net.jjjerp.framework.shiro.jwt.JwtToken; + +import javax.servlet.http.HttpServletResponse; + +public interface ShiroLoginService { + /** + * 如果(当前时间+倒计时) > 过期时间,则刷新token + * 并更新缓存 + * 当前token失效,返回新token + * 当前请求有效,返回状态码:460 + * 前端下次使用新token + * 如果token继续发往后台,则提示,此token已失效,请使用新token,不在返回新token,返回状态码:461 + * + * @param jwtToken + * @param httpServletResponse + * @throws Exception + */ + void refreshToken(JwtToken jwtToken, String url, HttpServletResponse httpServletResponse) throws Exception; + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/shiro/service/impl/ShiroLoginServiceImpl.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/shiro/service/impl/ShiroLoginServiceImpl.java new file mode 100644 index 0000000..75d5388 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/shiro/service/impl/ShiroLoginServiceImpl.java @@ -0,0 +1,99 @@ + + +package net.jjjerp.framework.shiro.service.impl; + +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.config.constant.CommonConstant; +import net.jjjerp.config.properties.JwtProperties; +import net.jjjerp.config.properties.SpringBootJjjProperties; +import net.jjjerp.framework.shiro.cache.ShopLoginRedisService; +import net.jjjerp.framework.shiro.jwt.JwtToken; +import net.jjjerp.framework.shiro.service.ShiroLoginService; +import net.jjjerp.framework.shiro.util.JwtTokenUtil; +import net.jjjerp.framework.shiro.util.JwtUtil; +import org.apache.commons.lang3.StringUtils; +import org.apache.commons.lang3.time.DateUtils; +import org.apache.shiro.authc.AuthenticationException; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Lazy; +import org.springframework.data.redis.core.RedisTemplate; +import org.springframework.stereotype.Service; + +import javax.servlet.http.HttpServletResponse; +import java.time.Duration; +import java.util.Date; + +/** + * Shiro登录服务 + **/ +@Slf4j +@Service +public class ShiroLoginServiceImpl implements ShiroLoginService { + + + @Lazy + @Autowired + private ShopLoginRedisService shopLoginRedisService; + + @Lazy + @Autowired + private JwtProperties jwtProperties; + + @Lazy + @Autowired + private SpringBootJjjProperties springBootJjjProperties; + + @Lazy + @Autowired + private RedisTemplate redisTemplate; + + + @Override + public void refreshToken(JwtToken jwtToken, String url, HttpServletResponse httpServletResponse) throws Exception { + if (jwtToken == null) { + return; + } + String token = jwtToken.getToken(); + if (StringUtils.isBlank(token)) { + return; + } + // 判断是否刷新token + boolean isRefreshToken = jwtProperties.isRefreshToken(); + if (!isRefreshToken) { + return; + } + // 获取过期时间 + Date expireDate = JwtUtil.getExpireDate(token); + // 获取倒计时 + Integer countdown = jwtProperties.getRefreshTokenCountdown(); + // 如果(当前时间+倒计时) > 过期时间,则刷新token + boolean refresh = DateUtils.addSeconds(new Date(), countdown).after(expireDate); + + if (!refresh) { + return; + } + + // 如果token继续发往后台,则提示,此token已失效,请使用新token,不在返回新token,返回状态码:461 + // 如果Redis缓存中没有,JwtToken没有过期,则说明,已经刷新token + boolean exists = shopLoginRedisService.exists(token); + if (!exists) { + httpServletResponse.setStatus(CommonConstant.JWT_INVALID_TOKEN_CODE); + throw new AuthenticationException("token已无效,请使用已刷新的token"); + } + String username = jwtToken.getUsername(); + String salt = jwtToken.getSalt(); + Long expireSecond = jwtProperties.getExpireSecond(); + // 生成新token字符串 + String newToken = JwtUtil.generateToken(username, salt, Duration.ofSeconds(expireSecond)); + // 生成新JwtToken对象 + JwtToken newJwtToken = JwtToken.build(newToken, username, salt, expireSecond); + // 更新redis缓存 + shopLoginRedisService.refreshLoginInfo(token, username, newJwtToken); + log.debug("刷新token成功,原token:{},新token:{}", token, newToken); + // 设置响应头 + // 刷新token + String model = JwtTokenUtil.getModel(url); + httpServletResponse.setStatus(CommonConstant.JWT_REFRESH_TOKEN_CODE); + httpServletResponse.setHeader(JwtTokenUtil.getTokenName(model), newToken); + } +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/shiro/util/JwtTokenUtil.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/shiro/util/JwtTokenUtil.java new file mode 100644 index 0000000..0531ae5 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/shiro/util/JwtTokenUtil.java @@ -0,0 +1,83 @@ + + +package net.jjjerp.framework.shiro.util; + +import net.jjjerp.config.properties.JwtProperties; +import net.jjjerp.framework.util.HttpServletRequestUtil; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Component; + +import javax.servlet.http.HttpServletRequest; + +/** + * JwtToken工具类 + **/ +@Slf4j +@Component +public class JwtTokenUtil { + + private static String tokenName; + + public JwtTokenUtil(JwtProperties jwtProperties) { + tokenName = jwtProperties.getTokenName(); + log.debug("tokenName:{}", tokenName); + } + + /** + * 获取token名称 + * + * @return + */ + public static String getTokenName(String model) { + if(model.equals("")){ + return tokenName; + }else{ + return tokenName + "" + model; + } + } + + /** + * 从请求头或者请求参数中 + * + * @return + */ + public static String getToken(String model) { + return getToken(HttpServletRequestUtil.getRequest(), model); + } + + public static String getModel(String path){ + String model = ""; + if(path.startsWith("/api/admin/")){ + model = "admin"; + }else if(path.startsWith("/api/saas/")){ + model = "saas"; + } + return model; + } + + /** + * 从请求头或者请求参数中 + * + * @param request + * @return + */ + public static String getToken(HttpServletRequest request, String model) { + if (request == null) { + throw new IllegalArgumentException("request不能为空"); + } + String realTokenName = ""; + if(model.equals("")){ + realTokenName = tokenName; + }else{ + realTokenName = tokenName + "" + model; + } + // 从请求头中获取token + String token = request.getHeader(realTokenName); + if (StringUtils.isBlank(token)) { + // 从请求参数中获取token + token = request.getParameter(realTokenName); + } + return token; + } +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/shiro/util/JwtUtil.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/shiro/util/JwtUtil.java new file mode 100644 index 0000000..70a527f --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/shiro/util/JwtUtil.java @@ -0,0 +1,186 @@ + + +package net.jjjerp.framework.shiro.util; + +import com.alibaba.fastjson.JSON; +import com.auth0.jwt.JWT; +import com.auth0.jwt.JWTVerifier; +import com.auth0.jwt.algorithms.Algorithm; +import com.auth0.jwt.interfaces.DecodedJWT; +import net.jjjerp.config.constant.CommonConstant; +import net.jjjerp.config.properties.JwtProperties; +import net.jjjerp.framework.util.UUIDUtil; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +import org.apache.commons.lang3.time.DateUtils; +import org.springframework.stereotype.Component; + +import java.time.Duration; +import java.util.Date; + +/** + * JWT工具类 + * https://github.com/auth0/java-jwt + **/ +@Slf4j +@Component +public class JwtUtil { + + private static JwtProperties jwtProperties; + + public JwtUtil(JwtProperties jwtProperties) { + JwtUtil.jwtProperties = jwtProperties; + log.info(JSON.toJSONString(JwtUtil.jwtProperties)); + } + + /** + * 生成JWT Token + * + * @param username 用户名 + * @param salt 盐值 + * @param expireDuration 过期时间和单位 + * @return token + */ + public static String generateToken(String username, String salt, Duration expireDuration) { + try { + if (StringUtils.isBlank(username)) { + log.error("username不能为空"); + return null; + } + log.debug("username:{}", username); + + // 如果盐值为空,则使用默认值:888888 + if (StringUtils.isBlank(salt)) { + salt = jwtProperties.getSecret(); + } + log.debug("salt:{}", salt); + + // 过期时间,单位:秒 + Long expireSecond; + // 默认过期时间为1小时 + if (expireDuration == null) { + expireSecond = jwtProperties.getExpireSecond(); + } else { + expireSecond = expireDuration.getSeconds(); + } + log.debug("expireSecond:{}", expireSecond); + Date expireDate = DateUtils.addSeconds(new Date(), expireSecond.intValue()); + log.debug("expireDate:{}", expireDate); + + // 生成token + Algorithm algorithm = Algorithm.HMAC256(salt); + String token = JWT.create() + .withClaim(CommonConstant.JWT_USERNAME, username) + // jwt唯一id + .withJWTId(UUIDUtil.getUuid()) + // 签发人 + .withIssuer(jwtProperties.getIssuer()) + // 主题 + .withSubject(jwtProperties.getSubject()) + // 签发的目标 + .withAudience(jwtProperties.getAudience()) + // 签名时间 + .withIssuedAt(new Date()) + // token过期时间 + .withExpiresAt(expireDate) + // 签名 + .sign(algorithm); + return token; + } catch (Exception e) { + log.error("generateToken exception", e); + } + return null; + } + + public static boolean verifyToken(String token, String salt) { + try { + Algorithm algorithm = Algorithm.HMAC256(salt); + JWTVerifier verifier = JWT.require(algorithm) + // 签发人 + .withIssuer(jwtProperties.getIssuer()) + // 主题 + .withSubject(jwtProperties.getSubject()) + // 签发的目标 + .withAudience(jwtProperties.getAudience()) + .build(); + DecodedJWT jwt = verifier.verify(token); + if (jwt != null) { + return true; + } + } catch (Exception e) { + log.error("Verify Token Exception", e); + } + return false; + } + + /** + * 解析token,获取token数据 + * + * @param token + * @return + */ + public static DecodedJWT getJwtInfo(String token) { + return JWT.decode(token); + } + + /** + * 获取用户名 + * + * @param token + * @return + */ + public static String getUsername(String token) { + if (StringUtils.isBlank(token)){ + return null; + } + DecodedJWT decodedJwt = getJwtInfo(token); + if (decodedJwt == null) { + return null; + } + String username = decodedJwt.getClaim(CommonConstant.JWT_USERNAME).asString(); + return username; + } + + /** + * 获取创建时间 + * + * @param token + * @return + */ + public static Date getIssuedAt(String token) { + DecodedJWT decodedJwt = getJwtInfo(token); + if (decodedJwt == null) { + return null; + } + return decodedJwt.getIssuedAt(); + } + + /** + * 获取过期时间 + * + * @param token + * @return + */ + public static Date getExpireDate(String token) { + DecodedJWT decodedJwt = getJwtInfo(token); + if (decodedJwt == null) { + return null; + } + return decodedJwt.getExpiresAt(); + } + + /** + * 判断token是否已过期 + * + * @param token + * @return + */ + public static boolean isExpired(String token) { + Date expireDate = getExpireDate(token); + if (expireDate == null) { + return true; + } + return expireDate.before(new Date()); + } + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/shiro/util/SaltUtil.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/shiro/util/SaltUtil.java new file mode 100644 index 0000000..aefe92e --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/shiro/util/SaltUtil.java @@ -0,0 +1,59 @@ + + +package net.jjjerp.framework.shiro.util; + +import net.jjjerp.config.properties.JwtProperties; +import org.apache.commons.codec.digest.DigestUtils; +import org.apache.commons.lang3.StringUtils; +import org.apache.shiro.crypto.SecureRandomNumberGenerator; + +/** + * 盐值包装工具类 + **/ +public class SaltUtil { + + /** + * 盐值包装 + * + * @param secret 配置文件中配置的附加盐值 + * @param salt 数据库中保存的盐值 + * @return + */ + public static String getSalt(String secret, String salt) { + if (StringUtils.isBlank(secret) && StringUtils.isBlank(salt)) { + return null; + } + // 加密方法 + String newSalt = DigestUtils.sha256Hex(secret + salt); + return newSalt; + } + + /** + * 生成6位随机盐 + * + * @return + */ + public static String generateSalt() { + return new SecureRandomNumberGenerator().nextBytes(3).toHex(); + } + + /** + * 加工盐值 + * + * @param salt + * @param jwtProperties + * @return + */ + public static String getSalt(String salt, JwtProperties jwtProperties) { + String newSalt; + if (jwtProperties.isSaltCheck()) { + // 包装盐值 + newSalt = SaltUtil.getSalt(jwtProperties.getSecret(), salt); + } else { + newSalt = jwtProperties.getSecret(); + } + return newSalt; + } + +} + diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/shiro/vo/JwtTokenRedisVo.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/shiro/vo/JwtTokenRedisVo.java new file mode 100644 index 0000000..a5ad69d --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/shiro/vo/JwtTokenRedisVo.java @@ -0,0 +1,47 @@ + + +package net.jjjerp.framework.shiro.vo; + +import lombok.Data; +import lombok.experimental.Accessors; + +import java.io.Serializable; +import java.util.Date; + +/** + * JwtToken Redis缓存对象 + **/ +@Data +@Accessors(chain = true) +public class JwtTokenRedisVo implements Serializable { + private static final long serialVersionUID = 1831633309466775223L; + /** + * 登录ip + */ + private String host; + /** + * 登录用户名称 + */ + private String username; + /** + * 登录盐值 + */ + private String salt; + /** + * 登录token + */ + private String token; + /** + * 创建时间 + */ + private Date createDate; + /** + * 多长时间过期,默认一小时 + */ + private long expireSecond; + /** + * 过期日期 + */ + private Date expireDate; + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/shiro/vo/LoginAdminAccessVo.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/shiro/vo/LoginAdminAccessVo.java new file mode 100644 index 0000000..00972bb --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/shiro/vo/LoginAdminAccessVo.java @@ -0,0 +1,26 @@ + + +package net.jjjerp.framework.shiro.vo; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import net.jjjerp.common.entity.shop.AdminAccess; + +import java.util.List; + +/** + * 登录用户对象,响应给前端 + **/ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +public class LoginAdminAccessVo extends AdminAccess { + + private static final long serialVersionUID = -1758338570596088158L; + + @ApiModelProperty("子权限") + private List children; + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/shiro/vo/LoginAdminUserRedisVo.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/shiro/vo/LoginAdminUserRedisVo.java new file mode 100644 index 0000000..b3a62ad --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/shiro/vo/LoginAdminUserRedisVo.java @@ -0,0 +1,30 @@ + + +package net.jjjerp.framework.shiro.vo; + +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import net.jjjerp.framework.common.bean.ClientInfo; + +/** + * 登录用户Redis对象,后台使用 + **/ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class LoginAdminUserRedisVo extends LoginAdminUserVo { + + private static final long serialVersionUID = -3858850188055605806L; + + /** + * 包装后的盐值 + */ + private String salt; + + /** + * 登录ip + */ + private ClientInfo clientInfo; + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/shiro/vo/LoginAdminUserVo.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/shiro/vo/LoginAdminUserVo.java new file mode 100644 index 0000000..4e0aa17 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/shiro/vo/LoginAdminUserVo.java @@ -0,0 +1,47 @@ + + +package net.jjjerp.framework.shiro.vo; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.experimental.Accessors; +import net.jjjerp.framework.core.validator.groups.Add; +import net.jjjerp.framework.core.validator.groups.Update; + +import javax.validation.constraints.NotNull; +import javax.validation.constraints.Null; +import java.io.Serializable; +import java.util.Date; + +/** + * 登录用户对象,响应给前端 + **/ +@Data +@Accessors(chain = true) +public class LoginAdminUserVo implements Serializable { + + private static final long serialVersionUID = -1758338570596088158L; + + @ApiModelProperty("主键") + @NotNull(message = "ID不能为空", groups = {Update.class}) + @TableId(value = "admin_user_id", type = IdType.AUTO) + private Long saasUserId; + + @ApiModelProperty("用户名") + @NotNull(message = "用户名不能为空", groups = {Add.class}) + private String userName; + + @ApiModelProperty("昵称") + private String password; + + @ApiModelProperty("创建时间") + @Null(message = "创建时间不用传") + private Date createTime; + + @ApiModelProperty("修改时间") + @Null(message = "修改时间不用传") + private Date updateTime; + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/shiro/vo/LoginShopUserRedisVo.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/shiro/vo/LoginShopUserRedisVo.java new file mode 100644 index 0000000..5c87af6 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/shiro/vo/LoginShopUserRedisVo.java @@ -0,0 +1,30 @@ + + +package net.jjjerp.framework.shiro.vo; + +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import net.jjjerp.framework.common.bean.ClientInfo; + +/** + * 登录用户Redis对象,后台使用 + **/ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class LoginShopUserRedisVo extends LoginShopUserVo { + + private static final long serialVersionUID = -3858850188055605806L; + + /** + * 包装后的盐值 + */ + private String salt; + + /** + * 登录ip + */ + private ClientInfo clientInfo; + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/shiro/vo/LoginShopUserTokenVo.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/shiro/vo/LoginShopUserTokenVo.java new file mode 100644 index 0000000..1160bd5 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/shiro/vo/LoginShopUserTokenVo.java @@ -0,0 +1,25 @@ + + +package net.jjjerp.framework.shiro.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.experimental.Accessors; +import net.jjjerp.framework.shiro.service.LoginToken; + +@Data +@Accessors(chain = true) +@ApiModel("登录用户信息TokenVO") +public class LoginShopUserTokenVo implements LoginToken { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("token") + private String token; + + /** + * 登录用户对象 + */ + private LoginShopUserVo loginShopUserVo; +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/shiro/vo/LoginShopUserVo.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/shiro/vo/LoginShopUserVo.java new file mode 100644 index 0000000..20f365e --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/shiro/vo/LoginShopUserVo.java @@ -0,0 +1,45 @@ + + +package net.jjjerp.framework.shiro.vo; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.experimental.Accessors; +import net.jjjerp.framework.core.validator.groups.Add; +import net.jjjerp.framework.core.validator.groups.Update; + +import javax.validation.constraints.NotNull; +import java.io.Serializable; +import java.util.List; +import java.util.Set; + +/** + * 登录用户对象,响应给前端 + **/ +@Data +@Accessors(chain = true) +public class LoginShopUserVo implements Serializable { + + private static final long serialVersionUID = -1758338570596088158L; + + @ApiModelProperty("主键") + @NotNull(message = "ID不能为空", groups = {Update.class}) + private Integer shopUserId; + + @ApiModelProperty("用户名") + @NotNull(message = "用户名不能为空", groups = {Add.class}) + private String userName; + + @ApiModelProperty("是否为超级管理员0不是,1是") + private Boolean isSuper; + + @ApiModelProperty("应用id") + private Integer appId; + + @ApiModelProperty("权限列表-后端") + private Set permissions; + + @ApiModelProperty("权限列表-前端菜单") + private List menus; + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/shiro/vo/LoginUserRedisVo.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/shiro/vo/LoginUserRedisVo.java new file mode 100644 index 0000000..17fe6d1 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/shiro/vo/LoginUserRedisVo.java @@ -0,0 +1,30 @@ + + +package net.jjjerp.framework.shiro.vo; + +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import net.jjjerp.framework.common.bean.ClientInfo; + +/** + * 登录用户Redis对象,后台使用 + **/ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class LoginUserRedisVo extends LoginUserVo { + + private static final long serialVersionUID = 1L; + + /** + * 包装后的盐值 + */ + private String salt; + + /** + * 登录ip + */ + private ClientInfo clientInfo; + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/shiro/vo/LoginUserVo.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/shiro/vo/LoginUserVo.java new file mode 100644 index 0000000..3c4f765 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/shiro/vo/LoginUserVo.java @@ -0,0 +1,29 @@ + + +package net.jjjerp.framework.shiro.vo; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.experimental.Accessors; +import net.jjjerp.framework.core.validator.groups.Add; + +import javax.validation.constraints.NotNull; +import java.io.Serializable; + +/** + * 登录用户对象,响应给前端 + **/ +@Data +@Accessors(chain = true) +public class LoginUserVo implements Serializable { + + private static final long serialVersionUID = -1758338570596088158L; + + @ApiModelProperty("用户id") + private Integer userId; + + @ApiModelProperty("用户名") + @NotNull(message = "用户名不能为空", groups = {Add.class}) + private String mobile; + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/util/AdminLoginUtil.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/util/AdminLoginUtil.java new file mode 100644 index 0000000..6ee1155 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/util/AdminLoginUtil.java @@ -0,0 +1,70 @@ + + +package net.jjjerp.framework.util; + +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.config.constant.CommonRedisKey; +import net.jjjerp.framework.shiro.util.JwtTokenUtil; +import net.jjjerp.framework.shiro.util.JwtUtil; +import net.jjjerp.framework.shiro.vo.LoginAdminUserRedisVo; +import org.apache.commons.lang3.StringUtils; +import org.springframework.data.redis.core.RedisTemplate; +import org.springframework.stereotype.Component; + + +/** + * 获取登录信息工具类 + */ +@Slf4j +@Component +public class AdminLoginUtil { + + private static RedisTemplate redisTemplate; + + public AdminLoginUtil(RedisTemplate redisTemplate) { + AdminLoginUtil.redisTemplate = redisTemplate; + } + + + /** + * 获取当前登录用户对象 + * + * @return + */ + public static LoginAdminUserRedisVo getLoginAdminUserRedisVo() { + // 获取当前登录用户 + String token = JwtTokenUtil.getToken("saas"); + String username = JwtUtil.getUsername(token); + if (StringUtils.isBlank(username)) { + return null; + } + return (LoginAdminUserRedisVo) redisTemplate.opsForValue().get(String.format(CommonRedisKey.ADMIN_LOGIN_USER, username)); + } + + /** + * 获取当前登录用户的ID + * + * @return + */ + public static Long getUserId() { + LoginAdminUserRedisVo loginAdminUserRedisVo = getLoginAdminUserRedisVo(); + if (loginAdminUserRedisVo == null) { + return null; + } + return loginAdminUserRedisVo.getSaasUserId(); + } + + /** + * 获取当前登录用户的账号 + * + * @return + */ + public static String getUsername() { + LoginAdminUserRedisVo loginAdminUserRedisVo = getLoginAdminUserRedisVo(); + if (loginAdminUserRedisVo == null) { + return null; + } + return loginAdminUserRedisVo.getUserName(); + } + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/util/AnsiUtil.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/util/AnsiUtil.java new file mode 100644 index 0000000..8f9fc6e --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/util/AnsiUtil.java @@ -0,0 +1,40 @@ + + +package net.jjjerp.framework.util; + +import lombok.extern.slf4j.Slf4j; +import org.fusesource.jansi.Ansi; +import org.springframework.core.env.Environment; + +@Slf4j +public class AnsiUtil { + + private static boolean enableAnsi; + + static { + Boolean value = false; + try { + Environment environment = SpringContextUtil.getBean(Environment.class); + value = environment.getProperty("spring-boot-jjj.enable-ansi",boolean.class); + value = value == null ? false : value; + } catch (Exception e) { + e.printStackTrace(); + } + enableAnsi = value; + } + + public static String getAnsi(Ansi.Color color,String text){ + + if (enableAnsi){ + return Ansi.ansi().eraseScreen().fg(color).a(text).reset().toString(); + } + return text; + } + + public static String getAnsi(Ansi.Color color,String text,boolean flag){ + if (flag){ + return Ansi.ansi().eraseScreen().fg(color).a(text).reset().toString(); + } + return text; + } +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/util/BaseEnumUtil.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/util/BaseEnumUtil.java new file mode 100644 index 0000000..ad594f6 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/util/BaseEnumUtil.java @@ -0,0 +1,134 @@ + + +package net.jjjerp.framework.util; + +import net.jjjerp.framework.common.enums.BaseEnum; +import net.jjjerp.framework.common.vo.EnumVo; +import org.apache.commons.collections4.MapUtils; + +import java.util.Collection; +import java.util.LinkedHashMap; +import java.util.Map; +import java.util.Set; + +/** + * BaseEnum枚举工具类 + */ +public class BaseEnumUtil { + + private static final Map>> ENUM_MAP = new LinkedHashMap<>(); + + /** + * 通过code获取描述 + * + * @param baseEnumType + * @param code + * @return + */ + public static BaseEnum getEnum(Class baseEnumType, Integer code) { + EnumVo enumVo = getEnumVo(baseEnumType, code); + if (enumVo == null) { + return null; + } + return enumVo.getBaseEnum(); + } + + /** + * 通过code获取描述 + * + * @param baseEnumType + * @param code + * @return + */ + public static EnumVo getEnumVo(Class baseEnumType, Integer code) { + Map> map = getMap(baseEnumType); + if (MapUtils.isEmpty(map)) { + return null; + } + return map.get(code); + } + + /** + * 判断code在枚举中是否存在 + * + * @param baseEnumType + * @param code + * @return + */ + public static boolean exists(Class baseEnumType, Integer code) { + EnumVo enumVo = getEnumVo(baseEnumType, code); + if (enumVo == null) { + return false; + } + return true; + } + + /** + * 判断code在枚举中是否不存在 + * + * @param baseEnumType + * @param code + * @return + */ + public static boolean notExists(Class baseEnumType, Integer code) { + return !exists(baseEnumType, code); + } + + /** + * 通过code获取描述 + * + * @param baseEnumType + * @param code + * @return + */ + public static String getDesc(Class baseEnumType, Integer code) { + EnumVo enumVo = getEnumVo(baseEnumType, code); + if (enumVo == null) { + return null; + } + return enumVo.getDesc(); + } + + /** + * 通过类型获取枚举Map + * + * @param baseEnumType + * @return + */ + public static Map> getMap(Class baseEnumType) { + return ENUM_MAP.get(baseEnumType.getName()); + } + + /** + * 通过类型获取枚举code集合 + * + * @param baseEnumType + * @return + */ + public static Set getCodeSet(Class baseEnumType) { + Map> map = getMap(baseEnumType); + if (MapUtils.isEmpty(map)) { + return null; + } + return map.keySet(); + } + + /** + * 通过类型获取枚举desc集合 + * + * @param baseEnumType + * @return + */ + public static Collection> getDescList(Class baseEnumType) { + Map> map = getMap(baseEnumType); + if (MapUtils.isEmpty(map)) { + return null; + } + return map.values(); + } + + public static Map>> getEnumMap() { + return ENUM_MAP; + } + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/util/BrowserUtil.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/util/BrowserUtil.java new file mode 100644 index 0000000..a352d08 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/util/BrowserUtil.java @@ -0,0 +1,70 @@ + + +package net.jjjerp.framework.util; + +import javax.servlet.http.HttpServletRequest; + +/** + * 浏览器工具类 + * 1.获取当前浏览器名称 + * 2.判断当前用户的浏览器 + */ +public final class BrowserUtil { + public static final String IE = "msie"; + public static final String FIREFOX = "firefox"; + public static final String CHROME = "chrome"; + + private BrowserUtil() { + throw new AssertionError(); + } + + /** + * 获取当前浏览器名称 + * + * @param request + * @return 返回浏览器名称 + */ + public static String getCurrent(HttpServletRequest request) { + String userAgent = request.getHeader("USER-AGENT").toLowerCase(); + if (userAgent != null && !("".equals(userAgent.trim()))) { + if (userAgent.indexOf(CHROME) >= 0) { + return CHROME; + } else if (userAgent.indexOf(FIREFOX) >= 0) { + return FIREFOX; + } else if (userAgent.indexOf(IE) >= 0) { + return IE; + } + } + return null; + } + + /** + * 是否是IE浏览器 + * + * @param request + * @return + */ + public static boolean isIe(HttpServletRequest request) { + return IE.equals(getCurrent(request)); + } + + /** + * 是否是Firefox浏览器 + * + * @param request + * @return + */ + public static boolean isFirefox(HttpServletRequest request) { + return FIREFOX.equals(getCurrent(request)); + } + + /** + * 是否是Chrome浏览器 + * + * @param request + * @return + */ + public static boolean isChrome(HttpServletRequest request) { + return CHROME.equals(getCurrent(request)); + } +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/util/ClientInfoUtil.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/util/ClientInfoUtil.java new file mode 100644 index 0000000..07af726 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/util/ClientInfoUtil.java @@ -0,0 +1,102 @@ + + +package net.jjjerp.framework.util; + +import cn.hutool.http.useragent.UserAgent; +import cn.hutool.http.useragent.UserAgentUtil; +import net.jjjerp.config.constant.CommonConstant; +import net.jjjerp.framework.common.bean.ClientInfo; +import net.jjjerp.framework.common.bean.DeviceInfo; + +import javax.servlet.http.HttpServletRequest; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +/** + * 用户客户端信息工具类 + **/ +public class ClientInfoUtil { + + private static final Pattern DEVICE_INFO_PATTERN = Pattern.compile(";\\s?(\\S*?\\s?\\S*?)\\s?Build/(\\S*?)[;)]"); + private static final Pattern DEVICE_INFO_PATTERN_1 = Pattern.compile(";\\s?(\\S*?\\s?\\S*?)\\s?\\)"); + + /** + * 获取用户客户端信息 + * @param request + * @return + */ + public static ClientInfo get(HttpServletRequest request){ + String userAgent = request.getHeader(CommonConstant.USER_AGENT); + return get(userAgent); + } + + /** + * 获取用户客户端信息 + * @param userAgentString + * @return + */ + public static ClientInfo get(String userAgentString){ + ClientInfo clientInfo = new ClientInfo(); + + UserAgent userAgent = UserAgentUtil.parse(userAgentString); + + // 浏览器名称 + clientInfo.setBrowserName(userAgent.getBrowser().getName()); + // 浏览器版本 + clientInfo.setBrowserversion(userAgent.getVersion()); + // 浏览器引擎名称 + clientInfo.setEngineName(userAgent.getEngine().getName()); + // 浏览器引擎版本 + clientInfo.setEngineVersion(userAgent.getEngineVersion()); + // 用户操作系统名称 + clientInfo.setOsName(userAgent.getOs().getName()); + // 用户操作平台名称 + clientInfo.setPlatformName(userAgent.getPlatform().getName()); + // 是否是手机 + clientInfo.setMobile(userAgent.isMobile()); + + // 获取移动设备名称和机型 + DeviceInfo deviceInfo = getDeviceInfo(userAgentString); + // 设置移动设备名称和机型 + clientInfo.setDeviceName(deviceInfo.getName()); + clientInfo.setDeviceModel(deviceInfo.getModel()); + + // ip + clientInfo.setIp(IpUtil.getRequestIp()); + + return clientInfo; + } + + /** + * 获取移动端用户设备的名称和机型 + * @param userAgentString + * @return + */ + public static DeviceInfo getDeviceInfo(String userAgentString){ + DeviceInfo deviceInfo = new DeviceInfo(); + try { + + Matcher matcher = DEVICE_INFO_PATTERN.matcher(userAgentString); + String model = null; + String name = null; + + if (matcher.find()) { + model = matcher.group(1); + name = matcher.group(2); + } + + if (model == null && name == null){ + matcher = DEVICE_INFO_PATTERN_1.matcher(userAgentString); + if (matcher.find()) { + model = matcher.group(1); + } + } + + deviceInfo.setName(name); + deviceInfo.setModel(model); + } catch (Exception e) { + e.printStackTrace(); + } + return deviceInfo; + } +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/util/ContentTypeUtil.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/util/ContentTypeUtil.java new file mode 100644 index 0000000..55f02e5 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/util/ContentTypeUtil.java @@ -0,0 +1,87 @@ + + +package net.jjjerp.framework.util; + +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.io.FilenameUtils; +import org.apache.commons.lang3.StringUtils; +import org.springframework.core.io.ClassPathResource; +import org.springframework.core.io.support.PropertiesLoaderUtils; + +import java.io.File; +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.util.Properties; + +/** + * 获取文件的内容类型 + * mime-type参考:https://svn.apache.org/viewvc/httpd/httpd/trunk/docs/conf/mime.types?revision=1752884&view=co + */ +@Slf4j +public final class ContentTypeUtil { + + private static String MIME_TYPE_CONFIG_FILE = "config/mime-type.properties"; + + private static String DEFAULT_MIME_TYPE = "application/octet-stream"; + + private static Properties properties; + + static { + try { + properties = PropertiesLoaderUtils.loadProperties(new ClassPathResource(MIME_TYPE_CONFIG_FILE)); + } catch (IOException e) { + log.error("读取配置文件" + MIME_TYPE_CONFIG_FILE + "异常",e); + } + log.info(MIME_TYPE_CONFIG_FILE + " = " + properties); + } + + /** + * 获取文件内容类型 + * @param file + * @return + */ + public static String getContentType(File file){ + if (file == null){ + return null; + } + Path path = Paths.get(file.toURI()); + if (path == null){ + return null; + } + String contentType = null; + try { + contentType = Files.probeContentType(path); + } catch (IOException e) { + log.error("获取文件ContentType异常",e); + } + if (contentType == null){ + // 读取拓展的自定义配置 + contentType = getContentTypeByExtension(file); + } + // 设置默认的内容类型 + if (contentType == null){ + contentType = DEFAULT_MIME_TYPE; + } + return contentType; + } + + /** + * 根据文件后缀获取自定义配置的文件mime-type + * @param file + * @return + */ + private static String getContentTypeByExtension(File file){ + if (properties == null){ + return null; + } + String extension = FilenameUtils.getExtension(file.getName()); + if (StringUtils.isBlank(extension)){ + return null; + } + String contentType = properties.getProperty(extension); + return contentType; + } + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/util/DateUtil.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/util/DateUtil.java new file mode 100644 index 0000000..c47f648 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/util/DateUtil.java @@ -0,0 +1,30 @@ + + +package net.jjjerp.framework.util; + +import net.jjjerp.config.constant.DatePattern; + +import java.text.SimpleDateFormat; +import java.util.Date; + +public class DateUtil { + + public static String getDateString(Date date){ + if (date == null){ + return null; + } + SimpleDateFormat simpleDateFormat = new SimpleDateFormat(DatePattern.YYYY_MM_DD); + String dateString = simpleDateFormat.format(date); + return dateString; + } + + public static String getDateTimeString(Date date){ + if (date == null){ + return null; + } + SimpleDateFormat simpleDateFormat = new SimpleDateFormat(DatePattern.YYYY_MM_DD_HH_MM_SS); + String dateString = simpleDateFormat.format(date); + return dateString; + } + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/util/DownloadUtil.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/util/DownloadUtil.java new file mode 100644 index 0000000..748545a --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/util/DownloadUtil.java @@ -0,0 +1,141 @@ + + +package net.jjjerp.framework.util; + +import net.jjjerp.config.constant.CommonConstant; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.io.FilenameUtils; +import org.apache.commons.lang3.StringUtils; +import org.springframework.util.Base64Utils; +import org.springframework.util.CollectionUtils; +import org.springframework.util.FileCopyUtils; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.*; +import java.net.URLEncoder; +import java.util.List; + +/** + * 文件下载工具类 + */ +@Slf4j +public final class DownloadUtil { + + /** + * 下载文件,使用默认下载处理器 + * + * @param downloadDir + * @param downloadFileName + * @param allowFileExtensions + * @param response + * @throws Exception + */ + public static void download(String downloadDir, String downloadFileName, List allowFileExtensions, HttpServletResponse response) throws Exception { + download(downloadDir, downloadFileName, allowFileExtensions, response, new DefaultDownloadHandler()); + } + + /** + * 下载文件,使用自定义下载处理器 + * + * @param downloadDir 文件目录 + * @param downloadFileName 文件名称 + * @throws Exception + */ + public static void download(String downloadDir, String downloadFileName, List allowFileExtensions, HttpServletResponse response, DownloadHandler downloadHandler) throws Exception { + log.info("downloadDir:{}", downloadDir); + log.info("downloadFileName:{}", downloadFileName); + + if (StringUtils.isBlank(downloadDir)) { + throw new IOException("文件目录不能为空"); + } + if (StringUtils.isBlank(downloadFileName)) { + throw new IOException("文件名称不能为空"); + } + // 安全判断,防止../情况,防止出现类似非法文件名称:../../hello/123.txt + if (downloadFileName.contains(CommonConstant.SPOT_SPOT) || downloadFileName.contains(CommonConstant.SPOT_SPOT_BACKSLASH)) { + throw new IOException("非法的文件名称"); + } + // 允许下载的文件后缀判断 + if (CollectionUtils.isEmpty(allowFileExtensions)) { + throw new IllegalArgumentException("请设置允许下载的文件后缀"); + } + // 获取文件名称 + String fileExtension = FilenameUtils.getExtension(downloadFileName); + + // 从服务器读取文件,然后输出 + File downloadFile = new File(downloadDir, downloadFileName); + if (!downloadFile.exists()) { + throw new IOException("文件不存在"); + } + + // 判断文件类型,输出对应ContentType,如果没有对应的内容类型,可在config/mime-type.properties配置 + String contentType = ContentTypeUtil.getContentType(downloadFile); + log.info("contentType:{}", contentType); + // 文件大小 + long length = downloadFile.length(); + log.info("length:{}", length); + + // 下载回调处理 + if (downloadHandler == null) { + // 使用默认下载处理器 + downloadHandler = new DefaultDownloadHandler(); + } + boolean flag = downloadHandler.handle(downloadDir, downloadFileName, downloadFile, fileExtension, contentType, length); + if (!flag) { + log.info("下载自定义校验失败,取消下载"); + return; + } + + // 下载文件名称编码,Firefox中文乱码处理 + String encodeDownFileName; + + HttpServletRequest request = HttpServletRequestUtil.getRequest(); + + String browser = BrowserUtil.getCurrent(request); + if (BrowserUtil.FIREFOX.equals(browser)) { + encodeDownFileName = "=?UTF-8?B?" + (new String(Base64Utils.encodeToString(downloadFileName.getBytes("UTF-8")))) + "?="; + } else { + encodeDownFileName = URLEncoder.encode(downloadFileName, "utf-8").replaceAll("\\+", "%20"); + } + log.info("encodeDownFileName:{}", encodeDownFileName); + + log.info("下载文件:" + downloadFile.getAbsolutePath()); + + response.reset(); + // 设置Content-Disposition响应头 + response.setHeader("Content-Disposition", "attachment;fileName=\"" + encodeDownFileName + "\""); + // 设置响应Content-Type + response.setContentType(contentType); + // 设置响应文件大小 + response.setContentLengthLong(length); + + // 文件下载 + InputStream in = new BufferedInputStream(new FileInputStream(downloadFile)); + FileCopyUtils.copy(in, response.getOutputStream()); + } + + public static interface DownloadHandler { + /** + * 下载自定义处理 + * + * @param dir + * @param fileName + * @param file + * @param fileExtension + * @param contentType + * @param length + * @return + * @throws Exception + */ + boolean handle(String dir, String fileName, File file, String fileExtension, String contentType, long length) throws Exception; + } + + public static class DefaultDownloadHandler implements DownloadHandler { + @Override + public boolean handle(String dir, String fileName, File file, String fileExtension, String contentType, long length) throws Exception { + return false; + } + } + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/util/HttpServletRequestUtil.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/util/HttpServletRequestUtil.java new file mode 100644 index 0000000..6c1c524 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/util/HttpServletRequestUtil.java @@ -0,0 +1,18 @@ + + +package net.jjjerp.framework.util; + +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; + +import javax.servlet.http.HttpServletRequest; + +/** + * 获取当前请求的HttpServletRequest对象 + */ +public class HttpServletRequestUtil { + + public static HttpServletRequest getRequest() { + return ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); + } +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/util/HttpServletResponseUtil.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/util/HttpServletResponseUtil.java new file mode 100644 index 0000000..4b08288 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/util/HttpServletResponseUtil.java @@ -0,0 +1,27 @@ + + +package net.jjjerp.framework.util; + +import com.alibaba.fastjson.JSON; + +import javax.servlet.http.HttpServletResponse; +import java.io.PrintWriter; + +public final class HttpServletResponseUtil { + + private static String UTF8 = "UTF-8"; + private static String CONTENT_TYPE = "application/json"; + + private HttpServletResponseUtil(){ + throw new AssertionError(); + } + + public static void printJson(HttpServletResponse response, Object object) throws Exception{ + response.setCharacterEncoding(UTF8); + response.setContentType(CONTENT_TYPE); + PrintWriter printWriter = response.getWriter(); + printWriter.write(JSON.toJSONString(object)); + printWriter.flush(); + printWriter.close(); + } +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/util/IniUtil.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/util/IniUtil.java new file mode 100644 index 0000000..5bda956 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/util/IniUtil.java @@ -0,0 +1,42 @@ + + +package net.jjjerp.framework.util; + +import org.ini4j.Config; +import org.ini4j.Ini; +import org.ini4j.Profile; + +import java.io.IOException; +import java.io.StringReader; +import java.util.Map; + +public class IniUtil { + public static Map parseIni(String string) { + Config config = new Config(); + config.setGlobalSection(true); + config.setGlobalSectionName(""); + Ini ini = new Ini(); + ini.setConfig(config); + try { + ini.load(new StringReader(string)); + Profile.Section section = ini.get(""); + return section; + } catch (IOException e) { + e.printStackTrace(); + } + return null; + } + + public static Map parseIni(String sectionName,String string) { + Ini ini = new Ini(); + try { + ini.load(new StringReader(string)); + Profile.Section section = ini.get(sectionName); + return section; + } catch (IOException e) { + e.printStackTrace(); + } + return null; + } + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/util/IpUtil.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/util/IpUtil.java new file mode 100644 index 0000000..a27db31 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/util/IpUtil.java @@ -0,0 +1,65 @@ + + +package net.jjjerp.framework.util; + +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; + +import javax.servlet.http.HttpServletRequest; +import java.net.InetAddress; +import java.net.UnknownHostException; + +/** + * 获取IP地址工具类 + */ +public final class IpUtil { + + private static final String UNKNOWN = "unknown"; + private static final String IPV6_LOCAL = "0:0:0:0:0:0:0:1"; + + private IpUtil(){ + throw new AssertionError(); + } + + /** + * 获取请求用户的IP地址 + * @return + */ + public static String getRequestIp() { + ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes(); + HttpServletRequest request = attributes.getRequest(); + return getRequestIp(request); + } + + /** + * 获取请求用户的IP地址 + * @param request + * @return + */ + public static String getRequestIp(HttpServletRequest request) { + String ip = request.getHeader("x-forwarded-for"); + if (ip == null || ip.length() == 0 || UNKNOWN.equalsIgnoreCase(ip)) { + ip = request.getHeader("Proxy-Client-IP"); + } + if (ip == null || ip.length() == 0 || UNKNOWN.equalsIgnoreCase(ip)) { + ip = request.getHeader("WL-Proxy-Client-IP"); + } + if (ip == null || ip.length() == 0 || UNKNOWN.equalsIgnoreCase(ip)) { + ip = request.getRemoteAddr(); + } + + if (IPV6_LOCAL.equals(ip)){ + ip = getLocalhostIp(); + } + return ip; + } + + public static String getLocalhostIp(){ + try { + return InetAddress.getLocalHost().getHostAddress(); + } catch (UnknownHostException e) { + } + return null; + } + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/util/Jackson.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/util/Jackson.java new file mode 100644 index 0000000..f36f9e1 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/util/Jackson.java @@ -0,0 +1,99 @@ + + +package net.jjjerp.framework.util; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.SerializationFeature; + +import java.util.TimeZone; + +/** + * Jackson序列化工具类 + **/ +public class Jackson { + + /** + * 时区 + */ + private static final TimeZone timeZone = TimeZone.getTimeZone("GMT+8"); + + /** + * 键按自然顺序输出 + * + * @param object + * @return + */ + public static String toJsonString(Object object) { + return toJsonString(object, false); + } + + /** + * 键按自然顺序格式化输出 + * + * @param object + * @param prettyFormat + * @return + */ + public static String toJsonString(Object object, boolean prettyFormat) { + if (object == null) { + return null; + } + ObjectMapper objectMapper = new ObjectMapper(); + try { + // 格式化输出 + objectMapper.configure(SerializationFeature.INDENT_OUTPUT, prettyFormat); + // 键按自然顺序输出 + objectMapper.configure(SerializationFeature.ORDER_MAP_ENTRIES_BY_KEYS, true); + // 设置时区 + objectMapper.setTimeZone(timeZone); + return objectMapper.writeValueAsString(object); + } catch (JsonProcessingException e) { + e.printStackTrace(); + } + return null; + } + + /** + * 键按自然顺序格式化输出 + * + * @param object + * @param prettyFormat + * @return + */ + public static String toJsonStringNonNull(Object object) { + return toJsonStringNonNull(object, false); + } + + + /** + * 键按自然顺序格式化输出 + * + * @param object + * @param prettyFormat + * @return + */ + public static String toJsonStringNonNull(Object object, boolean prettyFormat) { + if (object == null) { + return null; + } + ObjectMapper objectMapper = new ObjectMapper(); + try { + // 格式化输出 + objectMapper.configure(SerializationFeature.INDENT_OUTPUT, prettyFormat); + // 键按自然顺序输出 + objectMapper.configure(SerializationFeature.ORDER_MAP_ENTRIES_BY_KEYS, true); + // 为空的序列化 + objectMapper.setSerializationInclusion(JsonInclude.Include.NON_NULL); + // 设置时区 + objectMapper.setTimeZone(timeZone); + return objectMapper.writeValueAsString(object); + } catch (JsonProcessingException e) { + e.printStackTrace(); + } + return null; + } + + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/util/LambdaColumn.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/util/LambdaColumn.java new file mode 100644 index 0000000..d4ba138 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/util/LambdaColumn.java @@ -0,0 +1,77 @@ + + +package net.jjjerp.framework.util; + +import com.baomidou.mybatisplus.core.metadata.TableFieldInfo; +import com.baomidou.mybatisplus.core.metadata.TableInfo; +import com.baomidou.mybatisplus.core.metadata.TableInfoHelper; +import com.baomidou.mybatisplus.core.toolkit.LambdaUtils; +import com.baomidou.mybatisplus.core.toolkit.support.SFunction; +import com.baomidou.mybatisplus.core.toolkit.support.SerializedLambda; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.collections4.MapUtils; + +import java.util.List; +import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; + +/** + * 根据lambda表达式获取数据库列名 + **/ +public class LambdaColumn { + + private static Map> ENTITY_COLUMN_MAP = new ConcurrentHashMap<>(); + + public static LambdaColumn lambda() { + return new LambdaColumn<>(); + } + + public String get(SFunction func) { + SerializedLambda lambda = LambdaUtils.resolve(func); + String methodName = lambda.getImplMethodName(); + String methodPropertyName = null; + if (methodName.startsWith("get")) { + methodPropertyName = methodName.substring(3); + methodPropertyName = methodPropertyName.substring(0, 1).toLowerCase() + methodPropertyName.substring(1); + + } + Class cls = lambda.getImplClass(); + String className = lambda.getImplClassName(); + if (ENTITY_COLUMN_MAP.containsKey(className)) { + return ENTITY_COLUMN_MAP.get(className).get(methodPropertyName); + } + + Map map = getPropertyColumnMap(cls); + if (MapUtils.isNotEmpty(map)) { + ENTITY_COLUMN_MAP.put(className, map); + } + return ENTITY_COLUMN_MAP.get(className).get(methodPropertyName); + } + + /** + * 从mybatisplus的TableInfo类中获取列名map信息 + * + * @param cls + * @return + */ + private Map getPropertyColumnMap(Class cls) { + TableInfo tableInfo = TableInfoHelper.getTableInfo(cls); + List tableFieldInfos = tableInfo.getFieldList(); + if (CollectionUtils.isEmpty(tableFieldInfos)) { + return null; + } + + Map map = new ConcurrentHashMap<>(); + String keyProperty = tableInfo.getKeyProperty(); + String keyColumn = tableInfo.getKeyColumn(); + map.put(keyProperty, keyColumn); + + for (TableFieldInfo tableFieldInfo : tableFieldInfos) { + String column = tableFieldInfo.getColumn(); + String property = tableFieldInfo.getProperty(); + map.put(property, column); + } + return map; + } + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/util/MapUtil.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/util/MapUtil.java new file mode 100644 index 0000000..46d7cda --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/util/MapUtil.java @@ -0,0 +1,32 @@ + + +package net.jjjerp.framework.util; + +import java.util.HashMap; +import java.util.Map; + +/** + * Map构建工具类 + **/ +public class MapUtil { + + private Map map; + + private MapUtil(){ + map = new HashMap<>(); + } + + public static MapUtil builder(){ + return new MapUtil(); + } + + public MapUtil put(String key,Object value){ + this.map.put(key,value); + return this; + } + + public Map build(){ + return this.map; + } + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/util/PasswordUtil.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/util/PasswordUtil.java new file mode 100644 index 0000000..1a43c8c --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/util/PasswordUtil.java @@ -0,0 +1,32 @@ + + +package net.jjjerp.framework.util; + +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.codec.digest.DigestUtils; +import org.apache.commons.lang3.StringUtils; + +/** + * 密码加密工具类 + */ +@Slf4j +public class PasswordUtil { + + /** + * 密码加盐,再加密 + * + * @param pwd + * @param salt + * @return + */ + public static String encrypt(String pwd, String salt) { + if (StringUtils.isBlank(pwd)) { + throw new IllegalArgumentException("密码不能为空"); + } + if (StringUtils.isBlank(salt)) { + throw new IllegalArgumentException("盐值不能为空"); + } + return DigestUtils.sha256Hex(pwd + salt); + } + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/util/PhoneUtil.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/util/PhoneUtil.java new file mode 100644 index 0000000..e6bb93f --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/util/PhoneUtil.java @@ -0,0 +1,56 @@ + + +package net.jjjerp.framework.util; + + +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; + +/** + * 手机号码工具类 + **/ +@Slf4j +public class PhoneUtil { + + /** + * 手机号码长度 + */ + private static final int PHONE_LENGTH = 11; + + /** + * 脱敏*号 + */ + private static final String ASTERISK = "****"; + + /** + * 手机号码脱敏 + * 截取手机号码前三位,后4为,中间4位使用*号代替 + * 18812345678 + * 188****5678 + * + * @param phone + * @return + */ + public static String desensitize(String phone) { + // 校验手机号码 + if (StringUtils.isBlank(phone)) { + return null; + } + if (phone.length() != PHONE_LENGTH) { + log.error("手机号码不合法:" + phone); + return phone; + } + + String before = phone.substring(0,3); + String after = phone.substring(7,11); + String desensitizePhone = before + "****" + after; + return desensitizePhone; + } + + public static void main(String[] args) { + for(int i=0;i<100;i++){ + System.out.println(String.valueOf((int)(Math.random()*900000 + 100000))); + } + } + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/util/PrintApplicationInfo.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/util/PrintApplicationInfo.java new file mode 100644 index 0000000..0771664 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/util/PrintApplicationInfo.java @@ -0,0 +1,87 @@ + + +package net.jjjerp.framework.util; + +import lombok.extern.slf4j.Slf4j; +import org.fusesource.jansi.Ansi; +import org.springframework.context.ConfigurableApplicationContext; +import org.springframework.core.env.ConfigurableEnvironment; + +/** + * 打印项目信息 + **/ +@Slf4j +public class PrintApplicationInfo { + + /** + * 执行之前,打印前置条件提示 + */ + public static void printTip(ConfigurableApplicationContext context) { + ConfigurableEnvironment environment = context.getEnvironment(); + // 项目profile + String profileActive = environment.getProperty("spring.profiles.active"); + StringBuffer tip = new StringBuffer(); + tip.append("===========================================================================================\n"); + tip.append(" \n"); + tip.append(" !!!准备工作!!! \n"); + tip.append(" 1.导入SQL初始化脚本:generator/db,根据不同数据库导入对应SQL脚本并修改链接等信息配置\n"); + tip.append(" 2.启动Redis服务,必要条件\n"); + tip.append(" 3.项目模块说明:\n"); + tip.append(" bootstrap: 项目启动模块\n"); + tip.append(" config: 项目配置模块\n"); + tip.append(" generator: 代码生成模块,启动类:SpringBootJjjGenerator,请根据实际情况进行配置\n"); + tip.append(" jjj-saas: saas管理接口模块\n"); + tip.append(" jjj-common: 项目核心框架模块\n"); + tip.append(" jjj-job: 定时任务模块\n"); + tip.append(" jjj-admin: 后台应用接口模块\n"); + tip.append(" \n"); + tip.append("===========================================================================================\n"); + if ("dev".equals(profileActive)) { + log.info("\n{}", Ansi.ansi().eraseScreen().fg(Ansi.Color.YELLOW).a(tip.toString()).reset().toString()); + } + } + + /** + * 启动成功之后,打印项目信息 + */ + public static void print(ConfigurableApplicationContext context) { + ConfigurableEnvironment environment = context.getEnvironment(); + // 项目名称 + String projectFinalName = environment.getProperty("info.project-finalName"); + // 项目版本 + String projectVersion = environment.getProperty("info.project-version"); + // 项目profile + String profileActive = environment.getProperty("spring.profiles.active"); + // 项目路径 + String contextPath = environment.getProperty("server.servlet.context-path"); + // 项目IP或域名地址 + String serverIp = environment.getProperty("spring-boot-jjj.server-ip"); + // 项目端口 + String port = environment.getProperty("server.port"); + log.info("projectFinalName : {}", projectFinalName); + log.info("projectVersion : {}", projectVersion); + log.info("profileActive : {}", profileActive); + log.info("contextPath : {}", contextPath); + log.info("serverIp : {}", serverIp); + log.info("port : {}", port); + + String startSuccess = " ____ __ __ ____ \n" + + "/\\ _`\\ /\\ \\__ /\\ \\__ /\\ _`\\ \n" + + "\\ \\,\\L\\_\\ \\ ,_\\ __ _ __\\ \\ ,_\\ \\ \\,\\L\\_\\ __ __ ___ ___ __ ____ ____ \n" + + " \\/_\\__ \\\\ \\ \\/ /'__`\\ /\\`'__\\ \\ \\/ \\/_\\__ \\ /\\ \\/\\ \\ /'___\\ /'___\\ /'__`\\ /',__\\ /',__\\ \n" + + " /\\ \\L\\ \\ \\ \\_/\\ \\L\\.\\_\\ \\ \\/ \\ \\ \\_ /\\ \\L\\ \\ \\ \\_\\ \\/\\ \\__//\\ \\__//\\ __//\\__, `\\/\\__, `\\\n" + + " \\ `\\____\\ \\__\\ \\__/.\\_\\\\ \\_\\ \\ \\__\\ \\ `\\____\\ \\____/\\ \\____\\ \\____\\ \\____\\/\\____/\\/\\____/\n" + + " \\/_____/\\/__/\\/__/\\/_/ \\/_/ \\/__/ \\/_____/\\/___/ \\/____/\\/____/\\/____/\\/___/ \\/___/ \n" + + " \n" + + " "; + + String homeUrl = serverIp + contextPath; + String swaggerUrl = serverIp + contextPath + "/swagger-ui.html"; + String knife4jUrl = serverIp + contextPath + "/doc.html"; + log.info("Home: {}", homeUrl); + log.info("Knife4j: {}", knife4jUrl); + log.info("Swagger: {}", swaggerUrl); + log.info("jjj-erp 启动成功..........." + "\n{}", startSuccess); + } + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/util/PropertyColumnUtil.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/util/PropertyColumnUtil.java new file mode 100644 index 0000000..1164033 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/util/PropertyColumnUtil.java @@ -0,0 +1,85 @@ + + +package net.jjjerp.framework.util; + +import com.baomidou.mybatisplus.core.metadata.TableFieldInfo; +import com.baomidou.mybatisplus.core.metadata.TableInfo; +import com.baomidou.mybatisplus.core.metadata.TableInfoHelper; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.collections4.MapUtils; +import org.apache.commons.lang3.StringUtils; + +import java.util.List; +import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; +import java.util.stream.Collectors; + +public class PropertyColumnUtil { + + private static Map, Map> cacheMap = new ConcurrentHashMap<>(); + + public static Map, Map> getMap() { + return cacheMap; + } + + /** + * 根据实体class,从mybatisplus中获取对应Table的属性列名Map + * + * @param clazz + * @return + */ + private static Map getTableFieldMap(Class clazz) { + TableInfo tableInfo = TableInfoHelper.getTableInfo(clazz); + if (tableInfo == null) { + return null; + } + List tableFieldInfos = tableInfo.getFieldList(); + if (CollectionUtils.isEmpty(tableFieldInfos)) { + return null; + } + Map cacheMap = tableFieldInfos.stream().collect(Collectors.toMap(TableFieldInfo::getProperty, TableFieldInfo::getColumn)); + return cacheMap; + } + + /** + * 从本地缓存中获取属性列名map + * + * @param clazz + * @return + */ + public static Map getPropertyColumnMap(Class clazz) { + Map propertyColumnMap = cacheMap.get(clazz); + if (MapUtils.isEmpty(propertyColumnMap)) { + // 从TableInfo中获取,并缓存到内存map中 + Map fieldMap = getTableFieldMap(clazz); + if (MapUtils.isEmpty(fieldMap)) { + return null; + } else { + cacheMap.put(clazz, fieldMap); + return fieldMap; + } + } else { + return propertyColumnMap; + } + } + + /** + * 通过实体class类型和属性名称,从缓存中获取对应的列名 + * + * @param clazz + * @param property + * @return + */ + public static String getColumn(Class clazz, String property) { + Map propertyColumnMap = getPropertyColumnMap(clazz); + if (MapUtils.isEmpty(propertyColumnMap)) { + throw new IllegalArgumentException("没有找到对应的实体映射对象"); + } + String column = propertyColumnMap.get(property); + if (StringUtils.isEmpty(column)) { + throw new IllegalArgumentException("没有找到对应的列"); + } + return column; + } + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/util/RedisCacheUtil.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/util/RedisCacheUtil.java new file mode 100644 index 0000000..3147d79 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/util/RedisCacheUtil.java @@ -0,0 +1,28 @@ + + +package net.jjjerp.framework.util; + +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.redis.core.RedisTemplate; +import org.springframework.stereotype.Component; + +import javax.annotation.PostConstruct; + +@Component +@Slf4j +public class RedisCacheUtil { + + private static RedisCacheUtil redisCacheUtil; + + @Autowired + private RedisTemplate redisTemplate; + + /** + * 将当前对象赋值给静态对象,调用spring组件: redisCacheUtil.redisTemplate.xxx() + */ + @PostConstruct + public void init(){ + redisCacheUtil = this; + } +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/util/ShopLoginUtil.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/util/ShopLoginUtil.java new file mode 100644 index 0000000..434f788 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/util/ShopLoginUtil.java @@ -0,0 +1,83 @@ + + +package net.jjjerp.framework.util; + +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.config.constant.CommonRedisKey; +import net.jjjerp.framework.shiro.util.JwtTokenUtil; +import net.jjjerp.framework.shiro.util.JwtUtil; +import net.jjjerp.framework.shiro.vo.LoginShopUserRedisVo; +import org.apache.commons.lang3.StringUtils; +import org.springframework.data.redis.core.RedisTemplate; +import org.springframework.stereotype.Component; + + +/** + * 获取登录信息工具类 + */ +@Slf4j +@Component +public class ShopLoginUtil { + + private static RedisTemplate redisTemplate; + + public ShopLoginUtil(RedisTemplate redisTemplate) { + ShopLoginUtil.redisTemplate = redisTemplate; + } + + + /** + * 获取当前登录用户对象 + * + * @return + */ + public static LoginShopUserRedisVo getLoginShopUserRedisVo() { + // 获取当前登录用户 + String token = JwtTokenUtil.getToken("admin"); + String username = JwtUtil.getUsername(token); + if (StringUtils.isBlank(username)) { + return null; + } + return (LoginShopUserRedisVo) redisTemplate.opsForValue().get(String.format(CommonRedisKey.SHOP_LOGIN_USER, username)); + } + + /** + * 获取当前登录用户的ID + * + * @return + */ + public static Integer getUserId() { + LoginShopUserRedisVo loginShopUserRedisVo = getLoginShopUserRedisVo(); + if (loginShopUserRedisVo == null) { + return null; + } + return loginShopUserRedisVo.getShopUserId(); + } + + /** + * 获取当前登录用户的AppId + * + * @return + */ + public static Integer getAppId() { + LoginShopUserRedisVo loginShopUserRedisVo = getLoginShopUserRedisVo(); + if (loginShopUserRedisVo == null) { + return 0; + } + return loginShopUserRedisVo.getAppId(); + } + + /** + * 获取当前登录用户的账号 + * + * @return + */ + public static String getUsername() { + LoginShopUserRedisVo loginShopUserRedisVo = getLoginShopUserRedisVo(); + if (loginShopUserRedisVo == null) { + return null; + } + return loginShopUserRedisVo.getUserName(); + } + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/util/SpringContextUtil.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/util/SpringContextUtil.java new file mode 100644 index 0000000..797e0a0 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/util/SpringContextUtil.java @@ -0,0 +1,40 @@ + + +package net.jjjerp.framework.util; + +import org.springframework.beans.BeansException; +import org.springframework.context.ApplicationContext; +import org.springframework.context.ApplicationContextAware; +import org.springframework.stereotype.Component; + +/** + * Spring工具类,获取Spring上下文对象等 + */ +@Component +public class SpringContextUtil implements ApplicationContextAware { + + private static ApplicationContext applicationContext = null; + + @Override + public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { + if(SpringContextUtil.applicationContext == null){ + SpringContextUtil.applicationContext = applicationContext; + } + } + + public static ApplicationContext getApplicationContext() { + return applicationContext; + } + + public static Object getBean(String name){ + return getApplicationContext().getBean(name); + } + + public static T getBean(Class clazz){ + return getApplicationContext().getBean(clazz); + } + + public static T getBean(String name,Class clazz){ + return getApplicationContext().getBean(name, clazz); + } +} \ No newline at end of file diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/util/TokenUtil.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/util/TokenUtil.java new file mode 100644 index 0000000..96d6d85 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/util/TokenUtil.java @@ -0,0 +1,24 @@ + + +package net.jjjerp.framework.util; + +public class TokenUtil { + + /** + * + * @return + */ + public static String generateFirstLoginRestPwdToken(){ + String token = "first-login-rest-pwd-token:" + UUIDUtil.getUuid(); + return token; + } + + /** + * 生成验证码token + * @return + */ + public static String generateVerificationCodeToken(){ + String token = "verification-code-token:" + UUIDUtil.getUuid(); + return token; + } +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/util/UUIDUtil.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/util/UUIDUtil.java new file mode 100644 index 0000000..97057b0 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/util/UUIDUtil.java @@ -0,0 +1,14 @@ + + +package net.jjjerp.framework.util; + +import java.util.UUID; + +public class UUIDUtil { + + public static String getUuid(){ + String uuid = UUID.randomUUID().toString().replaceAll("-", ""); + return uuid; + } + +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/util/UploadUtil.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/util/UploadUtil.java new file mode 100644 index 0000000..60fd391 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/util/UploadUtil.java @@ -0,0 +1,99 @@ + + +package net.jjjerp.framework.util; + +import com.alibaba.fastjson.JSONObject; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.common.entity.file.UploadFile; +import net.jjjerp.common.enums.SettingEnum; +import net.jjjerp.common.enums.StorageEnum; +import net.jjjerp.common.settings.vo.StorageVo; +import net.jjjerp.common.util.SettingUtils; +import net.jjjerp.common.factory.upload.UploadFactory; +import net.jjjerp.common.factory.upload.UploadFactoryService; +import org.apache.commons.io.FilenameUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; +import org.springframework.web.multipart.MultipartFile; + +import javax.servlet.http.HttpServletRequest; +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; + +/** + * 文件上传工具类 + */ +@Slf4j +@Component +public class UploadUtil { + @Autowired + private SettingUtils settingUtils; + @Autowired + private UploadFactory uploadFactory; + /** + * 上传文件 + * @param multipartFile + */ + public synchronized void upload(MultipartFile multipartFile, UploadFile file) throws Exception { + StorageVo storageVo; + // 获取当前的HttpServletRequest对象 + ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes(); + HttpServletRequest request = attributes.getRequest(); + // 请求路径 /api/saas/file/upload/image + String path = request.getRequestURI(); + if(path.startsWith("/api/saas/file/upload/image")){ + //获取admin端配置 + JSONObject vo = settingUtils.getSetting(SettingEnum.SYS_CONFIG.getKey(), 0L); + JSONObject storage = vo.getJSONObject("storageVo"); + storageVo = JSONObject.toJavaObject(storage, StorageVo.class); + }else { + //获取shop端配置 + JSONObject vo = settingUtils.getSetting(SettingEnum.STORAGE.getKey(), null); + storageVo = JSONObject.toJavaObject(vo, StorageVo.class); + } + + UploadFactoryService service = uploadFactory.getService(storageVo.getCurrent()); + // 保存文件名 + String originalFilename = multipartFile.getOriginalFilename(); + String saveFileName = new DefaultUploadFileNameHandleImpl().handle(originalFilename); + // 开始上传 + service.upload(multipartFile, saveFileName); + file.setFileName(saveFileName); + file.setStorage(storageVo.getCurrent()); + if(StorageEnum.QINIU.getValue().equals(storageVo.getCurrent())){ + file.setFileUrl(storageVo.getQiNiu().getDomain()); + }else if(StorageEnum.ALIYUN.getValue().equals(storageVo.getCurrent())){ + file.setFileUrl(storageVo.getAliYun().getDomain()); + }else if(StorageEnum.QCLOUD.getValue().equals(storageVo.getCurrent())){ + file.setFileUrl(storageVo.getQCloud().getDomain()); + }else if(StorageEnum.HWCLOUD.getValue().equals(storageVo.getCurrent())){ + file.setFileUrl(storageVo.getHwCloud().getDomain()); + } + } + + + public interface UploadFileNameHandle { + /** + * 回调处理接口 + * @param originalFilename + * @return + */ + String handle(String originalFilename); + } + + public class DefaultUploadFileNameHandleImpl implements UploadFileNameHandle { + + @Override + public String handle(String originalFilename) { + // 文件后缀 + String fileExtension = FilenameUtils.getExtension(originalFilename); + // 这里可自定义文件名称,比如按照业务类型/文件格式/日期 + // 此处按照文件日期存储 + String dateString = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmssSSS")); + + return dateString + "." + fileExtension; + } + } +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/util/VerificationCode.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/util/VerificationCode.java new file mode 100644 index 0000000..316e2e3 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/util/VerificationCode.java @@ -0,0 +1,162 @@ + + +package net.jjjerp.framework.util; + +import java.awt.*; +import java.awt.image.BufferedImage; +import java.util.Random; + +public class VerificationCode { + /** + * 验证码图片的长 + **/ + private int weight = 110; + /** + * 验证码图片的高 + */ + private int height = 38; + /** + * 用来保存验证码的文本内容 + **/ + private String text; + /** + * 获取随机数对象 + **/ + private Random r = new Random(); + /** + * 字体数组 + **/ + private String[] fontNames = {"宋体", "华文楷体", "黑体", "微软雅黑", "楷体_GB2312"}; + /** + * 验证码数组 + **/ + private String codes = "23456789acdefghjkmnopqrstuvwxyzACDEFGHJKMNPQRSTUVWXYZ"; + /** + * 生成的验证码的个数 + **/ + private int codeNum = 4; + /** + * 255 + **/ + private static int TWO_FIVE_FIVE = 255; + + /** + * 获取随机的颜色 + */ + private Color randomColor() { + //这里为什么是150,因为当r,g,b都为255时,即为白色,为了好辨认,需要颜色深一点。 + int r = this.r.nextInt(150); + int g = this.r.nextInt(150); + int b = this.r.nextInt(150); + //返回一个随机颜色 + return new Color(r, g, b); + } + + /** + * 获取随机字体 + */ + private Font randomFont() { + //获取随机的字体 + int index = r.nextInt(fontNames.length); + String fontName = fontNames[index]; + //随机获取字体的样式,0是无样式,1是加粗,2是斜体,3是加粗加斜体 + int style = r.nextInt(4); + //随机获取字体的大小 + int size = r.nextInt(5) + 24; + //返回一个随机的字体 + return new Font(fontName, style, size); + } + + /** + * 获取随机字符 + */ + private char randomChar() { + int index = r.nextInt(codes.length()); + return codes.charAt(index); + } + + /** + * 画干扰线,验证码干扰线用来防止计算机解析图片 + */ + private void drawLine(BufferedImage image) { + int num = 155; + //定义干扰线的数量 + Graphics2D g = (Graphics2D) image.getGraphics(); + for (int i = 0; i < num; i++) { + int x = r.nextInt(weight); + int y = r.nextInt(height); + int xl = r.nextInt(weight); + int yl = r.nextInt(height); + g.setColor(getRandColor(160, 200)); + g.drawLine(x, y, x + xl, y + yl); + } + } + + /** + * 创建图片的方法 + */ + private BufferedImage createImage() { + //创建图片缓冲区 + BufferedImage image = new BufferedImage(weight, height, BufferedImage.TYPE_INT_RGB); + //获取画笔 + Graphics2D g = (Graphics2D) image.getGraphics(); + // 设定图像背景色(因为是做背景,所以偏淡) + g.setColor(getRandColor(200, 250)); + g.fillRect(0, 0, weight, height); + //返回一个图片 + return image; + } + + /** + * 获取验证码图片的方法 + */ + public BufferedImage getImage() { + BufferedImage image = createImage(); + //获取画笔 + Graphics2D g = (Graphics2D) image.getGraphics(); + StringBuilder sb = new StringBuilder(); + drawLine(image); + //画四个字符即可 + for (int i = 0; i < codeNum; i++) { + //随机生成字符,因为只有画字符串的方法,没有画字符的方法,所以需要将字符变成字符串再画 + String s = randomChar() + ""; + //添加到StringBuilder里面 + sb.append(s); + //定义字符的x坐标 + float x = i * 1.0F * weight / 4; + //设置字体,随机 + g.setFont(randomFont()); + //设置颜色,随机 + g.setColor(randomColor()); + g.drawString(s, x, height - 5); + } + this.text = sb.toString(); + return image; + } + + /** + * 给定范围获得随机颜色 + */ + Color getRandColor(int fc, int bc) { + Random random = new Random(); + if (fc > TWO_FIVE_FIVE) { + fc = TWO_FIVE_FIVE; + } + + if (bc > TWO_FIVE_FIVE) { + bc = TWO_FIVE_FIVE; + } + + int r = fc + random.nextInt(bc - fc); + int g = fc + random.nextInt(bc - fc); + int b = fc + random.nextInt(bc - fc); + return new Color(r, g, b); + } + + /** + * 获取验证码文本的方法 + */ + public String getText() { + return text; + } +} diff --git a/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/util/package-info.java b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/util/package-info.java new file mode 100644 index 0000000..76324af --- /dev/null +++ b/jjj_erp/jjj-common/src/main/java/net/jjjerp/framework/util/package-info.java @@ -0,0 +1,6 @@ + + +/** + * 公共工具包 + */ +package net.jjjerp.framework.util; \ No newline at end of file diff --git a/jjj_erp/jjj-common/src/main/resources/mapper/bill/BillAddressMapper.xml b/jjj_erp/jjj-common/src/main/resources/mapper/bill/BillAddressMapper.xml new file mode 100644 index 0000000..4157816 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/resources/mapper/bill/BillAddressMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/jjj_erp/jjj-common/src/main/resources/mapper/bill/BillDeliveryMapper.xml b/jjj_erp/jjj-common/src/main/resources/mapper/bill/BillDeliveryMapper.xml new file mode 100644 index 0000000..0afe42a --- /dev/null +++ b/jjj_erp/jjj-common/src/main/resources/mapper/bill/BillDeliveryMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/jjj_erp/jjj-common/src/main/resources/mapper/bill/BillHeadMapper.xml b/jjj_erp/jjj-common/src/main/resources/mapper/bill/BillHeadMapper.xml new file mode 100644 index 0000000..3680967 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/resources/mapper/bill/BillHeadMapper.xml @@ -0,0 +1,4 @@ + + + + diff --git a/jjj_erp/jjj-common/src/main/resources/mapper/bill/BillItemMapper.xml b/jjj_erp/jjj-common/src/main/resources/mapper/bill/BillItemMapper.xml new file mode 100644 index 0000000..57d8654 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/resources/mapper/bill/BillItemMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/jjj_erp/jjj-common/src/main/resources/mapper/customer/CustomerAddressMapper.xml b/jjj_erp/jjj-common/src/main/resources/mapper/customer/CustomerAddressMapper.xml new file mode 100644 index 0000000..645f0e2 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/resources/mapper/customer/CustomerAddressMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/jjj_erp/jjj-common/src/main/resources/mapper/customer/CustomerMapper.xml b/jjj_erp/jjj-common/src/main/resources/mapper/customer/CustomerMapper.xml new file mode 100644 index 0000000..dc24a22 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/resources/mapper/customer/CustomerMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/jjj_erp/jjj-common/src/main/resources/mapper/depot/DeliverAreaMapper.xml b/jjj_erp/jjj-common/src/main/resources/mapper/depot/DeliverAreaMapper.xml new file mode 100644 index 0000000..62434f1 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/resources/mapper/depot/DeliverAreaMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/jjj_erp/jjj-common/src/main/resources/mapper/depot/DepotAreaMapper.xml b/jjj_erp/jjj-common/src/main/resources/mapper/depot/DepotAreaMapper.xml new file mode 100644 index 0000000..52ac8a3 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/resources/mapper/depot/DepotAreaMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/jjj_erp/jjj-common/src/main/resources/mapper/depot/DepotMapper.xml b/jjj_erp/jjj-common/src/main/resources/mapper/depot/DepotMapper.xml new file mode 100644 index 0000000..5bd8967 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/resources/mapper/depot/DepotMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/jjj_erp/jjj-common/src/main/resources/mapper/depot/DepotReservoirMapper.xml b/jjj_erp/jjj-common/src/main/resources/mapper/depot/DepotReservoirMapper.xml new file mode 100644 index 0000000..1fb64a5 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/resources/mapper/depot/DepotReservoirMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/jjj_erp/jjj-common/src/main/resources/mapper/depot/DepotShelfMapper.xml b/jjj_erp/jjj-common/src/main/resources/mapper/depot/DepotShelfMapper.xml new file mode 100644 index 0000000..1c57e6a --- /dev/null +++ b/jjj_erp/jjj-common/src/main/resources/mapper/depot/DepotShelfMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/jjj_erp/jjj-common/src/main/resources/mapper/depot/DepotStorageMapper.xml b/jjj_erp/jjj-common/src/main/resources/mapper/depot/DepotStorageMapper.xml new file mode 100644 index 0000000..fda0a84 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/resources/mapper/depot/DepotStorageMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/jjj_erp/jjj-common/src/main/resources/mapper/depot/DepotStorageStockMapper.xml b/jjj_erp/jjj-common/src/main/resources/mapper/depot/DepotStorageStockMapper.xml new file mode 100644 index 0000000..70795d9 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/resources/mapper/depot/DepotStorageStockMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/jjj_erp/jjj-common/src/main/resources/mapper/finance/capital/AccountMapper.xml b/jjj_erp/jjj-common/src/main/resources/mapper/finance/capital/AccountMapper.xml new file mode 100644 index 0000000..caaa01c --- /dev/null +++ b/jjj_erp/jjj-common/src/main/resources/mapper/finance/capital/AccountMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/jjj_erp/jjj-common/src/main/resources/mapper/finance/capital/AccountMoneyLogMapper.xml b/jjj_erp/jjj-common/src/main/resources/mapper/finance/capital/AccountMoneyLogMapper.xml new file mode 100644 index 0000000..19f57f0 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/resources/mapper/finance/capital/AccountMoneyLogMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/jjj_erp/jjj-common/src/main/resources/mapper/product/ProductAttributeMapper.xml b/jjj_erp/jjj-common/src/main/resources/mapper/product/ProductAttributeMapper.xml new file mode 100644 index 0000000..f0ee726 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/resources/mapper/product/ProductAttributeMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/jjj_erp/jjj-common/src/main/resources/mapper/product/ProductCategoryMapper.xml b/jjj_erp/jjj-common/src/main/resources/mapper/product/ProductCategoryMapper.xml new file mode 100644 index 0000000..4dab928 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/resources/mapper/product/ProductCategoryMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/jjj_erp/jjj-common/src/main/resources/mapper/product/ProductDeputyUnitMapper.xml b/jjj_erp/jjj-common/src/main/resources/mapper/product/ProductDeputyUnitMapper.xml new file mode 100644 index 0000000..6c3913e --- /dev/null +++ b/jjj_erp/jjj-common/src/main/resources/mapper/product/ProductDeputyUnitMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/jjj_erp/jjj-common/src/main/resources/mapper/product/ProductExtendMapper.xml b/jjj_erp/jjj-common/src/main/resources/mapper/product/ProductExtendMapper.xml new file mode 100644 index 0000000..53eee9b --- /dev/null +++ b/jjj_erp/jjj-common/src/main/resources/mapper/product/ProductExtendMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/jjj_erp/jjj-common/src/main/resources/mapper/product/ProductImageMapper.xml b/jjj_erp/jjj-common/src/main/resources/mapper/product/ProductImageMapper.xml new file mode 100644 index 0000000..a75b502 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/resources/mapper/product/ProductImageMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/jjj_erp/jjj-common/src/main/resources/mapper/product/ProductMapper.xml b/jjj_erp/jjj-common/src/main/resources/mapper/product/ProductMapper.xml new file mode 100644 index 0000000..262f33b --- /dev/null +++ b/jjj_erp/jjj-common/src/main/resources/mapper/product/ProductMapper.xml @@ -0,0 +1,4 @@ + + + + diff --git a/jjj_erp/jjj-common/src/main/resources/mapper/product/ProductMfrsMapper.xml b/jjj_erp/jjj-common/src/main/resources/mapper/product/ProductMfrsMapper.xml new file mode 100644 index 0000000..bd0bb48 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/resources/mapper/product/ProductMfrsMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/jjj_erp/jjj-common/src/main/resources/mapper/product/ProductUnitMapper.xml b/jjj_erp/jjj-common/src/main/resources/mapper/product/ProductUnitMapper.xml new file mode 100644 index 0000000..135839a --- /dev/null +++ b/jjj_erp/jjj-common/src/main/resources/mapper/product/ProductUnitMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/jjj_erp/jjj-common/src/main/resources/mapper/settings/DeliveryMapper.xml b/jjj_erp/jjj-common/src/main/resources/mapper/settings/DeliveryMapper.xml new file mode 100644 index 0000000..88e4f51 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/resources/mapper/settings/DeliveryMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/jjj_erp/jjj-common/src/main/resources/mapper/settings/DeliveryRuleMapper.xml b/jjj_erp/jjj-common/src/main/resources/mapper/settings/DeliveryRuleMapper.xml new file mode 100644 index 0000000..8340370 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/resources/mapper/settings/DeliveryRuleMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/jjj_erp/jjj-common/src/main/resources/mapper/settings/DeliveryTemplateMapper.xml b/jjj_erp/jjj-common/src/main/resources/mapper/settings/DeliveryTemplateMapper.xml new file mode 100644 index 0000000..63288fe --- /dev/null +++ b/jjj_erp/jjj-common/src/main/resources/mapper/settings/DeliveryTemplateMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/jjj_erp/jjj-common/src/main/resources/mapper/settings/ExpressMapper.xml b/jjj_erp/jjj-common/src/main/resources/mapper/settings/ExpressMapper.xml new file mode 100644 index 0000000..fcffcdf --- /dev/null +++ b/jjj_erp/jjj-common/src/main/resources/mapper/settings/ExpressMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/jjj_erp/jjj-common/src/main/resources/mapper/settings/LabelSettingMapper.xml b/jjj_erp/jjj-common/src/main/resources/mapper/settings/LabelSettingMapper.xml new file mode 100644 index 0000000..69592c7 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/resources/mapper/settings/LabelSettingMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/jjj_erp/jjj-common/src/main/resources/mapper/settings/MessageFieldMapper.xml b/jjj_erp/jjj-common/src/main/resources/mapper/settings/MessageFieldMapper.xml new file mode 100644 index 0000000..c21f77a --- /dev/null +++ b/jjj_erp/jjj-common/src/main/resources/mapper/settings/MessageFieldMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/jjj_erp/jjj-common/src/main/resources/mapper/settings/MessageMapper.xml b/jjj_erp/jjj-common/src/main/resources/mapper/settings/MessageMapper.xml new file mode 100644 index 0000000..9eab240 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/resources/mapper/settings/MessageMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/jjj_erp/jjj-common/src/main/resources/mapper/settings/PrinterMapper.xml b/jjj_erp/jjj-common/src/main/resources/mapper/settings/PrinterMapper.xml new file mode 100644 index 0000000..9c44d2f --- /dev/null +++ b/jjj_erp/jjj-common/src/main/resources/mapper/settings/PrinterMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/jjj_erp/jjj-common/src/main/resources/mapper/settings/RegionMapper.xml b/jjj_erp/jjj-common/src/main/resources/mapper/settings/RegionMapper.xml new file mode 100644 index 0000000..e3998c9 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/resources/mapper/settings/RegionMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/jjj_erp/jjj-common/src/main/resources/mapper/settings/ReturnAddressMapper.xml b/jjj_erp/jjj-common/src/main/resources/mapper/settings/ReturnAddressMapper.xml new file mode 100644 index 0000000..4e4e839 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/resources/mapper/settings/ReturnAddressMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/jjj_erp/jjj-common/src/main/resources/mapper/settings/SettingMapper.xml b/jjj_erp/jjj-common/src/main/resources/mapper/settings/SettingMapper.xml new file mode 100644 index 0000000..7f662a7 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/resources/mapper/settings/SettingMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/jjj_erp/jjj-common/src/main/resources/mapper/shop/ShopAccessMapper.xml b/jjj_erp/jjj-common/src/main/resources/mapper/shop/ShopAccessMapper.xml new file mode 100644 index 0000000..8300324 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/resources/mapper/shop/ShopAccessMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/jjj_erp/jjj-common/src/main/resources/mapper/shop/ShopFullreduceMapper.xml b/jjj_erp/jjj-common/src/main/resources/mapper/shop/ShopFullreduceMapper.xml new file mode 100644 index 0000000..3d0b950 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/resources/mapper/shop/ShopFullreduceMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/jjj_erp/jjj-common/src/main/resources/mapper/shop/ShopLoginLogMapper.xml b/jjj_erp/jjj-common/src/main/resources/mapper/shop/ShopLoginLogMapper.xml new file mode 100644 index 0000000..1b1d6d4 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/resources/mapper/shop/ShopLoginLogMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/jjj_erp/jjj-common/src/main/resources/mapper/shop/ShopOptLogMapper.xml b/jjj_erp/jjj-common/src/main/resources/mapper/shop/ShopOptLogMapper.xml new file mode 100644 index 0000000..40c5f25 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/resources/mapper/shop/ShopOptLogMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/jjj_erp/jjj-common/src/main/resources/mapper/shop/ShopRoleAccessMapper.xml b/jjj_erp/jjj-common/src/main/resources/mapper/shop/ShopRoleAccessMapper.xml new file mode 100644 index 0000000..d25ba34 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/resources/mapper/shop/ShopRoleAccessMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/jjj_erp/jjj-common/src/main/resources/mapper/shop/ShopRoleMapper.xml b/jjj_erp/jjj-common/src/main/resources/mapper/shop/ShopRoleMapper.xml new file mode 100644 index 0000000..1218341 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/resources/mapper/shop/ShopRoleMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/jjj_erp/jjj-common/src/main/resources/mapper/shop/ShopUserMapper.xml b/jjj_erp/jjj-common/src/main/resources/mapper/shop/ShopUserMapper.xml new file mode 100644 index 0000000..7daae5d --- /dev/null +++ b/jjj_erp/jjj-common/src/main/resources/mapper/shop/ShopUserMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/jjj_erp/jjj-common/src/main/resources/mapper/shop/ShopUserRoleMapper.xml b/jjj_erp/jjj-common/src/main/resources/mapper/shop/ShopUserRoleMapper.xml new file mode 100644 index 0000000..d5d383a --- /dev/null +++ b/jjj_erp/jjj-common/src/main/resources/mapper/shop/ShopUserRoleMapper.xml @@ -0,0 +1,4 @@ + + + + diff --git a/jjj_erp/jjj-common/src/main/resources/mapper/store/StoreMapper.xml b/jjj_erp/jjj-common/src/main/resources/mapper/store/StoreMapper.xml new file mode 100644 index 0000000..ae03462 --- /dev/null +++ b/jjj_erp/jjj-common/src/main/resources/mapper/store/StoreMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/jjj_erp/jjj-common/src/main/resources/mapper/supplier/SupplierMapper.xml b/jjj_erp/jjj-common/src/main/resources/mapper/supplier/SupplierMapper.xml new file mode 100644 index 0000000..307baed --- /dev/null +++ b/jjj_erp/jjj-common/src/main/resources/mapper/supplier/SupplierMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/jjj_erp/jjj-common/target/classes/mapper/bill/BillAddressMapper.xml b/jjj_erp/jjj-common/target/classes/mapper/bill/BillAddressMapper.xml new file mode 100644 index 0000000..4157816 --- /dev/null +++ b/jjj_erp/jjj-common/target/classes/mapper/bill/BillAddressMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/jjj_erp/jjj-common/target/classes/mapper/bill/BillDeliveryMapper.xml b/jjj_erp/jjj-common/target/classes/mapper/bill/BillDeliveryMapper.xml new file mode 100644 index 0000000..0afe42a --- /dev/null +++ b/jjj_erp/jjj-common/target/classes/mapper/bill/BillDeliveryMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/jjj_erp/jjj-common/target/classes/mapper/bill/BillHeadMapper.xml b/jjj_erp/jjj-common/target/classes/mapper/bill/BillHeadMapper.xml new file mode 100644 index 0000000..3680967 --- /dev/null +++ b/jjj_erp/jjj-common/target/classes/mapper/bill/BillHeadMapper.xml @@ -0,0 +1,4 @@ + + + + diff --git a/jjj_erp/jjj-common/target/classes/mapper/bill/BillItemMapper.xml b/jjj_erp/jjj-common/target/classes/mapper/bill/BillItemMapper.xml new file mode 100644 index 0000000..57d8654 --- /dev/null +++ b/jjj_erp/jjj-common/target/classes/mapper/bill/BillItemMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/jjj_erp/jjj-common/target/classes/mapper/customer/CustomerAddressMapper.xml b/jjj_erp/jjj-common/target/classes/mapper/customer/CustomerAddressMapper.xml new file mode 100644 index 0000000..645f0e2 --- /dev/null +++ b/jjj_erp/jjj-common/target/classes/mapper/customer/CustomerAddressMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/jjj_erp/jjj-common/target/classes/mapper/customer/CustomerMapper.xml b/jjj_erp/jjj-common/target/classes/mapper/customer/CustomerMapper.xml new file mode 100644 index 0000000..dc24a22 --- /dev/null +++ b/jjj_erp/jjj-common/target/classes/mapper/customer/CustomerMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/jjj_erp/jjj-common/target/classes/mapper/depot/DeliverAreaMapper.xml b/jjj_erp/jjj-common/target/classes/mapper/depot/DeliverAreaMapper.xml new file mode 100644 index 0000000..62434f1 --- /dev/null +++ b/jjj_erp/jjj-common/target/classes/mapper/depot/DeliverAreaMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/jjj_erp/jjj-common/target/classes/mapper/depot/DepotAreaMapper.xml b/jjj_erp/jjj-common/target/classes/mapper/depot/DepotAreaMapper.xml new file mode 100644 index 0000000..52ac8a3 --- /dev/null +++ b/jjj_erp/jjj-common/target/classes/mapper/depot/DepotAreaMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/jjj_erp/jjj-common/target/classes/mapper/depot/DepotMapper.xml b/jjj_erp/jjj-common/target/classes/mapper/depot/DepotMapper.xml new file mode 100644 index 0000000..5bd8967 --- /dev/null +++ b/jjj_erp/jjj-common/target/classes/mapper/depot/DepotMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/jjj_erp/jjj-common/target/classes/mapper/depot/DepotReservoirMapper.xml b/jjj_erp/jjj-common/target/classes/mapper/depot/DepotReservoirMapper.xml new file mode 100644 index 0000000..1fb64a5 --- /dev/null +++ b/jjj_erp/jjj-common/target/classes/mapper/depot/DepotReservoirMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/jjj_erp/jjj-common/target/classes/mapper/depot/DepotShelfMapper.xml b/jjj_erp/jjj-common/target/classes/mapper/depot/DepotShelfMapper.xml new file mode 100644 index 0000000..1c57e6a --- /dev/null +++ b/jjj_erp/jjj-common/target/classes/mapper/depot/DepotShelfMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/jjj_erp/jjj-common/target/classes/mapper/depot/DepotStorageMapper.xml b/jjj_erp/jjj-common/target/classes/mapper/depot/DepotStorageMapper.xml new file mode 100644 index 0000000..fda0a84 --- /dev/null +++ b/jjj_erp/jjj-common/target/classes/mapper/depot/DepotStorageMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/jjj_erp/jjj-common/target/classes/mapper/depot/DepotStorageStockMapper.xml b/jjj_erp/jjj-common/target/classes/mapper/depot/DepotStorageStockMapper.xml new file mode 100644 index 0000000..70795d9 --- /dev/null +++ b/jjj_erp/jjj-common/target/classes/mapper/depot/DepotStorageStockMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/jjj_erp/jjj-common/target/classes/mapper/finance/capital/AccountMapper.xml b/jjj_erp/jjj-common/target/classes/mapper/finance/capital/AccountMapper.xml new file mode 100644 index 0000000..caaa01c --- /dev/null +++ b/jjj_erp/jjj-common/target/classes/mapper/finance/capital/AccountMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/jjj_erp/jjj-common/target/classes/mapper/finance/capital/AccountMoneyLogMapper.xml b/jjj_erp/jjj-common/target/classes/mapper/finance/capital/AccountMoneyLogMapper.xml new file mode 100644 index 0000000..19f57f0 --- /dev/null +++ b/jjj_erp/jjj-common/target/classes/mapper/finance/capital/AccountMoneyLogMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/jjj_erp/jjj-common/target/classes/mapper/product/ProductAttributeMapper.xml b/jjj_erp/jjj-common/target/classes/mapper/product/ProductAttributeMapper.xml new file mode 100644 index 0000000..f0ee726 --- /dev/null +++ b/jjj_erp/jjj-common/target/classes/mapper/product/ProductAttributeMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/jjj_erp/jjj-common/target/classes/mapper/product/ProductCategoryMapper.xml b/jjj_erp/jjj-common/target/classes/mapper/product/ProductCategoryMapper.xml new file mode 100644 index 0000000..4dab928 --- /dev/null +++ b/jjj_erp/jjj-common/target/classes/mapper/product/ProductCategoryMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/jjj_erp/jjj-common/target/classes/mapper/product/ProductDeputyUnitMapper.xml b/jjj_erp/jjj-common/target/classes/mapper/product/ProductDeputyUnitMapper.xml new file mode 100644 index 0000000..6c3913e --- /dev/null +++ b/jjj_erp/jjj-common/target/classes/mapper/product/ProductDeputyUnitMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/jjj_erp/jjj-common/target/classes/mapper/product/ProductExtendMapper.xml b/jjj_erp/jjj-common/target/classes/mapper/product/ProductExtendMapper.xml new file mode 100644 index 0000000..53eee9b --- /dev/null +++ b/jjj_erp/jjj-common/target/classes/mapper/product/ProductExtendMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/jjj_erp/jjj-common/target/classes/mapper/product/ProductImageMapper.xml b/jjj_erp/jjj-common/target/classes/mapper/product/ProductImageMapper.xml new file mode 100644 index 0000000..a75b502 --- /dev/null +++ b/jjj_erp/jjj-common/target/classes/mapper/product/ProductImageMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/jjj_erp/jjj-common/target/classes/mapper/product/ProductMapper.xml b/jjj_erp/jjj-common/target/classes/mapper/product/ProductMapper.xml new file mode 100644 index 0000000..262f33b --- /dev/null +++ b/jjj_erp/jjj-common/target/classes/mapper/product/ProductMapper.xml @@ -0,0 +1,4 @@ + + + + diff --git a/jjj_erp/jjj-common/target/classes/mapper/product/ProductMfrsMapper.xml b/jjj_erp/jjj-common/target/classes/mapper/product/ProductMfrsMapper.xml new file mode 100644 index 0000000..bd0bb48 --- /dev/null +++ b/jjj_erp/jjj-common/target/classes/mapper/product/ProductMfrsMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/jjj_erp/jjj-common/target/classes/mapper/product/ProductUnitMapper.xml b/jjj_erp/jjj-common/target/classes/mapper/product/ProductUnitMapper.xml new file mode 100644 index 0000000..135839a --- /dev/null +++ b/jjj_erp/jjj-common/target/classes/mapper/product/ProductUnitMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/jjj_erp/jjj-common/target/classes/mapper/settings/DeliveryMapper.xml b/jjj_erp/jjj-common/target/classes/mapper/settings/DeliveryMapper.xml new file mode 100644 index 0000000..88e4f51 --- /dev/null +++ b/jjj_erp/jjj-common/target/classes/mapper/settings/DeliveryMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/jjj_erp/jjj-common/target/classes/mapper/settings/DeliveryRuleMapper.xml b/jjj_erp/jjj-common/target/classes/mapper/settings/DeliveryRuleMapper.xml new file mode 100644 index 0000000..8340370 --- /dev/null +++ b/jjj_erp/jjj-common/target/classes/mapper/settings/DeliveryRuleMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/jjj_erp/jjj-common/target/classes/mapper/settings/DeliveryTemplateMapper.xml b/jjj_erp/jjj-common/target/classes/mapper/settings/DeliveryTemplateMapper.xml new file mode 100644 index 0000000..63288fe --- /dev/null +++ b/jjj_erp/jjj-common/target/classes/mapper/settings/DeliveryTemplateMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/jjj_erp/jjj-common/target/classes/mapper/settings/ExpressMapper.xml b/jjj_erp/jjj-common/target/classes/mapper/settings/ExpressMapper.xml new file mode 100644 index 0000000..fcffcdf --- /dev/null +++ b/jjj_erp/jjj-common/target/classes/mapper/settings/ExpressMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/jjj_erp/jjj-common/target/classes/mapper/settings/LabelSettingMapper.xml b/jjj_erp/jjj-common/target/classes/mapper/settings/LabelSettingMapper.xml new file mode 100644 index 0000000..69592c7 --- /dev/null +++ b/jjj_erp/jjj-common/target/classes/mapper/settings/LabelSettingMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/jjj_erp/jjj-common/target/classes/mapper/settings/MessageFieldMapper.xml b/jjj_erp/jjj-common/target/classes/mapper/settings/MessageFieldMapper.xml new file mode 100644 index 0000000..c21f77a --- /dev/null +++ b/jjj_erp/jjj-common/target/classes/mapper/settings/MessageFieldMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/jjj_erp/jjj-common/target/classes/mapper/settings/MessageMapper.xml b/jjj_erp/jjj-common/target/classes/mapper/settings/MessageMapper.xml new file mode 100644 index 0000000..9eab240 --- /dev/null +++ b/jjj_erp/jjj-common/target/classes/mapper/settings/MessageMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/jjj_erp/jjj-common/target/classes/mapper/settings/PrinterMapper.xml b/jjj_erp/jjj-common/target/classes/mapper/settings/PrinterMapper.xml new file mode 100644 index 0000000..9c44d2f --- /dev/null +++ b/jjj_erp/jjj-common/target/classes/mapper/settings/PrinterMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/jjj_erp/jjj-common/target/classes/mapper/settings/RegionMapper.xml b/jjj_erp/jjj-common/target/classes/mapper/settings/RegionMapper.xml new file mode 100644 index 0000000..e3998c9 --- /dev/null +++ b/jjj_erp/jjj-common/target/classes/mapper/settings/RegionMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/jjj_erp/jjj-common/target/classes/mapper/settings/ReturnAddressMapper.xml b/jjj_erp/jjj-common/target/classes/mapper/settings/ReturnAddressMapper.xml new file mode 100644 index 0000000..4e4e839 --- /dev/null +++ b/jjj_erp/jjj-common/target/classes/mapper/settings/ReturnAddressMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/jjj_erp/jjj-common/target/classes/mapper/settings/SettingMapper.xml b/jjj_erp/jjj-common/target/classes/mapper/settings/SettingMapper.xml new file mode 100644 index 0000000..7f662a7 --- /dev/null +++ b/jjj_erp/jjj-common/target/classes/mapper/settings/SettingMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/jjj_erp/jjj-common/target/classes/mapper/shop/ShopAccessMapper.xml b/jjj_erp/jjj-common/target/classes/mapper/shop/ShopAccessMapper.xml new file mode 100644 index 0000000..8300324 --- /dev/null +++ b/jjj_erp/jjj-common/target/classes/mapper/shop/ShopAccessMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/jjj_erp/jjj-common/target/classes/mapper/shop/ShopFullreduceMapper.xml b/jjj_erp/jjj-common/target/classes/mapper/shop/ShopFullreduceMapper.xml new file mode 100644 index 0000000..3d0b950 --- /dev/null +++ b/jjj_erp/jjj-common/target/classes/mapper/shop/ShopFullreduceMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/jjj_erp/jjj-common/target/classes/mapper/shop/ShopLoginLogMapper.xml b/jjj_erp/jjj-common/target/classes/mapper/shop/ShopLoginLogMapper.xml new file mode 100644 index 0000000..1b1d6d4 --- /dev/null +++ b/jjj_erp/jjj-common/target/classes/mapper/shop/ShopLoginLogMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/jjj_erp/jjj-common/target/classes/mapper/shop/ShopOptLogMapper.xml b/jjj_erp/jjj-common/target/classes/mapper/shop/ShopOptLogMapper.xml new file mode 100644 index 0000000..40c5f25 --- /dev/null +++ b/jjj_erp/jjj-common/target/classes/mapper/shop/ShopOptLogMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/jjj_erp/jjj-common/target/classes/mapper/shop/ShopRoleAccessMapper.xml b/jjj_erp/jjj-common/target/classes/mapper/shop/ShopRoleAccessMapper.xml new file mode 100644 index 0000000..d25ba34 --- /dev/null +++ b/jjj_erp/jjj-common/target/classes/mapper/shop/ShopRoleAccessMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/jjj_erp/jjj-common/target/classes/mapper/shop/ShopRoleMapper.xml b/jjj_erp/jjj-common/target/classes/mapper/shop/ShopRoleMapper.xml new file mode 100644 index 0000000..1218341 --- /dev/null +++ b/jjj_erp/jjj-common/target/classes/mapper/shop/ShopRoleMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/jjj_erp/jjj-common/target/classes/mapper/shop/ShopUserMapper.xml b/jjj_erp/jjj-common/target/classes/mapper/shop/ShopUserMapper.xml new file mode 100644 index 0000000..7daae5d --- /dev/null +++ b/jjj_erp/jjj-common/target/classes/mapper/shop/ShopUserMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/jjj_erp/jjj-common/target/classes/mapper/shop/ShopUserRoleMapper.xml b/jjj_erp/jjj-common/target/classes/mapper/shop/ShopUserRoleMapper.xml new file mode 100644 index 0000000..d5d383a --- /dev/null +++ b/jjj_erp/jjj-common/target/classes/mapper/shop/ShopUserRoleMapper.xml @@ -0,0 +1,4 @@ + + + + diff --git a/jjj_erp/jjj-common/target/classes/mapper/store/StoreMapper.xml b/jjj_erp/jjj-common/target/classes/mapper/store/StoreMapper.xml new file mode 100644 index 0000000..ae03462 --- /dev/null +++ b/jjj_erp/jjj-common/target/classes/mapper/store/StoreMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/jjj_erp/jjj-common/target/classes/mapper/supplier/SupplierMapper.xml b/jjj_erp/jjj-common/target/classes/mapper/supplier/SupplierMapper.xml new file mode 100644 index 0000000..307baed --- /dev/null +++ b/jjj_erp/jjj-common/target/classes/mapper/supplier/SupplierMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/cache/RegionCache.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/cache/RegionCache.class new file mode 100644 index 0000000..ff345ad Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/cache/RegionCache.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/admin/SaasUser.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/admin/SaasUser.class new file mode 100644 index 0000000..9c32c80 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/admin/SaasUser.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/app/App.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/app/App.class new file mode 100644 index 0000000..358329a Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/app/App.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/app/AppMp.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/app/AppMp.class new file mode 100644 index 0000000..75c450d Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/app/AppMp.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/app/AppOpen.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/app/AppOpen.class new file mode 100644 index 0000000..5798c85 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/app/AppOpen.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/app/AppUpdate.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/app/AppUpdate.class new file mode 100644 index 0000000..45346ee Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/app/AppUpdate.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/app/AppWx.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/app/AppWx.class new file mode 100644 index 0000000..88aec04 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/app/AppWx.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/bill/BillAddress.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/bill/BillAddress.class new file mode 100644 index 0000000..3069aee Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/bill/BillAddress.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/bill/BillDelivery.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/bill/BillDelivery.class new file mode 100644 index 0000000..5e18a5c Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/bill/BillDelivery.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/bill/BillHead.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/bill/BillHead.class new file mode 100644 index 0000000..9a494c6 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/bill/BillHead.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/bill/BillItem.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/bill/BillItem.class new file mode 100644 index 0000000..3d548a3 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/bill/BillItem.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/customer/Customer.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/customer/Customer.class new file mode 100644 index 0000000..6d3329d Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/customer/Customer.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/customer/CustomerAddress.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/customer/CustomerAddress.class new file mode 100644 index 0000000..503896f Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/customer/CustomerAddress.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/depot/DeliverArea.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/depot/DeliverArea.class new file mode 100644 index 0000000..f66a6d9 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/depot/DeliverArea.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/depot/Depot.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/depot/Depot.class new file mode 100644 index 0000000..dee3c9e Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/depot/Depot.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/depot/DepotArea.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/depot/DepotArea.class new file mode 100644 index 0000000..f5cba42 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/depot/DepotArea.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/depot/DepotReservoir.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/depot/DepotReservoir.class new file mode 100644 index 0000000..1e59042 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/depot/DepotReservoir.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/depot/DepotShelf.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/depot/DepotShelf.class new file mode 100644 index 0000000..0813f2a Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/depot/DepotShelf.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/depot/DepotStorage.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/depot/DepotStorage.class new file mode 100644 index 0000000..df492a4 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/depot/DepotStorage.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/depot/DepotStorageStock.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/depot/DepotStorageStock.class new file mode 100644 index 0000000..c1dfce3 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/depot/DepotStorageStock.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/file/ImageBank.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/file/ImageBank.class new file mode 100644 index 0000000..11cdaeb Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/file/ImageBank.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/file/UploadFile.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/file/UploadFile.class new file mode 100644 index 0000000..1b5b819 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/file/UploadFile.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/file/UploadGroup.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/file/UploadGroup.class new file mode 100644 index 0000000..9177272 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/file/UploadGroup.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/finance/capital/Account.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/finance/capital/Account.class new file mode 100644 index 0000000..709a549 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/finance/capital/Account.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/finance/capital/AccountMoneyLog.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/finance/capital/AccountMoneyLog.class new file mode 100644 index 0000000..63ead52 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/finance/capital/AccountMoneyLog.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/page/CenterMenu.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/page/CenterMenu.class new file mode 100644 index 0000000..4c7b8b9 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/page/CenterMenu.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/page/Page.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/page/Page.class new file mode 100644 index 0000000..6a5731f Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/page/Page.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/page/PageCategory.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/page/PageCategory.class new file mode 100644 index 0000000..2baca19 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/page/PageCategory.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/product/Product.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/product/Product.class new file mode 100644 index 0000000..141274d Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/product/Product.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/product/ProductAttribute.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/product/ProductAttribute.class new file mode 100644 index 0000000..377cf6c Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/product/ProductAttribute.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/product/ProductCategory.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/product/ProductCategory.class new file mode 100644 index 0000000..99f25db Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/product/ProductCategory.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/product/ProductDeputyUnit.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/product/ProductDeputyUnit.class new file mode 100644 index 0000000..fd68f35 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/product/ProductDeputyUnit.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/product/ProductExtend.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/product/ProductExtend.class new file mode 100644 index 0000000..4746002 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/product/ProductExtend.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/product/ProductImage.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/product/ProductImage.class new file mode 100644 index 0000000..f39a359 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/product/ProductImage.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/product/ProductMfrs.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/product/ProductMfrs.class new file mode 100644 index 0000000..db62fda Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/product/ProductMfrs.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/product/ProductUnit.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/product/ProductUnit.class new file mode 100644 index 0000000..950edb9 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/product/ProductUnit.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/settings/Delivery.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/settings/Delivery.class new file mode 100644 index 0000000..be5580e Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/settings/Delivery.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/settings/DeliveryRule.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/settings/DeliveryRule.class new file mode 100644 index 0000000..03600db Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/settings/DeliveryRule.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/settings/DeliveryTemplate.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/settings/DeliveryTemplate.class new file mode 100644 index 0000000..64b7e8a Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/settings/DeliveryTemplate.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/settings/Express.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/settings/Express.class new file mode 100644 index 0000000..f8ca5a5 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/settings/Express.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/settings/LabelSetting.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/settings/LabelSetting.class new file mode 100644 index 0000000..0572536 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/settings/LabelSetting.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/settings/Message.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/settings/Message.class new file mode 100644 index 0000000..930ea70 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/settings/Message.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/settings/MessageField.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/settings/MessageField.class new file mode 100644 index 0000000..caa217c Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/settings/MessageField.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/settings/MessageSettings.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/settings/MessageSettings.class new file mode 100644 index 0000000..abe8ffd Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/settings/MessageSettings.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/settings/Printer.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/settings/Printer.class new file mode 100644 index 0000000..febf2b1 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/settings/Printer.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/settings/Region.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/settings/Region.class new file mode 100644 index 0000000..d4a15dc Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/settings/Region.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/settings/ReturnAddress.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/settings/ReturnAddress.class new file mode 100644 index 0000000..725ab30 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/settings/ReturnAddress.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/settings/Setting.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/settings/Setting.class new file mode 100644 index 0000000..604e4ae Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/settings/Setting.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/shop/AdminAccess.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/shop/AdminAccess.class new file mode 100644 index 0000000..2d91508 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/shop/AdminAccess.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/shop/AdminLoginLog.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/shop/AdminLoginLog.class new file mode 100644 index 0000000..bd7069d Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/shop/AdminLoginLog.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/shop/AdminOptLog.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/shop/AdminOptLog.class new file mode 100644 index 0000000..86f13da Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/shop/AdminOptLog.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/shop/AdminRole.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/shop/AdminRole.class new file mode 100644 index 0000000..1483785 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/shop/AdminRole.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/shop/AdminRoleAccess.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/shop/AdminRoleAccess.class new file mode 100644 index 0000000..b8f75de Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/shop/AdminRoleAccess.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/shop/AdminUser.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/shop/AdminUser.class new file mode 100644 index 0000000..531bef0 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/shop/AdminUser.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/shop/AdminUserRole.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/shop/AdminUserRole.class new file mode 100644 index 0000000..e7f6772 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/shop/AdminUserRole.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/store/Store.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/store/Store.class new file mode 100644 index 0000000..f533bf5 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/store/Store.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/supplier/Supplier.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/supplier/Supplier.class new file mode 100644 index 0000000..169cb63 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/supplier/Supplier.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/system/Sms.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/system/Sms.class new file mode 100644 index 0000000..07f4810 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/system/Sms.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/system/SystemVersion.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/system/SystemVersion.class new file mode 100644 index 0000000..75f46c1 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/entity/system/SystemVersion.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/enums/BillTypeEnum.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/enums/BillTypeEnum.class new file mode 100644 index 0000000..1b03c65 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/enums/BillTypeEnum.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/enums/BusinessTypeEnum.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/enums/BusinessTypeEnum.class new file mode 100644 index 0000000..ced9be2 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/enums/BusinessTypeEnum.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/enums/DeliveryStatuEnum.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/enums/DeliveryStatuEnum.class new file mode 100644 index 0000000..c4ef7dc Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/enums/DeliveryStatuEnum.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/enums/DeliveryTypeEnum.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/enums/DeliveryTypeEnum.class new file mode 100644 index 0000000..68e2c2c Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/enums/DeliveryTypeEnum.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/enums/MessageTypeEnum.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/enums/MessageTypeEnum.class new file mode 100644 index 0000000..ac2a3d3 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/enums/MessageTypeEnum.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/enums/OrderPayStatusEnum.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/enums/OrderPayStatusEnum.class new file mode 100644 index 0000000..82064d7 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/enums/OrderPayStatusEnum.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/enums/OrderPayTypeEnum.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/enums/OrderPayTypeEnum.class new file mode 100644 index 0000000..1c583b8 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/enums/OrderPayTypeEnum.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/enums/OrderSourceEnum.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/enums/OrderSourceEnum.class new file mode 100644 index 0000000..44d0f7a Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/enums/OrderSourceEnum.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/enums/OrderStatusEnum.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/enums/OrderStatusEnum.class new file mode 100644 index 0000000..7ab48b9 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/enums/OrderStatusEnum.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/enums/OrderTypeEnum.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/enums/OrderTypeEnum.class new file mode 100644 index 0000000..58e66a3 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/enums/OrderTypeEnum.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/enums/PayTypeEnum.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/enums/PayTypeEnum.class new file mode 100644 index 0000000..9459254 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/enums/PayTypeEnum.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/enums/PlatformEnum.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/enums/PlatformEnum.class new file mode 100644 index 0000000..098b7c7 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/enums/PlatformEnum.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/enums/PrinterTypeEnum.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/enums/PrinterTypeEnum.class new file mode 100644 index 0000000..5bf2344 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/enums/PrinterTypeEnum.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/enums/SettingEnum.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/enums/SettingEnum.class new file mode 100644 index 0000000..71be22c Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/enums/SettingEnum.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/enums/StorageEnum.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/enums/StorageEnum.class new file mode 100644 index 0000000..2936059 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/enums/StorageEnum.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/enums/StoreTypeEnum.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/enums/StoreTypeEnum.class new file mode 100644 index 0000000..9788e37 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/enums/StoreTypeEnum.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/factory/sms/SmsFactory.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/factory/sms/SmsFactory.class new file mode 100644 index 0000000..a0e190b Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/factory/sms/SmsFactory.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/factory/sms/SmsFactoryService.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/factory/sms/SmsFactoryService.class new file mode 100644 index 0000000..8e650d5 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/factory/sms/SmsFactoryService.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/factory/sms/impl/AliyunSmsFactoryService.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/factory/sms/impl/AliyunSmsFactoryService.class new file mode 100644 index 0000000..d8a423a Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/factory/sms/impl/AliyunSmsFactoryService.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/factory/sms/impl/HWcloudSmsFactoryService.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/factory/sms/impl/HWcloudSmsFactoryService.class new file mode 100644 index 0000000..cdbcb53 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/factory/sms/impl/HWcloudSmsFactoryService.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/factory/sms/impl/QcloudSmsFactoryService.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/factory/sms/impl/QcloudSmsFactoryService.class new file mode 100644 index 0000000..6e70595 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/factory/sms/impl/QcloudSmsFactoryService.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/factory/upload/UploadFactory.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/factory/upload/UploadFactory.class new file mode 100644 index 0000000..0bb7c3a Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/factory/upload/UploadFactory.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/factory/upload/UploadFactoryService.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/factory/upload/UploadFactoryService.class new file mode 100644 index 0000000..60b4784 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/factory/upload/UploadFactoryService.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/factory/upload/impl/AliYunUploadServiceImpl.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/factory/upload/impl/AliYunUploadServiceImpl.class new file mode 100644 index 0000000..4acc3f8 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/factory/upload/impl/AliYunUploadServiceImpl.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/factory/upload/impl/HwCloudUploadServiceImpl.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/factory/upload/impl/HwCloudUploadServiceImpl.class new file mode 100644 index 0000000..2e811ea Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/factory/upload/impl/HwCloudUploadServiceImpl.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/factory/upload/impl/LocalUploadServiceImpl.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/factory/upload/impl/LocalUploadServiceImpl.class new file mode 100644 index 0000000..ba5fe3f Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/factory/upload/impl/LocalUploadServiceImpl.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/factory/upload/impl/QCloudUploadServiceImpl.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/factory/upload/impl/QCloudUploadServiceImpl.class new file mode 100644 index 0000000..5623574 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/factory/upload/impl/QCloudUploadServiceImpl.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/factory/upload/impl/QiNiuUploadServiceImpl.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/factory/upload/impl/QiNiuUploadServiceImpl.class new file mode 100644 index 0000000..ddc1db9 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/factory/upload/impl/QiNiuUploadServiceImpl.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/interceptor/JjjTenantLineInnerInterceptor.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/interceptor/JjjTenantLineInnerInterceptor.class new file mode 100644 index 0000000..38b67ec Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/interceptor/JjjTenantLineInnerInterceptor.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/admin/SaasUserMapper.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/admin/SaasUserMapper.class new file mode 100644 index 0000000..d4856d4 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/admin/SaasUserMapper.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/app/AppMapper.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/app/AppMapper.class new file mode 100644 index 0000000..3119172 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/app/AppMapper.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/app/AppMpMapper.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/app/AppMpMapper.class new file mode 100644 index 0000000..1d3c5c7 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/app/AppMpMapper.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/app/AppOpenMapper.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/app/AppOpenMapper.class new file mode 100644 index 0000000..819d8a1 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/app/AppOpenMapper.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/app/AppUpdateMapper.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/app/AppUpdateMapper.class new file mode 100644 index 0000000..2b49536 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/app/AppUpdateMapper.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/app/AppWxMapper.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/app/AppWxMapper.class new file mode 100644 index 0000000..4f5a1aa Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/app/AppWxMapper.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/bill/BillAddressMapper.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/bill/BillAddressMapper.class new file mode 100644 index 0000000..c5689ab Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/bill/BillAddressMapper.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/bill/BillDeliveryMapper.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/bill/BillDeliveryMapper.class new file mode 100644 index 0000000..1aa1fd5 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/bill/BillDeliveryMapper.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/bill/BillHeadMapper.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/bill/BillHeadMapper.class new file mode 100644 index 0000000..6d3e478 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/bill/BillHeadMapper.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/bill/BillItemMapper.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/bill/BillItemMapper.class new file mode 100644 index 0000000..72297e1 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/bill/BillItemMapper.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/customer/CustomerAddressMapper.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/customer/CustomerAddressMapper.class new file mode 100644 index 0000000..4cfa1d8 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/customer/CustomerAddressMapper.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/customer/CustomerMapper.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/customer/CustomerMapper.class new file mode 100644 index 0000000..9545649 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/customer/CustomerMapper.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/depot/DeliverAreaMapper.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/depot/DeliverAreaMapper.class new file mode 100644 index 0000000..5918abb Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/depot/DeliverAreaMapper.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/depot/DepotAreaMapper.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/depot/DepotAreaMapper.class new file mode 100644 index 0000000..7de5cf2 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/depot/DepotAreaMapper.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/depot/DepotMapper.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/depot/DepotMapper.class new file mode 100644 index 0000000..e4fe1b4 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/depot/DepotMapper.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/depot/DepotReservoirMapper.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/depot/DepotReservoirMapper.class new file mode 100644 index 0000000..c1e6e77 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/depot/DepotReservoirMapper.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/depot/DepotShelfMapper.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/depot/DepotShelfMapper.class new file mode 100644 index 0000000..80ccd7e Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/depot/DepotShelfMapper.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/depot/DepotStorageMapper.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/depot/DepotStorageMapper.class new file mode 100644 index 0000000..b84664d Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/depot/DepotStorageMapper.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/depot/DepotStorageStockMapper.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/depot/DepotStorageStockMapper.class new file mode 100644 index 0000000..00b28ad Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/depot/DepotStorageStockMapper.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/file/ImageBankMapper.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/file/ImageBankMapper.class new file mode 100644 index 0000000..a85e362 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/file/ImageBankMapper.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/file/UploadFileMapper.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/file/UploadFileMapper.class new file mode 100644 index 0000000..e26bac4 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/file/UploadFileMapper.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/file/UploadGroupMapper.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/file/UploadGroupMapper.class new file mode 100644 index 0000000..abb05c2 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/file/UploadGroupMapper.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/finance/capital/AccountMapper.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/finance/capital/AccountMapper.class new file mode 100644 index 0000000..24a57ee Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/finance/capital/AccountMapper.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/finance/capital/AccountMoneyLogMapper.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/finance/capital/AccountMoneyLogMapper.class new file mode 100644 index 0000000..871f777 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/finance/capital/AccountMoneyLogMapper.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/page/CenterMenuMapper.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/page/CenterMenuMapper.class new file mode 100644 index 0000000..d06d7c6 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/page/CenterMenuMapper.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/page/PageCategoryMapper.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/page/PageCategoryMapper.class new file mode 100644 index 0000000..26a7296 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/page/PageCategoryMapper.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/page/PageMapper.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/page/PageMapper.class new file mode 100644 index 0000000..84d153b Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/page/PageMapper.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/product/ProductAttributeMapper.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/product/ProductAttributeMapper.class new file mode 100644 index 0000000..b6a35e4 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/product/ProductAttributeMapper.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/product/ProductCategoryMapper.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/product/ProductCategoryMapper.class new file mode 100644 index 0000000..7d74e8a Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/product/ProductCategoryMapper.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/product/ProductDeputyUnitMapper.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/product/ProductDeputyUnitMapper.class new file mode 100644 index 0000000..856affd Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/product/ProductDeputyUnitMapper.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/product/ProductExtendMapper.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/product/ProductExtendMapper.class new file mode 100644 index 0000000..151806b Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/product/ProductExtendMapper.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/product/ProductImageMapper.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/product/ProductImageMapper.class new file mode 100644 index 0000000..405e365 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/product/ProductImageMapper.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/product/ProductMapper.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/product/ProductMapper.class new file mode 100644 index 0000000..f64997e Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/product/ProductMapper.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/product/ProductMfrsMapper.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/product/ProductMfrsMapper.class new file mode 100644 index 0000000..95c624a Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/product/ProductMfrsMapper.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/product/ProductUnitMapper.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/product/ProductUnitMapper.class new file mode 100644 index 0000000..181d905 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/product/ProductUnitMapper.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/settings/DeliveryMapper.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/settings/DeliveryMapper.class new file mode 100644 index 0000000..20a9886 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/settings/DeliveryMapper.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/settings/DeliveryRuleMapper.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/settings/DeliveryRuleMapper.class new file mode 100644 index 0000000..114b78e Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/settings/DeliveryRuleMapper.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/settings/DeliveryTemplateMapper.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/settings/DeliveryTemplateMapper.class new file mode 100644 index 0000000..07e2337 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/settings/DeliveryTemplateMapper.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/settings/ExpressMapper.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/settings/ExpressMapper.class new file mode 100644 index 0000000..8b33d38 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/settings/ExpressMapper.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/settings/LabelSettingMapper.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/settings/LabelSettingMapper.class new file mode 100644 index 0000000..d86ad4a Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/settings/LabelSettingMapper.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/settings/MessageFieldMapper.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/settings/MessageFieldMapper.class new file mode 100644 index 0000000..2e569e0 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/settings/MessageFieldMapper.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/settings/MessageMapper.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/settings/MessageMapper.class new file mode 100644 index 0000000..3e32860 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/settings/MessageMapper.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/settings/MessageSettingsMapper.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/settings/MessageSettingsMapper.class new file mode 100644 index 0000000..674438f Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/settings/MessageSettingsMapper.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/settings/PrinterMapper.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/settings/PrinterMapper.class new file mode 100644 index 0000000..a38a42a Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/settings/PrinterMapper.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/settings/RegionMapper.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/settings/RegionMapper.class new file mode 100644 index 0000000..05bb21f Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/settings/RegionMapper.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/settings/ReturnAddressMapper.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/settings/ReturnAddressMapper.class new file mode 100644 index 0000000..b7f0d49 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/settings/ReturnAddressMapper.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/settings/SettingMapper.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/settings/SettingMapper.class new file mode 100644 index 0000000..a8bb2b0 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/settings/SettingMapper.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/shop/ShopAccessMapper.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/shop/ShopAccessMapper.class new file mode 100644 index 0000000..e71e2e5 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/shop/ShopAccessMapper.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/shop/ShopLoginLogMapper.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/shop/ShopLoginLogMapper.class new file mode 100644 index 0000000..0946773 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/shop/ShopLoginLogMapper.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/shop/ShopOptLogMapper.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/shop/ShopOptLogMapper.class new file mode 100644 index 0000000..e096148 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/shop/ShopOptLogMapper.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/shop/ShopRoleAccessMapper.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/shop/ShopRoleAccessMapper.class new file mode 100644 index 0000000..7880dae Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/shop/ShopRoleAccessMapper.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/shop/ShopRoleMapper.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/shop/ShopRoleMapper.class new file mode 100644 index 0000000..42e3b53 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/shop/ShopRoleMapper.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/shop/ShopUserMapper.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/shop/ShopUserMapper.class new file mode 100644 index 0000000..cd4d372 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/shop/ShopUserMapper.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/shop/ShopUserRoleMapper.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/shop/ShopUserRoleMapper.class new file mode 100644 index 0000000..3177cf9 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/shop/ShopUserRoleMapper.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/store/StoreMapper.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/store/StoreMapper.class new file mode 100644 index 0000000..e43b6f8 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/store/StoreMapper.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/supplier/SupplierMapper.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/supplier/SupplierMapper.class new file mode 100644 index 0000000..2998321 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/supplier/SupplierMapper.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/system/SystemVersionMapper.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/system/SystemVersionMapper.class new file mode 100644 index 0000000..d8b8651 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/mapper/system/SystemVersionMapper.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/param/CommonPageParam.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/param/CommonPageParam.class new file mode 100644 index 0000000..bb99e8b Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/param/CommonPageParam.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/param/ImageBankPageParam.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/param/ImageBankPageParam.class new file mode 100644 index 0000000..a374325 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/param/ImageBankPageParam.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/param/ImportOrderParam.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/param/ImportOrderParam.class new file mode 100644 index 0000000..3bceab4 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/param/ImportOrderParam.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/param/LabelCanceParam.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/param/LabelCanceParam.class new file mode 100644 index 0000000..c025392 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/param/LabelCanceParam.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/param/SignParam.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/param/SignParam.class new file mode 100644 index 0000000..293146c Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/param/SignParam.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/param/TemplateData.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/param/TemplateData.class new file mode 100644 index 0000000..9b4252e Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/param/TemplateData.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/param/WxMssVO.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/param/WxMssVO.class new file mode 100644 index 0000000..25b71f9 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/param/WxMssVO.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/param/depot/StorageParam.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/param/depot/StorageParam.class new file mode 100644 index 0000000..aba752a Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/param/depot/StorageParam.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/param/product/CategoryParam.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/param/product/CategoryParam.class new file mode 100644 index 0000000..4d36aa8 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/param/product/CategoryParam.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/param/product/ProductPageParam.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/param/product/ProductPageParam.class new file mode 100644 index 0000000..be0a9bc Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/param/product/ProductPageParam.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/param/product/ProductParam.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/param/product/ProductParam.class new file mode 100644 index 0000000..1b5caff Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/param/product/ProductParam.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/param/setting/ExpressPageParam.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/param/setting/ExpressPageParam.class new file mode 100644 index 0000000..f1a8639 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/param/setting/ExpressPageParam.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/param/setting/ExpressParam.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/param/setting/ExpressParam.class new file mode 100644 index 0000000..cda57ea Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/param/setting/ExpressParam.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/param/user/UserAddressParam.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/param/user/UserAddressParam.class new file mode 100644 index 0000000..1dcbc70 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/param/user/UserAddressParam.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/app/AppMpService.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/app/AppMpService.class new file mode 100644 index 0000000..cd8d861 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/app/AppMpService.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/app/AppOpenService.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/app/AppOpenService.class new file mode 100644 index 0000000..2afc3d6 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/app/AppOpenService.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/app/AppService.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/app/AppService.class new file mode 100644 index 0000000..d6b9100 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/app/AppService.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/app/AppUpdateService.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/app/AppUpdateService.class new file mode 100644 index 0000000..b84aedf Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/app/AppUpdateService.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/app/AppWxService.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/app/AppWxService.class new file mode 100644 index 0000000..eb22987 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/app/AppWxService.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/app/impl/AppMpServiceImpl.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/app/impl/AppMpServiceImpl.class new file mode 100644 index 0000000..c65411a Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/app/impl/AppMpServiceImpl.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/app/impl/AppOpenServiceImpl.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/app/impl/AppOpenServiceImpl.class new file mode 100644 index 0000000..1487ec1 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/app/impl/AppOpenServiceImpl.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/app/impl/AppServiceImpl.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/app/impl/AppServiceImpl.class new file mode 100644 index 0000000..ba67753 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/app/impl/AppServiceImpl.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/app/impl/AppUpdateServiceImpl.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/app/impl/AppUpdateServiceImpl.class new file mode 100644 index 0000000..8026f5e Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/app/impl/AppUpdateServiceImpl.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/app/impl/AppWxServiceImpl.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/app/impl/AppWxServiceImpl.class new file mode 100644 index 0000000..fe748d3 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/app/impl/AppWxServiceImpl.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/bill/BillAddressService.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/bill/BillAddressService.class new file mode 100644 index 0000000..fb1ebb8 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/bill/BillAddressService.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/bill/BillDeliveryService.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/bill/BillDeliveryService.class new file mode 100644 index 0000000..e2a66c0 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/bill/BillDeliveryService.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/bill/BillHeadService.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/bill/BillHeadService.class new file mode 100644 index 0000000..bdc1224 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/bill/BillHeadService.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/bill/BillItemService.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/bill/BillItemService.class new file mode 100644 index 0000000..a127fdb Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/bill/BillItemService.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/bill/impl/BillAddressServiceImpl.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/bill/impl/BillAddressServiceImpl.class new file mode 100644 index 0000000..f0b2053 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/bill/impl/BillAddressServiceImpl.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/bill/impl/BillDeliveryServiceImpl.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/bill/impl/BillDeliveryServiceImpl.class new file mode 100644 index 0000000..8a92420 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/bill/impl/BillDeliveryServiceImpl.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/bill/impl/BillHeadServiceImpl.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/bill/impl/BillHeadServiceImpl.class new file mode 100644 index 0000000..11fb631 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/bill/impl/BillHeadServiceImpl.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/bill/impl/BillItemServiceImpl.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/bill/impl/BillItemServiceImpl.class new file mode 100644 index 0000000..8576486 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/bill/impl/BillItemServiceImpl.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/customer/CustomerAddressService.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/customer/CustomerAddressService.class new file mode 100644 index 0000000..584ed1a Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/customer/CustomerAddressService.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/customer/CustomerService.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/customer/CustomerService.class new file mode 100644 index 0000000..e878895 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/customer/CustomerService.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/customer/impl/CustomerAddressServiceImpl.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/customer/impl/CustomerAddressServiceImpl.class new file mode 100644 index 0000000..fc6019b Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/customer/impl/CustomerAddressServiceImpl.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/customer/impl/CustomerServiceImpl.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/customer/impl/CustomerServiceImpl.class new file mode 100644 index 0000000..e4fc280 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/customer/impl/CustomerServiceImpl.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/depot/DeliverAreaService.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/depot/DeliverAreaService.class new file mode 100644 index 0000000..3d70a50 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/depot/DeliverAreaService.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/depot/DepotAreaService.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/depot/DepotAreaService.class new file mode 100644 index 0000000..d9d6475 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/depot/DepotAreaService.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/depot/DepotReservoirService.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/depot/DepotReservoirService.class new file mode 100644 index 0000000..4ff27ca Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/depot/DepotReservoirService.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/depot/DepotService.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/depot/DepotService.class new file mode 100644 index 0000000..7dd2496 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/depot/DepotService.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/depot/DepotShelfService.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/depot/DepotShelfService.class new file mode 100644 index 0000000..85d90ae Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/depot/DepotShelfService.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/depot/DepotStorageService.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/depot/DepotStorageService.class new file mode 100644 index 0000000..cec24ba Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/depot/DepotStorageService.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/depot/DepotStorageStockService.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/depot/DepotStorageStockService.class new file mode 100644 index 0000000..8ad57b6 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/depot/DepotStorageStockService.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/depot/impl/DeliverAreaServiceImpl.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/depot/impl/DeliverAreaServiceImpl.class new file mode 100644 index 0000000..e9cfdd0 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/depot/impl/DeliverAreaServiceImpl.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/depot/impl/DepotAreaServiceImpl.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/depot/impl/DepotAreaServiceImpl.class new file mode 100644 index 0000000..b1fa4ee Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/depot/impl/DepotAreaServiceImpl.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/depot/impl/DepotReservoirServiceImpl.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/depot/impl/DepotReservoirServiceImpl.class new file mode 100644 index 0000000..4ec2037 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/depot/impl/DepotReservoirServiceImpl.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/depot/impl/DepotServiceImpl.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/depot/impl/DepotServiceImpl.class new file mode 100644 index 0000000..37d79cd Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/depot/impl/DepotServiceImpl.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/depot/impl/DepotShelfServiceImpl.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/depot/impl/DepotShelfServiceImpl.class new file mode 100644 index 0000000..cacc9cd Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/depot/impl/DepotShelfServiceImpl.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/depot/impl/DepotStorageServiceImpl.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/depot/impl/DepotStorageServiceImpl.class new file mode 100644 index 0000000..64b8403 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/depot/impl/DepotStorageServiceImpl.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/depot/impl/DepotStorageStockServiceImpl.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/depot/impl/DepotStorageStockServiceImpl.class new file mode 100644 index 0000000..0bc6f0a Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/depot/impl/DepotStorageStockServiceImpl.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/file/ImageBankService.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/file/ImageBankService.class new file mode 100644 index 0000000..fdb0726 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/file/ImageBankService.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/file/UploadFileService.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/file/UploadFileService.class new file mode 100644 index 0000000..67c18d1 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/file/UploadFileService.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/file/UploadGroupService.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/file/UploadGroupService.class new file mode 100644 index 0000000..e147b8d Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/file/UploadGroupService.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/file/impl/ImageBankServiceImpl.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/file/impl/ImageBankServiceImpl.class new file mode 100644 index 0000000..d166f77 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/file/impl/ImageBankServiceImpl.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/file/impl/UploadFileServiceImpl.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/file/impl/UploadFileServiceImpl.class new file mode 100644 index 0000000..d84caec Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/file/impl/UploadFileServiceImpl.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/file/impl/UploadGroupServiceImpl.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/file/impl/UploadGroupServiceImpl.class new file mode 100644 index 0000000..3f617fc Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/file/impl/UploadGroupServiceImpl.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/finance/capital/AccountMoneyLogService.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/finance/capital/AccountMoneyLogService.class new file mode 100644 index 0000000..637170f Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/finance/capital/AccountMoneyLogService.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/finance/capital/AccountService.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/finance/capital/AccountService.class new file mode 100644 index 0000000..f5a44a9 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/finance/capital/AccountService.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/finance/capital/impl/AccountMoneyLogServiceImpl.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/finance/capital/impl/AccountMoneyLogServiceImpl.class new file mode 100644 index 0000000..ab1428d Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/finance/capital/impl/AccountMoneyLogServiceImpl.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/finance/capital/impl/AccountServiceImpl.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/finance/capital/impl/AccountServiceImpl.class new file mode 100644 index 0000000..b2bc02e Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/finance/capital/impl/AccountServiceImpl.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/page/CenterMenuService.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/page/CenterMenuService.class new file mode 100644 index 0000000..6be3445 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/page/CenterMenuService.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/page/PageCategoryService.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/page/PageCategoryService.class new file mode 100644 index 0000000..0e34841 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/page/PageCategoryService.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/page/PageService.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/page/PageService.class new file mode 100644 index 0000000..ad0d6c2 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/page/PageService.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/page/impl/CenterMenuServiceImpl.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/page/impl/CenterMenuServiceImpl.class new file mode 100644 index 0000000..1a60ed7 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/page/impl/CenterMenuServiceImpl.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/page/impl/PageCategoryServiceImpl.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/page/impl/PageCategoryServiceImpl.class new file mode 100644 index 0000000..60047e6 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/page/impl/PageCategoryServiceImpl.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/page/impl/PageServiceImpl.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/page/impl/PageServiceImpl.class new file mode 100644 index 0000000..14a64e1 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/page/impl/PageServiceImpl.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/product/ProductAttributeService.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/product/ProductAttributeService.class new file mode 100644 index 0000000..53a2c41 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/product/ProductAttributeService.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/product/ProductCategoryService.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/product/ProductCategoryService.class new file mode 100644 index 0000000..5fdf1b7 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/product/ProductCategoryService.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/product/ProductDeputyUnitService.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/product/ProductDeputyUnitService.class new file mode 100644 index 0000000..813e602 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/product/ProductDeputyUnitService.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/product/ProductExtendService.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/product/ProductExtendService.class new file mode 100644 index 0000000..e582490 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/product/ProductExtendService.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/product/ProductImageService.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/product/ProductImageService.class new file mode 100644 index 0000000..54b5ccb Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/product/ProductImageService.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/product/ProductMfrsService.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/product/ProductMfrsService.class new file mode 100644 index 0000000..4ee0010 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/product/ProductMfrsService.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/product/ProductService.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/product/ProductService.class new file mode 100644 index 0000000..3ade916 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/product/ProductService.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/product/ProductUnitService.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/product/ProductUnitService.class new file mode 100644 index 0000000..47f18cf Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/product/ProductUnitService.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/product/impl/ProductAttributeServiceImpl.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/product/impl/ProductAttributeServiceImpl.class new file mode 100644 index 0000000..818774c Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/product/impl/ProductAttributeServiceImpl.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/product/impl/ProductCategoryServiceImpl.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/product/impl/ProductCategoryServiceImpl.class new file mode 100644 index 0000000..2761393 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/product/impl/ProductCategoryServiceImpl.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/product/impl/ProductDeputyUnitServiceImpl.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/product/impl/ProductDeputyUnitServiceImpl.class new file mode 100644 index 0000000..9ac067d Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/product/impl/ProductDeputyUnitServiceImpl.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/product/impl/ProductExtendServiceImpl.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/product/impl/ProductExtendServiceImpl.class new file mode 100644 index 0000000..afb414f Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/product/impl/ProductExtendServiceImpl.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/product/impl/ProductImageServiceImpl.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/product/impl/ProductImageServiceImpl.class new file mode 100644 index 0000000..9443d42 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/product/impl/ProductImageServiceImpl.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/product/impl/ProductMfrsServiceImpl.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/product/impl/ProductMfrsServiceImpl.class new file mode 100644 index 0000000..2924430 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/product/impl/ProductMfrsServiceImpl.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/product/impl/ProductServiceImpl.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/product/impl/ProductServiceImpl.class new file mode 100644 index 0000000..68fbe8c Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/product/impl/ProductServiceImpl.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/product/impl/ProductUnitServiceImpl.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/product/impl/ProductUnitServiceImpl.class new file mode 100644 index 0000000..b8349c0 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/product/impl/ProductUnitServiceImpl.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/settings/DeliveryTemplateService.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/settings/DeliveryTemplateService.class new file mode 100644 index 0000000..525f633 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/settings/DeliveryTemplateService.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/settings/ExpressService.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/settings/ExpressService.class new file mode 100644 index 0000000..348690c Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/settings/ExpressService.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/settings/LabelSettingService.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/settings/LabelSettingService.class new file mode 100644 index 0000000..07788ce Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/settings/LabelSettingService.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/settings/MessageFieldService.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/settings/MessageFieldService.class new file mode 100644 index 0000000..0e36ab2 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/settings/MessageFieldService.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/settings/MessageService.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/settings/MessageService.class new file mode 100644 index 0000000..ea65106 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/settings/MessageService.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/settings/MessageSettingsService.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/settings/MessageSettingsService.class new file mode 100644 index 0000000..3d8cd69 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/settings/MessageSettingsService.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/settings/PrinterService.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/settings/PrinterService.class new file mode 100644 index 0000000..7b361cc Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/settings/PrinterService.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/settings/RegionService.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/settings/RegionService.class new file mode 100644 index 0000000..c097432 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/settings/RegionService.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/settings/ReturnAddressService.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/settings/ReturnAddressService.class new file mode 100644 index 0000000..da62ec3 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/settings/ReturnAddressService.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/settings/SettingService.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/settings/SettingService.class new file mode 100644 index 0000000..e047ee9 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/settings/SettingService.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/settings/impl/DeliveryTemplateServiceImpl.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/settings/impl/DeliveryTemplateServiceImpl.class new file mode 100644 index 0000000..94ee813 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/settings/impl/DeliveryTemplateServiceImpl.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/settings/impl/ExpressServiceImpl.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/settings/impl/ExpressServiceImpl.class new file mode 100644 index 0000000..1e8aafc Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/settings/impl/ExpressServiceImpl.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/settings/impl/LabelSettingServiceImpl.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/settings/impl/LabelSettingServiceImpl.class new file mode 100644 index 0000000..cc8ea75 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/settings/impl/LabelSettingServiceImpl.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/settings/impl/MessageFieldServiceImpl.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/settings/impl/MessageFieldServiceImpl.class new file mode 100644 index 0000000..4554f45 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/settings/impl/MessageFieldServiceImpl.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/settings/impl/MessageServiceImpl.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/settings/impl/MessageServiceImpl.class new file mode 100644 index 0000000..5fc7fc1 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/settings/impl/MessageServiceImpl.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/settings/impl/MessageSettingsServiceImpl.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/settings/impl/MessageSettingsServiceImpl.class new file mode 100644 index 0000000..b08713f Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/settings/impl/MessageSettingsServiceImpl.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/settings/impl/PrinterServiceImpl.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/settings/impl/PrinterServiceImpl.class new file mode 100644 index 0000000..8eaf0ed Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/settings/impl/PrinterServiceImpl.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/settings/impl/RegionServiceImpl.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/settings/impl/RegionServiceImpl.class new file mode 100644 index 0000000..1ec2128 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/settings/impl/RegionServiceImpl.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/settings/impl/ReturnAddressServiceImpl.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/settings/impl/ReturnAddressServiceImpl.class new file mode 100644 index 0000000..d3dcc9c Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/settings/impl/ReturnAddressServiceImpl.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/settings/impl/SettingServiceImpl.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/settings/impl/SettingServiceImpl.class new file mode 100644 index 0000000..9e05ae4 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/settings/impl/SettingServiceImpl.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/shop/ShopAccessService.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/shop/ShopAccessService.class new file mode 100644 index 0000000..eb43f4e Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/shop/ShopAccessService.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/shop/ShopLoginLogService.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/shop/ShopLoginLogService.class new file mode 100644 index 0000000..adf8bb3 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/shop/ShopLoginLogService.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/shop/ShopOptLogService.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/shop/ShopOptLogService.class new file mode 100644 index 0000000..a7c6b57 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/shop/ShopOptLogService.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/shop/ShopUserService.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/shop/ShopUserService.class new file mode 100644 index 0000000..98a6f18 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/shop/ShopUserService.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/shop/impl/ShopAccessServiceImpl.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/shop/impl/ShopAccessServiceImpl.class new file mode 100644 index 0000000..d06ceea Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/shop/impl/ShopAccessServiceImpl.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/shop/impl/ShopLoginLogServiceImpl.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/shop/impl/ShopLoginLogServiceImpl.class new file mode 100644 index 0000000..42f5eac Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/shop/impl/ShopLoginLogServiceImpl.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/shop/impl/ShopOptLogServiceImpl.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/shop/impl/ShopOptLogServiceImpl.class new file mode 100644 index 0000000..e56cb85 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/shop/impl/ShopOptLogServiceImpl.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/shop/impl/ShopUserServiceImpl.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/shop/impl/ShopUserServiceImpl.class new file mode 100644 index 0000000..9ae9126 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/shop/impl/ShopUserServiceImpl.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/store/StoreService.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/store/StoreService.class new file mode 100644 index 0000000..e79f089 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/store/StoreService.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/store/impl/StoreServiceImpl.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/store/impl/StoreServiceImpl.class new file mode 100644 index 0000000..7fa05d0 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/store/impl/StoreServiceImpl.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/supplier/SupplierService.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/supplier/SupplierService.class new file mode 100644 index 0000000..7aaa164 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/supplier/SupplierService.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/supplier/impl/SupplierServiceImpl.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/supplier/impl/SupplierServiceImpl.class new file mode 100644 index 0000000..4b2dece Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/supplier/impl/SupplierServiceImpl.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/system/SystemVersionService.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/system/SystemVersionService.class new file mode 100644 index 0000000..16e6841 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/system/SystemVersionService.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/system/impl/SystemVersionServiceImpl.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/system/impl/SystemVersionServiceImpl.class new file mode 100644 index 0000000..237f392 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/service/system/impl/SystemVersionServiceImpl.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/settings/vo/PrinterVo.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/settings/vo/PrinterVo.class new file mode 100644 index 0000000..66f65cc Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/settings/vo/PrinterVo.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/settings/vo/SmsVo$AliyunSms.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/settings/vo/SmsVo$AliyunSms.class new file mode 100644 index 0000000..dc707ae Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/settings/vo/SmsVo$AliyunSms.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/settings/vo/SmsVo$HWcloudSms.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/settings/vo/SmsVo$HWcloudSms.class new file mode 100644 index 0000000..0339fa6 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/settings/vo/SmsVo$HWcloudSms.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/settings/vo/SmsVo$QcloudSms.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/settings/vo/SmsVo$QcloudSms.class new file mode 100644 index 0000000..c240698 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/settings/vo/SmsVo$QcloudSms.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/settings/vo/SmsVo.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/settings/vo/SmsVo.class new file mode 100644 index 0000000..0cf666f Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/settings/vo/SmsVo.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/settings/vo/StorageVo$AliYun.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/settings/vo/StorageVo$AliYun.class new file mode 100644 index 0000000..3009ee1 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/settings/vo/StorageVo$AliYun.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/settings/vo/StorageVo$HwCloud.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/settings/vo/StorageVo$HwCloud.class new file mode 100644 index 0000000..530dc85 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/settings/vo/StorageVo$HwCloud.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/settings/vo/StorageVo$QCloud.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/settings/vo/StorageVo$QCloud.class new file mode 100644 index 0000000..7f6e584 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/settings/vo/StorageVo$QCloud.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/settings/vo/StorageVo$QiNiu.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/settings/vo/StorageVo$QiNiu.class new file mode 100644 index 0000000..f9efcc3 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/settings/vo/StorageVo$QiNiu.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/settings/vo/StorageVo.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/settings/vo/StorageVo.class new file mode 100644 index 0000000..d5d589c Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/settings/vo/StorageVo.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/settings/vo/StoreVo$KuaiDi100.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/settings/vo/StoreVo$KuaiDi100.class new file mode 100644 index 0000000..8d4eae4 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/settings/vo/StoreVo$KuaiDi100.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/settings/vo/StoreVo$Policy.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/settings/vo/StoreVo$Policy.class new file mode 100644 index 0000000..b539853 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/settings/vo/StoreVo$Policy.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/settings/vo/StoreVo.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/settings/vo/StoreVo.class new file mode 100644 index 0000000..fb28897 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/settings/vo/StoreVo.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/settings/vo/SysConfigVo$WeixinService.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/settings/vo/SysConfigVo$WeixinService.class new file mode 100644 index 0000000..a213963 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/settings/vo/SysConfigVo$WeixinService.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/settings/vo/SysConfigVo.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/settings/vo/SysConfigVo.class new file mode 100644 index 0000000..b05104e Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/settings/vo/SysConfigVo.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/util/CodeUtils.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/util/CodeUtils.class new file mode 100644 index 0000000..815d5f5 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/util/CodeUtils.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/util/CoordinateUtils.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/util/CoordinateUtils.class new file mode 100644 index 0000000..7bb32f4 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/util/CoordinateUtils.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/util/HttpUtils.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/util/HttpUtils.class new file mode 100644 index 0000000..ce950be Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/util/HttpUtils.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/util/HuaWeiSMSUtil$1.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/util/HuaWeiSMSUtil$1.class new file mode 100644 index 0000000..c025f58 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/util/HuaWeiSMSUtil$1.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/util/HuaWeiSMSUtil.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/util/HuaWeiSMSUtil.class new file mode 100644 index 0000000..e530f25 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/util/HuaWeiSMSUtil.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/util/ImageBankUtils.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/util/ImageBankUtils.class new file mode 100644 index 0000000..88246b4 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/util/ImageBankUtils.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/util/KuaiDi100Utils.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/util/KuaiDi100Utils.class new file mode 100644 index 0000000..82106bd Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/util/KuaiDi100Utils.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/util/MybatisPlusUtils.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/util/MybatisPlusUtils.class new file mode 100644 index 0000000..b3543e0 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/util/MybatisPlusUtils.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/util/PayUtils.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/util/PayUtils.class new file mode 100644 index 0000000..72127f8 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/util/PayUtils.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/util/ProductUtils.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/util/ProductUtils.class new file mode 100644 index 0000000..92ab4b9 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/util/ProductUtils.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/util/SettingUtils.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/util/SettingUtils.class new file mode 100644 index 0000000..4b5072b Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/util/SettingUtils.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/util/ShopAccessUtils.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/util/ShopAccessUtils.class new file mode 100644 index 0000000..a495d03 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/util/ShopAccessUtils.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/util/StringUtil.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/util/StringUtil.class new file mode 100644 index 0000000..3b95485 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/util/StringUtil.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/util/UploadFileUtils.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/util/UploadFileUtils.class new file mode 100644 index 0000000..03888da Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/util/UploadFileUtils.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/util/excel/ExcelClassField.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/util/excel/ExcelClassField.class new file mode 100644 index 0000000..da61cc5 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/util/excel/ExcelClassField.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/util/excel/ExcelExport.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/util/excel/ExcelExport.class new file mode 100644 index 0000000..a094af7 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/util/excel/ExcelExport.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/util/excel/ExcelImport.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/util/excel/ExcelImport.class new file mode 100644 index 0000000..0c766b9 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/util/excel/ExcelImport.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/util/excel/ExcelUtils.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/util/excel/ExcelUtils.class new file mode 100644 index 0000000..e60e540 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/util/excel/ExcelUtils.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/util/lock/RedisLock.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/util/lock/RedisLock.class new file mode 100644 index 0000000..6676400 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/util/lock/RedisLock.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/util/message/MessageUtils.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/util/message/MessageUtils.class new file mode 100644 index 0000000..131b63e Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/util/message/MessageUtils.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/util/message/MpChatSendUtil.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/util/message/MpChatSendUtil.class new file mode 100644 index 0000000..100ec5b Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/util/message/MpChatSendUtil.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/util/message/MpMessageUtils.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/util/message/MpMessageUtils.class new file mode 100644 index 0000000..d1ba484 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/util/message/MpMessageUtils.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/util/message/SmsMessageUtils.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/util/message/SmsMessageUtils.class new file mode 100644 index 0000000..0ef0379 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/util/message/SmsMessageUtils.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/util/message/WxMessageUtils.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/util/message/WxMessageUtils.class new file mode 100644 index 0000000..2684c90 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/util/message/WxMessageUtils.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/util/wx/AppMpUtils.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/util/wx/AppMpUtils.class new file mode 100644 index 0000000..76a97c0 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/util/wx/AppMpUtils.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/util/wx/AppWxUtils.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/util/wx/AppWxUtils.class new file mode 100644 index 0000000..086376c Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/util/wx/AppWxUtils.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/util/wx/WxPayUtils.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/util/wx/WxPayUtils.class new file mode 100644 index 0000000..b6689a5 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/util/wx/WxPayUtils.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/vo/RegionVo.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/vo/RegionVo.class new file mode 100644 index 0000000..3bdc696 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/vo/RegionVo.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/vo/image/ImageBankVo.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/vo/image/ImageBankVo.class new file mode 100644 index 0000000..19b4b34 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/vo/image/ImageBankVo.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/vo/page/PageVo.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/vo/page/PageVo.class new file mode 100644 index 0000000..9ec5ded Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/vo/page/PageVo.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/vo/product/CategoryVo.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/vo/product/CategoryVo.class new file mode 100644 index 0000000..13c475f Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/vo/product/CategoryVo.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/vo/product/ProductImageVo.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/vo/product/ProductImageVo.class new file mode 100644 index 0000000..c14f62d Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/vo/product/ProductImageVo.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/vo/product/ProductListVo.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/vo/product/ProductListVo.class new file mode 100644 index 0000000..0f7911e Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/vo/product/ProductListVo.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/vo/product/ProductSkuVo.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/vo/product/ProductSkuVo.class new file mode 100644 index 0000000..d8e3fb8 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/vo/product/ProductSkuVo.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/vo/product/ProductStockVo.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/vo/product/ProductStockVo.class new file mode 100644 index 0000000..b39b421 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/vo/product/ProductStockVo.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/vo/product/ProductVo.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/vo/product/ProductVo.class new file mode 100644 index 0000000..6d5ab5e Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/vo/product/ProductVo.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/vo/setting/ImageVo.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/vo/setting/ImageVo.class new file mode 100644 index 0000000..996ffc0 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/vo/setting/ImageVo.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/vo/shop/AdminAccessVo.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/vo/shop/AdminAccessVo.class new file mode 100644 index 0000000..0426f87 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/vo/shop/AdminAccessVo.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/vo/sms/HwSmsResult.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/vo/sms/HwSmsResult.class new file mode 100644 index 0000000..db7df28 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/vo/sms/HwSmsResult.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/vo/sms/HwSmsRoot.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/vo/sms/HwSmsRoot.class new file mode 100644 index 0000000..6b7a706 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/vo/sms/HwSmsRoot.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/vo/statement/BacklogVo.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/vo/statement/BacklogVo.class new file mode 100644 index 0000000..3cf9255 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/vo/statement/BacklogVo.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/vo/statement/DealVo.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/vo/statement/DealVo.class new file mode 100644 index 0000000..7dc9872 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/vo/statement/DealVo.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/vo/statement/HomeDealVo.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/vo/statement/HomeDealVo.class new file mode 100644 index 0000000..55e5758 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/vo/statement/HomeDealVo.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/vo/statement/ProductBoardVo.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/vo/statement/ProductBoardVo.class new file mode 100644 index 0000000..3f27086 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/vo/statement/ProductBoardVo.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/common/vo/store/ExtractSaveVo.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/vo/store/ExtractSaveVo.class new file mode 100644 index 0000000..f123cb4 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/common/vo/store/ExtractSaveVo.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/common/api/ApiCode.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/common/api/ApiCode.class new file mode 100644 index 0000000..a21c07f Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/common/api/ApiCode.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/common/api/ApiResult$ApiResultBuilder.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/common/api/ApiResult$ApiResultBuilder.class new file mode 100644 index 0000000..cf95910 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/common/api/ApiResult$ApiResultBuilder.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/common/api/ApiResult.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/common/api/ApiResult.class new file mode 100644 index 0000000..a6d1c4e Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/common/api/ApiResult.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/common/bean/ClientInfo.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/common/bean/ClientInfo.class new file mode 100644 index 0000000..5240816 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/common/bean/ClientInfo.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/common/bean/DeviceInfo.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/common/bean/DeviceInfo.class new file mode 100644 index 0000000..89aeb2b Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/common/bean/DeviceInfo.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/common/controller/BaseController.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/common/controller/BaseController.class new file mode 100644 index 0000000..36d57a0 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/common/controller/BaseController.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/common/controller/CsrfController.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/common/controller/CsrfController.class new file mode 100644 index 0000000..5afc7d2 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/common/controller/CsrfController.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/common/controller/EnumController.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/common/controller/EnumController.class new file mode 100644 index 0000000..df8f855 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/common/controller/EnumController.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/common/controller/IndexController.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/common/controller/IndexController.class new file mode 100644 index 0000000..00666e4 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/common/controller/IndexController.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/common/enums/BaseEnum.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/common/enums/BaseEnum.class new file mode 100644 index 0000000..ec763d7 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/common/enums/BaseEnum.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/common/enums/BaseNameEnum.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/common/enums/BaseNameEnum.class new file mode 100644 index 0000000..fdb7675 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/common/enums/BaseNameEnum.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/common/exception/BusinessException.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/common/exception/BusinessException.class new file mode 100644 index 0000000..9ce5edf Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/common/exception/BusinessException.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/common/exception/DaoException.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/common/exception/DaoException.class new file mode 100644 index 0000000..4b9c931 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/common/exception/DaoException.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/common/exception/GlobalErrorController.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/common/exception/GlobalErrorController.class new file mode 100644 index 0000000..170c7a2 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/common/exception/GlobalErrorController.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/common/exception/SpringBootJjjConfigException.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/common/exception/SpringBootJjjConfigException.class new file mode 100644 index 0000000..398fce6 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/common/exception/SpringBootJjjConfigException.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/common/exception/SpringBootJjjException.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/common/exception/SpringBootJjjException.class new file mode 100644 index 0000000..023e3a7 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/common/exception/SpringBootJjjException.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/common/param/IdParam.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/common/param/IdParam.class new file mode 100644 index 0000000..aa1efe3 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/common/param/IdParam.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/common/service/BaseService.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/common/service/BaseService.class new file mode 100644 index 0000000..3b0ff26 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/common/service/BaseService.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/common/service/impl/BaseServiceImpl.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/common/service/impl/BaseServiceImpl.class new file mode 100644 index 0000000..fdf918b Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/common/service/impl/BaseServiceImpl.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/common/vo/EnumVo.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/common/vo/EnumVo.class new file mode 100644 index 0000000..6af11e2 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/common/vo/EnumVo.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/config/converter/ConverterConfig.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/config/converter/ConverterConfig.class new file mode 100644 index 0000000..9e7e5c8 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/config/converter/ConverterConfig.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/config/converter/StringToDateConverter.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/config/converter/StringToDateConverter.class new file mode 100644 index 0000000..926fa80 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/config/converter/StringToDateConverter.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/config/converter/StringToDateUtil.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/config/converter/StringToDateUtil.class new file mode 100644 index 0000000..d45ae88 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/config/converter/StringToDateUtil.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/config/converter/StringToDoubleConverter.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/config/converter/StringToDoubleConverter.class new file mode 100644 index 0000000..7cc3c4a Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/config/converter/StringToDoubleConverter.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/config/converter/StringToDoubleUtil.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/config/converter/StringToDoubleUtil.class new file mode 100644 index 0000000..45decee Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/config/converter/StringToDoubleUtil.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/config/converter/StringToIntegerConverter.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/config/converter/StringToIntegerConverter.class new file mode 100644 index 0000000..b961da7 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/config/converter/StringToIntegerConverter.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/config/converter/StringToIntegerUtil.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/config/converter/StringToIntegerUtil.class new file mode 100644 index 0000000..ebdb9df Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/config/converter/StringToIntegerUtil.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/config/jackson/deserializer/JacksonDateDeserializer.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/config/jackson/deserializer/JacksonDateDeserializer.class new file mode 100644 index 0000000..550bf7b Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/config/jackson/deserializer/JacksonDateDeserializer.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/config/jackson/deserializer/JacksonDoubleDeserializer.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/config/jackson/deserializer/JacksonDoubleDeserializer.class new file mode 100644 index 0000000..d7fd2a9 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/config/jackson/deserializer/JacksonDoubleDeserializer.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/config/jackson/deserializer/JacksonLocalDateTimeDeserializer.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/config/jackson/deserializer/JacksonLocalDateTimeDeserializer.class new file mode 100644 index 0000000..812dc87 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/config/jackson/deserializer/JacksonLocalDateTimeDeserializer.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/config/jackson/serializer/JacksonBigDecimalSerializer.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/config/jackson/serializer/JacksonBigDecimalSerializer.class new file mode 100644 index 0000000..8973b29 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/config/jackson/serializer/JacksonBigDecimalSerializer.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/config/jackson/serializer/JacksonDateSerializer.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/config/jackson/serializer/JacksonDateSerializer.class new file mode 100644 index 0000000..2f04a69 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/config/jackson/serializer/JacksonDateSerializer.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/config/jackson/serializer/JacksonIntegerDeserializer.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/config/jackson/serializer/JacksonIntegerDeserializer.class new file mode 100644 index 0000000..b3499b5 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/config/jackson/serializer/JacksonIntegerDeserializer.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/config/jackson/serializer/JacksonLocalDateTimeSerializer.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/config/jackson/serializer/JacksonLocalDateTimeSerializer.class new file mode 100644 index 0000000..f73a697 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/config/jackson/serializer/JacksonLocalDateTimeSerializer.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/core/bean/RequestDetail.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/core/bean/RequestDetail.class new file mode 100644 index 0000000..fa7da7d Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/core/bean/RequestDetail.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/core/filter/CustomizeHttpServletRequestWrapper$1.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/core/filter/CustomizeHttpServletRequestWrapper$1.class new file mode 100644 index 0000000..0158932 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/core/filter/CustomizeHttpServletRequestWrapper$1.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/core/filter/CustomizeHttpServletRequestWrapper.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/core/filter/CustomizeHttpServletRequestWrapper.class new file mode 100644 index 0000000..5aea9fc Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/core/filter/CustomizeHttpServletRequestWrapper.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/core/filter/RequestDetailFilter.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/core/filter/RequestDetailFilter.class new file mode 100644 index 0000000..e7c9998 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/core/filter/RequestDetailFilter.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/core/interceptor/FrontInterceptor.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/core/interceptor/FrontInterceptor.class new file mode 100644 index 0000000..5318ae8 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/core/interceptor/FrontInterceptor.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/core/interceptor/PermissionInterceptor.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/core/interceptor/PermissionInterceptor.class new file mode 100644 index 0000000..c4b0af8 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/core/interceptor/PermissionInterceptor.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/core/pagination/BasePageOrderParam.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/core/pagination/BasePageOrderParam.class new file mode 100644 index 0000000..5807815 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/core/pagination/BasePageOrderParam.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/core/pagination/BasePageParam.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/core/pagination/BasePageParam.class new file mode 100644 index 0000000..6835f96 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/core/pagination/BasePageParam.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/core/pagination/OrderMapping.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/core/pagination/OrderMapping.class new file mode 100644 index 0000000..7f2b8e6 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/core/pagination/OrderMapping.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/core/pagination/PageInfo.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/core/pagination/PageInfo.class new file mode 100644 index 0000000..bd18bbc Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/core/pagination/PageInfo.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/core/pagination/Paging.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/core/pagination/Paging.class new file mode 100644 index 0000000..c642341 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/core/pagination/Paging.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/core/util/RequestDetailThreadLocal.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/core/util/RequestDetailThreadLocal.class new file mode 100644 index 0000000..76e436f Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/core/util/RequestDetailThreadLocal.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/core/validator/EnumTypeValidator.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/core/validator/EnumTypeValidator.class new file mode 100644 index 0000000..e2ce787 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/core/validator/EnumTypeValidator.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/core/validator/IdCardValidator.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/core/validator/IdCardValidator.class new file mode 100644 index 0000000..230f667 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/core/validator/IdCardValidator.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/core/validator/PhoneValidator.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/core/validator/PhoneValidator.class new file mode 100644 index 0000000..a1d81c8 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/core/validator/PhoneValidator.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/core/validator/constraints/EnumType.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/core/validator/constraints/EnumType.class new file mode 100644 index 0000000..4a3d78e Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/core/validator/constraints/EnumType.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/core/validator/constraints/IdCard.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/core/validator/constraints/IdCard.class new file mode 100644 index 0000000..fba5d50 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/core/validator/constraints/IdCard.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/core/validator/constraints/Phone.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/core/validator/constraints/Phone.class new file mode 100644 index 0000000..df66135 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/core/validator/constraints/Phone.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/core/validator/groups/Add.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/core/validator/groups/Add.class new file mode 100644 index 0000000..a8c8698 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/core/validator/groups/Add.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/core/validator/groups/Update.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/core/validator/groups/Update.class new file mode 100644 index 0000000..e4c7aa1 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/core/validator/groups/Update.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/core/xss/XssFilter.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/core/xss/XssFilter.class new file mode 100644 index 0000000..e3d6ffb Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/core/xss/XssFilter.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/core/xss/XssHttpServletRequestWrapper.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/core/xss/XssHttpServletRequestWrapper.class new file mode 100644 index 0000000..0e14216 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/core/xss/XssHttpServletRequestWrapper.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/core/xss/XssJacksonDeserializer.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/core/xss/XssJacksonDeserializer.class new file mode 100644 index 0000000..f5a8a4c Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/core/xss/XssJacksonDeserializer.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/core/xss/XssJacksonSerializer.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/core/xss/XssJacksonSerializer.class new file mode 100644 index 0000000..222499e Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/core/xss/XssJacksonSerializer.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/ip/entity/IpAddress.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/ip/entity/IpAddress.class new file mode 100644 index 0000000..0ee8687 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/ip/entity/IpAddress.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/ip/mapper/IpAddressMapper.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/ip/mapper/IpAddressMapper.class new file mode 100644 index 0000000..12686a0 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/ip/mapper/IpAddressMapper.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/ip/service/IpAddressService.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/ip/service/IpAddressService.class new file mode 100644 index 0000000..e86b348 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/ip/service/IpAddressService.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/ip/service/impl/IpAddressServiceImpl.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/ip/service/impl/IpAddressServiceImpl.class new file mode 100644 index 0000000..751baa3 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/ip/service/impl/IpAddressServiceImpl.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/log/annotation/Module.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/log/annotation/Module.class new file mode 100644 index 0000000..1901138 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/log/annotation/Module.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/log/annotation/OperationLog.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/log/annotation/OperationLog.class new file mode 100644 index 0000000..7cc24fc Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/log/annotation/OperationLog.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/log/annotation/OperationLogIgnore.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/log/annotation/OperationLogIgnore.class new file mode 100644 index 0000000..0cb2d88 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/log/annotation/OperationLogIgnore.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/log/aop/BaseLogAop.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/log/aop/BaseLogAop.class new file mode 100644 index 0000000..505015c Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/log/aop/BaseLogAop.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/log/bean/OperationLogInfo.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/log/bean/OperationLogInfo.class new file mode 100644 index 0000000..ce6a429 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/log/bean/OperationLogInfo.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/log/bean/RequestInfo.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/log/bean/RequestInfo.class new file mode 100644 index 0000000..406e4c6 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/log/bean/RequestInfo.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/log/entity/SysLoginLog.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/log/entity/SysLoginLog.class new file mode 100644 index 0000000..13e3e4d Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/log/entity/SysLoginLog.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/log/entity/SysOperationLog.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/log/entity/SysOperationLog.class new file mode 100644 index 0000000..f69e209 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/log/entity/SysOperationLog.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/log/enums/OperationLogType.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/log/enums/OperationLogType.class new file mode 100644 index 0000000..7b73bcc Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/log/enums/OperationLogType.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/log/mapper/SysLoginLogMapper.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/log/mapper/SysLoginLogMapper.class new file mode 100644 index 0000000..3c2b85c Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/log/mapper/SysLoginLogMapper.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/log/mapper/SysOperationLogMapper.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/log/mapper/SysOperationLogMapper.class new file mode 100644 index 0000000..5b9d155 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/log/mapper/SysOperationLogMapper.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/log/param/SysLoginLogPageParam.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/log/param/SysLoginLogPageParam.class new file mode 100644 index 0000000..a0d3fbf Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/log/param/SysLoginLogPageParam.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/log/param/SysOperationLogPageParam.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/log/param/SysOperationLogPageParam.class new file mode 100644 index 0000000..50e2d51 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/log/param/SysOperationLogPageParam.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/log/service/SysLoginLogService.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/log/service/SysLoginLogService.class new file mode 100644 index 0000000..83c20cb Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/log/service/SysLoginLogService.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/log/service/SysOperationLogService.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/log/service/SysOperationLogService.class new file mode 100644 index 0000000..4e09c28 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/log/service/SysOperationLogService.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/log/service/impl/SysLoginLogServiceImpl.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/log/service/impl/SysLoginLogServiceImpl.class new file mode 100644 index 0000000..cc387d9 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/log/service/impl/SysLoginLogServiceImpl.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/log/service/impl/SysOperationLogServiceImpl.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/log/service/impl/SysOperationLogServiceImpl.class new file mode 100644 index 0000000..060fb35 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/log/service/impl/SysOperationLogServiceImpl.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/shiro/cache/AdminLoginRedisService.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/shiro/cache/AdminLoginRedisService.class new file mode 100644 index 0000000..0119edc Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/shiro/cache/AdminLoginRedisService.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/shiro/cache/ShopLoginRedisService.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/shiro/cache/ShopLoginRedisService.class new file mode 100644 index 0000000..a62f795 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/shiro/cache/ShopLoginRedisService.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/shiro/cache/impl/AdminLoginRedisServiceImpl.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/shiro/cache/impl/AdminLoginRedisServiceImpl.class new file mode 100644 index 0000000..1515bc4 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/shiro/cache/impl/AdminLoginRedisServiceImpl.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/shiro/cache/impl/ShopLoginRedisServiceImpl.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/shiro/cache/impl/ShopLoginRedisServiceImpl.class new file mode 100644 index 0000000..abff2e5 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/shiro/cache/impl/ShopLoginRedisServiceImpl.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/shiro/convert/ShiroMapstructConvert.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/shiro/convert/ShiroMapstructConvert.class new file mode 100644 index 0000000..b40d5a4 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/shiro/convert/ShiroMapstructConvert.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/shiro/convert/ShiroMapstructConvertImpl.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/shiro/convert/ShiroMapstructConvertImpl.class new file mode 100644 index 0000000..2f0212e Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/shiro/convert/ShiroMapstructConvertImpl.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/shiro/exception/ShiroConfigException.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/shiro/exception/ShiroConfigException.class new file mode 100644 index 0000000..ba9ca9c Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/shiro/exception/ShiroConfigException.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/shiro/jwt/JwtCredentialsMatcher.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/shiro/jwt/JwtCredentialsMatcher.class new file mode 100644 index 0000000..d1e2036 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/shiro/jwt/JwtCredentialsMatcher.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/shiro/jwt/JwtFilter.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/shiro/jwt/JwtFilter.class new file mode 100644 index 0000000..240d40f Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/shiro/jwt/JwtFilter.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/shiro/jwt/JwtRealm.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/shiro/jwt/JwtRealm.class new file mode 100644 index 0000000..799cfdc Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/shiro/jwt/JwtRealm.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/shiro/jwt/JwtToken.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/shiro/jwt/JwtToken.class new file mode 100644 index 0000000..33348c6 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/shiro/jwt/JwtToken.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/shiro/service/LoginToken.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/shiro/service/LoginToken.class new file mode 100644 index 0000000..4a3d1f8 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/shiro/service/LoginToken.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/shiro/service/LoginUsername.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/shiro/service/LoginUsername.class new file mode 100644 index 0000000..0b35371 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/shiro/service/LoginUsername.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/shiro/service/ShiroLoginService.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/shiro/service/ShiroLoginService.class new file mode 100644 index 0000000..8abb072 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/shiro/service/ShiroLoginService.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/shiro/service/impl/ShiroLoginServiceImpl.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/shiro/service/impl/ShiroLoginServiceImpl.class new file mode 100644 index 0000000..0775c71 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/shiro/service/impl/ShiroLoginServiceImpl.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/shiro/util/JwtTokenUtil.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/shiro/util/JwtTokenUtil.class new file mode 100644 index 0000000..33ec290 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/shiro/util/JwtTokenUtil.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/shiro/util/JwtUtil.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/shiro/util/JwtUtil.class new file mode 100644 index 0000000..994f5a2 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/shiro/util/JwtUtil.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/shiro/util/SaltUtil.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/shiro/util/SaltUtil.class new file mode 100644 index 0000000..55619fe Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/shiro/util/SaltUtil.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/shiro/vo/JwtTokenRedisVo.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/shiro/vo/JwtTokenRedisVo.class new file mode 100644 index 0000000..5fe9cb7 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/shiro/vo/JwtTokenRedisVo.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/shiro/vo/LoginAdminAccessVo.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/shiro/vo/LoginAdminAccessVo.class new file mode 100644 index 0000000..5522576 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/shiro/vo/LoginAdminAccessVo.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/shiro/vo/LoginAdminUserRedisVo.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/shiro/vo/LoginAdminUserRedisVo.class new file mode 100644 index 0000000..5e7e3de Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/shiro/vo/LoginAdminUserRedisVo.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/shiro/vo/LoginAdminUserVo.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/shiro/vo/LoginAdminUserVo.class new file mode 100644 index 0000000..eb5d220 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/shiro/vo/LoginAdminUserVo.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/shiro/vo/LoginShopUserRedisVo.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/shiro/vo/LoginShopUserRedisVo.class new file mode 100644 index 0000000..99c1075 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/shiro/vo/LoginShopUserRedisVo.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/shiro/vo/LoginShopUserTokenVo.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/shiro/vo/LoginShopUserTokenVo.class new file mode 100644 index 0000000..f433aaa Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/shiro/vo/LoginShopUserTokenVo.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/shiro/vo/LoginShopUserVo.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/shiro/vo/LoginShopUserVo.class new file mode 100644 index 0000000..929523e Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/shiro/vo/LoginShopUserVo.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/shiro/vo/LoginUserRedisVo.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/shiro/vo/LoginUserRedisVo.class new file mode 100644 index 0000000..9cc02c9 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/shiro/vo/LoginUserRedisVo.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/shiro/vo/LoginUserVo.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/shiro/vo/LoginUserVo.class new file mode 100644 index 0000000..48a4961 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/shiro/vo/LoginUserVo.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/util/AdminLoginUtil.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/util/AdminLoginUtil.class new file mode 100644 index 0000000..a974859 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/util/AdminLoginUtil.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/util/AnsiUtil.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/util/AnsiUtil.class new file mode 100644 index 0000000..c214945 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/util/AnsiUtil.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/util/BaseEnumUtil.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/util/BaseEnumUtil.class new file mode 100644 index 0000000..9d5e919 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/util/BaseEnumUtil.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/util/BrowserUtil.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/util/BrowserUtil.class new file mode 100644 index 0000000..542ad9f Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/util/BrowserUtil.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/util/ClientInfoUtil.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/util/ClientInfoUtil.class new file mode 100644 index 0000000..bea49c5 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/util/ClientInfoUtil.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/util/ContentTypeUtil.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/util/ContentTypeUtil.class new file mode 100644 index 0000000..b60a979 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/util/ContentTypeUtil.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/util/DateUtil.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/util/DateUtil.class new file mode 100644 index 0000000..0cd6aeb Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/util/DateUtil.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/util/DownloadUtil$DefaultDownloadHandler.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/util/DownloadUtil$DefaultDownloadHandler.class new file mode 100644 index 0000000..fda83fd Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/util/DownloadUtil$DefaultDownloadHandler.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/util/DownloadUtil$DownloadHandler.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/util/DownloadUtil$DownloadHandler.class new file mode 100644 index 0000000..54b4f40 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/util/DownloadUtil$DownloadHandler.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/util/DownloadUtil.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/util/DownloadUtil.class new file mode 100644 index 0000000..41e01d6 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/util/DownloadUtil.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/util/HttpServletRequestUtil.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/util/HttpServletRequestUtil.class new file mode 100644 index 0000000..ca5eeb2 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/util/HttpServletRequestUtil.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/util/HttpServletResponseUtil.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/util/HttpServletResponseUtil.class new file mode 100644 index 0000000..9894fd8 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/util/HttpServletResponseUtil.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/util/IniUtil.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/util/IniUtil.class new file mode 100644 index 0000000..5bab490 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/util/IniUtil.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/util/IpUtil.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/util/IpUtil.class new file mode 100644 index 0000000..b9ad729 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/util/IpUtil.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/util/Jackson.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/util/Jackson.class new file mode 100644 index 0000000..38e3c0f Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/util/Jackson.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/util/LambdaColumn.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/util/LambdaColumn.class new file mode 100644 index 0000000..b594a0c Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/util/LambdaColumn.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/util/MapUtil.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/util/MapUtil.class new file mode 100644 index 0000000..fad937b Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/util/MapUtil.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/util/PasswordUtil.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/util/PasswordUtil.class new file mode 100644 index 0000000..b4c3e81 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/util/PasswordUtil.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/util/PhoneUtil.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/util/PhoneUtil.class new file mode 100644 index 0000000..81074b6 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/util/PhoneUtil.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/util/PrintApplicationInfo.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/util/PrintApplicationInfo.class new file mode 100644 index 0000000..c1c8fee Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/util/PrintApplicationInfo.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/util/PropertyColumnUtil.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/util/PropertyColumnUtil.class new file mode 100644 index 0000000..2bf92fb Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/util/PropertyColumnUtil.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/util/RedisCacheUtil.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/util/RedisCacheUtil.class new file mode 100644 index 0000000..16d4609 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/util/RedisCacheUtil.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/util/ShopLoginUtil.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/util/ShopLoginUtil.class new file mode 100644 index 0000000..4576276 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/util/ShopLoginUtil.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/util/SpringContextUtil.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/util/SpringContextUtil.class new file mode 100644 index 0000000..637a329 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/util/SpringContextUtil.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/util/TokenUtil.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/util/TokenUtil.class new file mode 100644 index 0000000..3056382 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/util/TokenUtil.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/util/UUIDUtil.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/util/UUIDUtil.class new file mode 100644 index 0000000..c7dc30a Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/util/UUIDUtil.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/util/UploadUtil$DefaultUploadFileNameHandleImpl.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/util/UploadUtil$DefaultUploadFileNameHandleImpl.class new file mode 100644 index 0000000..2b21690 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/util/UploadUtil$DefaultUploadFileNameHandleImpl.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/util/UploadUtil$UploadFileNameHandle.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/util/UploadUtil$UploadFileNameHandle.class new file mode 100644 index 0000000..a65164b Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/util/UploadUtil$UploadFileNameHandle.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/util/UploadUtil.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/util/UploadUtil.class new file mode 100644 index 0000000..96a8b71 Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/util/UploadUtil.class differ diff --git a/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/util/VerificationCode.class b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/util/VerificationCode.class new file mode 100644 index 0000000..82d5adf Binary files /dev/null and b/jjj_erp/jjj-common/target/classes/net/jjjerp/framework/util/VerificationCode.class differ diff --git a/jjj_erp/jjj-common/target/generated-sources/annotations/net/jjjerp/framework/shiro/convert/ShiroMapstructConvertImpl.java b/jjj_erp/jjj-common/target/generated-sources/annotations/net/jjjerp/framework/shiro/convert/ShiroMapstructConvertImpl.java new file mode 100644 index 0000000..b32219f --- /dev/null +++ b/jjj_erp/jjj-common/target/generated-sources/annotations/net/jjjerp/framework/shiro/convert/ShiroMapstructConvertImpl.java @@ -0,0 +1,32 @@ +package net.jjjerp.framework.shiro.convert; + +import javax.annotation.Generated; +import net.jjjerp.framework.shiro.jwt.JwtToken; +import net.jjjerp.framework.shiro.vo.JwtTokenRedisVo; + +@Generated( + value = "org.mapstruct.ap.MappingProcessor", + date = "2024-06-29T14:54:52+0800", + comments = "version: 1.3.1.Final, compiler: javac, environment: Java 1.8.0_321 (Oracle Corporation)" +) +public class ShiroMapstructConvertImpl implements ShiroMapstructConvert { + + @Override + public JwtTokenRedisVo jwtTokenToJwtTokenRedisVo(JwtToken jwtToken) { + if ( jwtToken == null ) { + return null; + } + + JwtTokenRedisVo jwtTokenRedisVo = new JwtTokenRedisVo(); + + jwtTokenRedisVo.setHost( jwtToken.getHost() ); + jwtTokenRedisVo.setUsername( jwtToken.getUsername() ); + jwtTokenRedisVo.setSalt( jwtToken.getSalt() ); + jwtTokenRedisVo.setToken( jwtToken.getToken() ); + jwtTokenRedisVo.setCreateDate( jwtToken.getCreateDate() ); + jwtTokenRedisVo.setExpireSecond( jwtToken.getExpireSecond() ); + jwtTokenRedisVo.setExpireDate( jwtToken.getExpireDate() ); + + return jwtTokenRedisVo; + } +} diff --git a/jjj_erp/jjj-common/target/jjj-erp-1.0.jar b/jjj_erp/jjj-common/target/jjj-erp-1.0.jar new file mode 100644 index 0000000..d679851 Binary files /dev/null and b/jjj_erp/jjj-common/target/jjj-erp-1.0.jar differ diff --git a/jjj_erp/jjj-common/target/maven-archiver/pom.properties b/jjj_erp/jjj-common/target/maven-archiver/pom.properties new file mode 100644 index 0000000..2d5c5b7 --- /dev/null +++ b/jjj_erp/jjj-common/target/maven-archiver/pom.properties @@ -0,0 +1,5 @@ +#Generated by Maven +#Sat Jun 29 14:55:00 CST 2024 +version=1.0 +groupId=net.jjjerp +artifactId=jjj-common diff --git a/jjj_erp/jjj-common/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/jjj_erp/jjj-common/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst new file mode 100644 index 0000000..58bea7f --- /dev/null +++ b/jjj_erp/jjj-common/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst @@ -0,0 +1,457 @@ +net\jjjerp\framework\core\interceptor\FrontInterceptor.class +net\jjjerp\common\service\file\ImageBankService.class +net\jjjerp\common\mapper\app\AppOpenMapper.class +net\jjjerp\common\enums\StorageEnum.class +net\jjjerp\framework\core\bean\RequestDetail.class +net\jjjerp\common\service\bill\BillItemService.class +net\jjjerp\common\util\wx\AppWxUtils.class +net\jjjerp\framework\core\interceptor\PermissionInterceptor.class +net\jjjerp\common\service\depot\impl\DepotStorageStockServiceImpl.class +net\jjjerp\common\mapper\bill\BillItemMapper.class +net\jjjerp\common\param\CommonPageParam.class +net\jjjerp\framework\util\MapUtil.class +net\jjjerp\common\vo\product\ProductStockVo.class +net\jjjerp\common\util\lock\RedisLock.class +net\jjjerp\common\entity\product\ProductAttribute.class +net\jjjerp\common\mapper\settings\PrinterMapper.class +net\jjjerp\framework\util\AnsiUtil.class +net\jjjerp\framework\config\jackson\serializer\JacksonBigDecimalSerializer.class +net\jjjerp\common\util\message\MpMessageUtils.class +net\jjjerp\common\mapper\product\ProductImageMapper.class +net\jjjerp\framework\config\converter\StringToDateUtil.class +net\jjjerp\common\service\finance\capital\AccountMoneyLogService.class +net\jjjerp\common\service\product\ProductImageService.class +net\jjjerp\common\service\settings\ReturnAddressService.class +net\jjjerp\framework\shiro\vo\LoginAdminAccessVo.class +net\jjjerp\framework\core\validator\constraints\Phone.class +net\jjjerp\common\mapper\shop\ShopRoleMapper.class +net\jjjerp\framework\common\controller\EnumController.class +net\jjjerp\common\entity\file\UploadGroup.class +net\jjjerp\framework\core\validator\groups\Add.class +net\jjjerp\common\service\depot\DepotReservoirService.class +net\jjjerp\common\entity\settings\ReturnAddress.class +net\jjjerp\framework\common\controller\IndexController.class +net\jjjerp\framework\shiro\vo\LoginShopUserVo.class +net\jjjerp\common\service\shop\ShopOptLogService.class +net\jjjerp\common\service\product\ProductUnitService.class +net\jjjerp\common\service\product\impl\ProductExtendServiceImpl.class +net\jjjerp\common\util\PayUtils.class +net\jjjerp\common\param\user\UserAddressParam.class +net\jjjerp\common\entity\file\UploadFile.class +net\jjjerp\framework\util\UUIDUtil.class +net\jjjerp\framework\config\jackson\deserializer\JacksonDoubleDeserializer.class +net\jjjerp\common\entity\settings\MessageField.class +net\jjjerp\common\settings\vo\SysConfigVo.class +net\jjjerp\common\service\settings\impl\PrinterServiceImpl.class +net\jjjerp\common\service\supplier\SupplierService.class +net\jjjerp\framework\common\vo\EnumVo.class +net\jjjerp\common\enums\DeliveryStatuEnum.class +net\jjjerp\common\mapper\depot\DepotStorageStockMapper.class +net\jjjerp\common\vo\statement\HomeDealVo.class +net\jjjerp\common\factory\upload\impl\QCloudUploadServiceImpl.class +net\jjjerp\common\service\depot\impl\DepotReservoirServiceImpl.class +net\jjjerp\common\service\page\PageService.class +net\jjjerp\common\entity\store\Store.class +net\jjjerp\common\entity\bill\BillDelivery.class +net\jjjerp\common\factory\upload\impl\AliYunUploadServiceImpl.class +net\jjjerp\common\util\excel\ExcelImport.class +net\jjjerp\common\mapper\shop\ShopAccessMapper.class +net\jjjerp\common\entity\page\CenterMenu.class +net\jjjerp\common\cache\RegionCache.class +net\jjjerp\common\entity\product\ProductMfrs.class +net\jjjerp\common\service\finance\capital\impl\AccountMoneyLogServiceImpl.class +net\jjjerp\framework\util\DownloadUtil$DefaultDownloadHandler.class +net\jjjerp\framework\util\PhoneUtil.class +net\jjjerp\common\util\HttpUtils.class +net\jjjerp\common\factory\sms\SmsFactoryService.class +net\jjjerp\framework\config\converter\StringToIntegerConverter.class +net\jjjerp\common\mapper\app\AppWxMapper.class +net\jjjerp\common\param\TemplateData.class +net\jjjerp\common\service\finance\capital\AccountService.class +net\jjjerp\common\service\app\AppUpdateService.class +net\jjjerp\common\service\depot\DepotService.class +net\jjjerp\framework\core\validator\groups\Update.class +net\jjjerp\common\vo\statement\ProductBoardVo.class +net\jjjerp\common\service\settings\impl\LabelSettingServiceImpl.class +net\jjjerp\common\mapper\file\UploadGroupMapper.class +net\jjjerp\common\vo\RegionVo.class +net\jjjerp\framework\log\enums\OperationLogType.class +net\jjjerp\framework\util\PropertyColumnUtil.class +net\jjjerp\framework\util\LambdaColumn.class +net\jjjerp\common\factory\upload\impl\HwCloudUploadServiceImpl.class +net\jjjerp\framework\core\validator\PhoneValidator.class +net\jjjerp\common\entity\shop\AdminAccess.class +net\jjjerp\common\enums\OrderStatusEnum.class +net\jjjerp\common\mapper\settings\MessageFieldMapper.class +net\jjjerp\common\mapper\store\StoreMapper.class +net\jjjerp\common\mapper\shop\ShopUserMapper.class +net\jjjerp\framework\log\service\impl\SysLoginLogServiceImpl.class +net\jjjerp\framework\common\controller\BaseController.class +net\jjjerp\common\mapper\shop\ShopLoginLogMapper.class +net\jjjerp\common\mapper\admin\SaasUserMapper.class +net\jjjerp\common\service\product\impl\ProductAttributeServiceImpl.class +net\jjjerp\framework\shiro\util\JwtUtil.class +net\jjjerp\framework\util\IniUtil.class +net\jjjerp\framework\shiro\jwt\JwtToken.class +net\jjjerp\common\entity\product\ProductExtend.class +net\jjjerp\common\entity\depot\DepotStorageStock.class +net\jjjerp\common\entity\system\Sms.class +net\jjjerp\common\service\page\impl\PageCategoryServiceImpl.class +net\jjjerp\framework\core\validator\IdCardValidator.class +net\jjjerp\common\entity\shop\AdminUser.class +net\jjjerp\common\service\product\ProductDeputyUnitService.class +net\jjjerp\common\mapper\bill\BillDeliveryMapper.class +net\jjjerp\framework\common\bean\DeviceInfo.class +net\jjjerp\common\service\settings\SettingService.class +net\jjjerp\common\settings\vo\StoreVo$Policy.class +net\jjjerp\common\service\file\UploadFileService.class +net\jjjerp\framework\shiro\vo\LoginAdminUserRedisVo.class +net\jjjerp\common\factory\sms\impl\HWcloudSmsFactoryService.class +net\jjjerp\common\mapper\shop\ShopUserRoleMapper.class +net\jjjerp\framework\util\RedisCacheUtil.class +net\jjjerp\common\service\app\AppWxService.class +net\jjjerp\common\service\shop\impl\ShopLoginLogServiceImpl.class +net\jjjerp\common\mapper\settings\DeliveryMapper.class +net\jjjerp\common\entity\depot\DepotShelf.class +net\jjjerp\common\service\settings\RegionService.class +net\jjjerp\common\mapper\depot\DepotAreaMapper.class +net\jjjerp\framework\shiro\jwt\JwtFilter.class +net\jjjerp\framework\util\TokenUtil.class +net\jjjerp\common\settings\vo\SysConfigVo$WeixinService.class +net\jjjerp\common\util\CoordinateUtils.class +net\jjjerp\common\factory\sms\SmsFactory.class +net\jjjerp\common\service\finance\capital\impl\AccountServiceImpl.class +net\jjjerp\common\entity\settings\Region.class +net\jjjerp\common\entity\depot\DepotStorage.class +net\jjjerp\common\mapper\app\AppMpMapper.class +net\jjjerp\common\service\settings\impl\MessageFieldServiceImpl.class +net\jjjerp\common\entity\app\AppOpen.class +net\jjjerp\common\entity\bill\BillAddress.class +net\jjjerp\common\enums\StoreTypeEnum.class +net\jjjerp\common\util\KuaiDi100Utils.class +net\jjjerp\common\entity\app\AppUpdate.class +net\jjjerp\framework\core\xss\XssFilter.class +net\jjjerp\framework\common\param\IdParam.class +net\jjjerp\common\mapper\depot\DeliverAreaMapper.class +net\jjjerp\common\service\settings\impl\DeliveryTemplateServiceImpl.class +net\jjjerp\common\service\file\impl\UploadGroupServiceImpl.class +net\jjjerp\common\service\app\impl\AppUpdateServiceImpl.class +net\jjjerp\common\service\bill\impl\BillItemServiceImpl.class +net\jjjerp\common\service\settings\MessageFieldService.class +net\jjjerp\common\vo\product\CategoryVo.class +net\jjjerp\common\enums\OrderPayStatusEnum.class +net\jjjerp\common\service\settings\ExpressService.class +net\jjjerp\common\service\customer\impl\CustomerAddressServiceImpl.class +net\jjjerp\framework\common\service\impl\BaseServiceImpl.class +net\jjjerp\common\service\depot\impl\DepotShelfServiceImpl.class +net\jjjerp\common\mapper\app\AppUpdateMapper.class +net\jjjerp\common\factory\sms\impl\AliyunSmsFactoryService.class +net\jjjerp\common\util\wx\WxPayUtils.class +net\jjjerp\common\entity\depot\DepotArea.class +net\jjjerp\common\settings\vo\StorageVo$QiNiu.class +net\jjjerp\common\service\customer\impl\CustomerServiceImpl.class +net\jjjerp\framework\common\controller\CsrfController.class +net\jjjerp\common\settings\vo\StorageVo.class +net\jjjerp\common\entity\depot\DepotReservoir.class +net\jjjerp\framework\common\bean\ClientInfo.class +net\jjjerp\framework\util\UploadUtil.class +net\jjjerp\framework\util\DownloadUtil$DownloadHandler.class +net\jjjerp\framework\config\jackson\deserializer\JacksonLocalDateTimeDeserializer.class +net\jjjerp\common\service\bill\BillDeliveryService.class +net\jjjerp\framework\core\pagination\BasePageParam.class +net\jjjerp\common\service\system\impl\SystemVersionServiceImpl.class +net\jjjerp\framework\shiro\cache\impl\AdminLoginRedisServiceImpl.class +net\jjjerp\framework\util\DateUtil.class +net\jjjerp\common\entity\system\SystemVersion.class +net\jjjerp\common\service\app\impl\AppWxServiceImpl.class +net\jjjerp\common\service\file\UploadGroupService.class +net\jjjerp\common\entity\product\Product.class +net\jjjerp\framework\util\PrintApplicationInfo.class +net\jjjerp\common\mapper\customer\CustomerAddressMapper.class +net\jjjerp\common\mapper\settings\DeliveryRuleMapper.class +net\jjjerp\common\util\excel\ExcelClassField.class +net\jjjerp\framework\shiro\vo\LoginAdminUserVo.class +net\jjjerp\framework\common\api\ApiResult.class +net\jjjerp\common\mapper\finance\capital\AccountMoneyLogMapper.class +net\jjjerp\framework\core\pagination\OrderMapping.class +net\jjjerp\common\entity\shop\AdminRoleAccess.class +net\jjjerp\framework\core\xss\XssHttpServletRequestWrapper.class +net\jjjerp\common\vo\statement\BacklogVo.class +net\jjjerp\common\enums\SettingEnum.class +net\jjjerp\common\service\settings\MessageSettingsService.class +net\jjjerp\framework\log\annotation\OperationLog.class +net\jjjerp\common\service\product\impl\ProductMfrsServiceImpl.class +net\jjjerp\common\service\shop\impl\ShopOptLogServiceImpl.class +net\jjjerp\framework\shiro\service\ShiroLoginService.class +net\jjjerp\framework\shiro\exception\ShiroConfigException.class +net\jjjerp\common\service\settings\impl\RegionServiceImpl.class +net\jjjerp\common\param\product\ProductPageParam.class +net\jjjerp\common\service\bill\BillAddressService.class +net\jjjerp\framework\shiro\convert\ShiroMapstructConvertImpl.class +net\jjjerp\common\entity\finance\capital\Account.class +net\jjjerp\common\service\app\impl\AppOpenServiceImpl.class +net\jjjerp\common\settings\vo\PrinterVo.class +net\jjjerp\common\settings\vo\StorageVo$AliYun.class +net\jjjerp\common\service\settings\DeliveryTemplateService.class +net\jjjerp\common\vo\shop\AdminAccessVo.class +net\jjjerp\framework\config\jackson\serializer\JacksonDateSerializer.class +net\jjjerp\framework\util\BrowserUtil.class +net\jjjerp\common\enums\OrderPayTypeEnum.class +net\jjjerp\common\entity\product\ProductCategory.class +net\jjjerp\common\service\app\impl\AppMpServiceImpl.class +net\jjjerp\common\entity\file\ImageBank.class +net\jjjerp\common\util\message\WxMessageUtils.class +net\jjjerp\framework\common\enums\BaseEnum.class +net\jjjerp\framework\util\ContentTypeUtil.class +net\jjjerp\common\service\product\ProductExtendService.class +net\jjjerp\common\vo\sms\HwSmsRoot.class +net\jjjerp\common\mapper\settings\SettingMapper.class +net\jjjerp\framework\log\annotation\Module.class +net\jjjerp\common\vo\product\ProductSkuVo.class +net\jjjerp\framework\log\aop\BaseLogAop.class +net\jjjerp\common\mapper\product\ProductExtendMapper.class +net\jjjerp\common\mapper\product\ProductMfrsMapper.class +net\jjjerp\common\util\UploadFileUtils.class +net\jjjerp\framework\util\HttpServletResponseUtil.class +net\jjjerp\framework\core\pagination\BasePageOrderParam.class +net\jjjerp\common\service\customer\CustomerAddressService.class +net\jjjerp\framework\log\param\SysLoginLogPageParam.class +net\jjjerp\framework\core\util\RequestDetailThreadLocal.class +net\jjjerp\common\service\store\impl\StoreServiceImpl.class +net\jjjerp\common\service\app\impl\AppServiceImpl.class +net\jjjerp\framework\shiro\cache\impl\ShopLoginRedisServiceImpl.class +net\jjjerp\common\mapper\file\UploadFileMapper.class +net\jjjerp\common\mapper\settings\LabelSettingMapper.class +net\jjjerp\framework\util\PasswordUtil.class +net\jjjerp\common\service\page\PageCategoryService.class +net\jjjerp\framework\log\mapper\SysOperationLogMapper.class +net\jjjerp\framework\common\service\BaseService.class +net\jjjerp\common\service\page\impl\PageServiceImpl.class +net\jjjerp\framework\shiro\vo\LoginShopUserTokenVo.class +net\jjjerp\common\entity\admin\SaasUser.class +net\jjjerp\common\vo\setting\ImageVo.class +net\jjjerp\common\util\excel\ExcelUtils.class +net\jjjerp\framework\shiro\jwt\JwtRealm.class +net\jjjerp\framework\core\filter\CustomizeHttpServletRequestWrapper.class +net\jjjerp\common\service\settings\LabelSettingService.class +net\jjjerp\framework\config\converter\StringToDoubleConverter.class +net\jjjerp\framework\core\xss\XssJacksonSerializer.class +net\jjjerp\common\mapper\depot\DepotStorageMapper.class +net\jjjerp\common\mapper\page\CenterMenuMapper.class +net\jjjerp\common\entity\bill\BillItem.class +net\jjjerp\common\entity\customer\CustomerAddress.class +net\jjjerp\common\service\depot\DeliverAreaService.class +net\jjjerp\common\service\shop\ShopAccessService.class +net\jjjerp\framework\util\ClientInfoUtil.class +net\jjjerp\framework\shiro\service\LoginUsername.class +net\jjjerp\common\factory\upload\UploadFactory.class +net\jjjerp\common\entity\product\ProductDeputyUnit.class +net\jjjerp\common\mapper\app\AppMapper.class +net\jjjerp\common\service\product\impl\ProductCategoryServiceImpl.class +net\jjjerp\framework\log\entity\SysOperationLog.class +net\jjjerp\common\entity\finance\capital\AccountMoneyLog.class +net\jjjerp\common\settings\vo\SmsVo.class +net\jjjerp\framework\config\jackson\serializer\JacksonIntegerDeserializer.class +net\jjjerp\framework\core\pagination\Paging.class +net\jjjerp\common\mapper\system\SystemVersionMapper.class +net\jjjerp\common\util\excel\ExcelExport.class +net\jjjerp\framework\shiro\convert\ShiroMapstructConvert.class +net\jjjerp\common\mapper\customer\CustomerMapper.class +net\jjjerp\framework\util\SpringContextUtil.class +net\jjjerp\common\entity\app\AppWx.class +net\jjjerp\framework\ip\service\IpAddressService.class +net\jjjerp\common\factory\sms\impl\QcloudSmsFactoryService.class +net\jjjerp\common\service\depot\DepotStorageStockService.class +net\jjjerp\framework\shiro\vo\LoginUserRedisVo.class +net\jjjerp\framework\core\filter\RequestDetailFilter.class +net\jjjerp\common\enums\OrderTypeEnum.class +net\jjjerp\common\service\product\impl\ProductDeputyUnitServiceImpl.class +net\jjjerp\framework\common\api\ApiResult$ApiResultBuilder.class +net\jjjerp\common\service\app\AppOpenService.class +net\jjjerp\framework\shiro\vo\JwtTokenRedisVo.class +net\jjjerp\framework\common\exception\SpringBootJjjException.class +net\jjjerp\framework\ip\mapper\IpAddressMapper.class +net\jjjerp\framework\shiro\service\impl\ShiroLoginServiceImpl.class +net\jjjerp\framework\log\bean\RequestInfo.class +net\jjjerp\common\mapper\settings\DeliveryTemplateMapper.class +net\jjjerp\framework\common\exception\DaoException.class +net\jjjerp\framework\log\entity\SysLoginLog.class +net\jjjerp\common\service\customer\CustomerService.class +net\jjjerp\framework\config\converter\StringToDateConverter.class +net\jjjerp\framework\log\service\impl\SysOperationLogServiceImpl.class +net\jjjerp\common\param\product\CategoryParam.class +net\jjjerp\common\mapper\depot\DepotReservoirMapper.class +net\jjjerp\common\util\message\SmsMessageUtils.class +net\jjjerp\framework\shiro\util\JwtTokenUtil.class +net\jjjerp\common\service\product\ProductAttributeService.class +net\jjjerp\common\service\bill\impl\BillAddressServiceImpl.class +net\jjjerp\framework\log\mapper\SysLoginLogMapper.class +net\jjjerp\common\service\settings\impl\MessageSettingsServiceImpl.class +net\jjjerp\common\service\depot\impl\DeliverAreaServiceImpl.class +net\jjjerp\common\settings\vo\SmsVo$AliyunSms.class +net\jjjerp\common\service\product\impl\ProductUnitServiceImpl.class +net\jjjerp\common\vo\product\ProductVo.class +net\jjjerp\common\service\product\ProductService.class +net\jjjerp\common\service\settings\impl\MessageServiceImpl.class +net\jjjerp\framework\config\jackson\deserializer\JacksonDateDeserializer.class +net\jjjerp\common\entity\depot\DeliverArea.class +net\jjjerp\common\service\page\CenterMenuService.class +net\jjjerp\framework\shiro\jwt\JwtCredentialsMatcher.class +net\jjjerp\common\entity\settings\Setting.class +net\jjjerp\common\util\wx\AppMpUtils.class +net\jjjerp\common\util\ShopAccessUtils.class +net\jjjerp\common\service\file\impl\ImageBankServiceImpl.class +net\jjjerp\common\param\setting\ExpressParam.class +net\jjjerp\common\service\settings\impl\SettingServiceImpl.class +net\jjjerp\common\enums\DeliveryTypeEnum.class +net\jjjerp\framework\shiro\vo\LoginShopUserRedisVo.class +net\jjjerp\common\param\WxMssVO.class +net\jjjerp\common\util\HuaWeiSMSUtil$1.class +net\jjjerp\common\entity\settings\MessageSettings.class +net\jjjerp\common\service\product\ProductCategoryService.class +net\jjjerp\common\mapper\depot\DepotMapper.class +net\jjjerp\common\param\depot\StorageParam.class +net\jjjerp\common\vo\statement\DealVo.class +net\jjjerp\common\mapper\settings\ReturnAddressMapper.class +net\jjjerp\common\entity\shop\AdminUserRole.class +net\jjjerp\common\entity\shop\AdminRole.class +net\jjjerp\framework\util\AdminLoginUtil.class +net\jjjerp\common\vo\page\PageVo.class +net\jjjerp\framework\core\validator\constraints\EnumType.class +net\jjjerp\common\entity\settings\DeliveryRule.class +net\jjjerp\common\service\product\impl\ProductServiceImpl.class +net\jjjerp\framework\util\Jackson.class +net\jjjerp\common\interceptor\JjjTenantLineInnerInterceptor.class +net\jjjerp\common\service\shop\ShopLoginLogService.class +net\jjjerp\framework\shiro\service\LoginToken.class +net\jjjerp\common\settings\vo\StoreVo$KuaiDi100.class +net\jjjerp\common\util\SettingUtils.class +net\jjjerp\framework\shiro\cache\ShopLoginRedisService.class +net\jjjerp\common\enums\MessageTypeEnum.class +net\jjjerp\common\service\bill\BillHeadService.class +net\jjjerp\framework\core\validator\EnumTypeValidator.class +net\jjjerp\framework\log\service\SysOperationLogService.class +net\jjjerp\common\param\LabelCanceParam.class +net\jjjerp\common\service\settings\PrinterService.class +net\jjjerp\framework\shiro\cache\AdminLoginRedisService.class +net\jjjerp\common\mapper\settings\MessageSettingsMapper.class +net\jjjerp\common\mapper\settings\ExpressMapper.class +net\jjjerp\common\vo\sms\HwSmsResult.class +net\jjjerp\common\enums\PrinterTypeEnum.class +net\jjjerp\framework\core\pagination\PageInfo.class +net\jjjerp\common\service\app\AppMpService.class +net\jjjerp\framework\util\UploadUtil$DefaultUploadFileNameHandleImpl.class +net\jjjerp\framework\config\converter\ConverterConfig.class +net\jjjerp\framework\config\jackson\serializer\JacksonLocalDateTimeSerializer.class +net\jjjerp\framework\util\BaseEnumUtil.class +net\jjjerp\common\settings\vo\StorageVo$QCloud.class +net\jjjerp\framework\log\param\SysOperationLogPageParam.class +net\jjjerp\framework\log\service\SysLoginLogService.class +net\jjjerp\common\param\product\ProductParam.class +net\jjjerp\common\util\ProductUtils.class +net\jjjerp\framework\core\filter\CustomizeHttpServletRequestWrapper$1.class +net\jjjerp\common\mapper\shop\ShopOptLogMapper.class +net\jjjerp\framework\util\UploadUtil$UploadFileNameHandle.class +net\jjjerp\framework\util\HttpServletRequestUtil.class +net\jjjerp\framework\ip\service\impl\IpAddressServiceImpl.class +net\jjjerp\common\service\depot\DepotShelfService.class +net\jjjerp\common\mapper\page\PageMapper.class +net\jjjerp\common\service\depot\DepotStorageService.class +net\jjjerp\common\vo\image\ImageBankVo.class +net\jjjerp\common\mapper\supplier\SupplierMapper.class +net\jjjerp\common\entity\bill\BillHead.class +net\jjjerp\common\mapper\settings\RegionMapper.class +net\jjjerp\common\service\product\ProductMfrsService.class +net\jjjerp\common\util\StringUtil.class +net\jjjerp\common\entity\settings\Printer.class +net\jjjerp\common\service\settings\MessageService.class +net\jjjerp\common\entity\settings\LabelSetting.class +net\jjjerp\common\entity\settings\Delivery.class +net\jjjerp\common\entity\settings\Express.class +net\jjjerp\framework\config\converter\StringToDoubleUtil.class +net\jjjerp\common\factory\upload\impl\QiNiuUploadServiceImpl.class +net\jjjerp\common\mapper\shop\ShopRoleAccessMapper.class +net\jjjerp\framework\log\bean\OperationLogInfo.class +net\jjjerp\framework\log\annotation\OperationLogIgnore.class +net\jjjerp\common\service\page\impl\CenterMenuServiceImpl.class +net\jjjerp\common\mapper\page\PageCategoryMapper.class +net\jjjerp\common\util\MybatisPlusUtils.class +net\jjjerp\framework\util\VerificationCode.class +net\jjjerp\common\mapper\bill\BillHeadMapper.class +net\jjjerp\common\service\settings\impl\ExpressServiceImpl.class +net\jjjerp\common\service\shop\ShopUserService.class +net\jjjerp\common\settings\vo\StoreVo.class +net\jjjerp\common\service\shop\impl\ShopAccessServiceImpl.class +net\jjjerp\common\service\product\impl\ProductImageServiceImpl.class +net\jjjerp\common\service\depot\impl\DepotServiceImpl.class +net\jjjerp\common\vo\product\ProductListVo.class +net\jjjerp\common\mapper\file\ImageBankMapper.class +net\jjjerp\common\service\depot\impl\DepotStorageServiceImpl.class +net\jjjerp\common\util\message\MpChatSendUtil.class +net\jjjerp\framework\common\api\ApiCode.class +net\jjjerp\common\service\bill\impl\BillDeliveryServiceImpl.class +net\jjjerp\common\util\message\MessageUtils.class +net\jjjerp\common\util\CodeUtils.class +net\jjjerp\common\vo\product\ProductImageVo.class +net\jjjerp\common\enums\PlatformEnum.class +net\jjjerp\common\param\ImportOrderParam.class +net\jjjerp\common\service\bill\impl\BillHeadServiceImpl.class +net\jjjerp\common\settings\vo\StorageVo$HwCloud.class +net\jjjerp\framework\common\enums\BaseNameEnum.class +net\jjjerp\framework\shiro\vo\LoginUserVo.class +net\jjjerp\common\entity\settings\DeliveryTemplate.class +net\jjjerp\common\entity\supplier\Supplier.class +net\jjjerp\common\enums\PayTypeEnum.class +net\jjjerp\common\settings\vo\SmsVo$HWcloudSms.class +net\jjjerp\common\entity\shop\AdminOptLog.class +net\jjjerp\common\mapper\product\ProductAttributeMapper.class +net\jjjerp\framework\common\exception\GlobalErrorController.class +net\jjjerp\common\entity\customer\Customer.class +net\jjjerp\common\entity\app\App.class +net\jjjerp\common\entity\settings\Message.class +net\jjjerp\common\entity\app\AppMp.class +net\jjjerp\common\service\depot\impl\DepotAreaServiceImpl.class +net\jjjerp\common\mapper\product\ProductCategoryMapper.class +net\jjjerp\framework\common\exception\BusinessException.class +net\jjjerp\common\factory\upload\UploadFactoryService.class +net\jjjerp\common\enums\BusinessTypeEnum.class +net\jjjerp\common\entity\page\Page.class +net\jjjerp\common\mapper\bill\BillAddressMapper.class +net\jjjerp\common\service\shop\impl\ShopUserServiceImpl.class +net\jjjerp\common\param\setting\ExpressPageParam.class +net\jjjerp\common\vo\store\ExtractSaveVo.class +net\jjjerp\common\entity\product\ProductUnit.class +net\jjjerp\common\mapper\product\ProductDeputyUnitMapper.class +net\jjjerp\common\service\supplier\impl\SupplierServiceImpl.class +net\jjjerp\framework\common\exception\SpringBootJjjConfigException.class +net\jjjerp\common\mapper\finance\capital\AccountMapper.class +net\jjjerp\common\service\store\StoreService.class +net\jjjerp\framework\core\validator\constraints\IdCard.class +net\jjjerp\framework\util\IpUtil.class +net\jjjerp\common\service\system\SystemVersionService.class +net\jjjerp\framework\config\converter\StringToIntegerUtil.class +net\jjjerp\framework\util\DownloadUtil.class +net\jjjerp\common\factory\upload\impl\LocalUploadServiceImpl.class +net\jjjerp\common\entity\shop\AdminLoginLog.class +net\jjjerp\common\enums\BillTypeEnum.class +net\jjjerp\common\param\ImageBankPageParam.class +net\jjjerp\common\util\HuaWeiSMSUtil.class +net\jjjerp\common\mapper\product\ProductMapper.class +net\jjjerp\framework\core\xss\XssJacksonDeserializer.class +net\jjjerp\common\service\depot\DepotAreaService.class +net\jjjerp\common\mapper\settings\MessageMapper.class +net\jjjerp\common\service\file\impl\UploadFileServiceImpl.class +net\jjjerp\common\entity\product\ProductImage.class +net\jjjerp\common\param\SignParam.class +net\jjjerp\common\mapper\product\ProductUnitMapper.class +net\jjjerp\common\enums\OrderSourceEnum.class +net\jjjerp\common\util\ImageBankUtils.class +net\jjjerp\framework\ip\entity\IpAddress.class +net\jjjerp\framework\util\ShopLoginUtil.class +net\jjjerp\common\service\settings\impl\ReturnAddressServiceImpl.class +net\jjjerp\framework\shiro\util\SaltUtil.class +net\jjjerp\common\entity\depot\Depot.class +net\jjjerp\common\service\app\AppService.class +net\jjjerp\common\settings\vo\SmsVo$QcloudSms.class +net\jjjerp\common\mapper\depot\DepotShelfMapper.class +net\jjjerp\common\entity\page\PageCategory.class diff --git a/jjj_erp/jjj-common/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/jjj_erp/jjj-common/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst new file mode 100644 index 0000000..7ef3fee --- /dev/null +++ b/jjj_erp/jjj-common/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst @@ -0,0 +1,440 @@ +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\framework\common\service\impl\BaseServiceImpl.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\entity\file\UploadGroup.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\entity\settings\Printer.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\util\CodeUtils.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\framework\common\exception\BusinessException.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\mapper\settings\MessageFieldMapper.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\mapper\product\ProductMfrsMapper.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\service\settings\MessageService.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\entity\customer\Customer.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\framework\shiro\vo\LoginAdminUserVo.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\vo\product\ProductStockVo.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\util\excel\ExcelClassField.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\framework\config\converter\ConverterConfig.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\service\product\impl\ProductImageServiceImpl.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\mapper\bill\BillHeadMapper.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\framework\log\annotation\OperationLog.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\framework\common\controller\CsrfController.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\mapper\system\SystemVersionMapper.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\service\app\AppWxService.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\entity\settings\Message.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\factory\sms\impl\HWcloudSmsFactoryService.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\entity\app\AppOpen.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\entity\system\SystemVersion.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\util\ProductUtils.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\util\UploadFileUtils.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\framework\log\service\impl\SysLoginLogServiceImpl.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\service\product\impl\ProductDeputyUnitServiceImpl.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\entity\bill\BillAddress.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\service\settings\impl\MessageServiceImpl.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\entity\product\ProductExtend.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\entity\product\ProductDeputyUnit.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\factory\sms\impl\QcloudSmsFactoryService.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\framework\log\entity\SysOperationLog.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\mapper\shop\ShopUserMapper.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\util\CoordinateUtils.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\service\settings\ReturnAddressService.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\service\supplier\impl\SupplierServiceImpl.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\framework\log\mapper\SysLoginLogMapper.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\framework\core\validator\constraints\Phone.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\framework\shiro\convert\ShiroMapstructConvert.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\entity\settings\DeliveryRule.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\mapper\settings\DeliveryTemplateMapper.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\entity\settings\DeliveryTemplate.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\framework\common\enums\BaseNameEnum.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\framework\util\BaseEnumUtil.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\framework\core\interceptor\PermissionInterceptor.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\service\depot\impl\DepotStorageStockServiceImpl.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\framework\config\jackson\serializer\JacksonLocalDateTimeSerializer.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\util\message\MessageUtils.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\settings\vo\SmsVo.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\entity\shop\AdminUserRole.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\framework\log\param\SysLoginLogPageParam.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\mapper\app\AppUpdateMapper.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\factory\upload\impl\AliYunUploadServiceImpl.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\mapper\settings\ExpressMapper.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\util\excel\ExcelExport.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\service\settings\impl\SettingServiceImpl.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\vo\product\ProductImageVo.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\framework\log\service\SysLoginLogService.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\framework\common\service\BaseService.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\service\shop\ShopOptLogService.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\mapper\app\AppMapper.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\entity\app\AppUpdate.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\service\depot\DepotService.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\util\excel\ExcelImport.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\mapper\page\PageCategoryMapper.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\service\settings\RegionService.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\factory\sms\SmsFactoryService.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\factory\upload\impl\HwCloudUploadServiceImpl.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\framework\shiro\vo\LoginAdminAccessVo.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\framework\util\VerificationCode.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\framework\util\UploadUtil.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\service\app\impl\AppUpdateServiceImpl.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\framework\shiro\jwt\JwtCredentialsMatcher.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\framework\util\DateUtil.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\service\settings\impl\DeliveryTemplateServiceImpl.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\framework\log\param\SysOperationLogPageParam.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\util\message\SmsMessageUtils.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\service\depot\impl\DeliverAreaServiceImpl.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\framework\shiro\jwt\JwtToken.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\factory\upload\impl\LocalUploadServiceImpl.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\service\product\impl\ProductCategoryServiceImpl.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\entity\product\ProductCategory.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\service\bill\impl\BillDeliveryServiceImpl.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\util\message\MpChatSendUtil.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\vo\product\ProductSkuVo.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\entity\shop\AdminAccess.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\entity\finance\capital\AccountMoneyLog.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\service\product\impl\ProductMfrsServiceImpl.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\mapper\shop\ShopOptLogMapper.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\service\settings\impl\PrinterServiceImpl.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\entity\bill\BillDelivery.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\framework\core\util\RequestDetailThreadLocal.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\service\file\UploadGroupService.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\mapper\admin\SaasUserMapper.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\service\settings\ExpressService.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\settings\vo\PrinterVo.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\entity\product\ProductImage.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\entity\shop\AdminUser.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\util\message\MpMessageUtils.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\entity\settings\LabelSetting.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\entity\page\CenterMenu.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\entity\bill\BillItem.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\entity\settings\Region.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\mapper\product\ProductImageMapper.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\framework\shiro\jwt\JwtFilter.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\mapper\depot\DepotReservoirMapper.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\factory\sms\impl\AliyunSmsFactoryService.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\service\depot\impl\DepotStorageServiceImpl.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\service\bill\impl\BillHeadServiceImpl.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\entity\depot\DepotReservoir.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\entity\store\Store.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\framework\log\aop\BaseLogAop.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\enums\PrinterTypeEnum.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\framework\config\jackson\deserializer\JacksonLocalDateTimeDeserializer.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\framework\config\converter\StringToDateUtil.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\framework\util\HttpServletResponseUtil.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\settings\vo\SysConfigVo.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\entity\depot\DepotStorage.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\entity\product\ProductMfrs.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\service\page\PageService.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\service\settings\impl\MessageFieldServiceImpl.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\entity\app\App.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\framework\ip\service\IpAddressService.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\vo\statement\BacklogVo.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\service\depot\impl\DepotShelfServiceImpl.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\enums\DeliveryStatuEnum.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\service\page\PageCategoryService.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\vo\product\ProductVo.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\entity\product\ProductAttribute.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\mapper\shop\ShopLoginLogMapper.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\framework\common\bean\DeviceInfo.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\vo\sms\HwSmsRoot.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\framework\config\converter\StringToDoubleConverter.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\framework\core\pagination\PageInfo.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\mapper\shop\ShopAccessMapper.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\mapper\depot\DeliverAreaMapper.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\vo\product\ProductListVo.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\param\product\CategoryParam.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\framework\util\SpringContextUtil.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\entity\bill\BillHead.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\entity\settings\MessageSettings.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\param\ImportOrderParam.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\framework\common\bean\ClientInfo.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\framework\util\LambdaColumn.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\enums\DeliveryTypeEnum.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\entity\finance\capital\Account.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\vo\statement\HomeDealVo.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\mapper\supplier\SupplierMapper.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\framework\config\converter\StringToDoubleUtil.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\service\supplier\SupplierService.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\vo\store\ExtractSaveVo.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\service\depot\DeliverAreaService.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\framework\log\service\SysOperationLogService.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\framework\util\IniUtil.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\service\customer\CustomerAddressService.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\framework\core\pagination\Paging.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\service\app\AppUpdateService.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\entity\product\ProductUnit.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\entity\file\UploadFile.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\framework\core\validator\groups\Add.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\framework\util\PropertyColumnUtil.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\service\shop\impl\ShopUserServiceImpl.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\framework\common\controller\EnumController.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\service\finance\capital\impl\AccountServiceImpl.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\vo\shop\AdminAccessVo.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\framework\common\param\IdParam.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\cache\RegionCache.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\util\ShopAccessUtils.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\util\KuaiDi100Utils.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\vo\product\CategoryVo.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\mapper\app\AppWxMapper.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\service\product\impl\ProductAttributeServiceImpl.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\service\product\ProductExtendService.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\util\SettingUtils.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\entity\depot\DepotShelf.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\framework\log\enums\OperationLogType.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\framework\shiro\vo\LoginUserVo.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\entity\app\AppWx.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\mapper\file\UploadGroupMapper.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\service\system\impl\SystemVersionServiceImpl.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\mapper\settings\MessageSettingsMapper.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\framework\core\xss\XssHttpServletRequestWrapper.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\mapper\settings\DeliveryMapper.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\framework\util\Jackson.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\framework\core\validator\IdCardValidator.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\service\depot\DepotStorageStockService.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\framework\core\validator\groups\Update.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\service\store\StoreService.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\entity\admin\SaasUser.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\entity\settings\Express.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\service\depot\DepotShelfService.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\framework\util\HttpServletRequestUtil.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\util\HttpUtils.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\service\file\UploadFileService.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\service\product\impl\ProductUnitServiceImpl.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\entity\app\AppMp.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\mapper\settings\DeliveryRuleMapper.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\framework\shiro\util\JwtUtil.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\mapper\bill\BillAddressMapper.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\framework\core\validator\EnumTypeValidator.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\entity\settings\Delivery.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\mapper\bill\BillDeliveryMapper.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\mapper\settings\LabelSettingMapper.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\param\ImageBankPageParam.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\framework\util\MapUtil.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\param\setting\ExpressPageParam.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\framework\shiro\vo\LoginShopUserTokenVo.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\mapper\page\PageMapper.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\framework\util\UUIDUtil.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\util\lock\RedisLock.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\framework\core\interceptor\FrontInterceptor.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\framework\shiro\service\impl\ShiroLoginServiceImpl.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\entity\page\Page.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\param\product\ProductPageParam.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\mapper\depot\DepotShelfMapper.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\framework\shiro\cache\AdminLoginRedisService.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\entity\product\Product.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\util\HuaWeiSMSUtil.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\service\app\impl\AppWxServiceImpl.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\framework\ip\entity\IpAddress.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\param\LabelCanceParam.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\mapper\bill\BillItemMapper.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\framework\config\converter\StringToIntegerConverter.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\mapper\product\ProductDeputyUnitMapper.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\enums\OrderPayStatusEnum.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\enums\OrderSourceEnum.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\service\depot\DepotStorageService.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\param\TemplateData.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\service\depot\impl\DepotAreaServiceImpl.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\service\customer\impl\CustomerServiceImpl.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\service\finance\capital\AccountService.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\param\CommonPageParam.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\factory\upload\UploadFactory.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\service\shop\ShopUserService.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\mapper\shop\ShopUserRoleMapper.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\service\settings\MessageSettingsService.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\framework\util\PhoneUtil.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\framework\core\xss\XssJacksonDeserializer.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\entity\shop\AdminRoleAccess.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\mapper\file\UploadFileMapper.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\service\bill\BillAddressService.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\entity\depot\DepotStorageStock.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\enums\BillTypeEnum.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\mapper\customer\CustomerAddressMapper.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\service\shop\impl\ShopOptLogServiceImpl.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\service\settings\SettingService.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\enums\PlatformEnum.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\framework\log\annotation\OperationLogIgnore.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\mapper\finance\capital\AccountMoneyLogMapper.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\framework\shiro\util\JwtTokenUtil.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\framework\shiro\vo\LoginUserRedisVo.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\framework\shiro\vo\LoginShopUserRedisVo.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\service\bill\BillItemService.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\param\depot\StorageParam.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\framework\common\api\ApiCode.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\mapper\product\ProductMapper.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\service\product\ProductImageService.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\enums\PayTypeEnum.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\mapper\settings\ReturnAddressMapper.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\entity\depot\DeliverArea.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\framework\shiro\vo\JwtTokenRedisVo.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\service\bill\impl\BillAddressServiceImpl.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\framework\util\AdminLoginUtil.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\vo\statement\ProductBoardVo.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\framework\log\entity\SysLoginLog.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\settings\vo\StorageVo.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\framework\core\bean\RequestDetail.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\enums\StorageEnum.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\settings\vo\StoreVo.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\service\product\ProductDeputyUnitService.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\framework\util\BrowserUtil.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\mapper\depot\DepotAreaMapper.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\util\excel\ExcelUtils.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\util\message\WxMessageUtils.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\framework\core\filter\CustomizeHttpServletRequestWrapper.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\framework\shiro\cache\impl\ShopLoginRedisServiceImpl.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\service\customer\CustomerService.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\framework\shiro\vo\LoginAdminUserRedisVo.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\param\setting\ExpressParam.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\framework\ip\mapper\IpAddressMapper.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\vo\RegionVo.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\service\shop\ShopAccessService.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\framework\common\exception\GlobalErrorController.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\framework\log\bean\OperationLogInfo.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\entity\customer\CustomerAddress.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\mapper\depot\DepotMapper.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\mapper\settings\PrinterMapper.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\service\depot\DepotReservoirService.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\entity\shop\AdminOptLog.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\service\page\impl\PageCategoryServiceImpl.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\framework\shiro\util\SaltUtil.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\service\system\SystemVersionService.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\service\bill\BillHeadService.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\framework\shiro\cache\impl\AdminLoginRedisServiceImpl.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\enums\OrderTypeEnum.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\service\file\impl\UploadGroupServiceImpl.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\mapper\customer\CustomerMapper.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\framework\core\pagination\BasePageOrderParam.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\service\app\AppMpService.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\framework\config\jackson\deserializer\JacksonDateDeserializer.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\framework\common\controller\IndexController.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\framework\common\exception\DaoException.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\entity\supplier\Supplier.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\framework\core\xss\XssJacksonSerializer.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\service\settings\LabelSettingService.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\framework\util\TokenUtil.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\framework\ip\service\impl\IpAddressServiceImpl.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\entity\settings\ReturnAddress.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\service\settings\DeliveryTemplateService.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\service\page\impl\PageServiceImpl.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\service\settings\impl\MessageSettingsServiceImpl.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\vo\statement\DealVo.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\service\app\impl\AppMpServiceImpl.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\service\bill\BillDeliveryService.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\enums\MessageTypeEnum.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\framework\util\PrintApplicationInfo.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\framework\config\jackson\serializer\JacksonBigDecimalSerializer.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\framework\util\PasswordUtil.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\service\depot\impl\DepotServiceImpl.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\framework\util\IpUtil.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\framework\config\jackson\serializer\JacksonIntegerDeserializer.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\service\product\impl\ProductExtendServiceImpl.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\service\product\ProductMfrsService.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\util\ImageBankUtils.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\enums\OrderPayTypeEnum.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\mapper\shop\ShopRoleMapper.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\framework\core\validator\constraints\EnumType.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\service\depot\impl\DepotReservoirServiceImpl.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\param\user\UserAddressParam.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\service\settings\impl\ExpressServiceImpl.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\framework\common\exception\SpringBootJjjConfigException.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\service\store\impl\StoreServiceImpl.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\service\depot\DepotAreaService.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\service\file\impl\UploadFileServiceImpl.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\framework\config\jackson\serializer\JacksonDateSerializer.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\service\finance\capital\impl\AccountMoneyLogServiceImpl.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\entity\shop\AdminLoginLog.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\enums\BusinessTypeEnum.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\framework\shiro\service\LoginUsername.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\framework\util\AnsiUtil.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\mapper\product\ProductUnitMapper.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\util\wx\WxPayUtils.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\framework\core\pagination\BasePageParam.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\framework\shiro\cache\ShopLoginRedisService.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\mapper\finance\capital\AccountMapper.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\mapper\product\ProductCategoryMapper.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\vo\page\PageVo.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\framework\core\pagination\OrderMapping.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\framework\shiro\service\ShiroLoginService.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\framework\common\controller\BaseController.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\util\wx\AppWxUtils.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\service\file\ImageBankService.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\param\product\ProductParam.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\vo\setting\ImageVo.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\interceptor\JjjTenantLineInnerInterceptor.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\vo\image\ImageBankVo.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\param\WxMssVO.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\framework\log\annotation\Module.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\framework\log\service\impl\SysOperationLogServiceImpl.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\service\shop\ShopLoginLogService.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\framework\shiro\jwt\JwtRealm.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\service\file\impl\ImageBankServiceImpl.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\framework\common\exception\SpringBootJjjException.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\framework\shiro\exception\ShiroConfigException.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\enums\StoreTypeEnum.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\factory\sms\SmsFactory.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\service\product\ProductCategoryService.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\service\page\impl\CenterMenuServiceImpl.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\mapper\app\AppMpMapper.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\service\product\ProductUnitService.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\util\MybatisPlusUtils.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\framework\util\ContentTypeUtil.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\mapper\settings\MessageMapper.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\mapper\page\CenterMenuMapper.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\mapper\settings\RegionMapper.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\service\app\impl\AppOpenServiceImpl.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\framework\common\enums\BaseEnum.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\framework\util\ClientInfoUtil.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\service\shop\impl\ShopLoginLogServiceImpl.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\enums\SettingEnum.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\service\page\CenterMenuService.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\framework\shiro\service\LoginToken.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\service\settings\PrinterService.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\framework\util\package-info.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\util\wx\AppMpUtils.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\framework\config\converter\StringToDateConverter.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\service\product\ProductAttributeService.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\service\settings\impl\LabelSettingServiceImpl.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\service\app\impl\AppServiceImpl.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\framework\core\xss\XssFilter.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\mapper\shop\ShopRoleAccessMapper.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\framework\shiro\vo\LoginShopUserVo.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\mapper\app\AppOpenMapper.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\framework\util\ShopLoginUtil.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\framework\core\validator\PhoneValidator.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\service\bill\impl\BillItemServiceImpl.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\framework\log\bean\RequestInfo.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\framework\config\jackson\deserializer\JacksonDoubleDeserializer.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\entity\shop\AdminRole.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\entity\depot\Depot.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\service\settings\MessageFieldService.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\framework\config\converter\StringToIntegerUtil.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\param\SignParam.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\framework\core\filter\RequestDetailFilter.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\service\finance\capital\AccountMoneyLogService.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\util\PayUtils.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\mapper\settings\SettingMapper.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\enums\OrderStatusEnum.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\service\app\AppOpenService.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\service\settings\impl\RegionServiceImpl.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\factory\upload\impl\QiNiuUploadServiceImpl.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\mapper\store\StoreMapper.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\entity\system\Sms.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\service\settings\impl\ReturnAddressServiceImpl.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\util\StringUtil.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\framework\common\api\ApiResult.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\service\customer\impl\CustomerAddressServiceImpl.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\mapper\depot\DepotStorageStockMapper.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\entity\settings\Setting.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\mapper\product\ProductAttributeMapper.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\service\shop\impl\ShopAccessServiceImpl.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\service\app\AppService.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\service\product\ProductService.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\entity\page\PageCategory.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\vo\sms\HwSmsResult.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\mapper\file\ImageBankMapper.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\framework\log\mapper\SysOperationLogMapper.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\service\product\impl\ProductServiceImpl.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\entity\depot\DepotArea.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\mapper\depot\DepotStorageMapper.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\mapper\product\ProductExtendMapper.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\factory\upload\UploadFactoryService.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\entity\file\ImageBank.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\framework\common\vo\EnumVo.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\framework\core\validator\constraints\IdCard.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\entity\settings\MessageField.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\framework\util\DownloadUtil.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\common\factory\upload\impl\QCloudUploadServiceImpl.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-common\src\main\java\net\jjjerp\framework\util\RedisCacheUtil.java diff --git a/jjj_erp/jjj-job/README.md b/jjj_erp/jjj-job/README.md new file mode 100644 index 0000000..09e7575 --- /dev/null +++ b/jjj_erp/jjj-job/README.md @@ -0,0 +1 @@ +# scheduled 项目任务调度模块 \ No newline at end of file diff --git a/jjj_erp/jjj-job/pom.xml b/jjj_erp/jjj-job/pom.xml new file mode 100644 index 0000000..f1374a5 --- /dev/null +++ b/jjj_erp/jjj-job/pom.xml @@ -0,0 +1,24 @@ + + + + 4.0.0 + + + net.jjjerp + parent + 1.0 + + + jjj-job + jjj-job + 任务调度JOB模块 + + + + net.jjjerp + jjj-common + + + + diff --git a/jjj_erp/jjj-job/src/main/java/net/jjjerp/job/controller/UatController.java b/jjj_erp/jjj-job/src/main/java/net/jjjerp/job/controller/UatController.java new file mode 100644 index 0000000..8d54d0e --- /dev/null +++ b/jjj_erp/jjj-job/src/main/java/net/jjjerp/job/controller/UatController.java @@ -0,0 +1,36 @@ + + +package net.jjjerp.job.controller; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.config.constant.CommonRedisKey; +import net.jjjerp.config.properties.SpringBootJjjProperties; +import net.jjjerp.framework.common.controller.BaseController; +import net.jjjerp.framework.log.annotation.OperationLog; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.redis.core.RedisTemplate; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RestController; + +@Slf4j +@Api(value = "uat", tags = {"uat注入ip测试类"}) +@RestController +@RequestMapping("/job/uat") +public class UatController extends BaseController { + + @Autowired + private SpringBootJjjProperties springBootJjjProperties; + @Autowired + private RedisTemplate redisTemplate; + + @RequestMapping(value = "/ip", method = RequestMethod.GET) + @OperationLog(name = "ip") + @ApiOperation(value = "设置ip", response = String.class) + public String ip(String ip) { + redisTemplate.opsForValue().set(CommonRedisKey.UAT_IP, ip); + return "设置成功"+ip; + } +} diff --git a/jjj_erp/jjj-job/src/main/java/net/jjjerp/job/lock/CommonRedisHelper.java b/jjj_erp/jjj-job/src/main/java/net/jjjerp/job/lock/CommonRedisHelper.java new file mode 100644 index 0000000..428eed2 --- /dev/null +++ b/jjj_erp/jjj-job/src/main/java/net/jjjerp/job/lock/CommonRedisHelper.java @@ -0,0 +1,59 @@ +package net.jjjerp.job.lock; + + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.redis.core.RedisTemplate; +import org.springframework.data.redis.core.ValueOperations; +import org.springframework.stereotype.Component; + +import java.util.concurrent.TimeUnit; + +/** + * 分布式锁 + */ +@Component +public class CommonRedisHelper { + + @Autowired + RedisTemplate redisTemplate; + + /** + * 加分布式锁 + * + * @param track + * @param sector + * @param timeout + * @return + */ + public boolean setNx(String track, String sector, long timeout) { + ValueOperations valueOperations = redisTemplate.opsForValue(); + + Boolean flag = valueOperations.setIfAbsent(track + sector, System.currentTimeMillis()); + // 如果成功设置超时时间, 防止超时 + if (flag) { + valueOperations.set(track + sector, getLockValue(track, sector), timeout, TimeUnit.SECONDS); + } + return flag; + } + + /** + * 删除锁 + * + * @param track + * @param sector + */ + public void delete(String track, String sector) { + redisTemplate.delete(track + sector); + } + + /** + * 查询锁 + * @return 写锁时间 + */ + public long getLockValue(String track, String sector) { + ValueOperations valueOperations = redisTemplate.opsForValue(); + long createTime = (long) valueOperations.get(track + sector); + return createTime; + } + +} \ No newline at end of file diff --git a/jjj_erp/jjj-job/src/main/java/net/jjjerp/job/lock/RedisLock.java b/jjj_erp/jjj-job/src/main/java/net/jjjerp/job/lock/RedisLock.java new file mode 100644 index 0000000..80dcb56 --- /dev/null +++ b/jjj_erp/jjj-job/src/main/java/net/jjjerp/job/lock/RedisLock.java @@ -0,0 +1,20 @@ +package net.jjjerp.job.lock; + +import java.lang.annotation.*; +import java.util.concurrent.TimeUnit; + +/** + * redis锁注解 + * @author wangxw + */ +@Retention(RetentionPolicy.RUNTIME) +@Target({ElementType.METHOD}) +@Documented +public @interface RedisLock { + + String lockPrefix() default ""; + String lockKey() default ""; + long timeOut() default 5; + TimeUnit timeUnit() default TimeUnit.SECONDS; + +} \ No newline at end of file diff --git a/jjj_erp/jjj-job/src/main/java/net/jjjerp/job/lock/RedisLockAspect.java b/jjj_erp/jjj-job/src/main/java/net/jjjerp/job/lock/RedisLockAspect.java new file mode 100644 index 0000000..b06518d --- /dev/null +++ b/jjj_erp/jjj-job/src/main/java/net/jjjerp/job/lock/RedisLockAspect.java @@ -0,0 +1,128 @@ +package net.jjjerp.job.lock; + + +import lombok.extern.slf4j.Slf4j; +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.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; +import org.springframework.util.StringUtils; + +import java.lang.reflect.Method; +import java.util.HashMap; +import java.util.Map; + +/** + * redis锁拦截器实现 + */ +@Aspect +@Slf4j +@Component +public class RedisLockAspect { + + private static final Integer MAX_RETRY_COUNT = 3; + private static final String LOCK_PRE_FIX = "lockPreFix"; + private static final String LOCK_KEY = "lockKey"; + private static final String TIME_OUT = "timeOut"; + private static final int PROTECT_TIME = 2 << 11;//4096 + + @Autowired + private CommonRedisHelper commonRedisHelper; + + + @Pointcut("@annotation(net.jjjerp.job.lock.RedisLock)") + public void redisLockAspect() { + } + + @Around("redisLockAspect()") + public void lockAroundAction(ProceedingJoinPoint proceeding) throws Exception { + + //获取redis锁 + Boolean flag = this.getLock(proceeding, 0, System.currentTimeMillis()); + if (flag) { + try { + proceeding.proceed(); + Thread.sleep(PROTECT_TIME); + } catch (Throwable throwable) { + throw new RuntimeException("分布式锁执行发生异常" + throwable.getMessage(), throwable); + } finally { + // 删除锁 + this.delLock(proceeding); + } + } else { + log.info("其他系统正在执行此项任务"); + } + + } + + /** + * 获取锁 + * + * @param proceeding + * @return + */ + private boolean getLock(ProceedingJoinPoint proceeding, int count, long currentTime) { + //获取注解中的参数 + Map annotationArgs = this.getAnnotationArgs(proceeding); + String lockPrefix = (String) annotationArgs.get(LOCK_PRE_FIX); + String key = (String) annotationArgs.get(LOCK_KEY); + long expire = (long) annotationArgs.get(TIME_OUT); + if (StringUtils.isEmpty(lockPrefix) || StringUtils.isEmpty(key)) { + // 此条执行不到 + throw new RuntimeException("RedisLock,锁前缀,锁名未设置"); + } + if (commonRedisHelper.setNx(lockPrefix, key, expire)) { + return true; + } else { + // 如果当前时间与锁的时间差, 大于保护时间,则强制删除锁(防止锁死) + long createTime = commonRedisHelper.getLockValue(lockPrefix, key); + if ((currentTime - createTime) > (expire * 1000 + PROTECT_TIME)) { + count ++; + if (count > MAX_RETRY_COUNT){ + return false; + } + commonRedisHelper.delete(lockPrefix, key); + getLock(proceeding,count,currentTime); + } + return false; + } + } + + /** + * 删除锁 + * + * @param proceeding + */ + private void delLock(ProceedingJoinPoint proceeding) { + Map annotationArgs = this.getAnnotationArgs(proceeding); + String lockPrefix = (String) annotationArgs.get(LOCK_PRE_FIX); + String key = (String) annotationArgs.get(LOCK_KEY); + commonRedisHelper.delete(lockPrefix, key); + } + + /** + * 获取锁参数 + * + * @param proceeding + * @return + */ + private Map getAnnotationArgs(ProceedingJoinPoint proceeding) { + Class target = proceeding.getTarget().getClass(); + Method[] methods = target.getMethods(); + String methodName = proceeding.getSignature().getName(); + for (Method method : methods) { + if (method.getName().equals(methodName)) { + Map result = new HashMap(); + RedisLock redisLock = method.getAnnotation(RedisLock.class); + result.put(LOCK_PRE_FIX, redisLock.lockPrefix()); + result.put(LOCK_KEY, redisLock.lockKey()); + result.put(TIME_OUT, redisLock.timeUnit().toSeconds(redisLock.timeOut())); + return result; + } + } + return null; + } + +} \ No newline at end of file diff --git a/jjj_erp/jjj-job/target/classes/net/jjjerp/job/controller/UatController.class b/jjj_erp/jjj-job/target/classes/net/jjjerp/job/controller/UatController.class new file mode 100644 index 0000000..2dddf00 Binary files /dev/null and b/jjj_erp/jjj-job/target/classes/net/jjjerp/job/controller/UatController.class differ diff --git a/jjj_erp/jjj-job/target/classes/net/jjjerp/job/lock/CommonRedisHelper.class b/jjj_erp/jjj-job/target/classes/net/jjjerp/job/lock/CommonRedisHelper.class new file mode 100644 index 0000000..a795736 Binary files /dev/null and b/jjj_erp/jjj-job/target/classes/net/jjjerp/job/lock/CommonRedisHelper.class differ diff --git a/jjj_erp/jjj-job/target/classes/net/jjjerp/job/lock/RedisLock.class b/jjj_erp/jjj-job/target/classes/net/jjjerp/job/lock/RedisLock.class new file mode 100644 index 0000000..cd6aa1e Binary files /dev/null and b/jjj_erp/jjj-job/target/classes/net/jjjerp/job/lock/RedisLock.class differ diff --git a/jjj_erp/jjj-job/target/classes/net/jjjerp/job/lock/RedisLockAspect.class b/jjj_erp/jjj-job/target/classes/net/jjjerp/job/lock/RedisLockAspect.class new file mode 100644 index 0000000..2288b73 Binary files /dev/null and b/jjj_erp/jjj-job/target/classes/net/jjjerp/job/lock/RedisLockAspect.class differ diff --git a/jjj_erp/jjj-job/target/jjj-erp-1.0.jar b/jjj_erp/jjj-job/target/jjj-erp-1.0.jar new file mode 100644 index 0000000..54cf445 Binary files /dev/null and b/jjj_erp/jjj-job/target/jjj-erp-1.0.jar differ diff --git a/jjj_erp/jjj-job/target/maven-archiver/pom.properties b/jjj_erp/jjj-job/target/maven-archiver/pom.properties new file mode 100644 index 0000000..f0f3e46 --- /dev/null +++ b/jjj_erp/jjj-job/target/maven-archiver/pom.properties @@ -0,0 +1,5 @@ +#Generated by Maven +#Sat Jun 29 14:55:08 CST 2024 +version=1.0 +groupId=net.jjjerp +artifactId=jjj-job diff --git a/jjj_erp/jjj-job/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/jjj_erp/jjj-job/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst new file mode 100644 index 0000000..9c6151e --- /dev/null +++ b/jjj_erp/jjj-job/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst @@ -0,0 +1,4 @@ +net\jjjerp\job\lock\RedisLockAspect.class +net\jjjerp\job\controller\UatController.class +net\jjjerp\job\lock\CommonRedisHelper.class +net\jjjerp\job\lock\RedisLock.class diff --git a/jjj_erp/jjj-job/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/jjj_erp/jjj-job/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst new file mode 100644 index 0000000..52ff5b5 --- /dev/null +++ b/jjj_erp/jjj-job/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst @@ -0,0 +1,4 @@ +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-job\src\main\java\net\jjjerp\job\lock\RedisLockAspect.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-job\src\main\java\net\jjjerp\job\lock\RedisLock.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-job\src\main\java\net\jjjerp\job\controller\UatController.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-job\src\main\java\net\jjjerp\job\lock\CommonRedisHelper.java diff --git a/jjj_erp/jjj-saas/pom.xml b/jjj_erp/jjj-saas/pom.xml new file mode 100644 index 0000000..8a646e6 --- /dev/null +++ b/jjj_erp/jjj-saas/pom.xml @@ -0,0 +1,23 @@ + + + 4.0.0 + + net.jjjerp + parent + 1.0 + + + jjj-saas + jjj-saas + saas模块 + + + + net.jjjerp + jjj-common + + + + diff --git a/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/controller/AccessController.java b/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/controller/AccessController.java new file mode 100644 index 0000000..421a287 --- /dev/null +++ b/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/controller/AccessController.java @@ -0,0 +1,81 @@ + + +package net.jjjerp.saas.controller; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.saas.param.ShopAccessParam; +import net.jjjerp.saas.service.ShopAccessService; +import net.jjjerp.common.util.ShopAccessUtils; +import net.jjjerp.common.vo.shop.AdminAccessVo; +import net.jjjerp.framework.common.api.ApiResult; +import net.jjjerp.framework.log.annotation.OperationLog; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +@Slf4j +@Api(value = "access", tags = {"权限管理"}) +@RestController +@RequestMapping("/saas/access") +public class AccessController { + @Autowired + private ShopAccessService shopAccessService; + @Autowired + private ShopAccessUtils shopAccessUtils; + + @RequestMapping(value = "/index", method = RequestMethod.POST) + @OperationLog(name = "index") + @ApiOperation(value = "index", response = String.class) + public ApiResult> index() { + List list = shopAccessUtils.getAll(); + return ApiResult.ok(list); + } + + @RequestMapping(value = "/status", method = RequestMethod.POST) + @OperationLog(name = "status") + @ApiOperation(value = "status", response = String.class) + public ApiResult status(Integer id,Integer status) { + Boolean result = shopAccessService.editStatusById(id, status); + return ApiResult.ok(result); + } + + @RequestMapping(value = "/delete", method = RequestMethod.POST) + @OperationLog(name = "delete") + @ApiOperation(value = "delete", response = String.class) + public ApiResult delete(Integer id) { + if(shopAccessService.delById(id)) { + return ApiResult.ok(null, "删除成功"); + }else{ + return ApiResult.fail("删除失败"); + } + } + + @RequestMapping(value = "/add", method = RequestMethod.POST) + @OperationLog(name = "add") + @ApiOperation(value = "add", response = String.class) + public ApiResult add(@RequestBody @Validated ShopAccessParam shopAccessParam) { + if(shopAccessService.add(shopAccessParam)) { + return ApiResult.ok(null, "新增成功"); + }else{ + return ApiResult.fail("新增失败"); + } + } + + @RequestMapping(value = "/edit", method = RequestMethod.POST) + @OperationLog(name = "edit") + @ApiOperation(value = "edit", response = String.class) + public ApiResult edit(@RequestBody @Validated ShopAccessParam shopAccessParam) { + if(shopAccessService.edit(shopAccessParam)) { + return ApiResult.ok(null, "修改成功"); + }else{ + return ApiResult.fail("修改失败"); + } + } +} diff --git a/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/controller/IndexController.java b/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/controller/IndexController.java new file mode 100644 index 0000000..ce51877 --- /dev/null +++ b/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/controller/IndexController.java @@ -0,0 +1,35 @@ + + +package net.jjjerp.saas.controller; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.config.properties.SpringBootJjjProperties; +import net.jjjerp.framework.common.api.ApiResult; +import net.jjjerp.framework.log.annotation.OperationLog; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RestController; + +import java.io.IOException; + +@Slf4j +@Api(value = "index", tags = {"版本号"}) +@RestController +@RequestMapping("/saas/index") +public class IndexController { + + @Autowired + private SpringBootJjjProperties springBootJjjProperties; + + @RequestMapping(value = "/index", method = RequestMethod.POST) + @OperationLog(name = "index") + @ApiOperation(value = "index", response = String.class) + public ApiResult index() throws IOException { + log.debug("index..."); + return ApiResult.ok(springBootJjjProperties.getProjectVersion()); + } + +} diff --git a/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/controller/MessageController.java b/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/controller/MessageController.java new file mode 100644 index 0000000..66f9132 --- /dev/null +++ b/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/controller/MessageController.java @@ -0,0 +1,94 @@ + + +package net.jjjerp.saas.controller; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.saas.param.FieldParam; +import net.jjjerp.saas.param.MessageParam; +import net.jjjerp.saas.service.MessageFieldService; +import net.jjjerp.saas.service.MessageService; +import net.jjjerp.common.entity.settings.Message; +import net.jjjerp.common.entity.settings.MessageField; +import net.jjjerp.framework.common.api.ApiResult; +import net.jjjerp.framework.log.annotation.OperationLog; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +@Slf4j +@Api(value = "user", tags = {"消息管理"}) +@RestController +@RequestMapping("/saas/message") +public class MessageController { + + @Autowired + private MessageService messageService; + @Autowired + private MessageFieldService messageFieldService; + + @RequestMapping(value = "/index", method = RequestMethod.POST) + @OperationLog(name = "index") + @ApiOperation(value = "index", response = String.class) + public ApiResult> index() { + return ApiResult.ok(messageService.getAll()); + } + + @RequestMapping(value = "/delete", method = RequestMethod.POST) + @OperationLog(name = "delete") + @ApiOperation(value = "delete", response = String.class) + public ApiResult delete(Integer id) { + if(messageService.setDelete(id)) { + return ApiResult.ok(null, "删除成功"); + }else{ + return ApiResult.fail("删除失败"); + } + } + + + @RequestMapping(value = "/add", method = RequestMethod.POST) + @OperationLog(name = "add") + @ApiOperation(value = "add", response = String.class) + public ApiResult add(@RequestBody @Validated MessageParam messageParam) { + if(messageService.add(messageParam)) { + return ApiResult.ok(null, "新增成功"); + }else{ + return ApiResult.fail("新增失败"); + } + } + + @RequestMapping(value = "/edit", method = RequestMethod.POST) + @OperationLog(name = "edit") + @ApiOperation(value = "edit", response = String.class) + public ApiResult edit(@RequestBody @Validated MessageParam messageParam) { + if(messageService.edit(messageParam)) { + return ApiResult.ok(null, "修改成功"); + }else{ + return ApiResult.fail("修改失败"); + } + } + + @RequestMapping(value = "/field", method = RequestMethod.POST) + @OperationLog(name = "field") + @ApiOperation(value = "field", response = String.class) + public ApiResult> field(Integer messageId) { + return ApiResult.ok(messageFieldService.getAll(messageId)); + } + + @RequestMapping(value = "/saveField", method = RequestMethod.POST) + @OperationLog(name = "saveField") + @ApiOperation(value = "saveField", response = String.class) + public ApiResult saveField(@RequestBody @Validated FieldParam fieldParam) { + if(messageFieldService.saveField(fieldParam)) { + return ApiResult.ok(null, "保存成功"); + }else{ + return ApiResult.fail("保存失败"); + } + } +} diff --git a/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/controller/PassportController.java b/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/controller/PassportController.java new file mode 100644 index 0000000..151948e --- /dev/null +++ b/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/controller/PassportController.java @@ -0,0 +1,48 @@ + + +package net.jjjerp.saas.controller; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.saas.service.SaasUserService; +import net.jjjerp.saas.vo.LoginAdminUserTokenVo; +import net.jjjerp.framework.common.api.ApiResult; +import net.jjjerp.framework.log.annotation.OperationLog; +import net.jjjerp.framework.log.annotation.OperationLogIgnore; +import net.jjjerp.framework.shiro.util.JwtTokenUtil; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; + +@Slf4j +@Api(value = "login", tags = {"admin登录"}) +@RestController +@RequestMapping("/saas/passport") +public class PassportController { + + @Autowired + private SaasUserService saasUserService; + + @RequestMapping(value = "/login", method = RequestMethod.POST) + @OperationLog(name = "login") + @ApiOperation(value = "login", response = String.class) + public ApiResult login(@RequestParam String username,@RequestParam String password, HttpServletResponse response) throws IOException { + log.debug("username..."+username); + log.debug("password..."+password); + LoginAdminUserTokenVo user = saasUserService.login(username, password); + // 设置token响应头 + response.setHeader(JwtTokenUtil.getTokenName("saas"), user.getToken()); + return ApiResult.ok(user, "登录成功"); + } + + @PostMapping("/logout") + @OperationLogIgnore + public ApiResult logout(HttpServletRequest request) throws Exception { + saasUserService.logout(request); + return ApiResult.ok("退出成功"); + } +} diff --git a/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/controller/RegionController.java b/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/controller/RegionController.java new file mode 100644 index 0000000..fc48f25 --- /dev/null +++ b/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/controller/RegionController.java @@ -0,0 +1,96 @@ + + +package net.jjjerp.saas.controller; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.saas.param.RegionPageParam; +import net.jjjerp.saas.param.RegionParam; +import net.jjjerp.saas.service.RegionService; +import net.jjjerp.common.cache.RegionCache; +import net.jjjerp.common.vo.RegionVo; +import net.jjjerp.framework.common.api.ApiResult; +import net.jjjerp.framework.log.annotation.OperationLog; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RestController; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +@Slf4j +@Api(value = "test", tags = {"地区管理"}) +@RestController +@RequestMapping("/saas/region") +public class RegionController { + + @Autowired + private RegionService regionService; + @Autowired + private RegionCache regionCache; + + @RequestMapping(value = "/index", method = RequestMethod.POST) + @OperationLog(name = "index") + @ApiOperation(value = "index", response = String.class) + public ApiResult> index(@Validated @RequestBody RegionPageParam regionPageParam) { + Map result = new HashMap(); + result.put("list", regionService.getList(regionPageParam)); + result.put("regionData", regionCache.getCacheTree()); + return ApiResult.ok(result); + } + + @RequestMapping(value = "/delete", method = RequestMethod.POST) + @OperationLog(name = "delete") + @ApiOperation(value = "delete", response = String.class) + public ApiResult delete(Integer id) { + if(regionService.setDelete(id)) { + return ApiResult.ok(null, "删除成功"); + }else{ + return ApiResult.fail("删除失败"); + } + } + + @RequestMapping(value = "/add", method = RequestMethod.GET) + @OperationLog(name = "add") + @ApiOperation(value = "add", response = String.class) + public ApiResult> toAdd() { + return ApiResult.ok(regionCache.getCacheTree()); + } + + @RequestMapping(value = "/add", method = RequestMethod.POST) + @OperationLog(name = "add") + @ApiOperation(value = "add", response = String.class) + public ApiResult add(@RequestBody @Validated RegionParam regionParam) { + if(regionService.add(regionParam)) { + return ApiResult.ok(null, "新增成功"); + }else{ + return ApiResult.fail("新增失败"); + } + } + + @RequestMapping(value = "/edit", method = RequestMethod.GET) + @OperationLog(name = "edit") + @ApiOperation(value = "edit", response = String.class) + public ApiResult> toEdit(Integer id) { + Map result = new HashMap(); + result.put("model", regionService.getEditData(id)); + result.put("regionData", regionCache.getCacheTree()); + return ApiResult.ok(result); + } + + @RequestMapping(value = "/edit", method = RequestMethod.POST) + @OperationLog(name = "edit") + @ApiOperation(value = "edit", response = String.class) + public ApiResult edit(@RequestBody @Validated RegionParam regionParam) { + if(regionService.edit(regionParam)) { + return ApiResult.ok(null, "修改成功"); + }else{ + return ApiResult.fail("修改失败"); + } + } +} diff --git a/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/controller/SettingController.java b/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/controller/SettingController.java new file mode 100644 index 0000000..5e8a479 --- /dev/null +++ b/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/controller/SettingController.java @@ -0,0 +1,73 @@ + + +package net.jjjerp.saas.controller; + +import com.alibaba.fastjson.JSONObject; +import com.github.binarywang.wxpay.config.WxPayConfig; +import com.github.binarywang.wxpay.v3.auth.Verifier; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.common.enums.SettingEnum; +import net.jjjerp.common.settings.vo.SysConfigVo; +import net.jjjerp.common.util.SettingUtils; +import net.jjjerp.framework.common.api.ApiResult; +import net.jjjerp.framework.common.exception.BusinessException; +import net.jjjerp.framework.log.annotation.OperationLog; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RestController; + +@Slf4j +@Api(value = "user", tags = {"admin设置"}) +@RestController +@RequestMapping("/saas/setting") +public class SettingController { + + @Autowired + private SettingUtils settingUtils; + + @RequestMapping(value = "/index", method = RequestMethod.GET) + @OperationLog(name = "index") + @ApiOperation(value = "index", response = String.class) + public ApiResult index() throws Exception{ + JSONObject vo = settingUtils.getSetting(SettingEnum.SYS_CONFIG.getKey(), null); + return ApiResult.ok(vo); + } + + @RequestMapping(value = "/index", method = RequestMethod.POST) + @OperationLog(name = "index") + @ApiOperation(value = "index", response = String.class) + public ApiResult index(@RequestBody JSONObject jsonData) throws Exception{ + SysConfigVo sysConfigVo = JSONObject.toJavaObject(jsonData, SysConfigVo.class); + boolean isOpen = sysConfigVo.getWeixinService().getIsOpen(); + if(isOpen){ + // 序列号 + String serialNo = this.getSerialNo(jsonData); + jsonData.getJSONObject("weixinService").put("serialNo", serialNo); + } + settingUtils.saveSetting(SettingEnum.SYS_CONFIG.getKey(), jsonData); + return ApiResult.ok("保存成功"); + } + + private String getSerialNo(JSONObject jsonData){ + SysConfigVo sysConfigVo = JSONObject.toJavaObject(jsonData, SysConfigVo.class); + String serialNo = ""; + WxPayConfig payConfig = new WxPayConfig(); + payConfig.setMchId(StringUtils.trimToNull(sysConfigVo.getWeixinService().getMchId())); + payConfig.setMchKey(StringUtils.trimToNull(sysConfigVo.getWeixinService().getApiKey())); + payConfig.setApiV3Key(StringUtils.trimToNull(sysConfigVo.getWeixinService().getApiKey())); + payConfig.setPrivateKeyContent(sysConfigVo.getWeixinService().getKeyPem().getBytes()); + payConfig.setPrivateCertContent(sysConfigVo.getWeixinService().getCertPem().getBytes()); + payConfig.setAppId(StringUtils.trimToNull(sysConfigVo.getWeixinService().getAppId())); + Verifier verifier = payConfig.getVerifier(); + serialNo = verifier.getValidCertificate().getSerialNumber().toString(16).toUpperCase(); + if(StringUtils.isEmpty(serialNo)){ + throw new BusinessException("证书错误,请检查或重试"); + } + return serialNo; + } +} diff --git a/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/controller/ShopController.java b/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/controller/ShopController.java new file mode 100644 index 0000000..88a8380 --- /dev/null +++ b/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/controller/ShopController.java @@ -0,0 +1,92 @@ + + +package net.jjjerp.saas.controller; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.saas.param.AppPageParam; +import net.jjjerp.saas.param.AppParam; +import net.jjjerp.saas.service.AppService; +import net.jjjerp.saas.vo.AppVo; +import net.jjjerp.framework.common.api.ApiResult; +import net.jjjerp.framework.core.pagination.Paging; +import net.jjjerp.framework.log.annotation.OperationLog; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RestController; + +@Slf4j +@Api(value = "test", tags = {"应用管理"}) +@RestController +@RequestMapping("/saas/shop") +public class ShopController { + + @Autowired + private AppService appService; + + @RequestMapping(value = "/index", method = RequestMethod.POST) + @OperationLog(name = "index") + @ApiOperation(value = "index", response = String.class) + public ApiResult> index(@Validated @RequestBody AppPageParam appPageParam) { + return ApiResult.ok(appService.getList(appPageParam)); + } + + @RequestMapping(value = "/updateStatus", method = RequestMethod.POST) + @OperationLog(name = "updateStatus") + @ApiOperation(value = "updateStatus", response = String.class) + public ApiResult updateStatus(Integer appId) { + if(appService.editStatusById(appId)) { + return ApiResult.ok(null, "更新成功"); + }else{ + return ApiResult.fail("更新失败"); + } + } + + @RequestMapping(value = "/updateWxStatus", method = RequestMethod.POST) + @OperationLog(name = "updateWxStatus") + @ApiOperation(value = "updateWxStatus", response = String.class) + public ApiResult updateWxStatus(Integer appId) { + if(appService.updateWxStatus(appId)) { + return ApiResult.ok(null, "更新成功"); + }else{ + return ApiResult.fail("更新失败"); + } + } + + @RequestMapping(value = "/delete", method = RequestMethod.POST) + @OperationLog(name = "delete") + @ApiOperation(value = "delete", response = String.class) + public ApiResult delete(Integer appId) { + if(appService.setDelete(appId)) { + return ApiResult.ok(null, "删除成功"); + }else{ + return ApiResult.fail("删除失败"); + } + } + + @RequestMapping(value = "/add", method = RequestMethod.POST) + @OperationLog(name = "add") + @ApiOperation(value = "add", response = String.class) + public ApiResult add(@RequestBody @Validated AppParam appParam) { + if(appService.add(appParam)) { + return ApiResult.ok(null, "新增成功"); + }else{ + return ApiResult.fail("新增失败"); + } + } + + @RequestMapping(value = "/edit", method = RequestMethod.POST) + @OperationLog(name = "edit") + @ApiOperation(value = "edit", response = String.class) + public ApiResult edit(@RequestBody @Validated AppParam appParam) { + if(appService.edit(appParam)) { + return ApiResult.ok(null, "修改成功"); + }else{ + return ApiResult.fail("修改失败"); + } + } +} diff --git a/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/controller/UserController.java b/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/controller/UserController.java new file mode 100644 index 0000000..08fcc26 --- /dev/null +++ b/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/controller/UserController.java @@ -0,0 +1,35 @@ + + +package net.jjjerp.saas.controller; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.saas.service.SaasUserService; +import net.jjjerp.framework.common.api.ApiResult; +import net.jjjerp.framework.log.annotation.OperationLog; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RestController; + +@Slf4j +@Api(value = "user", tags = {"admin修改密码"}) +@RestController +@RequestMapping("/saas/user") +public class UserController { + + @Autowired + private SaasUserService saasUserService; + + @RequestMapping(value = "/renew", method = RequestMethod.POST) + @OperationLog(name = "renew") + @ApiOperation(value = "renew", response = String.class) + public ApiResult renew(String pass) { + if(saasUserService.renew(pass)) { + return ApiResult.ok(null, "修改成功"); + }else{ + return ApiResult.fail("修改失败"); + } + } +} diff --git a/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/controller/file/FileController.java b/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/controller/file/FileController.java new file mode 100644 index 0000000..c928e1c --- /dev/null +++ b/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/controller/file/FileController.java @@ -0,0 +1,100 @@ + + +package net.jjjerp.saas.controller.file; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.saas.param.UploadFilePageParam; +import net.jjjerp.saas.service.UploadFileService; +import net.jjjerp.saas.service.UploadGroupService; +import net.jjjerp.saas.vo.UploadFileVo; +import net.jjjerp.common.entity.file.UploadGroup; +import net.jjjerp.framework.common.api.ApiResult; +import net.jjjerp.framework.core.pagination.Paging; +import net.jjjerp.framework.log.annotation.OperationLog; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +@Slf4j +@Api(value = "file", tags = {"文件管理"}) +@RestController +@RequestMapping("/saas/file/file") +public class FileController { + @Autowired + private UploadGroupService uploadGroupService; + @Autowired + private UploadFileService uploadFileService; + + @RequestMapping(value = "/category", method = RequestMethod.POST) + @OperationLog(name = "category") + @ApiOperation(value = "category", response = String.class) + public ApiResult> category(@RequestParam String type) throws Exception{ + return ApiResult.ok(uploadGroupService.getAll(type)); + } + + @RequestMapping(value = "/addGroup", method = RequestMethod.POST) + @OperationLog(name = "addGroup") + @ApiOperation(value = "addGroup", response = String.class) + public ApiResult addGroup(@RequestParam String groupName, @RequestParam String groupType) throws Exception{ + if(uploadGroupService.addGroup(groupName, groupType)) { + return ApiResult.ok(null, "新增成功"); + }else{ + return ApiResult.fail("新增失败"); + } + } + + @RequestMapping(value = "/editGroup", method = RequestMethod.POST) + @OperationLog(name = "editGroup") + @ApiOperation(value = "editGroup", response = String.class) + public ApiResult editGroup(Integer groupId, String groupName) throws Exception{ + if(uploadGroupService.editGroup(groupId, groupName)) { + return ApiResult.ok(null, "修改成功"); + }else{ + return ApiResult.fail("修改失败"); + } + } + + @RequestMapping(value = "/deleteGroup", method = RequestMethod.POST) + @OperationLog(name = "deleteGroup") + @ApiOperation(value = "deleteGroup", response = String.class) + public ApiResult deleteGroup(Integer groupId) throws Exception{ + if(uploadGroupService.deleteGroup(groupId)) { + return ApiResult.ok(null, "删除成功"); + }else{ + return ApiResult.fail("删除失败"); + } + } + + @RequestMapping(value = "/deleteFiles", method = RequestMethod.POST) + @OperationLog(name = "deleteFiles") + @ApiOperation(value = "deleteFiles", response = String.class) + public ApiResult deleteFiles(String fileIds) throws Exception{ + if(uploadGroupService.deleteFiles(fileIds)) { + return ApiResult.ok(null, "删除成功"); + }else{ + return ApiResult.fail("删除失败"); + } + } + + @RequestMapping(value = "/lists", method = RequestMethod.POST) + @OperationLog(name = "lists") + @ApiOperation(value = "lists", response = String.class) + public ApiResult> lists(@Validated @RequestBody UploadFilePageParam uploadFilePageParam) throws Exception{ + return ApiResult.ok(uploadFileService.getList(uploadFilePageParam)); + } + + @RequestMapping(value = "/moveFiles", method = RequestMethod.POST) + @OperationLog(name = "moveFiles") + @ApiOperation(value = "moveFiles", response = String.class) + public ApiResult moveFiles(Integer groupId, String fileIds) throws Exception{ + if(uploadGroupService.moveFiles(groupId, fileIds)) { + return ApiResult.ok(null, "移动成功"); + }else{ + return ApiResult.fail("移动失败"); + } + } +} diff --git a/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/controller/file/ImageBankController.java b/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/controller/file/ImageBankController.java new file mode 100644 index 0000000..6777ff4 --- /dev/null +++ b/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/controller/file/ImageBankController.java @@ -0,0 +1,120 @@ +package net.jjjerp.saas.controller.file; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.saas.param.ImageBankParam; +import net.jjjerp.saas.service.ImageBankService; +import net.jjjerp.common.param.ImageBankPageParam; +import net.jjjerp.common.util.ImageBankUtils; +import net.jjjerp.common.vo.image.ImageBankVo; +import net.jjjerp.framework.common.api.ApiResult; +import net.jjjerp.framework.core.pagination.Paging; +import net.jjjerp.framework.log.annotation.OperationLog; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +@Slf4j +@Api(value = "image", tags = {"图片库列表"}) +@RestController +@RequestMapping("/saas/image/bank") +public class ImageBankController { + @Autowired + private ImageBankService imageBankService; + @Autowired + private ImageBankUtils imageBankUtils; + + //一级分类列表 + @RequestMapping(value = "/index", method = RequestMethod.POST) + @OperationLog(name = "index") + @ApiOperation(value = "index", response = String.class) + public ApiResult> index() throws Exception{ + return ApiResult.ok(imageBankUtils.index()); + } + + //新增图片 + @RequestMapping(value = "/add", method = RequestMethod.POST) + @OperationLog(name = "add") + @ApiOperation(value = "add", response = String.class) + public ApiResult add(@RequestBody @Validated ImageBankParam categoryParam) { + if(imageBankService.add(categoryParam)) { + return ApiResult.ok(null, "新增成功"); + }else{ + return ApiResult.fail("新增失败"); + } + } + + //新增一级分类 + @RequestMapping(value = "/addCategory", method = RequestMethod.POST) + @OperationLog(name = "addCategory") + @ApiOperation(value = "addCategory", response = String.class) + public ApiResult addCategory(@RequestBody @Validated ImageBankParam categoryParam) { + if(imageBankService.addCategory(categoryParam)) { + return ApiResult.ok(null, "新增成功"); + }else{ + return ApiResult.fail("新增失败"); + } + } + + //编辑 + @RequestMapping(value = "/edit", method = RequestMethod.POST) + @OperationLog(name = "edit") + @ApiOperation(value = "edit", response = String.class) + public ApiResult edit(@RequestBody @Validated ImageBankParam categoryParam) { + if(imageBankService.edit(categoryParam)) { + return ApiResult.ok(null, "修改成功"); + }else{ + return ApiResult.fail("修改失败"); + } + } + + //删除 + @RequestMapping(value = "/delete", method = RequestMethod.POST) + @OperationLog(name = "delete") + @ApiOperation(value = "delete", response = String.class) + public ApiResult delete(Integer categoryId) { + if(imageBankService.delById(categoryId)) { + return ApiResult.ok(null, "删除成功"); + }else{ + return ApiResult.fail("删除失败"); + } + } + + //批量删除 + @RequestMapping(value = "/deleteFiles", method = RequestMethod.POST) + @OperationLog(name = "deleteFiles") + @ApiOperation(value = "deleteFiles", response = String.class) + public ApiResult deleteFiles(String imageIds) throws Exception{ + if(imageBankService.deleteFiles(imageIds)) { + return ApiResult.ok(null, "删除成功"); + }else{ + return ApiResult.fail("删除失败"); + } + } + + //分页列表 + @RequestMapping(value = "/list", method = RequestMethod.POST) + @OperationLog(name = "list") + @ApiOperation(value = "list", response = String.class) + public ApiResult> list(@RequestBody ImageBankPageParam param) throws Exception{ + return ApiResult.ok(imageBankUtils.list(param)); + } + + //移动图片 + @RequestMapping(value = "/moveFiles", method = RequestMethod.POST) + @OperationLog(name = "moveFiles") + @ApiOperation(value = "moveFiles", response = String.class) + public ApiResult moveFiles(Integer categoryId, String imageIds) throws Exception{ + if(imageBankService.moveFiles(categoryId, imageIds)) { + return ApiResult.ok(null, "移动成功"); + }else{ + return ApiResult.fail("移动失败"); + } + } +} diff --git a/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/controller/file/UploadController.java b/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/controller/file/UploadController.java new file mode 100644 index 0000000..f6545f6 --- /dev/null +++ b/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/controller/file/UploadController.java @@ -0,0 +1,89 @@ +/* + * Copyright 2019-2029 geekidea(https://github.com/geekidea) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package net.jjjerp.saas.controller.file; + + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.saas.param.ImageBankParam; +import net.jjjerp.saas.service.ImageBankService; +import net.jjjerp.saas.service.UploadFileService; +import net.jjjerp.common.entity.file.UploadFile; +import net.jjjerp.common.util.UploadFileUtils; +import net.jjjerp.framework.common.api.ApiResult; +import net.jjjerp.framework.core.util.RequestDetailThreadLocal; +import net.jjjerp.framework.log.annotation.OperationLog; +import net.jjjerp.framework.util.UploadUtil; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.multipart.MultipartFile; + +import java.util.HashMap; +import java.util.Map; + +@Slf4j +@RestController +@RequestMapping("/saas/file/upload") +@Api(value = "文件上传", tags = {"文件上传"}) +public class UploadController { + @Autowired + private UploadFileService uploadFileService; + @Autowired + private UploadUtil uploadUtil; + @Autowired + private UploadFileUtils uploadFileUtils; + @Autowired + private ImageBankService imageBankService; + + @RequestMapping(value = "/image", method = RequestMethod.POST) + @OperationLog(name = "上传单个图片") + @ApiOperation(value = "上传单个图片", response = String.class) + public ApiResult> upload(@RequestParam("iFile") MultipartFile multipartFile,@RequestParam Integer categoryId,@RequestParam String fileType) throws Exception { + Map result = new HashMap<>(); + // 保存文件到数据库 + UploadFile file = new UploadFile(); + file.setFileSize(multipartFile.getSize()); + file.setFileType("image"); + file.setRealName(multipartFile.getOriginalFilename()); + file.setIsUser(1); + file.setAppId(RequestDetailThreadLocal.getRequestDetail().getAppId().intValue()); + // 上传文件 + uploadUtil.upload(multipartFile, file); + // 文件后缀 + String extension = multipartFile.getOriginalFilename().substring(multipartFile.getOriginalFilename().lastIndexOf(".") + 1).toLowerCase(); + file.setExtension(extension); + uploadFileService.addFile(file); + result.put("fileId", file.getFileId()); + result.put("filePath", uploadFileUtils.getFilePath(file.getFileId())); + result.put("name", file.getRealName()); + if(StringUtils.isNotEmpty(fileType) && fileType.equals("bank")){ + //新增系统图片库 + ImageBankParam param = new ImageBankParam(); + param.setParentId(categoryId); + param.setImage(uploadFileUtils.getFilePath(file.getFileId())); + param.setName(file.getRealName()); + imageBankService.add(param); + } + return ApiResult.ok(result, "上传成功"); + } + +} diff --git a/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/param/AppPageParam.java b/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/param/AppPageParam.java new file mode 100644 index 0000000..144f906 --- /dev/null +++ b/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/param/AppPageParam.java @@ -0,0 +1,20 @@ + + +package net.jjjerp.saas.param; + +import io.swagger.annotations.ApiModel; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import net.jjjerp.framework.core.pagination.BasePageOrderParam; + +/** + * 部门 查询参数对象 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = true) +@ApiModel(value = "AppPageParam对象", description = "app查询参数") +public class AppPageParam extends BasePageOrderParam { + private static final long serialVersionUID = 1L; +} diff --git a/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/param/AppParam.java b/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/param/AppParam.java new file mode 100644 index 0000000..7009a2c --- /dev/null +++ b/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/param/AppParam.java @@ -0,0 +1,52 @@ + + +package net.jjjerp.saas.param; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.experimental.Accessors; +import net.jjjerp.framework.core.validator.groups.Add; +import net.jjjerp.framework.core.validator.groups.Update; + +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; +import java.io.Serializable; + +/** + * 查询参数对象 + */ +@Data +@Accessors(chain = true) +@ApiModel(value = "AppParam对象", description = "app新增修改参数") +public class AppParam implements Serializable { + private static final long serialVersionUID = 1L; + + @NotNull(message = "id不能为空", groups = {Update.class}) + @ApiModelProperty("appId") + private Integer appId; + + @NotEmpty(message = "应用名称不能为空") + @ApiModelProperty("应用名称") + private String appName; + + @ApiModelProperty("是否回收") + private Boolean isRecycle; + + @ApiModelProperty("是否过期") + private Boolean noExpire; + + @ApiModelProperty("过期时间") + private String expireTime; + + @ApiModelProperty("微信服务商支付是否开启0否1是") + private Boolean weixinService; + + @NotEmpty(message = "管理员账号不能为空") + @ApiModelProperty("管理员账号") + private String userName; + + @NotEmpty(message = "登录密码不能为空", groups = {Add.class}) + @ApiModelProperty("登录密码") + private String password; +} diff --git a/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/param/FieldParam.java b/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/param/FieldParam.java new file mode 100644 index 0000000..7b9cc1e --- /dev/null +++ b/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/param/FieldParam.java @@ -0,0 +1,34 @@ + + +package net.jjjerp.saas.param; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.experimental.Accessors; +import net.jjjerp.common.entity.settings.MessageField; + +import javax.validation.constraints.NotNull; +import java.io.Serializable; +import java.util.List; + +/** + * 部门 查询参数对象 + */ +@Data +@Accessors(chain = true) +@ApiModel(value = "AppParam对象", description = "app新增修改参数") +public class FieldParam implements Serializable { + private static final long serialVersionUID = 1L; + + @NotNull(message = "消息id不能为空") + @ApiModelProperty("messageId") + private Integer messageId; + + @NotNull(message = "字段不能为空") + @ApiModelProperty("字段集合") + private List fieldData; + + @ApiModelProperty("删除的字段id集合") + private Integer[] deleteIds; +} diff --git a/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/param/ImageBankParam.java b/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/param/ImageBankParam.java new file mode 100644 index 0000000..0aa2807 --- /dev/null +++ b/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/param/ImageBankParam.java @@ -0,0 +1,40 @@ + + +package net.jjjerp.saas.param; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.experimental.Accessors; +import net.jjjerp.framework.core.validator.groups.Update; + +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; +import java.io.Serializable; + +/** + * 系统图库 查询参数对象 + */ +@Data +@Accessors(chain = true) +@ApiModel(value = "ImageBankParam对象", description = "ImageBank新增修改参数") +public class ImageBankParam implements Serializable { + private static final long serialVersionUID = 1L; + + @NotNull(message = "id不能为空", groups = {Update.class}) + @ApiModelProperty("主键id") + private Integer categoryId; + + @ApiModelProperty("上级图库id") + private Integer parentId; + + @NotEmpty(message = "名称不能为空") + @ApiModelProperty("图库名称") + private String name; + + @ApiModelProperty("排序") + private Integer sort; + + @ApiModelProperty("图片路径") + private String image; +} diff --git a/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/param/MessageParam.java b/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/param/MessageParam.java new file mode 100644 index 0000000..6c24f0c --- /dev/null +++ b/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/param/MessageParam.java @@ -0,0 +1,49 @@ + + +package net.jjjerp.saas.param; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.experimental.Accessors; +import net.jjjerp.framework.core.validator.groups.Update; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import java.io.Serializable; + +/** + * 部门 查询参数对象 + */ +@Data +@Accessors(chain = true) +@ApiModel(value = "MessageParam对象", description = "message新增修改参数") +public class MessageParam implements Serializable { + private static final long serialVersionUID = 1L; + + @NotNull(message = "id不能为空", groups = {Update.class}) + @ApiModelProperty("messageId") + private Integer messageId; + + @NotBlank(message = "消息名称不能为空") + @ApiModelProperty("消息名称") + private String messageName; + + @NotBlank(message = "消息英文名不能为空") + @ApiModelProperty("消息英文名") + private String messageEname; + + @NotNull(message = "通知对象不能为空") + @ApiModelProperty("通知对象,10会员20,商家") + private Integer messageTo; + + @NotNull(message = "消息类别不能为空") + @ApiModelProperty("消息类别,10订单20分销") + private Integer messageType; + + @ApiModelProperty("描述") + private String remark; + + @ApiModelProperty("消息排序") + private Integer sort; +} diff --git a/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/param/RegionPageParam.java b/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/param/RegionPageParam.java new file mode 100644 index 0000000..f5156f3 --- /dev/null +++ b/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/param/RegionPageParam.java @@ -0,0 +1,33 @@ + + +package net.jjjerp.saas.param; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import net.jjjerp.framework.core.pagination.BasePageOrderParam; + +/** + * 部门 查询参数对象 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = true) +@ApiModel(value = "RegionPageParam对象", description = "地区查询参数") +public class RegionPageParam extends BasePageOrderParam { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("地区名称") + private String name; + + @ApiModelProperty("地区级别,1省,2市3,区") + private Integer level; + + @ApiModelProperty("省id") + private Integer provinceId; + + @ApiModelProperty("市id") + private Integer cityId; +} diff --git a/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/param/RegionParam.java b/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/param/RegionParam.java new file mode 100644 index 0000000..1cc83d1 --- /dev/null +++ b/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/param/RegionParam.java @@ -0,0 +1,27 @@ + + +package net.jjjerp.saas.param; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import net.jjjerp.common.entity.settings.Region; + +/** + * 部门 查询参数对象 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@ApiModel(value = "RegionParam对象", description = "region新增修改参数") +public class RegionParam extends Region { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("所属省份") + private Integer provinceId; + + @ApiModelProperty("所属城市") + private Integer cityId; +} diff --git a/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/param/ShopAccessParam.java b/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/param/ShopAccessParam.java new file mode 100644 index 0000000..6a06cfd --- /dev/null +++ b/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/param/ShopAccessParam.java @@ -0,0 +1,61 @@ + + +package net.jjjerp.saas.param; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.experimental.Accessors; + +import javax.validation.constraints.NotEmpty; +import java.io.Serializable; + +/** + * 管理员重置用户密码参数 + **/ +@Data +@Accessors(chain = true) +@ApiModel("权限菜单参数") +public class ShopAccessParam implements Serializable { + + private static final long serialVersionUID = 5364321420976152005L; + + @ApiModelProperty("主键id") + private Integer accessId; + + @NotEmpty(message = "权限名称不能为空") + @ApiModelProperty("权限名称") + private String name; + + @NotEmpty(message = "路由地址不能为空") + @ApiModelProperty("路由地址") + private String path; + + @ApiModelProperty("父级id") + private Integer parentId; + + @ApiModelProperty("排序(数字越小越靠前)") + private Integer sort; + + @ApiModelProperty("菜单图标") + private String icon; + + @ApiModelProperty("重定向名称") + private String redirectName; + + @ApiModelProperty("是否是路由 0=不是1=是") + private Integer isRoute; + + @ApiModelProperty("是否是菜单 0不是 1是") + private Integer isMenu; + + @ApiModelProperty("别名(废弃)") + private String alias; + + @ApiModelProperty("是否显示1=显示0=不显示") + private Integer isShow; + + @ApiModelProperty("描述") + private String remark; + +} diff --git a/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/param/UploadFilePageParam.java b/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/param/UploadFilePageParam.java new file mode 100644 index 0000000..448f431 --- /dev/null +++ b/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/param/UploadFilePageParam.java @@ -0,0 +1,27 @@ + + +package net.jjjerp.saas.param; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import net.jjjerp.framework.core.pagination.BasePageOrderParam; + +/** + * 部门 查询参数对象 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = true) +@ApiModel(value = "UploadFilePageParam对象", description = "app查询参数") +public class UploadFilePageParam extends BasePageOrderParam { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("分组id") + private Integer groupId; + + @ApiModelProperty("文件类型") + private String fileType; +} diff --git a/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/service/AppService.java b/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/service/AppService.java new file mode 100644 index 0000000..926e71d --- /dev/null +++ b/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/service/AppService.java @@ -0,0 +1,54 @@ +package net.jjjerp.saas.service; + +import net.jjjerp.saas.param.AppPageParam; +import net.jjjerp.saas.param.AppParam; +import net.jjjerp.saas.vo.AppVo; +import net.jjjerp.common.entity.app.App; +import net.jjjerp.framework.common.service.BaseService; +import net.jjjerp.framework.core.pagination.Paging; + +/** + * 微信小程序记录表 服务类 + * + * @author jjjerp + * @since 2022-06-23 + */ +public interface AppService extends BaseService { + /** + * app列表 + * @param appPageParam + * @return + */ + Paging getList(AppPageParam appPageParam); + + /** + * 修改状态 + * @param appId + * @return + */ + Boolean editStatusById(Integer appId); + /** + * 修改微信服务商支付状态 + * @param appId + * @return + */ + Boolean updateWxStatus(Integer appId); + /** + * 删除 + * @param appId + * @return + */ + Boolean setDelete(Integer appId); + /** + * 新增 + * @param appParam + * @return + */ + Boolean add(AppParam appParam); + /** + * 修改 + * @param appParam + * @return + */ + Boolean edit(AppParam appParam); +} diff --git a/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/service/ImageBankService.java b/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/service/ImageBankService.java new file mode 100644 index 0000000..dc19ea7 --- /dev/null +++ b/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/service/ImageBankService.java @@ -0,0 +1,29 @@ +package net.jjjerp.saas.service; + +import net.jjjerp.saas.param.ImageBankParam; +import net.jjjerp.common.entity.file.ImageBank; +import net.jjjerp.framework.common.service.BaseService; + +/** + * 系统图库表 服务类 + * + * @author jjjerp + * @since 2023-10-31 + */ +public interface ImageBankService extends BaseService { + + boolean add(ImageBankParam categoryParam); + + boolean edit(ImageBankParam categoryParam); + + boolean delById(Integer categoryId); + + //批量删除 + boolean deleteFiles(String imageIds); + + //移动图库 + boolean moveFiles(Integer categoryId, String imageIds); + + //新增一级分类 + boolean addCategory(ImageBankParam categoryParam); +} diff --git a/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/service/MessageFieldService.java b/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/service/MessageFieldService.java new file mode 100644 index 0000000..4c51833 --- /dev/null +++ b/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/service/MessageFieldService.java @@ -0,0 +1,29 @@ +package net.jjjerp.saas.service; + +import net.jjjerp.saas.param.FieldParam; +import net.jjjerp.common.entity.settings.MessageField; +import net.jjjerp.framework.common.service.BaseService; + +import java.util.List; + +/** + * 应用消息字段表 服务类 + * + * @author jjjerp + * @since 2022-06-24 + */ +public interface MessageFieldService extends BaseService { + /** + * 获取所有消息字段 + * @return + */ + List getAll(Integer messageId); + + /** + * 保存字段 + * @param fieldParam + * @return + */ + Boolean saveField(FieldParam fieldParam); + +} diff --git a/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/service/MessageService.java b/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/service/MessageService.java new file mode 100644 index 0000000..25b1155 --- /dev/null +++ b/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/service/MessageService.java @@ -0,0 +1,39 @@ +package net.jjjerp.saas.service; + +import net.jjjerp.saas.param.MessageParam; +import net.jjjerp.common.entity.settings.Message; +import net.jjjerp.framework.common.service.BaseService; + +import java.util.List; + +/** + * 应用消息表 服务实现类 + * + * @author jjjerp + * @since 2022-06-24 + */ +public interface MessageService extends BaseService { + /** + * 获取所有消息设置 + * @return + */ + List getAll(); + /** + * 删除 + * @param id + * @return + */ + Boolean setDelete(Integer id); + /** + * 新增 + * @param appParam + * @return + */ + Boolean add(MessageParam messageParam); + /** + * 修改 + * @param appParam + * @return + */ + Boolean edit(MessageParam messageParam); +} diff --git a/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/service/MessageSettingsService.java b/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/service/MessageSettingsService.java new file mode 100644 index 0000000..51909c9 --- /dev/null +++ b/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/service/MessageSettingsService.java @@ -0,0 +1,14 @@ +package net.jjjerp.saas.service; + +import net.jjjerp.common.entity.settings.MessageSettings; +import net.jjjerp.framework.common.service.BaseService; + +/** + * 应用消息设置表 服务类 + * + * @author jjjerp + * @since 2022-06-24 + */ +public interface MessageSettingsService extends BaseService { + +} diff --git a/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/service/RegionService.java b/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/service/RegionService.java new file mode 100644 index 0000000..dbc36ec --- /dev/null +++ b/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/service/RegionService.java @@ -0,0 +1,48 @@ +package net.jjjerp.saas.service; + +import net.jjjerp.saas.param.RegionPageParam; +import net.jjjerp.saas.param.RegionParam; +import net.jjjerp.saas.vo.RegionVo; +import net.jjjerp.common.entity.settings.Region; +import net.jjjerp.framework.common.service.BaseService; +import net.jjjerp.framework.core.pagination.Paging; + +/** + * 服务类 + * + * @author jjjerp + * @since 2022-06-24 + */ +public interface RegionService extends BaseService { + /** + * 地区列表 + * @param regionPageParam + * @return + */ + Paging getList(RegionPageParam regionPageParam); + /** + * 删除 + * @param id + * @return + */ + Boolean setDelete(Integer id); + /** + * 新增 + * @param regionParam + * @return + */ + Boolean add(RegionParam regionParam); + + /** + * 获取编辑数据 + * @param id + * @return + */ + RegionVo getEditData(Integer id); + /** + * 修改 + * @param regionParam + * @return + */ + Boolean edit(RegionParam regionParam); +} diff --git a/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/service/SaasUserService.java b/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/service/SaasUserService.java new file mode 100644 index 0000000..85e369b --- /dev/null +++ b/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/service/SaasUserService.java @@ -0,0 +1,35 @@ + + +package net.jjjerp.saas.service; + +import net.jjjerp.saas.vo.LoginAdminUserTokenVo; +import net.jjjerp.common.entity.admin.SaasUser; +import net.jjjerp.framework.common.service.BaseService; + +import javax.servlet.http.HttpServletRequest; + +/** + * 系统用户 服务类 + */ +public interface SaasUserService extends BaseService { + /** + * 登录 + * @param username + * @param password + * @return + */ + LoginAdminUserTokenVo login(String username, String password); + + /** + * 修改密码 + * @param password + * @return + */ + Boolean renew(String password); + /** + * 退出 + * @param request + * @throws Exception + */ + void logout(HttpServletRequest request) throws Exception; +} diff --git a/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/service/ShopAccessService.java b/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/service/ShopAccessService.java new file mode 100644 index 0000000..070980d --- /dev/null +++ b/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/service/ShopAccessService.java @@ -0,0 +1,51 @@ +package net.jjjerp.saas.service; + +import net.jjjerp.saas.param.ShopAccessParam; +import net.jjjerp.common.entity.shop.AdminAccess; +import net.jjjerp.framework.common.service.BaseService; + +import java.util.List; + +/** + * 商家用户权限表 服务类 + * + * @author jjjerp + * @since 2022-06-22 + */ +public interface ShopAccessService extends BaseService { + /** + * 获取未挂载到插件分类下的插件 + * @return + */ + List getAllPlus(); + + /** + * 清除插件分类,不在插件分类下显示 + * @param accessId + * @return + */ + Boolean clearPlusCategoryId(Integer accessId); + + Boolean editPlusCategoryId(Integer accessId, Integer plusCategoryId); + + Boolean editStatusById(Integer accessId, Integer status); + + /** + * 真删除 + * @param accessId + * @return + */ + Boolean delById(Integer accessId); + /** + * 新增 + * @param shopAccessParam + * @return + */ + Boolean add(ShopAccessParam shopAccessParam); + /** + * 修改 + * @param shopAccessParam + * @return + */ + Boolean edit(ShopAccessParam shopAccessParam); +} diff --git a/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/service/ShopUserService.java b/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/service/ShopUserService.java new file mode 100644 index 0000000..374af53 --- /dev/null +++ b/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/service/ShopUserService.java @@ -0,0 +1,14 @@ +package net.jjjerp.saas.service; + +import net.jjjerp.common.entity.shop.AdminUser; +import net.jjjerp.framework.common.service.BaseService; + +/** + * 商家用户记录表 服务类 + * + * @author jjjerp + * @since 2022-06-23 + */ +public interface ShopUserService extends BaseService { + +} diff --git a/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/service/UploadFileService.java b/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/service/UploadFileService.java new file mode 100644 index 0000000..2aa001d --- /dev/null +++ b/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/service/UploadFileService.java @@ -0,0 +1,24 @@ +package net.jjjerp.saas.service; + +import net.jjjerp.saas.param.UploadFilePageParam; +import net.jjjerp.saas.vo.UploadFileVo; +import net.jjjerp.common.entity.file.UploadFile; +import net.jjjerp.framework.common.service.BaseService; +import net.jjjerp.framework.core.pagination.Paging; + +/** + * 文件库记录表 服务类 + * @author jjjerp + * @since 2022-06-28 + */ +public interface UploadFileService extends BaseService { + + /** + * 保存文件 + * @param file + * @return + */ + boolean addFile(UploadFile file); + + Paging getList(UploadFilePageParam uploadFilePageParam); +} diff --git a/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/service/UploadGroupService.java b/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/service/UploadGroupService.java new file mode 100644 index 0000000..339e705 --- /dev/null +++ b/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/service/UploadGroupService.java @@ -0,0 +1,57 @@ +package net.jjjerp.saas.service; + +import net.jjjerp.common.entity.file.UploadGroup; +import net.jjjerp.framework.common.service.BaseService; + +import java.util.List; + +/** + * 文件库分组记录表 服务类 + * @author jjjerp + * @since 2022-06-28 + */ +public interface UploadGroupService extends BaseService { + + /** + * 所有文件分组 + * @return + */ + List getAll(String groupType); + + /** + * 新增分组 + * @param groupName + * @param groupType + * @return + */ + boolean addGroup(String groupName, String groupType); + + /** + * 修改分组 + * @param groupId + * @param groupName + * @return + */ + boolean editGroup(Integer groupId, String groupName); + + /** + * 删除分组 + * @param groupId + * @return + */ + boolean deleteGroup(Integer groupId); + + /** + * 删除文件 + * @param fileIds + * @return + */ + boolean deleteFiles(String fileIds); + + /** + * 移动文件 + * @param fileIds + * @return + */ + boolean moveFiles(Integer groupId, String fileIds); +} diff --git a/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/service/impl/AppServiceImpl.java b/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/service/impl/AppServiceImpl.java new file mode 100644 index 0000000..d820558 --- /dev/null +++ b/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/service/impl/AppServiceImpl.java @@ -0,0 +1,174 @@ +package net.jjjerp.saas.service.impl; + +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.metadata.OrderItem; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.saas.param.AppPageParam; +import net.jjjerp.saas.param.AppParam; +import net.jjjerp.saas.service.AppService; +import net.jjjerp.saas.service.ShopUserService; +import net.jjjerp.saas.vo.AppVo; +import net.jjjerp.common.entity.app.App; +import net.jjjerp.common.entity.shop.AdminUser; +import net.jjjerp.common.mapper.app.AppMapper; +import net.jjjerp.framework.common.exception.BusinessException; +import net.jjjerp.framework.common.service.impl.BaseServiceImpl; +import net.jjjerp.framework.core.pagination.PageInfo; +import net.jjjerp.framework.core.pagination.Paging; +import net.jjjerp.framework.shiro.util.SaltUtil; +import net.jjjerp.framework.util.PasswordUtil; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.StringUtils; + +/** + * 微信小程序记录表 服务实现类 + * + * @author jjjerp + * @since 2022-06-23 + */ +@Slf4j +@Service +public class AppServiceImpl extends BaseServiceImpl implements AppService { + @Autowired + private ShopUserService shopUserService; + /** + * app列表 + * @param appPageParam + * @return + */ + public Paging getList(AppPageParam appPageParam){ + Page page = new PageInfo<>(appPageParam, OrderItem.asc(getLambdaColumn(App::getCreateTime))); + IPage iPage = this.page(page, new LambdaUpdateWrapper().eq(App::getIsDelete, false)); + // 最终返回分页对象 + IPage resultPage = iPage.convert(result -> { + AppVo vo = new AppVo(); + BeanUtil.copyProperties(result, vo); + vo.setUserName(shopUserService.getOne(new LambdaQueryWrapper() + .eq(AdminUser::getAppId, vo.getAppId()).eq(AdminUser::getIsSuper, true)).getUserName()); + return vo; + }); + return new Paging(resultPage); + } + + /** + * 修改状态 + * @param appId + * @return + */ + public Boolean editStatusById(Integer appId){ + App app = this.getById(appId); + App updateBean = new App(); + updateBean.setAppId(appId); + updateBean.setIsRecycle(app.getIsRecycle()?false:true); + return this.updateById(updateBean); + } + + /** + * 修改微信服务商支付状态 + * @param appId + * @return + */ + public Boolean updateWxStatus(Integer appId){ + App app = this.getById(appId); + App updateBean = new App(); + updateBean.setAppId(appId); + updateBean.setWeixinService(app.getWeixinService()?false:true); + return this.updateById(updateBean); + } + + /** + * 删除 + * @param appId + * @return + */ + public Boolean setDelete(Integer appId){ + App updateBean = new App(); + updateBean.setAppId(appId); + updateBean.setIsDelete(true); + return this.updateById(updateBean); + } + + /** + * 新增 + * @param appParam + * @return + */ + @Transactional(rollbackFor = Exception.class) + public Boolean add(AppParam appParam){ + // 是否存在用户名 + if(shopUserService.count(new LambdaQueryWrapper() + .eq(AdminUser::getUserName, appParam.getUserName())) > 0){ + throw new BusinessException("商家用户名已存在"); + } + // 保存主表 + App app = new App(); + BeanUtils.copyProperties(appParam, app); + // 不过期 + if(appParam.getNoExpire()){ + app.setExpireTime(null); + }else{ + app.setExpireTime(DateUtil.parseDateTime(appParam.getExpireTime() + " 23:59:59")); + } + this.save(app); + // 保存管理员用户表 + AdminUser user = new AdminUser(); + user.setAppId(app.getAppId()); + user.setUserName(appParam.getUserName()); + user.setIsSuper(true); + String salt = SaltUtil.generateSalt(); + // 密码加密 + user.setSalt(salt); + user.setPassword(PasswordUtil.encrypt(appParam.getPassword(), salt)); + return shopUserService.save(user); + } + + /** + * 修改 + * @param appParam + * @return + */ + @Transactional(rollbackFor = Exception.class) + public Boolean edit(AppParam appParam){ + // 更新主表 + App app = new App(); + app.setAppId(appParam.getAppId()); + app.setWeixinService(appParam.getWeixinService()); + app.setAppName(appParam.getAppName()); + // 不过期 + if(appParam.getNoExpire()){ + app.setExpireTime(null); + }else{ + app.setExpireTime(DateUtil.parseDateTime(appParam.getExpireTime() + " 23:59:59")); + } + this.updateById(app); + // 更新管理员表 + AdminUser user = shopUserService.getOne(new LambdaQueryWrapper() + .eq(AdminUser::getAppId, app.getAppId()) + .eq(AdminUser::getIsSuper, true)); + AdminUser updateUser = new AdminUser(); + if (!StringUtils.isEmpty(appParam.getPassword())) { + if(StringUtils.isEmpty(user.getSalt())){ + String salt = SaltUtil.generateSalt(); + user.setSalt(salt); + } + updateUser.setPassword(PasswordUtil.encrypt(appParam.getPassword(), user.getSalt())); + } + if(!appParam.getUserName().equals(user.getUserName())){ + if(shopUserService.count(new LambdaQueryWrapper() + .eq(AdminUser::getUserName, appParam.getUserName())) > 0){ + throw new BusinessException("商家用户名已存在"); + } + } + updateUser.setShopUserId(user.getShopUserId()); + updateUser.setUserName(appParam.getUserName()); + return shopUserService.updateById(updateUser); + } +} diff --git a/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/service/impl/ImageBankServiceImpl.java b/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/service/impl/ImageBankServiceImpl.java new file mode 100644 index 0000000..1afa5c2 --- /dev/null +++ b/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/service/impl/ImageBankServiceImpl.java @@ -0,0 +1,140 @@ +package net.jjjerp.saas.service.impl; + +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.saas.param.ImageBankParam; +import net.jjjerp.saas.service.ImageBankService; +import net.jjjerp.common.entity.file.ImageBank; +import net.jjjerp.common.mapper.file.ImageBankMapper; +import net.jjjerp.common.vo.image.ImageBankVo; +import net.jjjerp.framework.common.exception.BusinessException; +import net.jjjerp.framework.common.service.impl.BaseServiceImpl; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +/** + * 系统图库表 服务实现类 + * + * @author jjjerp + * @since 2023-10-31 + */ +@Slf4j +@Service +public class ImageBankServiceImpl extends BaseServiceImpl implements ImageBankService { + + @Autowired + private ImageBankMapper imageBankMapper; + + + /** + * 组装成树形 + * @param list + * @return + */ + private List transTree(List list){ + // 转成vo + List voList = list.stream().map(e -> { + ImageBankVo vo = new ImageBankVo(); + BeanUtils.copyProperties(e, vo); + return vo; + }).collect(Collectors.toList()); + // 遍历成树形结构 + List collect = voList.stream() + // 2. 找出所有顶级(规定 0 为顶级) + .filter(o -> StrUtil.equals("0", String.valueOf(o.getParentId()))) + // 3.给当前父级的 childList 设置子 + .peek(o -> o.setChildren(getChildList(o, voList))) + // 4.收集 + .collect(Collectors.toList()); + return collect; + } + + // 根据当前父类 找出子类, 并通过递归找出子类的子类 + private List getChildList(ImageBank bean, List voList) { + List list = voList.stream() + //筛选出父节点id == parentId 的所有对象 => list + .filter(o -> StrUtil.equals(String.valueOf(bean.getCategoryId()), String.valueOf(o.getParentId()))) + .peek(o -> o.setChildren(getChildList(o, voList))) + .collect(Collectors.toList()); + if(list.size() == 0){ + return null; + } + return list; + } + + @Override + public boolean add(ImageBankParam param) { + if(param.getParentId() == null || param.getParentId() == 0){ + throw new BusinessException("请先选择图片分类"); + } + if(StringUtils.isEmpty(param.getImage())){ + throw new BusinessException("图片路径不能为空"); + } + ImageBank bean = new ImageBank(); + BeanUtils.copyProperties(param, bean); + return this.save(bean); + } + + @Override + public boolean edit(ImageBankParam param) { + ImageBank bean = new ImageBank(); + BeanUtils.copyProperties(param, bean); + return this.updateById(bean); + } + + @Override + public boolean delById(Integer id) { + // 是否存在子菜单 + if(this.count(new LambdaQueryWrapper().eq(ImageBank::getParentId, id)) > 0){ + throw new BusinessException("当前分类下存在文件,请先删除"); + } + return this.removeById(id); + } + + //批量删除 + @Override + public boolean deleteFiles(String imageIds) { + if(StringUtils.isEmpty(imageIds)){ + throw new BusinessException("请选择图片"); + } + return this.remove(new LambdaUpdateWrapper() + .in(ImageBank::getCategoryId, this.transFileIds(imageIds))); + } + + /** + * 移动文件 + * @param imageIds + * @return + */ + public boolean moveFiles(Integer categoryId, String imageIds){ + return this.update(new LambdaUpdateWrapper() + .in(ImageBank::getCategoryId, this.transFileIds(imageIds)) + .set(ImageBank::getParentId, categoryId)); + } + + //新增一级分类 + @Override + public boolean addCategory(ImageBankParam param) { + ImageBank bean = new ImageBank(); + BeanUtils.copyProperties(param, bean); + bean.setParentId(0); + return this.save(bean); + } + + private List transFileIds(String imageIds) { + String[] split = StringUtils.split(imageIds, ","); + List files = new ArrayList<>(); + for (String fileId : split) { + files.add(Integer.parseInt(fileId)); + } + return files; + } +} diff --git a/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/service/impl/MessageFieldServiceImpl.java b/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/service/impl/MessageFieldServiceImpl.java new file mode 100644 index 0000000..ad5af4a --- /dev/null +++ b/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/service/impl/MessageFieldServiceImpl.java @@ -0,0 +1,70 @@ +package net.jjjerp.saas.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.saas.param.FieldParam; +import net.jjjerp.saas.service.MessageFieldService; +import net.jjjerp.common.entity.settings.MessageField; +import net.jjjerp.common.mapper.settings.MessageFieldMapper; +import net.jjjerp.framework.common.service.impl.BaseServiceImpl; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.ArrayList; +import java.util.List; + +/** + * 应用消息字段表 服务实现类 + * + * @author jjjerp + * @since 2022-06-24 + */ +@Slf4j +@Service +public class MessageFieldServiceImpl extends BaseServiceImpl implements MessageFieldService { + + @Autowired + private MessageFieldMapper messageFieldMapper; + + public List getAll(Integer messageId){ + LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(); + wrapper.eq(MessageField::getMessageId, messageId); + wrapper.eq(MessageField::getIsDelete, false); + wrapper.orderByAsc(MessageField::getSort); + // 获取所有已启用的权限列表 + return this.list(wrapper); + } + /** + * 保存字段 + * @param fieldParam + * @return + */ + @Transactional(rollbackFor = Exception.class) + public Boolean saveField(FieldParam fieldParam){ + List list = new ArrayList(); + for(MessageField bean:fieldParam.getFieldData()){ + MessageField addField = new MessageField(); + BeanUtils.copyProperties(bean, addField); + if(bean.getMessageId() == null){ + addField.setMessageId(fieldParam.getMessageId()); + } + list.add(addField); + } + // 删除字段 + if(fieldParam.getDeleteIds() != null + && fieldParam.getDeleteIds().length > 0){ + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.in(MessageField::getMessageFieldId, fieldParam.getDeleteIds()); + + MessageField deleteField = new MessageField(); + deleteField.setIsDelete(true); + update(deleteField, lambdaQueryWrapper); + } + // 增加字段 + return this.saveOrUpdateBatch(list); + } + +} diff --git a/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/service/impl/MessageServiceImpl.java b/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/service/impl/MessageServiceImpl.java new file mode 100644 index 0000000..ebb3c50 --- /dev/null +++ b/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/service/impl/MessageServiceImpl.java @@ -0,0 +1,72 @@ +package net.jjjerp.saas.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.saas.param.MessageParam; +import net.jjjerp.saas.service.MessageService; +import net.jjjerp.common.entity.settings.Message; +import net.jjjerp.common.mapper.settings.MessageMapper; +import net.jjjerp.framework.common.service.impl.BaseServiceImpl; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * 应用消息表 服务实现类 + * + * @author jjjerp + * @since 2022-06-24 + */ +@Slf4j +@Service +public class MessageServiceImpl extends BaseServiceImpl implements MessageService { + + @Autowired + private MessageMapper messageMapper; + + /** + * 获取所有消息设置 + * @return + */ + public List getAll(){ + LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(); + wrapper.eq(Message::getIsDelete, false); + // 获取所有已启用的权限列表 + return this.list(wrapper); + } + /** + * 删除 + * @param id + * @return + */ + public Boolean setDelete(Integer id){ + Message updateBean = new Message(); + updateBean.setMessageId(id); + updateBean.setIsDelete(true); + return this.updateById(updateBean); + } + + /** + * 新增 + * @param messageParam + * @return + */ + public Boolean add(MessageParam messageParam){ + Message message = new Message(); + BeanUtils.copyProperties(messageParam, message); + return this.save(message); + } + /** + * 修改 + * @param messageParam + * @return + */ + public Boolean edit(MessageParam messageParam){ + Message message = new Message(); + BeanUtils.copyProperties(messageParam, message); + return this.updateById(message); + } +} diff --git a/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/service/impl/MessageSettingsServiceImpl.java b/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/service/impl/MessageSettingsServiceImpl.java new file mode 100644 index 0000000..0d3dda2 --- /dev/null +++ b/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/service/impl/MessageSettingsServiceImpl.java @@ -0,0 +1,24 @@ +package net.jjjerp.saas.service.impl; + +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.saas.service.MessageSettingsService; +import net.jjjerp.common.entity.settings.MessageSettings; +import net.jjjerp.common.mapper.settings.MessageSettingsMapper; +import net.jjjerp.framework.common.service.impl.BaseServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +/** + * 应用消息设置表 服务实现类 + * + * @author jjjerp + * @since 2022-06-24 + */ +@Slf4j +@Service +public class MessageSettingsServiceImpl extends BaseServiceImpl implements MessageSettingsService { + + @Autowired + private MessageSettingsMapper messageSettingsMapper; + +} diff --git a/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/service/impl/RegionServiceImpl.java b/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/service/impl/RegionServiceImpl.java new file mode 100644 index 0000000..7cd739e --- /dev/null +++ b/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/service/impl/RegionServiceImpl.java @@ -0,0 +1,143 @@ +package net.jjjerp.saas.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.saas.param.RegionPageParam; +import net.jjjerp.saas.param.RegionParam; +import net.jjjerp.saas.service.RegionService; +import net.jjjerp.saas.vo.RegionVo; +import net.jjjerp.common.cache.RegionCache; +import net.jjjerp.common.entity.settings.Region; +import net.jjjerp.common.mapper.settings.RegionMapper; +import net.jjjerp.framework.common.service.impl.BaseServiceImpl; +import net.jjjerp.framework.core.pagination.PageInfo; +import net.jjjerp.framework.core.pagination.Paging; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +/** + * 服务实现类 + * + * @author jjjerp + * @since 2022-06-24 + */ +@Slf4j +@Service +public class RegionServiceImpl extends BaseServiceImpl implements RegionService { + + @Autowired + private RegionMapper regionMapper; + @Autowired + private RegionCache regionCache; + + /** + * 地区列表 + * @param regionPageParam + * @return + */ + public Paging getList(RegionPageParam regionPageParam){ + Page page = new PageInfo<>(regionPageParam); + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(Region::getIsDelete, false); + wrapper.orderByAsc(Region::getId); + wrapper.orderByAsc(Region::getSort); + if (StringUtils.isNotBlank(regionPageParam.getName())) { + wrapper.and(i -> i.or().like(Region::getName, regionPageParam.getName()) + .or().like(Region::getMergerName, regionPageParam.getName()) + .or().like(Region::getShortname, regionPageParam.getName())); + } + if(regionPageParam.getLevel() != null && regionPageParam.getLevel() > 0){ + wrapper.eq(Region::getLevel, regionPageParam.getLevel()); + } + if (regionPageParam.getProvinceId() != null && regionPageParam.getProvinceId() > 0) { + if (regionPageParam.getCityId() != null && regionPageParam.getCityId() > 0) { + wrapper.eq(Region::getPid, regionPageParam.getCityId()); + }else{ + wrapper.eq(Region::getPid, regionPageParam.getProvinceId()); + } + } + IPage iPage = regionMapper.selectPage(page, wrapper); + return new Paging(iPage); + } + /** + * 删除 + * @param id + * @return + */ + public Boolean setDelete(Integer id){ + Region updateBean = new Region(); + updateBean.setId(id); + updateBean.setIsDelete(true); + // 清除缓存 + regionCache.clearCache(); + return this.updateById(updateBean); + } + /** + * 新增 + * @param regionParam + * @return + */ + public Boolean add(RegionParam regionParam){ + Region region = new Region(); + BeanUtils.copyProperties(regionParam, region); + region.setPid(getPid(regionParam)); + // 清除缓存 + regionCache.clearCache(); + return this.save(region); + } + + /** + * 获取父id + * @return + */ + private Integer getPid(RegionParam regionParam){ + if(regionParam.getLevel() == 1){ + return 0; + } else if(regionParam.getLevel() == 2){ + return regionParam.getProvinceId(); + } else if(regionParam.getLevel() == 3){ + return regionParam.getCityId(); + } + return 0; + } + /** + * 获取编辑数据 + * @param id + * @return + */ + public RegionVo getEditData(Integer id){ + Region region = this.getById(id); + RegionVo vo = new RegionVo(); + BeanUtils.copyProperties(region, vo); + if(region.getLevel() == 1){ + vo.setProvinceId(""); + vo.setCityId(""); + } + if(region.getLevel() == 2){ + vo.setProvinceId(""+region.getPid()); + vo.setCityId(""); + } + if(region.getLevel() == 3){ + vo.setProvinceId(""+this.getById(region.getPid()).getPid()); + vo.setCityId(""+region.getPid()); + } + return vo; + } + /** + * 修改 + * @param regionParam + * @return + */ + public Boolean edit(RegionParam regionParam){ + Region region = new Region(); + BeanUtils.copyProperties(regionParam, region); + region.setPid(getPid(regionParam)); + // 清除缓存 + regionCache.clearCache(); + return this.updateById(region); + } +} diff --git a/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/service/impl/SaasUserServiceImpl.java b/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/service/impl/SaasUserServiceImpl.java new file mode 100644 index 0000000..eab9e7e --- /dev/null +++ b/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/service/impl/SaasUserServiceImpl.java @@ -0,0 +1,158 @@ + + +package net.jjjerp.saas.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.saas.service.SaasUserService; +import net.jjjerp.saas.vo.LoginAdminUserTokenVo; +import net.jjjerp.common.entity.admin.SaasUser; +import net.jjjerp.common.mapper.admin.SaasUserMapper; +import net.jjjerp.config.constant.CommonRedisKey; +import net.jjjerp.config.properties.JwtProperties; +import net.jjjerp.config.properties.SpringBootJjjProperties; +import net.jjjerp.framework.common.exception.BusinessException; +import net.jjjerp.framework.common.service.impl.BaseServiceImpl; +import net.jjjerp.framework.shiro.cache.AdminLoginRedisService; +import net.jjjerp.framework.shiro.jwt.JwtToken; +import net.jjjerp.framework.shiro.util.JwtTokenUtil; +import net.jjjerp.framework.shiro.util.JwtUtil; +import net.jjjerp.framework.shiro.util.SaltUtil; +import net.jjjerp.framework.shiro.vo.LoginAdminUserVo; +import net.jjjerp.framework.util.PasswordUtil; +import org.apache.commons.codec.digest.DigestUtils; +import org.apache.shiro.SecurityUtils; +import org.apache.shiro.authc.AuthenticationException; +import org.apache.shiro.subject.Subject; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Lazy; +import org.springframework.data.redis.core.RedisTemplate; +import org.springframework.stereotype.Service; + +import javax.servlet.http.HttpServletRequest; +import java.time.Duration; +import java.util.concurrent.TimeUnit; + + +/** + * 系统用户 服务实现类 + */ +@Slf4j +@Service +public class SaasUserServiceImpl extends BaseServiceImpl implements SaasUserService { + + @Autowired + private SaasUserMapper saasUserMapper; + + @Lazy + @Autowired + private SpringBootJjjProperties springBootJjjProperties; + + @Lazy + @Autowired + private JwtProperties jwtProperties; + + @Lazy + @Autowired + private RedisTemplate redisTemplate; + + @Lazy + @Autowired + private AdminLoginRedisService adminLoginRedisService; + + public LoginAdminUserTokenVo login(String username, String password){ + SaasUser saasUser = saasUserMapper.selectOne(new LambdaQueryWrapper() + .eq(SaasUser::getUserName, username)); + if(saasUser == null){ + throw new BusinessException("用户名或密码错误"); + } + String encryptPassword = PasswordUtil.encrypt(password, saasUser.getSalt()); + if (!encryptPassword.equals(saasUser.getPassword())) { + throw new AuthenticationException("用户名或密码错误"); + } + // 将系统用户对象转换成登录用户对象 + LoginAdminUserVo loginAdminUserVo = new LoginAdminUserVo(); + BeanUtils.copyProperties(saasUser, loginAdminUserVo); + // 获取数据库中保存的盐值 + String newSalt = SaltUtil.getSalt(saasUser.getSalt(), jwtProperties); + + // 生成token字符串并返回 + Long expireSecond = jwtProperties.getExpireSecond(); + String token = JwtUtil.generateToken(username, newSalt, Duration.ofSeconds(expireSecond)); + log.debug("token:{}", token); + + // 创建AuthenticationToken + JwtToken jwtToken = JwtToken.build(token, username, newSalt, expireSecond); + + boolean enableShiro = springBootJjjProperties.getShiro().isEnable(); + if (enableShiro) { + // 从SecurityUtils里边创建一个 subject + Subject subject = SecurityUtils.getSubject(); + // 执行认证登录 + subject.login(jwtToken); + } else { + log.warn("未启用Shiro"); + } + + // 缓存登录信息到Redis + adminLoginRedisService.cacheLoginInfo(jwtToken, loginAdminUserVo); + log.debug("登录成功,username:{}", username); + + // 缓存登录信息到redis + String tokenSha256 = DigestUtils.sha256Hex(token); + redisTemplate.opsForValue().set(tokenSha256, loginAdminUserVo, 1, TimeUnit.DAYS); + + // 返回token和登录用户信息对象 + LoginAdminUserTokenVo loginAdminUserTokenVo = new LoginAdminUserTokenVo(); + loginAdminUserTokenVo.setToken(token); + loginAdminUserTokenVo.setLoginAdminUserVo(loginAdminUserVo); + return loginAdminUserTokenVo; + } + + /** + * 修改密码 + * @param password + * @return + */ + public Boolean renew(String password){ + SaasUser saasUser = saasUserMapper.selectOne(new LambdaQueryWrapper()); + + String encryptPassword = PasswordUtil.encrypt(password, saasUser.getSalt()); + SaasUser updateBean = new SaasUser(); + updateBean.setSaasUserId(saasUser.getSaasUserId()); + updateBean.setPassword(encryptPassword); + return this.updateById(updateBean); + } + + @Override + public void logout(HttpServletRequest request) throws Exception { + Subject subject = SecurityUtils.getSubject(); + //注销 + subject.logout(); + // 获取token + String token = JwtTokenUtil.getToken(request, "saas"); + String username = JwtUtil.getUsername(token); + // 删除Redis缓存信息 + deleteLoginInfo(token, username); + log.info("登出成功,username:{},token:{}", username, token); + } + + private void deleteLoginInfo(String token, String username) { + if (token == null) { + throw new IllegalArgumentException("token不能为空"); + } + if (username == null) { + throw new IllegalArgumentException("username不能为空"); + } + String tokenMd5 = DigestUtils.md5Hex(token); + // 1. delete tokenMd5 + redisTemplate.delete(String.format(CommonRedisKey.ADMIN_LOGIN_TOKEN, tokenMd5)); + // 2. delete username + redisTemplate.delete(String.format(CommonRedisKey.ADMIN_LOGIN_USER, username)); + // 3. delete salt + redisTemplate.delete(String.format(CommonRedisKey.ADMIN_LOGIN_SALT, username)); + // 4. delete user token + redisTemplate.delete(String.format(CommonRedisKey.ADMIN_LOGIN_USER_TOKEN, username, tokenMd5)); + } +} diff --git a/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/service/impl/ShopAccessServiceImpl.java b/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/service/impl/ShopAccessServiceImpl.java new file mode 100644 index 0000000..5127593 --- /dev/null +++ b/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/service/impl/ShopAccessServiceImpl.java @@ -0,0 +1,110 @@ +package net.jjjerp.saas.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.saas.param.ShopAccessParam; +import net.jjjerp.saas.service.ShopAccessService; +import net.jjjerp.common.entity.shop.AdminAccess; +import net.jjjerp.common.mapper.shop.ShopAccessMapper; +import net.jjjerp.framework.common.exception.BusinessException; +import net.jjjerp.framework.common.service.impl.BaseServiceImpl; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; + +/** + * 商家用户权限表 服务实现类 + * + * @author jjjerp + * @since 2022-06-22 + */ +@Slf4j +@Service +public class ShopAccessServiceImpl extends BaseServiceImpl implements ShopAccessService { + @Autowired + private ShopAccessMapper shopAccessMapper; + + public List getAllPlus(){ + // 查找插件根节点 + LambdaQueryWrapper plusWrapper = Wrappers.lambdaQuery(); + plusWrapper.eq(AdminAccess::getPath, "/plus/plus/index"); + AdminAccess plusBean = this.getOne(plusWrapper); + // 查找插件 + LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(); + wrapper.eq(AdminAccess::getParentId, plusBean.getAccessId()); + wrapper.eq(AdminAccess::getPlusCategoryId, 0); + // 获取所有已启用的权限列表 + return this.list(wrapper); + } + + + public Boolean clearPlusCategoryId(Integer accessId){ + AdminAccess access = new AdminAccess(); + access.setAccessId(accessId); + access.setPlusCategoryId(0); + return this.updateById(access); + } + + public Boolean editPlusCategoryId(Integer accessId, Integer plusCategoryId){ + AdminAccess access = new AdminAccess(); + access.setAccessId(accessId); + access.setPlusCategoryId(plusCategoryId); + return this.updateById(access); + } + + public Boolean editStatusById(Integer accessId, Integer status){ + AdminAccess access = new AdminAccess(); + access.setAccessId(accessId); + access.setIsShow(status); + return this.updateById(access); + } + + /** + * 真删除 + * @param accessId + * @return + */ + public Boolean delById(Integer accessId){ + // 是否存在子菜单 + LambdaQueryWrapper countWrapper = Wrappers.lambdaQuery(); + countWrapper.eq(AdminAccess::getParentId, accessId); + if(this.count(countWrapper) > 0){ + throw new BusinessException("当前菜单下存在子权限,请先删除"); + } + return this.removeById(accessId); + } + + /** + * 新增 + * @param shopAccessParam + * @return + */ + public Boolean add(ShopAccessParam shopAccessParam){ + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(AdminAccess::getPath,shopAccessParam.getPath()); + if(this.count(wrapper) > 0){ + throw new BusinessException("路径已存在,请更改后再试"); + } + AdminAccess access = new AdminAccess(); + BeanUtils.copyProperties(shopAccessParam, access); + // 11位时间戳 + String timestamp = String.valueOf((new Date()).getTime()/1000); + access.setAccessId(Integer.valueOf(timestamp)); + return this.save(access); + } + + /** + * 修改 + * @param shopAccessParam + * @return + */ + public Boolean edit(ShopAccessParam shopAccessParam){ + AdminAccess access = new AdminAccess(); + BeanUtils.copyProperties(shopAccessParam, access); + return this.updateById(access); + } +} diff --git a/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/service/impl/ShopUserServiceImpl.java b/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/service/impl/ShopUserServiceImpl.java new file mode 100644 index 0000000..d47454f --- /dev/null +++ b/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/service/impl/ShopUserServiceImpl.java @@ -0,0 +1,21 @@ +package net.jjjerp.saas.service.impl; + +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.saas.service.ShopUserService; +import net.jjjerp.common.entity.shop.AdminUser; +import net.jjjerp.common.mapper.shop.ShopUserMapper; +import net.jjjerp.framework.common.service.impl.BaseServiceImpl; +import org.springframework.stereotype.Service; + +/** + * 商家用户记录表 服务实现类 + * + * @author jjjerp + * @since 2022-06-23 + */ +@Slf4j +@Service +public class ShopUserServiceImpl extends BaseServiceImpl implements ShopUserService { + + +} diff --git a/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/service/impl/UploadFileServiceImpl.java b/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/service/impl/UploadFileServiceImpl.java new file mode 100644 index 0000000..8d2a97d --- /dev/null +++ b/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/service/impl/UploadFileServiceImpl.java @@ -0,0 +1,67 @@ +package net.jjjerp.saas.service.impl; + +import cn.hutool.core.bean.BeanUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.saas.param.UploadFilePageParam; +import net.jjjerp.saas.service.UploadFileService; +import net.jjjerp.saas.vo.UploadFileVo; +import net.jjjerp.common.entity.file.UploadFile; +import net.jjjerp.common.mapper.file.UploadFileMapper; +import net.jjjerp.common.util.UploadFileUtils; +import net.jjjerp.framework.common.service.impl.BaseServiceImpl; +import net.jjjerp.framework.core.pagination.PageInfo; +import net.jjjerp.framework.core.pagination.Paging; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.util.StringUtils; + +/** + * 文件库记录表 服务实现类 + * @author jjjerp + * @since 2022-06-28 + */ +@Slf4j +@Service +public class UploadFileServiceImpl extends BaseServiceImpl implements UploadFileService { + @Autowired + private UploadFileUtils uploadFileUtils; + + /** + * 保存图片 + * @param file + * @return + */ + public boolean addFile(UploadFile file){ + return this.save(file); + } + + /** + * 文件列表 + * @param uploadFilePageParam + * @return + */ + public Paging getList(UploadFilePageParam uploadFilePageParam){ + Page page = new PageInfo<>(uploadFilePageParam); + LambdaQueryWrapper wrapper = new LambdaQueryWrapper(); + wrapper.eq(UploadFile::getIsDelete, 0); + if(uploadFilePageParam.getGroupId() != null && uploadFilePageParam.getGroupId().intValue() != 0){ + wrapper.eq(UploadFile::getGroupId, uploadFilePageParam.getGroupId()); + } + if(!StringUtils.isEmpty(uploadFilePageParam.getFileType())){ + wrapper.eq(UploadFile::getFileType, uploadFilePageParam.getFileType()); + } + wrapper.orderByDesc(UploadFile::getCreateTime); + IPage iPage = this.page(page, wrapper); + // 最终返回分页对象 + IPage resultPage = iPage.convert(result -> { + UploadFileVo vo = new UploadFileVo(); + BeanUtil.copyProperties(result, vo); + vo.setFilePath(uploadFileUtils.getFilePathByFile(vo)); + return vo; + }); + return new Paging(resultPage); + } +} diff --git a/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/service/impl/UploadGroupServiceImpl.java b/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/service/impl/UploadGroupServiceImpl.java new file mode 100644 index 0000000..c3f2f3b --- /dev/null +++ b/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/service/impl/UploadGroupServiceImpl.java @@ -0,0 +1,119 @@ +package net.jjjerp.saas.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import lombok.extern.slf4j.Slf4j; +import net.jjjerp.saas.service.UploadFileService; +import net.jjjerp.saas.service.UploadGroupService; +import net.jjjerp.common.entity.file.UploadFile; +import net.jjjerp.common.entity.file.UploadGroup; +import net.jjjerp.common.mapper.file.UploadGroupMapper; +import net.jjjerp.framework.common.exception.BusinessException; +import net.jjjerp.framework.common.service.impl.BaseServiceImpl; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.ArrayList; +import java.util.List; + +/** + * 文件库分组记录表 服务实现类 + * @author jjjerp + * @since 2022-06-28 + */ +@Slf4j +@Service +public class UploadGroupServiceImpl extends BaseServiceImpl implements UploadGroupService { + @Autowired + private UploadFileService uploadFileService; + + /** + * 所有文件分组 + * @return + */ + public List getAll(String groupType){ + return this.list(new LambdaQueryWrapper().eq(UploadGroup::getGroupType, groupType) + .eq(UploadGroup::getIsDelete, false) + .orderByAsc(UploadGroup::getSort) + .orderByAsc(UploadGroup::getCreateTime)); + } + /** + * 新增分组 + * @param groupName + * @param groupType + * @return + */ + public boolean addGroup(String groupName, String groupType){ + UploadGroup group = new UploadGroup(); + group.setGroupName(groupName); + group.setGroupType(groupType); + return this.save(group); + } + + /** + * 修改分组 + * @param groupId + * @param groupName + * @return + */ + public boolean editGroup(Integer groupId, String groupName){ + UploadGroup group = this.getById(groupId); + if(group == null){ + throw new BusinessException("分组不存在"); + } + return this.update(new LambdaUpdateWrapper().eq(UploadGroup::getGroupId, groupId) + .set(UploadGroup::getGroupName, groupName)); + } + + /** + * 删除分组 + * @param groupId + * @return + */ + @Transactional(rollbackFor = Exception.class) + public boolean deleteGroup(Integer groupId){ + UploadGroup group = this.getById(groupId); + if(group == null){ + throw new BusinessException("分组不存在"); + } + // 更新该分组下的所有文件 + uploadFileService.update(new LambdaUpdateWrapper().eq(UploadFile::getGroupId, groupId) + .set(UploadFile::getGroupId, 0)); + // 删除分组 + this.update(new LambdaUpdateWrapper().eq(UploadGroup::getGroupId, groupId) + .set(UploadGroup::getIsDelete, 1)); + return true; + } + + /** + * 删除文件 + * @param fileIds + * @return + */ + public boolean deleteFiles(String fileIds){ + + return uploadFileService.update(new LambdaUpdateWrapper().in(UploadFile::getFileId, this.transFileIds(fileIds)) + .set(UploadFile::getIsDelete, 1)); + } + + /** + * 移动文件 + * @param fileIds + * @return + */ + public boolean moveFiles(Integer groupId, String fileIds){ + return uploadFileService.update(new LambdaUpdateWrapper().in(UploadFile::getFileId, this.transFileIds(fileIds)) + .set(UploadFile::getGroupId, groupId)); + } + + private List transFileIds(String fileIds) { + String[] split = StringUtils.split(fileIds, ","); + List files = new ArrayList<>(); + for (String fileId : split) { + files.add(Integer.parseInt(fileId)); + } + return files; + } +} diff --git a/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/vo/AppVo.java b/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/vo/AppVo.java new file mode 100644 index 0000000..13f6733 --- /dev/null +++ b/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/vo/AppVo.java @@ -0,0 +1,22 @@ + + +package net.jjjerp.saas.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import net.jjjerp.common.entity.app.App; + +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@ApiModel("插件列表VO") +public class AppVo extends App { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("userName") + private String userName; +} diff --git a/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/vo/LoginAdminUserTokenVo.java b/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/vo/LoginAdminUserTokenVo.java new file mode 100644 index 0000000..d76a789 --- /dev/null +++ b/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/vo/LoginAdminUserTokenVo.java @@ -0,0 +1,26 @@ + + +package net.jjjerp.saas.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.experimental.Accessors; +import net.jjjerp.framework.shiro.service.LoginToken; +import net.jjjerp.framework.shiro.vo.LoginAdminUserVo; + +@Data +@Accessors(chain = true) +@ApiModel("登录用户信息TokenVO") +public class LoginAdminUserTokenVo implements LoginToken { + + private static final long serialVersionUID = -2138450422989081056L; + + @ApiModelProperty("token") + private String token; + + /** + * 登录用户对象 + */ + private LoginAdminUserVo loginAdminUserVo; +} diff --git a/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/vo/RegionVo.java b/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/vo/RegionVo.java new file mode 100644 index 0000000..b4cfe06 --- /dev/null +++ b/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/vo/RegionVo.java @@ -0,0 +1,25 @@ + + +package net.jjjerp.saas.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import net.jjjerp.common.entity.settings.Region; + +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@ApiModel("插件列表VO") +public class RegionVo extends Region { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("provinceId") + private String provinceId; + + @ApiModelProperty("provinceId") + private String cityId; +} diff --git a/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/vo/UploadFileVo.java b/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/vo/UploadFileVo.java new file mode 100644 index 0000000..b334007 --- /dev/null +++ b/jjj_erp/jjj-saas/src/main/java/net/jjjerp/saas/vo/UploadFileVo.java @@ -0,0 +1,19 @@ +package net.jjjerp.saas.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import net.jjjerp.common.entity.file.UploadFile; + +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@ApiModel("上传文件VO") +public class UploadFileVo extends UploadFile { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("文件路径") + private String filePath; +} diff --git a/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/controller/AccessController.class b/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/controller/AccessController.class new file mode 100644 index 0000000..a949f8e Binary files /dev/null and b/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/controller/AccessController.class differ diff --git a/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/controller/IndexController.class b/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/controller/IndexController.class new file mode 100644 index 0000000..131b813 Binary files /dev/null and b/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/controller/IndexController.class differ diff --git a/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/controller/MessageController.class b/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/controller/MessageController.class new file mode 100644 index 0000000..84f1489 Binary files /dev/null and b/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/controller/MessageController.class differ diff --git a/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/controller/PassportController.class b/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/controller/PassportController.class new file mode 100644 index 0000000..b484a3b Binary files /dev/null and b/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/controller/PassportController.class differ diff --git a/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/controller/RegionController.class b/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/controller/RegionController.class new file mode 100644 index 0000000..36eff21 Binary files /dev/null and b/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/controller/RegionController.class differ diff --git a/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/controller/SettingController.class b/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/controller/SettingController.class new file mode 100644 index 0000000..b350678 Binary files /dev/null and b/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/controller/SettingController.class differ diff --git a/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/controller/ShopController.class b/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/controller/ShopController.class new file mode 100644 index 0000000..5c0eff0 Binary files /dev/null and b/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/controller/ShopController.class differ diff --git a/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/controller/UserController.class b/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/controller/UserController.class new file mode 100644 index 0000000..9d91b9a Binary files /dev/null and b/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/controller/UserController.class differ diff --git a/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/controller/file/FileController.class b/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/controller/file/FileController.class new file mode 100644 index 0000000..eae57e9 Binary files /dev/null and b/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/controller/file/FileController.class differ diff --git a/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/controller/file/ImageBankController.class b/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/controller/file/ImageBankController.class new file mode 100644 index 0000000..3320cd5 Binary files /dev/null and b/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/controller/file/ImageBankController.class differ diff --git a/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/controller/file/UploadController.class b/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/controller/file/UploadController.class new file mode 100644 index 0000000..25976f2 Binary files /dev/null and b/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/controller/file/UploadController.class differ diff --git a/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/param/AppPageParam.class b/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/param/AppPageParam.class new file mode 100644 index 0000000..3b15b01 Binary files /dev/null and b/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/param/AppPageParam.class differ diff --git a/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/param/AppParam.class b/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/param/AppParam.class new file mode 100644 index 0000000..026f5a8 Binary files /dev/null and b/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/param/AppParam.class differ diff --git a/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/param/FieldParam.class b/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/param/FieldParam.class new file mode 100644 index 0000000..8333b05 Binary files /dev/null and b/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/param/FieldParam.class differ diff --git a/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/param/ImageBankParam.class b/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/param/ImageBankParam.class new file mode 100644 index 0000000..5f0332e Binary files /dev/null and b/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/param/ImageBankParam.class differ diff --git a/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/param/MessageParam.class b/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/param/MessageParam.class new file mode 100644 index 0000000..1077a33 Binary files /dev/null and b/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/param/MessageParam.class differ diff --git a/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/param/RegionPageParam.class b/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/param/RegionPageParam.class new file mode 100644 index 0000000..e4d7fc1 Binary files /dev/null and b/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/param/RegionPageParam.class differ diff --git a/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/param/RegionParam.class b/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/param/RegionParam.class new file mode 100644 index 0000000..c52156b Binary files /dev/null and b/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/param/RegionParam.class differ diff --git a/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/param/ShopAccessParam.class b/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/param/ShopAccessParam.class new file mode 100644 index 0000000..6812e03 Binary files /dev/null and b/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/param/ShopAccessParam.class differ diff --git a/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/param/UploadFilePageParam.class b/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/param/UploadFilePageParam.class new file mode 100644 index 0000000..4f8aff8 Binary files /dev/null and b/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/param/UploadFilePageParam.class differ diff --git a/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/service/AppService.class b/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/service/AppService.class new file mode 100644 index 0000000..92c6543 Binary files /dev/null and b/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/service/AppService.class differ diff --git a/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/service/ImageBankService.class b/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/service/ImageBankService.class new file mode 100644 index 0000000..098105f Binary files /dev/null and b/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/service/ImageBankService.class differ diff --git a/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/service/MessageFieldService.class b/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/service/MessageFieldService.class new file mode 100644 index 0000000..dd58f2c Binary files /dev/null and b/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/service/MessageFieldService.class differ diff --git a/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/service/MessageService.class b/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/service/MessageService.class new file mode 100644 index 0000000..54b7105 Binary files /dev/null and b/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/service/MessageService.class differ diff --git a/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/service/MessageSettingsService.class b/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/service/MessageSettingsService.class new file mode 100644 index 0000000..a2618b4 Binary files /dev/null and b/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/service/MessageSettingsService.class differ diff --git a/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/service/RegionService.class b/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/service/RegionService.class new file mode 100644 index 0000000..4d9261d Binary files /dev/null and b/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/service/RegionService.class differ diff --git a/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/service/SaasUserService.class b/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/service/SaasUserService.class new file mode 100644 index 0000000..cb642fe Binary files /dev/null and b/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/service/SaasUserService.class differ diff --git a/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/service/ShopAccessService.class b/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/service/ShopAccessService.class new file mode 100644 index 0000000..60b858f Binary files /dev/null and b/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/service/ShopAccessService.class differ diff --git a/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/service/ShopUserService.class b/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/service/ShopUserService.class new file mode 100644 index 0000000..7f51564 Binary files /dev/null and b/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/service/ShopUserService.class differ diff --git a/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/service/UploadFileService.class b/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/service/UploadFileService.class new file mode 100644 index 0000000..929d010 Binary files /dev/null and b/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/service/UploadFileService.class differ diff --git a/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/service/UploadGroupService.class b/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/service/UploadGroupService.class new file mode 100644 index 0000000..bad8304 Binary files /dev/null and b/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/service/UploadGroupService.class differ diff --git a/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/service/impl/AppServiceImpl.class b/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/service/impl/AppServiceImpl.class new file mode 100644 index 0000000..b9e3bf1 Binary files /dev/null and b/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/service/impl/AppServiceImpl.class differ diff --git a/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/service/impl/ImageBankServiceImpl.class b/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/service/impl/ImageBankServiceImpl.class new file mode 100644 index 0000000..e95b589 Binary files /dev/null and b/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/service/impl/ImageBankServiceImpl.class differ diff --git a/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/service/impl/MessageFieldServiceImpl.class b/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/service/impl/MessageFieldServiceImpl.class new file mode 100644 index 0000000..cc96733 Binary files /dev/null and b/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/service/impl/MessageFieldServiceImpl.class differ diff --git a/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/service/impl/MessageServiceImpl.class b/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/service/impl/MessageServiceImpl.class new file mode 100644 index 0000000..8b522d6 Binary files /dev/null and b/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/service/impl/MessageServiceImpl.class differ diff --git a/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/service/impl/MessageSettingsServiceImpl.class b/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/service/impl/MessageSettingsServiceImpl.class new file mode 100644 index 0000000..a23bc3a Binary files /dev/null and b/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/service/impl/MessageSettingsServiceImpl.class differ diff --git a/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/service/impl/RegionServiceImpl.class b/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/service/impl/RegionServiceImpl.class new file mode 100644 index 0000000..998a981 Binary files /dev/null and b/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/service/impl/RegionServiceImpl.class differ diff --git a/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/service/impl/SaasUserServiceImpl.class b/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/service/impl/SaasUserServiceImpl.class new file mode 100644 index 0000000..57395cd Binary files /dev/null and b/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/service/impl/SaasUserServiceImpl.class differ diff --git a/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/service/impl/ShopAccessServiceImpl.class b/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/service/impl/ShopAccessServiceImpl.class new file mode 100644 index 0000000..0cc5f77 Binary files /dev/null and b/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/service/impl/ShopAccessServiceImpl.class differ diff --git a/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/service/impl/ShopUserServiceImpl.class b/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/service/impl/ShopUserServiceImpl.class new file mode 100644 index 0000000..ad614f1 Binary files /dev/null and b/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/service/impl/ShopUserServiceImpl.class differ diff --git a/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/service/impl/UploadFileServiceImpl.class b/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/service/impl/UploadFileServiceImpl.class new file mode 100644 index 0000000..46d17b4 Binary files /dev/null and b/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/service/impl/UploadFileServiceImpl.class differ diff --git a/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/service/impl/UploadGroupServiceImpl.class b/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/service/impl/UploadGroupServiceImpl.class new file mode 100644 index 0000000..c6f875d Binary files /dev/null and b/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/service/impl/UploadGroupServiceImpl.class differ diff --git a/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/vo/AppVo.class b/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/vo/AppVo.class new file mode 100644 index 0000000..e2b698d Binary files /dev/null and b/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/vo/AppVo.class differ diff --git a/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/vo/LoginAdminUserTokenVo.class b/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/vo/LoginAdminUserTokenVo.class new file mode 100644 index 0000000..d748440 Binary files /dev/null and b/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/vo/LoginAdminUserTokenVo.class differ diff --git a/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/vo/RegionVo.class b/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/vo/RegionVo.class new file mode 100644 index 0000000..7cd4094 Binary files /dev/null and b/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/vo/RegionVo.class differ diff --git a/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/vo/UploadFileVo.class b/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/vo/UploadFileVo.class new file mode 100644 index 0000000..20a334a Binary files /dev/null and b/jjj_erp/jjj-saas/target/classes/net/jjjerp/saas/vo/UploadFileVo.class differ diff --git a/jjj_erp/jjj-saas/target/jjj-erp-1.0.jar b/jjj_erp/jjj-saas/target/jjj-erp-1.0.jar new file mode 100644 index 0000000..7bff975 Binary files /dev/null and b/jjj_erp/jjj-saas/target/jjj-erp-1.0.jar differ diff --git a/jjj_erp/jjj-saas/target/maven-archiver/pom.properties b/jjj_erp/jjj-saas/target/maven-archiver/pom.properties new file mode 100644 index 0000000..6958ebb --- /dev/null +++ b/jjj_erp/jjj-saas/target/maven-archiver/pom.properties @@ -0,0 +1,5 @@ +#Generated by Maven +#Sat Jun 29 14:55:03 CST 2024 +version=1.0 +groupId=net.jjjerp +artifactId=jjj-saas diff --git a/jjj_erp/jjj-saas/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/jjj_erp/jjj-saas/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst new file mode 100644 index 0000000..098b6aa --- /dev/null +++ b/jjj_erp/jjj-saas/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst @@ -0,0 +1,46 @@ +net\jjjerp\saas\service\impl\RegionServiceImpl.class +net\jjjerp\saas\service\impl\UploadGroupServiceImpl.class +net\jjjerp\saas\service\impl\ShopUserServiceImpl.class +net\jjjerp\saas\controller\file\FileController.class +net\jjjerp\saas\service\ImageBankService.class +net\jjjerp\saas\service\impl\MessageFieldServiceImpl.class +net\jjjerp\saas\service\UploadFileService.class +net\jjjerp\saas\service\MessageSettingsService.class +net\jjjerp\saas\vo\UploadFileVo.class +net\jjjerp\saas\service\impl\MessageServiceImpl.class +net\jjjerp\saas\controller\ShopController.class +net\jjjerp\saas\controller\AccessController.class +net\jjjerp\saas\vo\LoginAdminUserTokenVo.class +net\jjjerp\saas\controller\file\UploadController.class +net\jjjerp\saas\param\FieldParam.class +net\jjjerp\saas\service\RegionService.class +net\jjjerp\saas\vo\AppVo.class +net\jjjerp\saas\service\impl\ShopAccessServiceImpl.class +net\jjjerp\saas\param\AppParam.class +net\jjjerp\saas\controller\IndexController.class +net\jjjerp\saas\param\AppPageParam.class +net\jjjerp\saas\service\ShopAccessService.class +net\jjjerp\saas\service\ShopUserService.class +net\jjjerp\saas\controller\PassportController.class +net\jjjerp\saas\controller\UserController.class +net\jjjerp\saas\service\AppService.class +net\jjjerp\saas\service\MessageFieldService.class +net\jjjerp\saas\service\impl\MessageSettingsServiceImpl.class +net\jjjerp\saas\param\MessageParam.class +net\jjjerp\saas\service\impl\ImageBankServiceImpl.class +net\jjjerp\saas\service\impl\SaasUserServiceImpl.class +net\jjjerp\saas\controller\RegionController.class +net\jjjerp\saas\controller\file\ImageBankController.class +net\jjjerp\saas\param\ShopAccessParam.class +net\jjjerp\saas\service\impl\AppServiceImpl.class +net\jjjerp\saas\controller\MessageController.class +net\jjjerp\saas\param\RegionParam.class +net\jjjerp\saas\service\UploadGroupService.class +net\jjjerp\saas\param\RegionPageParam.class +net\jjjerp\saas\vo\RegionVo.class +net\jjjerp\saas\service\SaasUserService.class +net\jjjerp\saas\param\ImageBankParam.class +net\jjjerp\saas\param\UploadFilePageParam.class +net\jjjerp\saas\service\MessageService.class +net\jjjerp\saas\service\impl\UploadFileServiceImpl.class +net\jjjerp\saas\controller\SettingController.class diff --git a/jjj_erp/jjj-saas/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/jjj_erp/jjj-saas/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst new file mode 100644 index 0000000..8ef0996 --- /dev/null +++ b/jjj_erp/jjj-saas/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst @@ -0,0 +1,46 @@ +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-saas\src\main\java\net\jjjerp\saas\controller\MessageController.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-saas\src\main\java\net\jjjerp\saas\vo\LoginAdminUserTokenVo.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-saas\src\main\java\net\jjjerp\saas\controller\file\ImageBankController.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-saas\src\main\java\net\jjjerp\saas\service\ImageBankService.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-saas\src\main\java\net\jjjerp\saas\param\UploadFilePageParam.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-saas\src\main\java\net\jjjerp\saas\service\impl\AppServiceImpl.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-saas\src\main\java\net\jjjerp\saas\controller\IndexController.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-saas\src\main\java\net\jjjerp\saas\controller\ShopController.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-saas\src\main\java\net\jjjerp\saas\param\ShopAccessParam.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-saas\src\main\java\net\jjjerp\saas\service\UploadFileService.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-saas\src\main\java\net\jjjerp\saas\service\ShopAccessService.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-saas\src\main\java\net\jjjerp\saas\controller\file\UploadController.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-saas\src\main\java\net\jjjerp\saas\param\FieldParam.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-saas\src\main\java\net\jjjerp\saas\service\AppService.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-saas\src\main\java\net\jjjerp\saas\service\impl\ImageBankServiceImpl.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-saas\src\main\java\net\jjjerp\saas\vo\AppVo.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-saas\src\main\java\net\jjjerp\saas\controller\RegionController.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-saas\src\main\java\net\jjjerp\saas\param\MessageParam.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-saas\src\main\java\net\jjjerp\saas\service\impl\MessageServiceImpl.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-saas\src\main\java\net\jjjerp\saas\controller\AccessController.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-saas\src\main\java\net\jjjerp\saas\controller\UserController.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-saas\src\main\java\net\jjjerp\saas\service\UploadGroupService.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-saas\src\main\java\net\jjjerp\saas\vo\RegionVo.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-saas\src\main\java\net\jjjerp\saas\param\AppParam.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-saas\src\main\java\net\jjjerp\saas\service\RegionService.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-saas\src\main\java\net\jjjerp\saas\controller\PassportController.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-saas\src\main\java\net\jjjerp\saas\param\AppPageParam.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-saas\src\main\java\net\jjjerp\saas\controller\file\FileController.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-saas\src\main\java\net\jjjerp\saas\service\impl\SaasUserServiceImpl.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-saas\src\main\java\net\jjjerp\saas\service\impl\MessageSettingsServiceImpl.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-saas\src\main\java\net\jjjerp\saas\service\impl\ShopAccessServiceImpl.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-saas\src\main\java\net\jjjerp\saas\param\ImageBankParam.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-saas\src\main\java\net\jjjerp\saas\service\MessageFieldService.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-saas\src\main\java\net\jjjerp\saas\service\impl\UploadGroupServiceImpl.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-saas\src\main\java\net\jjjerp\saas\service\SaasUserService.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-saas\src\main\java\net\jjjerp\saas\service\MessageService.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-saas\src\main\java\net\jjjerp\saas\param\RegionPageParam.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-saas\src\main\java\net\jjjerp\saas\service\MessageSettingsService.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-saas\src\main\java\net\jjjerp\saas\service\impl\MessageFieldServiceImpl.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-saas\src\main\java\net\jjjerp\saas\controller\SettingController.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-saas\src\main\java\net\jjjerp\saas\service\impl\RegionServiceImpl.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-saas\src\main\java\net\jjjerp\saas\param\RegionParam.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-saas\src\main\java\net\jjjerp\saas\service\impl\UploadFileServiceImpl.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-saas\src\main\java\net\jjjerp\saas\service\ShopUserService.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-saas\src\main\java\net\jjjerp\saas\service\impl\ShopUserServiceImpl.java +D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-saas\src\main\java\net\jjjerp\saas\vo\UploadFileVo.java diff --git a/jjj_erp/jjj-saas/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst b/jjj_erp/jjj-saas/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst new file mode 100644 index 0000000..e69de29 diff --git a/jjj_erp/jjj-saas/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst b/jjj_erp/jjj-saas/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst new file mode 100644 index 0000000..e69de29 diff --git a/jjj_erp/logs/spring-boot-jjj-2024-06-25.0.log b/jjj_erp/logs/spring-boot-jjj-2024-06-25.0.log new file mode 100644 index 0000000..9145055 --- /dev/null +++ b/jjj_erp/logs/spring-boot-jjj-2024-06-25.0.log @@ -0,0 +1,3088 @@ +2024-06-25 14:39:36.912 INFO [background-preinit] [] o.h.validator.internal.util.Version 21 : HV000001: Hibernate Validator 6.1.7.Final +2024-06-25 14:39:36.915 INFO [main] [] net.jjjerp.SpringBootJjjApplication 55 : Starting SpringBootJjjApplication on OS-20230506YKNI with PID 4116 (D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\bootstrap\target\classes started by Administrator in D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp) +2024-06-25 14:39:36.916 INFO [main] [] net.jjjerp.SpringBootJjjApplication 652 : The following profiles are active: prod +2024-06-25 14:39:37.939 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 249 : Multiple Spring Data modules found, entering strict repository configuration mode! +2024-06-25 14:39:37.940 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 127 : Bootstrapping Spring Data Redis repositories in DEFAULT mode. +2024-06-25 14:39:38.146 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 187 : Finished Spring Data repository scanning in 196ms. Found 0 Redis repository interfaces. +2024-06-25 14:39:38.405 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.ShiroConfig' of type [net.jjjerp.config.ShiroConfig$$EnhancerBySpringCGLIB$$6d593aa1] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-25 14:39:38.490 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.properties.JwtProperties' of type [net.jjjerp.config.properties.JwtProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-25 14:39:38.492 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.RedisTemplateConfig' of type [net.jjjerp.config.RedisTemplateConfig$$EnhancerBySpringCGLIB$$3cbe4545] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-25 14:39:38.500 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'spring.redis-org.springframework.boot.autoconfigure.data.redis.RedisProperties' of type [org.springframework.boot.autoconfigure.data.redis.RedisProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-25 14:39:38.503 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration' of type [org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-25 14:39:38.556 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'lettuceClientResources' of type [io.lettuce.core.resource.DefaultClientResources] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-25 14:39:38.646 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'redisConnectionFactory' of type [org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-25 14:39:38.690 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'redisTemplate' of type [org.springframework.data.redis.core.RedisTemplate] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-25 14:39:38.691 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.cache.impl.AdminLoginRedisServiceImpl' of type [net.jjjerp.framework.shiro.cache.impl.AdminLoginRedisServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-25 14:39:38.694 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.cache.impl.ShopLoginRedisServiceImpl' of type [net.jjjerp.framework.shiro.cache.impl.ShopLoginRedisServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-25 14:39:38.802 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'credentialsMatcher' of type [net.jjjerp.framework.shiro.jwt.JwtCredentialsMatcher] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-25 14:39:38.808 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'jwtRealm' of type [net.jjjerp.framework.shiro.jwt.JwtRealm] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-25 14:39:38.809 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'sessionStorageEvaluator' of type [org.apache.shiro.web.mgt.DefaultWebSessionStorageEvaluator] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-25 14:39:38.809 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'subjectDAO' of type [org.apache.shiro.mgt.DefaultSubjectDAO] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-25 14:39:38.811 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'securityManager' of type [org.apache.shiro.web.mgt.DefaultWebSecurityManager] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-25 14:39:38.830 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.service.impl.ShiroLoginServiceImpl' of type [net.jjjerp.framework.shiro.service.impl.ShiroLoginServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-25 14:39:38.837 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'spring-boot-jjj.shiro-net.jjjerp.config.properties.ShiroProperties' of type [net.jjjerp.config.properties.ShiroProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-25 14:39:38.923 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'authorizationAttributeSourceAdvisor' of type [org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-25 14:39:39.048 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.RedisCacheConfig' of type [net.jjjerp.config.RedisCacheConfig$$EnhancerBySpringCGLIB$$f1fb1c47] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-25 14:39:39.308 INFO [main] [] o.s.b.w.embedded.tomcat.TomcatWebServer 108 : Tomcat initialized with port(s): 8892 (http) +2024-06-25 14:39:39.316 INFO [main] [] o.a.coyote.http11.Http11NioProtocol 173 : Initializing ProtocolHandler ["http-nio-8892"] +2024-06-25 14:39:39.316 INFO [main] [] o.apache.catalina.core.StandardService 173 : Starting service [Tomcat] +2024-06-25 14:39:39.317 INFO [main] [] org.apache.catalina.core.StandardEngine 173 : Starting Servlet engine: [Apache Tomcat/9.0.46] +2024-06-25 14:39:39.421 INFO [main] [] o.a.c.c.C.[Tomcat].[localhost].[/api] 173 : Initializing Spring embedded WebApplicationContext +2024-06-25 14:39:39.421 INFO [main] [] w.s.c.ServletWebServerApplicationContext 285 : Root WebApplicationContext: initialization completed in 2459 ms +2024-06-25 14:39:39.593 INFO [main] [] net.jjjerp.framework.core.xss.XssFilter 18 : XssFilter init +2024-06-25 14:39:39.593 INFO [main] [] n.j.f.core.filter.RequestDetailFilter 30 : RequestDetailFilter init +2024-06-25 14:39:43.187 INFO [main] [] org.reflections.Reflections 228 : Reflections took 55 ms to scan 1 urls, producing 0 keys and 0 values +2024-06-25 14:39:43.310 INFO [main] [] net.jjjerp.framework.shiro.util.JwtUtil 33 : {"audience":"web","expireSecond":36000,"issuer":"spring-boot-jjj","redisCheck":true,"refreshToken":true,"refreshTokenCountdown":600,"saltCheck":true,"secret":"888888","singleLogin":false,"tokenName":"token"} +2024-06-25 14:39:47.078 INFO [main] [] pertySourcedRequestMappingHandlerMapping 69 : Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2Controller#getDocumentation(String, HttpServletRequest)] +2024-06-25 14:39:47.093 INFO [main] [] net.jjjerp.config.Swagger2Config 149 : swagger scan basePackages:null +2024-06-25 14:39:47.230 INFO [main] [] o.s.s.concurrent.ThreadPoolTaskExecutor 181 : Initializing ExecutorService 'applicationTaskExecutor' +2024-06-25 14:39:47.316 INFO [main] [] o.s.b.a.w.s.WelcomePageHandlerMapping 53 : Adding welcome page: class path resource [static/index.html] +2024-06-25 14:39:47.504 INFO [main] [] o.s.s.c.ThreadPoolTaskScheduler 181 : Initializing ExecutorService 'taskScheduler' +2024-06-25 14:39:47.602 INFO [main] [] o.a.coyote.http11.Http11NioProtocol 173 : Starting ProtocolHandler ["http-nio-8892"] +2024-06-25 14:39:47.620 INFO [main] [] o.s.b.w.embedded.tomcat.TomcatWebServer 220 : Tomcat started on port(s): 8892 (http) with context path '/api' +2024-06-25 14:39:47.621 INFO [main] [] d.s.w.p.DocumentationPluginsBootstrapper 160 : Context refreshed +2024-06-25 14:39:47.627 INFO [main] [] d.s.w.p.DocumentationPluginsBootstrapper 163 : Found 1 custom documentation plugin(s) +2024-06-25 14:39:47.661 INFO [main] [] s.d.s.w.s.ApiListingReferenceScanner 41 : Scanning for api listing references +2024-06-25 14:39:47.780 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_1 +2024-06-25 14:39:47.782 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_1 +2024-06-25 14:39:47.784 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_1 +2024-06-25 14:39:47.802 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_1 +2024-06-25 14:39:47.836 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_2 +2024-06-25 14:39:47.838 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_2 +2024-06-25 14:39:47.840 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_3 +2024-06-25 14:39:47.841 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_3 +2024-06-25 14:39:47.844 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_4 +2024-06-25 14:39:47.845 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_4 +2024-06-25 14:39:47.846 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexOutUsingPOST_1 +2024-06-25 14:39:47.850 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_5 +2024-06-25 14:39:47.855 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_5 +2024-06-25 14:39:47.856 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_2 +2024-06-25 14:39:47.856 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_2 +2024-06-25 14:39:47.870 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_6 +2024-06-25 14:39:47.872 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_7 +2024-06-25 14:39:47.878 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_8 +2024-06-25 14:39:47.885 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_6 +2024-06-25 14:39:47.886 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_3 +2024-06-25 14:39:47.886 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_3 +2024-06-25 14:39:47.894 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_9 +2024-06-25 14:39:47.921 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_10 +2024-06-25 14:39:47.923 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_7 +2024-06-25 14:39:47.925 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_4 +2024-06-25 14:39:47.925 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_4 +2024-06-25 14:39:47.928 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_11 +2024-06-25 14:39:47.932 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_8 +2024-06-25 14:39:47.933 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_5 +2024-06-25 14:39:47.933 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_5 +2024-06-25 14:39:47.936 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_12 +2024-06-25 14:39:47.939 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_9 +2024-06-25 14:39:47.941 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_6 +2024-06-25 14:39:47.941 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_6 +2024-06-25 14:39:47.945 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_13 +2024-06-25 14:39:47.945 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_1 +2024-06-25 14:39:47.947 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_10 +2024-06-25 14:39:47.947 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_7 +2024-06-25 14:39:47.948 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_7 +2024-06-25 14:39:47.949 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_14 +2024-06-25 14:39:47.951 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_11 +2024-06-25 14:39:47.951 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_8 +2024-06-25 14:39:47.951 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_8 +2024-06-25 14:39:47.953 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_15 +2024-06-25 14:39:47.953 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_12 +2024-06-25 14:39:47.957 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_9 +2024-06-25 14:39:47.958 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_9 +2024-06-25 14:39:47.961 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_16 +2024-06-25 14:39:47.962 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_17 +2024-06-25 14:39:47.967 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_13 +2024-06-25 14:39:47.968 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_10 +2024-06-25 14:39:47.971 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_18 +2024-06-25 14:39:47.972 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_1 +2024-06-25 14:39:47.982 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addGroupUsingPOST_1 +2024-06-25 14:39:47.983 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: categoryUsingPOST_1 +2024-06-25 14:39:47.983 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteFilesUsingPOST_1 +2024-06-25 14:39:47.984 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteGroupUsingPOST_1 +2024-06-25 14:39:47.984 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editGroupUsingPOST_1 +2024-06-25 14:39:47.988 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: listsUsingPOST_1 +2024-06-25 14:39:47.989 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: moveFilesUsingPOST_1 +2024-06-25 14:39:47.990 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_19 +2024-06-25 14:39:47.994 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_14 +2024-06-25 14:39:47.995 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_10 +2024-06-25 14:39:47.995 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteFilesUsingPOST_2 +2024-06-25 14:39:47.995 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_11 +2024-06-25 14:39:47.997 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_20 +2024-06-25 14:39:48.000 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: moveFilesUsingPOST_2 +2024-06-25 14:39:48.001 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_21 +2024-06-25 14:39:48.001 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: listUsingPOST_1 +2024-06-25 14:39:48.002 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_22 +2024-06-25 14:39:48.008 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_23 +2024-06-25 14:39:48.011 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_24 +2024-06-25 14:39:48.012 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_25 +2024-06-25 14:39:48.014 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_15 +2024-06-25 14:39:48.015 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_1 +2024-06-25 14:39:48.016 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_12 +2024-06-25 14:39:48.017 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_26 +2024-06-25 14:39:48.017 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: repulseAuditUsingPOST_1 +2024-06-25 14:39:48.020 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_16 +2024-06-25 14:39:48.020 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_11 +2024-06-25 14:39:48.021 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_13 +2024-06-25 14:39:48.024 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_27 +2024-06-25 14:39:48.028 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_17 +2024-06-25 14:39:48.028 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_12 +2024-06-25 14:39:48.029 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_14 +2024-06-25 14:39:48.031 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_28 +2024-06-25 14:39:48.032 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_18 +2024-06-25 14:39:48.032 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_29 +2024-06-25 14:39:48.037 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_30 +2024-06-25 14:39:48.038 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_19 +2024-06-25 14:39:48.039 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_1 +2024-06-25 14:39:48.039 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_31 +2024-06-25 14:39:48.040 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_1 +2024-06-25 14:39:48.041 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_32 +2024-06-25 14:39:48.043 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_20 +2024-06-25 14:39:48.044 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_2 +2024-06-25 14:39:48.044 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_33 +2024-06-25 14:39:48.053 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: loginUsingPOST_1 +2024-06-25 14:39:48.054 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: logoutUsingPOST_1 +2024-06-25 14:39:48.055 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_34 +2024-06-25 14:39:48.057 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_21 +2024-06-25 14:39:48.057 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_13 +2024-06-25 14:39:48.058 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_15 +2024-06-25 14:39:48.059 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_35 +2024-06-25 14:39:48.060 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_2 +2024-06-25 14:39:48.064 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_22 +2024-06-25 14:39:48.064 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_14 +2024-06-25 14:39:48.065 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_16 +2024-06-25 14:39:48.070 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_36 +2024-06-25 14:39:48.070 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: stateUsingPOST_1 +2024-06-25 14:39:48.071 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_1 +2024-06-25 14:39:48.071 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_3 +2024-06-25 14:39:48.073 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_23 +2024-06-25 14:39:48.073 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_2 +2024-06-25 14:39:48.074 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_2 +2024-06-25 14:39:48.075 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_17 +2024-06-25 14:39:48.076 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_37 +2024-06-25 14:39:48.078 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_3 +2024-06-25 14:39:48.078 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_18 +2024-06-25 14:39:48.079 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_38 +2024-06-25 14:39:48.080 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addStorageUsingPOST_1 +2024-06-25 14:39:48.081 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_4 +2024-06-25 14:39:48.083 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_3 +2024-06-25 14:39:48.084 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_19 +2024-06-25 14:39:48.085 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_39 +2024-06-25 14:39:48.086 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_40 +2024-06-25 14:39:48.087 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_24 +2024-06-25 14:39:48.088 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_20 +2024-06-25 14:39:48.088 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_3 +2024-06-25 14:39:48.093 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_25 +2024-06-25 14:39:48.093 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_15 +2024-06-25 14:39:48.094 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_21 +2024-06-25 14:39:48.095 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_41 +2024-06-25 14:39:48.096 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_2 +2024-06-25 14:39:48.096 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_4 +2024-06-25 14:39:48.098 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: scanIndexUsingPOST_1 +2024-06-25 14:39:48.099 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_1 +2024-06-25 14:39:48.100 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_42 +2024-06-25 14:39:48.103 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_26 +2024-06-25 14:39:48.103 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_16 +2024-06-25 14:39:48.104 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_22 +2024-06-25 14:39:48.108 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_43 +2024-06-25 14:39:48.112 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_27 +2024-06-25 14:39:48.112 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_17 +2024-06-25 14:39:48.113 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_23 +2024-06-25 14:39:48.115 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_44 +2024-06-25 14:39:48.116 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_3 +2024-06-25 14:39:48.117 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_5 +2024-06-25 14:39:48.119 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_28 +2024-06-25 14:39:48.119 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_18 +2024-06-25 14:39:48.120 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_24 +2024-06-25 14:39:48.122 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_45 +2024-06-25 14:39:48.122 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_46 +2024-06-25 14:39:48.123 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_2 +2024-06-25 14:39:48.124 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_29 +2024-06-25 14:39:48.124 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_47 +2024-06-25 14:39:48.126 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_48 +2024-06-25 14:39:48.127 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_49 +2024-06-25 14:39:48.128 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_3 +2024-06-25 14:39:48.131 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_30 +2024-06-25 14:39:48.132 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_19 +2024-06-25 14:39:48.132 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_25 +2024-06-25 14:39:48.136 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_50 +2024-06-25 14:39:48.136 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_2 +2024-06-25 14:39:48.137 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_4 +2024-06-25 14:39:48.137 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_6 +2024-06-25 14:39:48.141 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_31 +2024-06-25 14:39:48.141 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_20 +2024-06-25 14:39:48.142 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_26 +2024-06-25 14:39:48.148 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_51 +2024-06-25 14:39:48.148 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_3 +2024-06-25 14:39:48.149 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_7 +2024-06-25 14:39:48.149 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_52 +2024-06-25 14:39:48.150 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_4 +2024-06-25 14:39:48.152 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_32 +2024-06-25 14:39:48.152 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_21 +2024-06-25 14:39:48.153 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_27 +2024-06-25 14:39:48.154 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_53 +2024-06-25 14:39:48.157 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: uploadUsingPOST_1 +2024-06-25 14:39:48.179 INFO [main] [] net.jjjerp.SpringBootJjjApplication 61 : Started SpringBootJjjApplication in 11.853 seconds (JVM running for 12.41) +2024-06-25 14:39:48.182 INFO [main] [] n.j.framework.util.PrintApplicationInfo 61 : projectFinalName : jjj-erp-1.0 +2024-06-25 14:39:48.182 INFO [main] [] n.j.framework.util.PrintApplicationInfo 62 : projectVersion : 1.0 +2024-06-25 14:39:48.182 INFO [main] [] n.j.framework.util.PrintApplicationInfo 63 : profileActive : prod +2024-06-25 14:39:48.182 INFO [main] [] n.j.framework.util.PrintApplicationInfo 64 : contextPath : /api +2024-06-25 14:39:48.182 INFO [main] [] n.j.framework.util.PrintApplicationInfo 65 : serverIp : http://erp3.huadeng.fun +2024-06-25 14:39:48.182 INFO [main] [] n.j.framework.util.PrintApplicationInfo 66 : port : 8892 +2024-06-25 14:39:48.182 INFO [main] [] n.j.framework.util.PrintApplicationInfo 81 : Home: http://erp3.huadeng.fun/api +2024-06-25 14:39:48.182 INFO [main] [] n.j.framework.util.PrintApplicationInfo 82 : Knife4j: http://erp3.huadeng.fun/api/doc.html +2024-06-25 14:39:48.182 INFO [main] [] n.j.framework.util.PrintApplicationInfo 83 : Swagger: http://erp3.huadeng.fun/api/swagger-ui.html +2024-06-25 14:39:48.182 INFO [main] [] n.j.framework.util.PrintApplicationInfo 84 : jjj-erp 启动成功........... + ____ __ __ ____ +/\ _`\ /\ \__ /\ \__ /\ _`\ +\ \,\L\_\ \ ,_\ __ _ __\ \ ,_\ \ \,\L\_\ __ __ ___ ___ __ ____ ____ + \/_\__ \\ \ \/ /'__`\ /\`'__\ \ \/ \/_\__ \ /\ \/\ \ /'___\ /'___\ /'__`\ /',__\ /',__\ + /\ \L\ \ \ \_/\ \L\.\_\ \ \/ \ \ \_ /\ \L\ \ \ \_\ \/\ \__//\ \__//\ __//\__, `\/\__, `\ + \ `\____\ \__\ \__/.\_\\ \_\ \ \__\ \ `\____\ \____/\ \____\ \____\ \____\/\____/\/\____/ + \/_____/\/__/\/__/\/_/ \/_/ \/__/ \/_____/\/___/ \/____/\/____/\/____/\/___/ \/___/ + + +2024-06-25 14:41:05.185 INFO [http-nio-8892-exec-1] [] o.a.c.c.C.[Tomcat].[localhost].[/api] 173 : Initializing Spring DispatcherServlet 'dispatcherServlet' +2024-06-25 14:41:05.185 INFO [http-nio-8892-exec-1] [] o.s.web.servlet.DispatcherServlet 525 : Initializing Servlet 'dispatcherServlet' +2024-06-25 14:41:05.196 INFO [http-nio-8892-exec-1] [] o.s.web.servlet.DispatcherServlet 547 : Completed initialization in 11 ms +2024-06-25 14:41:10.104 INFO [http-nio-8892-exec-1] [1805491405072793601] com.zaxxer.hikari.HikariDataSource 110 : HikariPool-1 - Starting... +2024-06-25 14:41:10.470 INFO [http-nio-8892-exec-1] [1805491405072793601] com.zaxxer.hikari.HikariDataSource 123 : HikariPool-1 - Start completed. +2024-06-25 15:09:11.290 ERROR [http-nio-8892-exec-27] [] n.jjjerp.framework.shiro.jwt.JwtFilter 138 : 访问错误 + +org.apache.shiro.authc.AuthenticationException: JWT Token已过期,token:eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhdWQiOiJ3ZWIiLCJpc3MiOiJzcHJpbmctYm9vdC1qamoiLCJleHAiOjE3MTE4MDMwMDUsImlhdCI6MTcxMTc2NzAwNSwianRpIjoiOTcyYWVhMjJmYmNlNDYxMTk3MzMzNDk4NjBjNzYwNjUiLCJ1c2VybmFtZSI6IjE5MyJ9.V7trSQxXq8pvxRFFP0lKhUDhlkZXRC325EnWiyerdP8 + at net.jjjerp.framework.shiro.jwt.JwtFilter.createToken(JwtFilter.java:67) + at org.apache.shiro.web.filter.authc.AuthenticatingFilter.executeLogin(AuthenticatingFilter.java:45) + at net.jjjerp.framework.shiro.jwt.JwtFilter.isAccessAllowed(JwtFilter.java:134) + at org.apache.shiro.web.filter.AccessControlFilter.onPreHandle(AccessControlFilter.java:162) + at org.apache.shiro.web.filter.PathMatchingFilter.isFilterChainContinued(PathMatchingFilter.java:214) + at org.apache.shiro.web.filter.PathMatchingFilter.preHandle(PathMatchingFilter.java:189) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:131) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) + +2024-06-25 15:09:11.290 ERROR [http-nio-8892-exec-27] [] n.jjjerp.framework.shiro.jwt.JwtFilter 111 : onAccessDenied url:/api/shop/statement/market/board/deal +2024-06-25 15:09:35.289 ERROR [http-nio-8892-exec-28] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy402.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-25 15:09:44.580 INFO [lettuce-eventExecutorLoop-1-8] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was /101.34.74.68:6379 +2024-06-25 15:09:44.632 INFO [lettuce-nioEventLoop-4-2] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to 101.34.74.68:6379 +2024-06-25 15:10:45.562 WARN [http-nio-8892-exec-29] [1805498831121580034] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@7d39093a (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-25 15:10:50.577 WARN [http-nio-8892-exec-29] [1805498831121580034] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@228491dd (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-25 15:10:51.099 ERROR [http-nio-8892-exec-29] [] n.jjjerp.handler.GlobalExceptionHandler 233 : 异常来源:ip: 127.0.0.1, path: /api/admin/passport/login +2024-06-25 15:10:51.100 ERROR [http-nio-8892-exec-29] [] n.jjjerp.handler.GlobalExceptionHandler 257 : errorCode: 5000, errorMessage: 系统异常 + +org.apache.catalina.connector.ClientAbortException: java.io.IOException: 你的主机中的软件中止了一个已建立的连接。 + at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:353) + at org.apache.catalina.connector.OutputBuffer.flushByteBuffer(OutputBuffer.java:783) + at org.apache.catalina.connector.OutputBuffer.append(OutputBuffer.java:688) + at org.apache.catalina.connector.OutputBuffer.writeBytes(OutputBuffer.java:388) + at org.apache.catalina.connector.OutputBuffer.write(OutputBuffer.java:366) + at org.apache.catalina.connector.CoyoteOutputStream.write(CoyoteOutputStream.java:96) + at org.springframework.util.StreamUtils$NonClosingOutputStream.write(StreamUtils.java:287) + at com.fasterxml.jackson.core.json.UTF8JsonGenerator._flushBuffer(UTF8JsonGenerator.java:2161) + at com.fasterxml.jackson.core.json.UTF8JsonGenerator.writeNumber(UTF8JsonGenerator.java:952) + at com.fasterxml.jackson.databind.ser.std.NumberSerializers$IntegerSerializer.serialize(NumberSerializers.java:152) + at com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:728) + at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:755) + at com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:178) + at com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serializeContents(IndexedListSerializer.java:119) + at com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serialize(IndexedListSerializer.java:79) + at com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serialize(IndexedListSerializer.java:18) + at com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:728) + at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:755) + at com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:178) + at com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serializeContents(IndexedListSerializer.java:119) + at com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serialize(IndexedListSerializer.java:79) + at com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serialize(IndexedListSerializer.java:18) + at com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:728) + at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:755) + at com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:178) + at com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serializeContents(IndexedListSerializer.java:119) + at com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serialize(IndexedListSerializer.java:79) + at com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serialize(IndexedListSerializer.java:18) + at com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:728) + at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:755) + at com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:178) + at com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serializeContents(IndexedListSerializer.java:119) + at com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serialize(IndexedListSerializer.java:79) + at com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serialize(IndexedListSerializer.java:18) + at com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:728) + at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:755) + at com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:178) + at com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:728) + at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:755) + at com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:178) + at com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:728) + at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:755) + at com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:178) + at com.fasterxml.jackson.databind.ser.DefaultSerializerProvider._serialize(DefaultSerializerProvider.java:480) + at com.fasterxml.jackson.databind.ser.DefaultSerializerProvider.serializeValue(DefaultSerializerProvider.java:319) + at com.fasterxml.jackson.databind.ObjectWriter$Prefetch.serialize(ObjectWriter.java:1516) + at com.fasterxml.jackson.databind.ObjectWriter.writeValue(ObjectWriter.java:1006) + at org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.writeInternal(AbstractJackson2HttpMessageConverter.java:346) + at org.springframework.http.converter.AbstractGenericHttpMessageConverter.write(AbstractGenericHttpMessageConverter.java:104) + at org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodProcessor.writeWithMessageConverters(AbstractMessageConverterMethodProcessor.java:277) + at org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.handleReturnValue(RequestResponseBodyMethodProcessor.java:181) + at org.springframework.web.method.support.HandlerMethodReturnValueHandlerComposite.handleReturnValue(HandlerMethodReturnValueHandlerComposite.java:82) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:123) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:652) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:112) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) + at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: java.io.IOException: 你的主机中的软件中止了一个已建立的连接。 + at sun.nio.ch.SocketDispatcher.write0(Native Method) + at sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:51) + at sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:93) + at sun.nio.ch.IOUtil.write(IOUtil.java:65) + at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:469) + at org.apache.tomcat.util.net.NioChannel.write(NioChannel.java:135) + at org.apache.tomcat.util.net.NioBlockingSelector.write(NioBlockingSelector.java:118) + at org.apache.tomcat.util.net.NioSelectorPool.write(NioSelectorPool.java:151) + at org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.doWrite(NioEndpoint.java:1367) + at org.apache.tomcat.util.net.SocketWrapperBase.doWrite(SocketWrapperBase.java:766) + at org.apache.tomcat.util.net.SocketWrapperBase.writeBlocking(SocketWrapperBase.java:586) + at org.apache.tomcat.util.net.SocketWrapperBase.write(SocketWrapperBase.java:530) + at org.apache.coyote.http11.Http11OutputBuffer$SocketOutputBuffer.doWrite(Http11OutputBuffer.java:546) + at org.apache.coyote.http11.filters.ChunkedOutputFilter.doWrite(ChunkedOutputFilter.java:112) + at org.apache.coyote.http11.Http11OutputBuffer.doWrite(Http11OutputBuffer.java:193) + at org.apache.coyote.Response.doWrite(Response.java:606) + at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:340) + ... 130 common frames omitted + +2024-06-25 15:10:51.101 WARN [http-nio-8892-exec-29] [] .m.m.a.ExceptionHandlerExceptionResolver 414 : Failure in @ExceptionHandler net.jjjerp.handler.GlobalExceptionHandler#exceptionHandler(Exception) + +org.apache.catalina.connector.ClientAbortException: java.io.IOException: 你的主机中的软件中止了一个已建立的连接。 + at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:353) + at org.apache.catalina.connector.OutputBuffer.flushByteBuffer(OutputBuffer.java:783) + at org.apache.catalina.connector.OutputBuffer.append(OutputBuffer.java:688) + at org.apache.catalina.connector.OutputBuffer.writeBytes(OutputBuffer.java:388) + at org.apache.catalina.connector.OutputBuffer.write(OutputBuffer.java:366) + at org.apache.catalina.connector.CoyoteOutputStream.write(CoyoteOutputStream.java:96) + at org.springframework.util.StreamUtils$NonClosingOutputStream.write(StreamUtils.java:287) + at com.fasterxml.jackson.core.json.UTF8JsonGenerator._flushBuffer(UTF8JsonGenerator.java:2161) + at com.fasterxml.jackson.core.json.UTF8JsonGenerator.flush(UTF8JsonGenerator.java:1175) + at com.fasterxml.jackson.databind.ObjectWriter.writeValue(ObjectWriter.java:1008) + at org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.writeInternal(AbstractJackson2HttpMessageConverter.java:346) + at org.springframework.http.converter.AbstractGenericHttpMessageConverter.write(AbstractGenericHttpMessageConverter.java:104) + at org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodProcessor.writeWithMessageConverters(AbstractMessageConverterMethodProcessor.java:277) + at org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.handleReturnValue(RequestResponseBodyMethodProcessor.java:181) + at org.springframework.web.method.support.HandlerMethodReturnValueHandlerComposite.handleReturnValue(HandlerMethodReturnValueHandlerComposite.java:82) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:123) + at org.springframework.web.servlet.mvc.method.annotation.ExceptionHandlerExceptionResolver.doResolveHandlerMethodException(ExceptionHandlerExceptionResolver.java:403) + at org.springframework.web.servlet.handler.AbstractHandlerMethodExceptionResolver.doResolveException(AbstractHandlerMethodExceptionResolver.java:61) + at org.springframework.web.servlet.handler.AbstractHandlerExceptionResolver.resolveException(AbstractHandlerExceptionResolver.java:141) + at org.springframework.web.servlet.handler.HandlerExceptionResolverComposite.resolveException(HandlerExceptionResolverComposite.java:80) + at org.springframework.web.servlet.DispatcherServlet.processHandlerException(DispatcherServlet.java:1300) + at org.springframework.web.servlet.DispatcherServlet.processDispatchResult(DispatcherServlet.java:1111) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1057) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:652) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:112) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) + at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: java.io.IOException: 你的主机中的软件中止了一个已建立的连接。 + at sun.nio.ch.SocketDispatcher.write0(Native Method) + at sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:51) + at sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:93) + at sun.nio.ch.IOUtil.write(IOUtil.java:65) + at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:469) + at org.apache.tomcat.util.net.NioChannel.write(NioChannel.java:135) + at org.apache.tomcat.util.net.NioBlockingSelector.write(NioBlockingSelector.java:118) + at org.apache.tomcat.util.net.NioSelectorPool.write(NioSelectorPool.java:151) + at org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.doWrite(NioEndpoint.java:1367) + at org.apache.tomcat.util.net.SocketWrapperBase.doWrite(SocketWrapperBase.java:766) + at org.apache.tomcat.util.net.SocketWrapperBase.writeBlocking(SocketWrapperBase.java:586) + at org.apache.tomcat.util.net.SocketWrapperBase.write(SocketWrapperBase.java:530) + at org.apache.coyote.http11.Http11OutputBuffer$SocketOutputBuffer.doWrite(Http11OutputBuffer.java:546) + at org.apache.coyote.http11.filters.ChunkedOutputFilter.doWrite(ChunkedOutputFilter.java:110) + at org.apache.coyote.http11.Http11OutputBuffer.doWrite(Http11OutputBuffer.java:193) + at org.apache.coyote.Response.doWrite(Response.java:606) + at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:340) + ... 96 common frames omitted + +2024-06-25 15:21:24.859 ERROR [http-nio-8892-exec-30] [] n.jjjerp.framework.shiro.jwt.JwtFilter 138 : 访问错误 + +org.apache.shiro.authc.AuthenticationException: JWT Token已过期,token:eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhdWQiOiJ3ZWIiLCJpc3MiOiJzcHJpbmctYm9vdC1qamoiLCJleHAiOjE3MTE4MDMwMDUsImlhdCI6MTcxMTc2NzAwNSwianRpIjoiOTcyYWVhMjJmYmNlNDYxMTk3MzMzNDk4NjBjNzYwNjUiLCJ1c2VybmFtZSI6IjE5MyJ9.V7trSQxXq8pvxRFFP0lKhUDhlkZXRC325EnWiyerdP8 + at net.jjjerp.framework.shiro.jwt.JwtFilter.createToken(JwtFilter.java:67) + at org.apache.shiro.web.filter.authc.AuthenticatingFilter.executeLogin(AuthenticatingFilter.java:45) + at net.jjjerp.framework.shiro.jwt.JwtFilter.isAccessAllowed(JwtFilter.java:134) + at org.apache.shiro.web.filter.AccessControlFilter.onPreHandle(AccessControlFilter.java:162) + at org.apache.shiro.web.filter.PathMatchingFilter.isFilterChainContinued(PathMatchingFilter.java:214) + at org.apache.shiro.web.filter.PathMatchingFilter.preHandle(PathMatchingFilter.java:189) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:131) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) + +2024-06-25 15:21:24.859 ERROR [http-nio-8892-exec-30] [] n.jjjerp.framework.shiro.jwt.JwtFilter 111 : onAccessDenied url:/api/shop/statement/market/board/deal +2024-06-25 15:21:26.050 ERROR [http-nio-8892-exec-1] [] n.jjjerp.framework.shiro.jwt.JwtFilter 138 : 访问错误 + +org.apache.shiro.authc.AuthenticationException: JWT Token已过期,token:eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhdWQiOiJ3ZWIiLCJpc3MiOiJzcHJpbmctYm9vdC1qamoiLCJleHAiOjE3MTE4MDMwMDUsImlhdCI6MTcxMTc2NzAwNSwianRpIjoiOTcyYWVhMjJmYmNlNDYxMTk3MzMzNDk4NjBjNzYwNjUiLCJ1c2VybmFtZSI6IjE5MyJ9.V7trSQxXq8pvxRFFP0lKhUDhlkZXRC325EnWiyerdP8 + at net.jjjerp.framework.shiro.jwt.JwtFilter.createToken(JwtFilter.java:67) + at org.apache.shiro.web.filter.authc.AuthenticatingFilter.executeLogin(AuthenticatingFilter.java:45) + at net.jjjerp.framework.shiro.jwt.JwtFilter.isAccessAllowed(JwtFilter.java:134) + at org.apache.shiro.web.filter.AccessControlFilter.onPreHandle(AccessControlFilter.java:162) + at org.apache.shiro.web.filter.PathMatchingFilter.isFilterChainContinued(PathMatchingFilter.java:214) + at org.apache.shiro.web.filter.PathMatchingFilter.preHandle(PathMatchingFilter.java:189) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:131) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) + +2024-06-25 15:21:26.051 ERROR [http-nio-8892-exec-1] [] n.jjjerp.framework.shiro.jwt.JwtFilter 111 : onAccessDenied url:/api/shop/statement/market/board/deal +2024-06-25 15:21:38.614 ERROR [http-nio-8892-exec-3] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy402.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-25 15:21:47.876 INFO [lettuce-eventExecutorLoop-1-4] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was /101.34.74.68:6379 +2024-06-25 15:21:47.901 INFO [lettuce-nioEventLoop-4-3] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to 101.34.74.68:6379 +2024-06-25 16:17:08.235 INFO [SpringContextShutdownHook] [] net.jjjerp.framework.core.xss.XssFilter 30 : XssFilter destroy +2024-06-25 16:17:08.235 INFO [SpringContextShutdownHook] [] n.j.f.core.filter.RequestDetailFilter 116 : RequestDetailFilter destroy +2024-06-25 16:17:08.242 INFO [SpringContextShutdownHook] [] o.s.s.c.ThreadPoolTaskScheduler 218 : Shutting down ExecutorService 'taskScheduler' +2024-06-25 16:17:08.243 INFO [SpringContextShutdownHook] [] o.s.s.concurrent.ThreadPoolTaskExecutor 218 : Shutting down ExecutorService 'applicationTaskExecutor' +2024-06-25 16:17:08.248 INFO [SpringContextShutdownHook] [] com.zaxxer.hikari.HikariDataSource 350 : HikariPool-1 - Shutdown initiated... +2024-06-25 16:17:08.250 INFO [SpringContextShutdownHook] [] com.zaxxer.hikari.HikariDataSource 352 : HikariPool-1 - Shutdown completed. +2024-06-25 16:17:19.240 INFO [background-preinit] [] o.h.validator.internal.util.Version 21 : HV000001: Hibernate Validator 6.1.7.Final +2024-06-25 16:17:19.245 INFO [main] [] net.jjjerp.SpringBootJjjApplication 55 : Starting SpringBootJjjApplication on OS-20230506YKNI with PID 5164 (D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\bootstrap\target\classes started by Administrator in D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp) +2024-06-25 16:17:19.245 INFO [main] [] net.jjjerp.SpringBootJjjApplication 652 : The following profiles are active: prod +2024-06-25 16:17:20.276 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 249 : Multiple Spring Data modules found, entering strict repository configuration mode! +2024-06-25 16:17:20.277 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 127 : Bootstrapping Spring Data Redis repositories in DEFAULT mode. +2024-06-25 16:17:20.385 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 187 : Finished Spring Data repository scanning in 100ms. Found 0 Redis repository interfaces. +2024-06-25 16:17:20.633 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.ShiroConfig' of type [net.jjjerp.config.ShiroConfig$$EnhancerBySpringCGLIB$$26358790] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-25 16:17:20.732 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.properties.JwtProperties' of type [net.jjjerp.config.properties.JwtProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-25 16:17:20.735 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.RedisTemplateConfig' of type [net.jjjerp.config.RedisTemplateConfig$$EnhancerBySpringCGLIB$$f59a9234] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-25 16:17:20.745 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'spring.redis-org.springframework.boot.autoconfigure.data.redis.RedisProperties' of type [org.springframework.boot.autoconfigure.data.redis.RedisProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-25 16:17:20.749 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration' of type [org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-25 16:17:20.820 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'lettuceClientResources' of type [io.lettuce.core.resource.DefaultClientResources] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-25 16:17:20.923 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'redisConnectionFactory' of type [org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-25 16:17:20.968 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'redisTemplate' of type [org.springframework.data.redis.core.RedisTemplate] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-25 16:17:20.968 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.cache.impl.AdminLoginRedisServiceImpl' of type [net.jjjerp.framework.shiro.cache.impl.AdminLoginRedisServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-25 16:17:20.972 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.cache.impl.ShopLoginRedisServiceImpl' of type [net.jjjerp.framework.shiro.cache.impl.ShopLoginRedisServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-25 16:17:21.080 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'credentialsMatcher' of type [net.jjjerp.framework.shiro.jwt.JwtCredentialsMatcher] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-25 16:17:21.087 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'jwtRealm' of type [net.jjjerp.framework.shiro.jwt.JwtRealm] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-25 16:17:21.088 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'sessionStorageEvaluator' of type [org.apache.shiro.web.mgt.DefaultWebSessionStorageEvaluator] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-25 16:17:21.088 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'subjectDAO' of type [org.apache.shiro.mgt.DefaultSubjectDAO] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-25 16:17:21.090 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'securityManager' of type [org.apache.shiro.web.mgt.DefaultWebSecurityManager] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-25 16:17:21.112 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.service.impl.ShiroLoginServiceImpl' of type [net.jjjerp.framework.shiro.service.impl.ShiroLoginServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-25 16:17:21.119 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'spring-boot-jjj.shiro-net.jjjerp.config.properties.ShiroProperties' of type [net.jjjerp.config.properties.ShiroProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-25 16:17:21.206 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'authorizationAttributeSourceAdvisor' of type [org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-25 16:17:21.329 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.RedisCacheConfig' of type [net.jjjerp.config.RedisCacheConfig$$EnhancerBySpringCGLIB$$aad76936] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-25 16:17:21.570 INFO [main] [] o.s.b.w.embedded.tomcat.TomcatWebServer 108 : Tomcat initialized with port(s): 8892 (http) +2024-06-25 16:17:21.578 INFO [main] [] o.a.coyote.http11.Http11NioProtocol 173 : Initializing ProtocolHandler ["http-nio-8892"] +2024-06-25 16:17:21.578 INFO [main] [] o.apache.catalina.core.StandardService 173 : Starting service [Tomcat] +2024-06-25 16:17:21.578 INFO [main] [] org.apache.catalina.core.StandardEngine 173 : Starting Servlet engine: [Apache Tomcat/9.0.46] +2024-06-25 16:17:21.668 INFO [main] [] o.a.c.c.C.[Tomcat].[localhost].[/api] 173 : Initializing Spring embedded WebApplicationContext +2024-06-25 16:17:21.668 INFO [main] [] w.s.c.ServletWebServerApplicationContext 285 : Root WebApplicationContext: initialization completed in 2367 ms +2024-06-25 16:17:21.809 INFO [main] [] net.jjjerp.framework.core.xss.XssFilter 18 : XssFilter init +2024-06-25 16:17:21.809 INFO [main] [] n.j.f.core.filter.RequestDetailFilter 30 : RequestDetailFilter init +2024-06-25 16:17:25.119 INFO [main] [] org.reflections.Reflections 228 : Reflections took 36 ms to scan 1 urls, producing 0 keys and 0 values +2024-06-25 16:17:25.214 INFO [main] [] net.jjjerp.framework.shiro.util.JwtUtil 33 : {"audience":"web","expireSecond":36000,"issuer":"spring-boot-jjj","redisCheck":true,"refreshToken":true,"refreshTokenCountdown":600,"saltCheck":true,"secret":"888888","singleLogin":false,"tokenName":"token"} +2024-06-25 16:17:27.891 INFO [main] [] pertySourcedRequestMappingHandlerMapping 69 : Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2Controller#getDocumentation(String, HttpServletRequest)] +2024-06-25 16:17:27.906 INFO [main] [] net.jjjerp.config.Swagger2Config 149 : swagger scan basePackages:null +2024-06-25 16:17:28.030 INFO [main] [] o.s.s.concurrent.ThreadPoolTaskExecutor 181 : Initializing ExecutorService 'applicationTaskExecutor' +2024-06-25 16:17:28.117 INFO [main] [] o.s.b.a.w.s.WelcomePageHandlerMapping 53 : Adding welcome page: class path resource [static/index.html] +2024-06-25 16:17:28.342 INFO [main] [] o.s.s.c.ThreadPoolTaskScheduler 181 : Initializing ExecutorService 'taskScheduler' +2024-06-25 16:17:28.439 INFO [main] [] o.a.coyote.http11.Http11NioProtocol 173 : Starting ProtocolHandler ["http-nio-8892"] +2024-06-25 16:17:28.457 INFO [main] [] o.s.b.w.embedded.tomcat.TomcatWebServer 220 : Tomcat started on port(s): 8892 (http) with context path '/api' +2024-06-25 16:17:28.458 INFO [main] [] d.s.w.p.DocumentationPluginsBootstrapper 160 : Context refreshed +2024-06-25 16:17:28.464 INFO [main] [] d.s.w.p.DocumentationPluginsBootstrapper 163 : Found 1 custom documentation plugin(s) +2024-06-25 16:17:28.499 INFO [main] [] s.d.s.w.s.ApiListingReferenceScanner 41 : Scanning for api listing references +2024-06-25 16:17:28.644 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_1 +2024-06-25 16:17:28.647 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_1 +2024-06-25 16:17:28.648 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_1 +2024-06-25 16:17:28.668 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_1 +2024-06-25 16:17:28.709 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_2 +2024-06-25 16:17:28.711 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_2 +2024-06-25 16:17:28.714 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_3 +2024-06-25 16:17:28.715 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_3 +2024-06-25 16:17:28.718 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_4 +2024-06-25 16:17:28.719 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_4 +2024-06-25 16:17:28.720 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexOutUsingPOST_1 +2024-06-25 16:17:28.724 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_5 +2024-06-25 16:17:28.731 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_5 +2024-06-25 16:17:28.732 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_2 +2024-06-25 16:17:28.733 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_2 +2024-06-25 16:17:28.750 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_6 +2024-06-25 16:17:28.751 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_7 +2024-06-25 16:17:28.756 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_8 +2024-06-25 16:17:28.763 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_6 +2024-06-25 16:17:28.763 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_3 +2024-06-25 16:17:28.765 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_3 +2024-06-25 16:17:28.771 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_9 +2024-06-25 16:17:28.797 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_10 +2024-06-25 16:17:28.799 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_7 +2024-06-25 16:17:28.799 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_4 +2024-06-25 16:17:28.800 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_4 +2024-06-25 16:17:28.802 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_11 +2024-06-25 16:17:28.807 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_8 +2024-06-25 16:17:28.807 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_5 +2024-06-25 16:17:28.808 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_5 +2024-06-25 16:17:28.811 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_12 +2024-06-25 16:17:28.815 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_9 +2024-06-25 16:17:28.815 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_6 +2024-06-25 16:17:28.816 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_6 +2024-06-25 16:17:28.819 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_13 +2024-06-25 16:17:28.819 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_1 +2024-06-25 16:17:28.821 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_10 +2024-06-25 16:17:28.822 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_7 +2024-06-25 16:17:28.822 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_7 +2024-06-25 16:17:28.824 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_14 +2024-06-25 16:17:28.825 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_11 +2024-06-25 16:17:28.825 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_8 +2024-06-25 16:17:28.826 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_8 +2024-06-25 16:17:28.827 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_15 +2024-06-25 16:17:28.828 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_12 +2024-06-25 16:17:28.831 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_9 +2024-06-25 16:17:28.832 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_9 +2024-06-25 16:17:28.835 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_16 +2024-06-25 16:17:28.836 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_17 +2024-06-25 16:17:28.841 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_13 +2024-06-25 16:17:28.842 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_10 +2024-06-25 16:17:28.846 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_18 +2024-06-25 16:17:28.847 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_1 +2024-06-25 16:17:28.856 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addGroupUsingPOST_1 +2024-06-25 16:17:28.857 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: categoryUsingPOST_1 +2024-06-25 16:17:28.858 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteFilesUsingPOST_1 +2024-06-25 16:17:28.858 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteGroupUsingPOST_1 +2024-06-25 16:17:28.859 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editGroupUsingPOST_1 +2024-06-25 16:17:28.865 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: listsUsingPOST_1 +2024-06-25 16:17:28.866 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: moveFilesUsingPOST_1 +2024-06-25 16:17:28.867 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_19 +2024-06-25 16:17:28.871 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_14 +2024-06-25 16:17:28.872 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_10 +2024-06-25 16:17:28.872 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteFilesUsingPOST_2 +2024-06-25 16:17:28.872 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_11 +2024-06-25 16:17:28.874 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_20 +2024-06-25 16:17:28.878 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: moveFilesUsingPOST_2 +2024-06-25 16:17:28.878 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_21 +2024-06-25 16:17:28.879 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: listUsingPOST_1 +2024-06-25 16:17:28.880 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_22 +2024-06-25 16:17:28.886 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_23 +2024-06-25 16:17:28.890 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_24 +2024-06-25 16:17:28.891 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_25 +2024-06-25 16:17:28.893 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_15 +2024-06-25 16:17:28.894 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_1 +2024-06-25 16:17:28.895 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_12 +2024-06-25 16:17:28.896 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_26 +2024-06-25 16:17:28.897 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: repulseAuditUsingPOST_1 +2024-06-25 16:17:28.899 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_16 +2024-06-25 16:17:28.899 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_11 +2024-06-25 16:17:28.900 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_13 +2024-06-25 16:17:28.903 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_27 +2024-06-25 16:17:28.906 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_17 +2024-06-25 16:17:28.908 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_12 +2024-06-25 16:17:28.908 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_14 +2024-06-25 16:17:28.910 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_28 +2024-06-25 16:17:28.912 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_18 +2024-06-25 16:17:28.913 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_29 +2024-06-25 16:17:28.918 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_30 +2024-06-25 16:17:28.919 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_19 +2024-06-25 16:17:28.920 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_1 +2024-06-25 16:17:28.920 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_31 +2024-06-25 16:17:28.921 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_1 +2024-06-25 16:17:28.922 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_32 +2024-06-25 16:17:28.925 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_20 +2024-06-25 16:17:28.925 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_2 +2024-06-25 16:17:28.926 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_33 +2024-06-25 16:17:28.934 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: loginUsingPOST_1 +2024-06-25 16:17:28.935 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: logoutUsingPOST_1 +2024-06-25 16:17:28.936 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_34 +2024-06-25 16:17:28.938 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_21 +2024-06-25 16:17:28.938 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_13 +2024-06-25 16:17:28.939 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_15 +2024-06-25 16:17:28.940 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_35 +2024-06-25 16:17:28.941 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_2 +2024-06-25 16:17:28.945 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_22 +2024-06-25 16:17:28.946 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_14 +2024-06-25 16:17:28.947 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_16 +2024-06-25 16:17:28.950 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_36 +2024-06-25 16:17:28.951 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: stateUsingPOST_1 +2024-06-25 16:17:28.951 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_1 +2024-06-25 16:17:28.952 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_3 +2024-06-25 16:17:28.953 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_23 +2024-06-25 16:17:28.954 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_2 +2024-06-25 16:17:28.954 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_2 +2024-06-25 16:17:28.955 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_17 +2024-06-25 16:17:28.956 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_37 +2024-06-25 16:17:28.958 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_3 +2024-06-25 16:17:28.958 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_18 +2024-06-25 16:17:28.959 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_38 +2024-06-25 16:17:28.960 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addStorageUsingPOST_1 +2024-06-25 16:17:28.961 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_4 +2024-06-25 16:17:28.962 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_3 +2024-06-25 16:17:28.963 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_19 +2024-06-25 16:17:28.963 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_39 +2024-06-25 16:17:28.964 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_40 +2024-06-25 16:17:28.965 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_24 +2024-06-25 16:17:28.966 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_20 +2024-06-25 16:17:28.967 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_3 +2024-06-25 16:17:28.971 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_25 +2024-06-25 16:17:28.972 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_15 +2024-06-25 16:17:28.972 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_21 +2024-06-25 16:17:28.973 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_41 +2024-06-25 16:17:28.974 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_2 +2024-06-25 16:17:28.974 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_4 +2024-06-25 16:17:28.976 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: scanIndexUsingPOST_1 +2024-06-25 16:17:28.977 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_42 +2024-06-25 16:17:28.978 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_1 +2024-06-25 16:17:28.980 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_26 +2024-06-25 16:17:28.980 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_16 +2024-06-25 16:17:28.981 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_22 +2024-06-25 16:17:28.985 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_43 +2024-06-25 16:17:28.989 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_27 +2024-06-25 16:17:28.989 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_17 +2024-06-25 16:17:28.990 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_23 +2024-06-25 16:17:28.991 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_44 +2024-06-25 16:17:28.991 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_3 +2024-06-25 16:17:28.992 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_5 +2024-06-25 16:17:28.994 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_28 +2024-06-25 16:17:28.994 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_18 +2024-06-25 16:17:28.994 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_24 +2024-06-25 16:17:28.997 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_45 +2024-06-25 16:17:28.997 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_46 +2024-06-25 16:17:28.998 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_2 +2024-06-25 16:17:28.999 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_29 +2024-06-25 16:17:29.000 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_47 +2024-06-25 16:17:29.001 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_48 +2024-06-25 16:17:29.001 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_49 +2024-06-25 16:17:29.002 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_3 +2024-06-25 16:17:29.004 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_30 +2024-06-25 16:17:29.005 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_19 +2024-06-25 16:17:29.005 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_25 +2024-06-25 16:17:29.008 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_50 +2024-06-25 16:17:29.009 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_2 +2024-06-25 16:17:29.009 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_4 +2024-06-25 16:17:29.009 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_6 +2024-06-25 16:17:29.013 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_31 +2024-06-25 16:17:29.013 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_20 +2024-06-25 16:17:29.014 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_26 +2024-06-25 16:17:29.018 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_51 +2024-06-25 16:17:29.019 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_3 +2024-06-25 16:17:29.019 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_7 +2024-06-25 16:17:29.020 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_52 +2024-06-25 16:17:29.020 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_4 +2024-06-25 16:17:29.022 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_32 +2024-06-25 16:17:29.023 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_21 +2024-06-25 16:17:29.023 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_27 +2024-06-25 16:17:29.023 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_53 +2024-06-25 16:17:29.026 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: uploadUsingPOST_1 +2024-06-25 16:17:29.045 INFO [main] [] net.jjjerp.SpringBootJjjApplication 61 : Started SpringBootJjjApplication in 10.258 seconds (JVM running for 10.811) +2024-06-25 16:17:29.048 INFO [main] [] n.j.framework.util.PrintApplicationInfo 61 : projectFinalName : jjj-erp-1.0 +2024-06-25 16:17:29.048 INFO [main] [] n.j.framework.util.PrintApplicationInfo 62 : projectVersion : 1.0 +2024-06-25 16:17:29.048 INFO [main] [] n.j.framework.util.PrintApplicationInfo 63 : profileActive : prod +2024-06-25 16:17:29.048 INFO [main] [] n.j.framework.util.PrintApplicationInfo 64 : contextPath : /api +2024-06-25 16:17:29.049 INFO [main] [] n.j.framework.util.PrintApplicationInfo 65 : serverIp : http://erp3.huadeng.fun +2024-06-25 16:17:29.049 INFO [main] [] n.j.framework.util.PrintApplicationInfo 66 : port : 8892 +2024-06-25 16:17:29.049 INFO [main] [] n.j.framework.util.PrintApplicationInfo 81 : Home: http://erp3.huadeng.fun/api +2024-06-25 16:17:29.049 INFO [main] [] n.j.framework.util.PrintApplicationInfo 82 : Knife4j: http://erp3.huadeng.fun/api/doc.html +2024-06-25 16:17:29.049 INFO [main] [] n.j.framework.util.PrintApplicationInfo 83 : Swagger: http://erp3.huadeng.fun/api/swagger-ui.html +2024-06-25 16:17:29.049 INFO [main] [] n.j.framework.util.PrintApplicationInfo 84 : jjj-erp 启动成功........... + ____ __ __ ____ +/\ _`\ /\ \__ /\ \__ /\ _`\ +\ \,\L\_\ \ ,_\ __ _ __\ \ ,_\ \ \,\L\_\ __ __ ___ ___ __ ____ ____ + \/_\__ \\ \ \/ /'__`\ /\`'__\ \ \/ \/_\__ \ /\ \/\ \ /'___\ /'___\ /'__`\ /',__\ /',__\ + /\ \L\ \ \ \_/\ \L\.\_\ \ \/ \ \ \_ /\ \L\ \ \ \_\ \/\ \__//\ \__//\ __//\__, `\/\__, `\ + \ `\____\ \__\ \__/.\_\\ \_\ \ \__\ \ `\____\ \____/\ \____\ \____\ \____\/\____/\/\____/ + \/_____/\/__/\/__/\/_/ \/_/ \/__/ \/_____/\/___/ \/____/\/____/\/____/\/___/ \/___/ + + +2024-06-25 16:18:46.071 INFO [http-nio-8892-exec-2] [] o.a.c.c.C.[Tomcat].[localhost].[/api] 173 : Initializing Spring DispatcherServlet 'dispatcherServlet' +2024-06-25 16:18:46.071 INFO [http-nio-8892-exec-2] [] o.s.web.servlet.DispatcherServlet 525 : Initializing Servlet 'dispatcherServlet' +2024-06-25 16:18:46.080 INFO [http-nio-8892-exec-2] [] o.s.web.servlet.DispatcherServlet 547 : Completed initialization in 8 ms +2024-06-25 16:18:47.017 INFO [http-nio-8892-exec-2] [1805515970180153346] com.zaxxer.hikari.HikariDataSource 110 : HikariPool-1 - Starting... +2024-06-25 16:18:47.408 INFO [http-nio-8892-exec-2] [1805515970180153346] com.zaxxer.hikari.HikariDataSource 123 : HikariPool-1 - Start completed. +2024-06-25 16:21:07.328 INFO [SpringContextShutdownHook] [] net.jjjerp.framework.core.xss.XssFilter 30 : XssFilter destroy +2024-06-25 16:21:07.328 INFO [SpringContextShutdownHook] [] n.j.f.core.filter.RequestDetailFilter 116 : RequestDetailFilter destroy +2024-06-25 16:21:07.335 INFO [SpringContextShutdownHook] [] o.s.s.c.ThreadPoolTaskScheduler 218 : Shutting down ExecutorService 'taskScheduler' +2024-06-25 16:21:07.336 INFO [SpringContextShutdownHook] [] o.s.s.concurrent.ThreadPoolTaskExecutor 218 : Shutting down ExecutorService 'applicationTaskExecutor' +2024-06-25 16:21:07.340 INFO [SpringContextShutdownHook] [] com.zaxxer.hikari.HikariDataSource 350 : HikariPool-1 - Shutdown initiated... +2024-06-25 16:21:07.343 INFO [SpringContextShutdownHook] [] com.zaxxer.hikari.HikariDataSource 352 : HikariPool-1 - Shutdown completed. +2024-06-25 16:21:16.162 INFO [background-preinit] [] o.h.validator.internal.util.Version 21 : HV000001: Hibernate Validator 6.1.7.Final +2024-06-25 16:21:16.170 INFO [main] [] net.jjjerp.SpringBootJjjApplication 55 : Starting SpringBootJjjApplication on OS-20230506YKNI with PID 11744 (D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\bootstrap\target\classes started by Administrator in D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp) +2024-06-25 16:21:16.171 INFO [main] [] net.jjjerp.SpringBootJjjApplication 652 : The following profiles are active: prod +2024-06-25 16:21:17.406 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 249 : Multiple Spring Data modules found, entering strict repository configuration mode! +2024-06-25 16:21:17.408 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 127 : Bootstrapping Spring Data Redis repositories in DEFAULT mode. +2024-06-25 16:21:17.512 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 187 : Finished Spring Data repository scanning in 96ms. Found 0 Redis repository interfaces. +2024-06-25 16:21:17.758 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.ShiroConfig' of type [net.jjjerp.config.ShiroConfig$$EnhancerBySpringCGLIB$$6d593aa1] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-25 16:21:17.842 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.properties.JwtProperties' of type [net.jjjerp.config.properties.JwtProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-25 16:21:17.844 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.RedisTemplateConfig' of type [net.jjjerp.config.RedisTemplateConfig$$EnhancerBySpringCGLIB$$3cbe4545] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-25 16:21:17.852 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'spring.redis-org.springframework.boot.autoconfigure.data.redis.RedisProperties' of type [org.springframework.boot.autoconfigure.data.redis.RedisProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-25 16:21:17.855 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration' of type [org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-25 16:21:17.908 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'lettuceClientResources' of type [io.lettuce.core.resource.DefaultClientResources] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-25 16:21:18.004 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'redisConnectionFactory' of type [org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-25 16:21:18.052 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'redisTemplate' of type [org.springframework.data.redis.core.RedisTemplate] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-25 16:21:18.053 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.cache.impl.AdminLoginRedisServiceImpl' of type [net.jjjerp.framework.shiro.cache.impl.AdminLoginRedisServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-25 16:21:18.056 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.cache.impl.ShopLoginRedisServiceImpl' of type [net.jjjerp.framework.shiro.cache.impl.ShopLoginRedisServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-25 16:21:18.186 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'credentialsMatcher' of type [net.jjjerp.framework.shiro.jwt.JwtCredentialsMatcher] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-25 16:21:18.193 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'jwtRealm' of type [net.jjjerp.framework.shiro.jwt.JwtRealm] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-25 16:21:18.194 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'sessionStorageEvaluator' of type [org.apache.shiro.web.mgt.DefaultWebSessionStorageEvaluator] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-25 16:21:18.194 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'subjectDAO' of type [org.apache.shiro.mgt.DefaultSubjectDAO] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-25 16:21:18.197 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'securityManager' of type [org.apache.shiro.web.mgt.DefaultWebSecurityManager] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-25 16:21:18.217 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.service.impl.ShiroLoginServiceImpl' of type [net.jjjerp.framework.shiro.service.impl.ShiroLoginServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-25 16:21:18.224 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'spring-boot-jjj.shiro-net.jjjerp.config.properties.ShiroProperties' of type [net.jjjerp.config.properties.ShiroProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-25 16:21:18.305 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'authorizationAttributeSourceAdvisor' of type [org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-25 16:21:18.429 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.RedisCacheConfig' of type [net.jjjerp.config.RedisCacheConfig$$EnhancerBySpringCGLIB$$f1fb1c47] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-25 16:21:18.674 INFO [main] [] o.s.b.w.embedded.tomcat.TomcatWebServer 108 : Tomcat initialized with port(s): 8892 (http) +2024-06-25 16:21:18.681 INFO [main] [] o.a.coyote.http11.Http11NioProtocol 173 : Initializing ProtocolHandler ["http-nio-8892"] +2024-06-25 16:21:18.682 INFO [main] [] o.apache.catalina.core.StandardService 173 : Starting service [Tomcat] +2024-06-25 16:21:18.682 INFO [main] [] org.apache.catalina.core.StandardEngine 173 : Starting Servlet engine: [Apache Tomcat/9.0.46] +2024-06-25 16:21:18.771 INFO [main] [] o.a.c.c.C.[Tomcat].[localhost].[/api] 173 : Initializing Spring embedded WebApplicationContext +2024-06-25 16:21:18.771 INFO [main] [] w.s.c.ServletWebServerApplicationContext 285 : Root WebApplicationContext: initialization completed in 2532 ms +2024-06-25 16:21:18.911 INFO [main] [] net.jjjerp.framework.core.xss.XssFilter 18 : XssFilter init +2024-06-25 16:21:18.912 INFO [main] [] n.j.f.core.filter.RequestDetailFilter 30 : RequestDetailFilter init +2024-06-25 16:21:22.200 INFO [main] [] org.reflections.Reflections 228 : Reflections took 38 ms to scan 1 urls, producing 0 keys and 0 values +2024-06-25 16:21:22.293 INFO [main] [] net.jjjerp.framework.shiro.util.JwtUtil 33 : {"audience":"web","expireSecond":36000,"issuer":"spring-boot-jjj","redisCheck":true,"refreshToken":true,"refreshTokenCountdown":600,"saltCheck":true,"secret":"888888","singleLogin":false,"tokenName":"token"} +2024-06-25 16:21:24.976 INFO [main] [] pertySourcedRequestMappingHandlerMapping 69 : Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2Controller#getDocumentation(String, HttpServletRequest)] +2024-06-25 16:21:24.991 INFO [main] [] net.jjjerp.config.Swagger2Config 149 : swagger scan basePackages:null +2024-06-25 16:21:25.118 INFO [main] [] o.s.s.concurrent.ThreadPoolTaskExecutor 181 : Initializing ExecutorService 'applicationTaskExecutor' +2024-06-25 16:21:25.201 INFO [main] [] o.s.b.a.w.s.WelcomePageHandlerMapping 53 : Adding welcome page: class path resource [static/index.html] +2024-06-25 16:21:25.387 INFO [main] [] o.s.s.c.ThreadPoolTaskScheduler 181 : Initializing ExecutorService 'taskScheduler' +2024-06-25 16:21:25.499 INFO [main] [] o.a.coyote.http11.Http11NioProtocol 173 : Starting ProtocolHandler ["http-nio-8892"] +2024-06-25 16:21:25.522 INFO [main] [] o.s.b.w.embedded.tomcat.TomcatWebServer 220 : Tomcat started on port(s): 8892 (http) with context path '/api' +2024-06-25 16:21:25.523 INFO [main] [] d.s.w.p.DocumentationPluginsBootstrapper 160 : Context refreshed +2024-06-25 16:21:25.528 INFO [main] [] d.s.w.p.DocumentationPluginsBootstrapper 163 : Found 1 custom documentation plugin(s) +2024-06-25 16:21:25.565 INFO [main] [] s.d.s.w.s.ApiListingReferenceScanner 41 : Scanning for api listing references +2024-06-25 16:21:25.705 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_1 +2024-06-25 16:21:25.707 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_1 +2024-06-25 16:21:25.708 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_1 +2024-06-25 16:21:25.726 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_1 +2024-06-25 16:21:25.763 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_2 +2024-06-25 16:21:25.765 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_2 +2024-06-25 16:21:25.768 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_3 +2024-06-25 16:21:25.769 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_3 +2024-06-25 16:21:25.771 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_4 +2024-06-25 16:21:25.772 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_4 +2024-06-25 16:21:25.773 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexOutUsingPOST_1 +2024-06-25 16:21:25.776 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_5 +2024-06-25 16:21:25.781 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_5 +2024-06-25 16:21:25.782 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_2 +2024-06-25 16:21:25.782 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_2 +2024-06-25 16:21:25.796 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_6 +2024-06-25 16:21:25.797 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_7 +2024-06-25 16:21:25.803 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_8 +2024-06-25 16:21:25.810 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_6 +2024-06-25 16:21:25.811 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_3 +2024-06-25 16:21:25.812 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_3 +2024-06-25 16:21:25.820 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_9 +2024-06-25 16:21:25.846 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_10 +2024-06-25 16:21:25.848 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_7 +2024-06-25 16:21:25.849 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_4 +2024-06-25 16:21:25.850 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_4 +2024-06-25 16:21:25.852 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_11 +2024-06-25 16:21:25.857 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_8 +2024-06-25 16:21:25.857 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_5 +2024-06-25 16:21:25.858 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_5 +2024-06-25 16:21:25.862 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_12 +2024-06-25 16:21:25.866 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_9 +2024-06-25 16:21:25.866 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_6 +2024-06-25 16:21:25.867 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_6 +2024-06-25 16:21:25.870 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_13 +2024-06-25 16:21:25.871 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_1 +2024-06-25 16:21:25.872 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_10 +2024-06-25 16:21:25.873 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_7 +2024-06-25 16:21:25.873 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_7 +2024-06-25 16:21:25.875 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_14 +2024-06-25 16:21:25.876 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_11 +2024-06-25 16:21:25.877 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_8 +2024-06-25 16:21:25.877 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_8 +2024-06-25 16:21:25.878 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_15 +2024-06-25 16:21:25.880 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_12 +2024-06-25 16:21:25.884 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_9 +2024-06-25 16:21:25.885 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_9 +2024-06-25 16:21:25.888 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_16 +2024-06-25 16:21:25.889 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_17 +2024-06-25 16:21:25.895 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_13 +2024-06-25 16:21:25.896 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_10 +2024-06-25 16:21:25.899 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_18 +2024-06-25 16:21:25.900 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_1 +2024-06-25 16:21:25.910 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addGroupUsingPOST_1 +2024-06-25 16:21:25.911 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: categoryUsingPOST_1 +2024-06-25 16:21:25.912 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteFilesUsingPOST_1 +2024-06-25 16:21:25.912 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteGroupUsingPOST_1 +2024-06-25 16:21:25.913 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editGroupUsingPOST_1 +2024-06-25 16:21:25.917 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: listsUsingPOST_1 +2024-06-25 16:21:25.918 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: moveFilesUsingPOST_1 +2024-06-25 16:21:25.919 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_19 +2024-06-25 16:21:25.923 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_14 +2024-06-25 16:21:25.924 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_10 +2024-06-25 16:21:25.925 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteFilesUsingPOST_2 +2024-06-25 16:21:25.925 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_11 +2024-06-25 16:21:25.927 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_20 +2024-06-25 16:21:25.930 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: moveFilesUsingPOST_2 +2024-06-25 16:21:25.931 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_21 +2024-06-25 16:21:25.932 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: listUsingPOST_1 +2024-06-25 16:21:25.932 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_22 +2024-06-25 16:21:25.939 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_23 +2024-06-25 16:21:25.942 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_24 +2024-06-25 16:21:25.943 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_25 +2024-06-25 16:21:25.946 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_15 +2024-06-25 16:21:25.947 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_1 +2024-06-25 16:21:25.947 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_12 +2024-06-25 16:21:25.949 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_26 +2024-06-25 16:21:25.949 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: repulseAuditUsingPOST_1 +2024-06-25 16:21:25.951 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_16 +2024-06-25 16:21:25.952 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_11 +2024-06-25 16:21:25.952 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_13 +2024-06-25 16:21:25.955 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_27 +2024-06-25 16:21:25.960 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_17 +2024-06-25 16:21:25.961 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_12 +2024-06-25 16:21:25.961 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_14 +2024-06-25 16:21:25.963 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_28 +2024-06-25 16:21:25.965 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_18 +2024-06-25 16:21:25.966 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_29 +2024-06-25 16:21:25.969 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_30 +2024-06-25 16:21:25.970 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_19 +2024-06-25 16:21:25.971 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_1 +2024-06-25 16:21:25.971 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_31 +2024-06-25 16:21:25.973 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_1 +2024-06-25 16:21:25.974 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_32 +2024-06-25 16:21:25.976 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_20 +2024-06-25 16:21:25.976 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_2 +2024-06-25 16:21:25.977 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_33 +2024-06-25 16:21:25.985 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: loginUsingPOST_1 +2024-06-25 16:21:25.986 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: logoutUsingPOST_1 +2024-06-25 16:21:25.987 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_34 +2024-06-25 16:21:25.989 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_21 +2024-06-25 16:21:25.990 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_13 +2024-06-25 16:21:25.990 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_15 +2024-06-25 16:21:25.991 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_35 +2024-06-25 16:21:25.992 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_2 +2024-06-25 16:21:25.995 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_22 +2024-06-25 16:21:25.996 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_14 +2024-06-25 16:21:25.996 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_16 +2024-06-25 16:21:26.000 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_36 +2024-06-25 16:21:26.001 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: stateUsingPOST_1 +2024-06-25 16:21:26.001 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_1 +2024-06-25 16:21:26.001 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_3 +2024-06-25 16:21:26.003 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_23 +2024-06-25 16:21:26.004 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_2 +2024-06-25 16:21:26.004 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_2 +2024-06-25 16:21:26.006 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_17 +2024-06-25 16:21:26.006 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_37 +2024-06-25 16:21:26.008 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_3 +2024-06-25 16:21:26.009 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_18 +2024-06-25 16:21:26.009 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_38 +2024-06-25 16:21:26.011 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addStorageUsingPOST_1 +2024-06-25 16:21:26.011 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_4 +2024-06-25 16:21:26.012 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_3 +2024-06-25 16:21:26.013 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_19 +2024-06-25 16:21:26.013 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_39 +2024-06-25 16:21:26.014 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_40 +2024-06-25 16:21:26.016 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_24 +2024-06-25 16:21:26.016 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_20 +2024-06-25 16:21:26.017 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_3 +2024-06-25 16:21:26.021 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_25 +2024-06-25 16:21:26.022 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_15 +2024-06-25 16:21:26.022 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_21 +2024-06-25 16:21:26.023 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_41 +2024-06-25 16:21:26.024 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_2 +2024-06-25 16:21:26.024 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_4 +2024-06-25 16:21:26.026 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: scanIndexUsingPOST_1 +2024-06-25 16:21:26.027 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_42 +2024-06-25 16:21:26.028 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_1 +2024-06-25 16:21:26.030 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_26 +2024-06-25 16:21:26.030 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_16 +2024-06-25 16:21:26.031 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_22 +2024-06-25 16:21:26.034 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_43 +2024-06-25 16:21:26.038 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_27 +2024-06-25 16:21:26.038 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_17 +2024-06-25 16:21:26.039 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_23 +2024-06-25 16:21:26.040 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_44 +2024-06-25 16:21:26.041 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_3 +2024-06-25 16:21:26.042 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_5 +2024-06-25 16:21:26.044 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_28 +2024-06-25 16:21:26.045 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_18 +2024-06-25 16:21:26.045 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_24 +2024-06-25 16:21:26.047 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_45 +2024-06-25 16:21:26.048 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_46 +2024-06-25 16:21:26.048 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_2 +2024-06-25 16:21:26.050 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_29 +2024-06-25 16:21:26.051 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_47 +2024-06-25 16:21:26.052 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_48 +2024-06-25 16:21:26.053 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_49 +2024-06-25 16:21:26.054 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_3 +2024-06-25 16:21:26.059 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_30 +2024-06-25 16:21:26.060 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_19 +2024-06-25 16:21:26.060 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_25 +2024-06-25 16:21:26.064 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_50 +2024-06-25 16:21:26.064 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_2 +2024-06-25 16:21:26.064 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_4 +2024-06-25 16:21:26.065 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_6 +2024-06-25 16:21:26.069 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_31 +2024-06-25 16:21:26.069 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_20 +2024-06-25 16:21:26.070 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_26 +2024-06-25 16:21:26.074 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_51 +2024-06-25 16:21:26.074 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_3 +2024-06-25 16:21:26.074 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_7 +2024-06-25 16:21:26.075 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_52 +2024-06-25 16:21:26.075 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_4 +2024-06-25 16:21:26.077 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_32 +2024-06-25 16:21:26.078 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_21 +2024-06-25 16:21:26.078 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_27 +2024-06-25 16:21:26.080 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_53 +2024-06-25 16:21:26.082 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: uploadUsingPOST_1 +2024-06-25 16:21:26.101 INFO [main] [] net.jjjerp.SpringBootJjjApplication 61 : Started SpringBootJjjApplication in 10.7 seconds (JVM running for 11.3) +2024-06-25 16:21:26.104 INFO [main] [] n.j.framework.util.PrintApplicationInfo 61 : projectFinalName : jjj-erp-1.0 +2024-06-25 16:21:26.104 INFO [main] [] n.j.framework.util.PrintApplicationInfo 62 : projectVersion : 1.0 +2024-06-25 16:21:26.104 INFO [main] [] n.j.framework.util.PrintApplicationInfo 63 : profileActive : prod +2024-06-25 16:21:26.104 INFO [main] [] n.j.framework.util.PrintApplicationInfo 64 : contextPath : /api +2024-06-25 16:21:26.104 INFO [main] [] n.j.framework.util.PrintApplicationInfo 65 : serverIp : http://erp3.huadeng.fun +2024-06-25 16:21:26.104 INFO [main] [] n.j.framework.util.PrintApplicationInfo 66 : port : 8892 +2024-06-25 16:21:26.104 INFO [main] [] n.j.framework.util.PrintApplicationInfo 81 : Home: http://erp3.huadeng.fun/api +2024-06-25 16:21:26.104 INFO [main] [] n.j.framework.util.PrintApplicationInfo 82 : Knife4j: http://erp3.huadeng.fun/api/doc.html +2024-06-25 16:21:26.104 INFO [main] [] n.j.framework.util.PrintApplicationInfo 83 : Swagger: http://erp3.huadeng.fun/api/swagger-ui.html +2024-06-25 16:21:26.104 INFO [main] [] n.j.framework.util.PrintApplicationInfo 84 : jjj-erp 启动成功........... + ____ __ __ ____ +/\ _`\ /\ \__ /\ \__ /\ _`\ +\ \,\L\_\ \ ,_\ __ _ __\ \ ,_\ \ \,\L\_\ __ __ ___ ___ __ ____ ____ + \/_\__ \\ \ \/ /'__`\ /\`'__\ \ \/ \/_\__ \ /\ \/\ \ /'___\ /'___\ /'__`\ /',__\ /',__\ + /\ \L\ \ \ \_/\ \L\.\_\ \ \/ \ \ \_ /\ \L\ \ \ \_\ \/\ \__//\ \__//\ __//\__, `\/\__, `\ + \ `\____\ \__\ \__/.\_\\ \_\ \ \__\ \ `\____\ \____/\ \____\ \____\ \____\/\____/\/\____/ + \/_____/\/__/\/__/\/_/ \/_/ \/__/ \/_____/\/___/ \/____/\/____/\/____/\/___/ \/___/ + + +2024-06-25 16:42:46.728 INFO [SpringContextShutdownHook] [] net.jjjerp.framework.core.xss.XssFilter 30 : XssFilter destroy +2024-06-25 16:42:46.728 INFO [SpringContextShutdownHook] [] n.j.f.core.filter.RequestDetailFilter 116 : RequestDetailFilter destroy +2024-06-25 16:42:46.755 INFO [SpringContextShutdownHook] [] o.s.s.c.ThreadPoolTaskScheduler 218 : Shutting down ExecutorService 'taskScheduler' +2024-06-25 16:42:46.756 INFO [SpringContextShutdownHook] [] o.s.s.concurrent.ThreadPoolTaskExecutor 218 : Shutting down ExecutorService 'applicationTaskExecutor' +2024-06-25 16:42:53.188 INFO [background-preinit] [] o.h.validator.internal.util.Version 21 : HV000001: Hibernate Validator 6.1.7.Final +2024-06-25 16:42:53.194 INFO [main] [] net.jjjerp.SpringBootJjjApplication 55 : Starting SpringBootJjjApplication on OS-20230506YKNI with PID 12776 (D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\bootstrap\target\classes started by Administrator in D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp) +2024-06-25 16:42:53.194 INFO [main] [] net.jjjerp.SpringBootJjjApplication 652 : The following profiles are active: prod +2024-06-25 16:42:54.561 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 249 : Multiple Spring Data modules found, entering strict repository configuration mode! +2024-06-25 16:42:54.562 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 127 : Bootstrapping Spring Data Redis repositories in DEFAULT mode. +2024-06-25 16:42:54.678 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 187 : Finished Spring Data repository scanning in 106ms. Found 0 Redis repository interfaces. +2024-06-25 16:42:54.951 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.ShiroConfig' of type [net.jjjerp.config.ShiroConfig$$EnhancerBySpringCGLIB$$4c8eab0f] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-25 16:42:55.041 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.properties.JwtProperties' of type [net.jjjerp.config.properties.JwtProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-25 16:42:55.043 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.RedisTemplateConfig' of type [net.jjjerp.config.RedisTemplateConfig$$EnhancerBySpringCGLIB$$1bf3b5b3] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-25 16:42:55.052 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'spring.redis-org.springframework.boot.autoconfigure.data.redis.RedisProperties' of type [org.springframework.boot.autoconfigure.data.redis.RedisProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-25 16:42:55.055 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration' of type [org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-25 16:42:55.108 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'lettuceClientResources' of type [io.lettuce.core.resource.DefaultClientResources] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-25 16:42:55.201 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'redisConnectionFactory' of type [org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-25 16:42:55.246 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'redisTemplate' of type [org.springframework.data.redis.core.RedisTemplate] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-25 16:42:55.247 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.cache.impl.AdminLoginRedisServiceImpl' of type [net.jjjerp.framework.shiro.cache.impl.AdminLoginRedisServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-25 16:42:55.250 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.cache.impl.ShopLoginRedisServiceImpl' of type [net.jjjerp.framework.shiro.cache.impl.ShopLoginRedisServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-25 16:42:55.359 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'credentialsMatcher' of type [net.jjjerp.framework.shiro.jwt.JwtCredentialsMatcher] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-25 16:42:55.366 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'jwtRealm' of type [net.jjjerp.framework.shiro.jwt.JwtRealm] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-25 16:42:55.367 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'sessionStorageEvaluator' of type [org.apache.shiro.web.mgt.DefaultWebSessionStorageEvaluator] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-25 16:42:55.367 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'subjectDAO' of type [org.apache.shiro.mgt.DefaultSubjectDAO] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-25 16:42:55.369 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'securityManager' of type [org.apache.shiro.web.mgt.DefaultWebSecurityManager] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-25 16:42:55.389 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.service.impl.ShiroLoginServiceImpl' of type [net.jjjerp.framework.shiro.service.impl.ShiroLoginServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-25 16:42:55.396 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'spring-boot-jjj.shiro-net.jjjerp.config.properties.ShiroProperties' of type [net.jjjerp.config.properties.ShiroProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-25 16:42:55.487 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'authorizationAttributeSourceAdvisor' of type [org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-25 16:42:55.628 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.RedisCacheConfig' of type [net.jjjerp.config.RedisCacheConfig$$EnhancerBySpringCGLIB$$d1308cb5] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-25 16:42:55.888 INFO [main] [] o.s.b.w.embedded.tomcat.TomcatWebServer 108 : Tomcat initialized with port(s): 8892 (http) +2024-06-25 16:42:55.895 INFO [main] [] o.a.coyote.http11.Http11NioProtocol 173 : Initializing ProtocolHandler ["http-nio-8892"] +2024-06-25 16:42:55.896 INFO [main] [] o.apache.catalina.core.StandardService 173 : Starting service [Tomcat] +2024-06-25 16:42:55.896 INFO [main] [] org.apache.catalina.core.StandardEngine 173 : Starting Servlet engine: [Apache Tomcat/9.0.46] +2024-06-25 16:42:55.991 INFO [main] [] o.a.c.c.C.[Tomcat].[localhost].[/api] 173 : Initializing Spring embedded WebApplicationContext +2024-06-25 16:42:55.991 INFO [main] [] w.s.c.ServletWebServerApplicationContext 285 : Root WebApplicationContext: initialization completed in 2726 ms +2024-06-25 16:42:56.146 INFO [main] [] net.jjjerp.framework.core.xss.XssFilter 18 : XssFilter init +2024-06-25 16:42:56.147 INFO [main] [] n.j.f.core.filter.RequestDetailFilter 30 : RequestDetailFilter init +2024-06-25 16:42:59.733 INFO [main] [] org.reflections.Reflections 228 : Reflections took 46 ms to scan 1 urls, producing 0 keys and 0 values +2024-06-25 16:42:59.850 INFO [main] [] net.jjjerp.framework.shiro.util.JwtUtil 33 : {"audience":"web","expireSecond":36000,"issuer":"spring-boot-jjj","redisCheck":true,"refreshToken":true,"refreshTokenCountdown":600,"saltCheck":true,"secret":"888888","singleLogin":false,"tokenName":"token"} +2024-06-25 16:43:04.643 INFO [main] [] pertySourcedRequestMappingHandlerMapping 69 : Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2Controller#getDocumentation(String, HttpServletRequest)] +2024-06-25 16:43:04.661 INFO [main] [] net.jjjerp.config.Swagger2Config 149 : swagger scan basePackages:null +2024-06-25 16:43:04.812 INFO [main] [] o.s.s.concurrent.ThreadPoolTaskExecutor 181 : Initializing ExecutorService 'applicationTaskExecutor' +2024-06-25 16:43:04.897 INFO [main] [] o.s.b.a.w.s.WelcomePageHandlerMapping 53 : Adding welcome page: class path resource [static/index.html] +2024-06-25 16:43:05.086 INFO [main] [] o.s.s.c.ThreadPoolTaskScheduler 181 : Initializing ExecutorService 'taskScheduler' +2024-06-25 16:43:05.181 INFO [main] [] o.a.coyote.http11.Http11NioProtocol 173 : Starting ProtocolHandler ["http-nio-8892"] +2024-06-25 16:43:05.202 INFO [main] [] o.s.b.w.embedded.tomcat.TomcatWebServer 220 : Tomcat started on port(s): 8892 (http) with context path '/api' +2024-06-25 16:43:05.203 INFO [main] [] d.s.w.p.DocumentationPluginsBootstrapper 160 : Context refreshed +2024-06-25 16:43:05.210 INFO [main] [] d.s.w.p.DocumentationPluginsBootstrapper 163 : Found 1 custom documentation plugin(s) +2024-06-25 16:43:05.249 INFO [main] [] s.d.s.w.s.ApiListingReferenceScanner 41 : Scanning for api listing references +2024-06-25 16:43:05.369 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_1 +2024-06-25 16:43:05.371 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_1 +2024-06-25 16:43:05.372 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_1 +2024-06-25 16:43:05.387 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_1 +2024-06-25 16:43:05.421 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_2 +2024-06-25 16:43:05.423 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_2 +2024-06-25 16:43:05.426 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_3 +2024-06-25 16:43:05.426 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_3 +2024-06-25 16:43:05.429 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_4 +2024-06-25 16:43:05.430 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_4 +2024-06-25 16:43:05.431 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexOutUsingPOST_1 +2024-06-25 16:43:05.434 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_5 +2024-06-25 16:43:05.441 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_5 +2024-06-25 16:43:05.441 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_2 +2024-06-25 16:43:05.442 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_2 +2024-06-25 16:43:05.457 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_6 +2024-06-25 16:43:05.458 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_7 +2024-06-25 16:43:05.465 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_8 +2024-06-25 16:43:05.475 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_6 +2024-06-25 16:43:05.475 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_3 +2024-06-25 16:43:05.476 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_3 +2024-06-25 16:43:05.484 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_9 +2024-06-25 16:43:05.511 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_10 +2024-06-25 16:43:05.513 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_7 +2024-06-25 16:43:05.513 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_4 +2024-06-25 16:43:05.514 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_4 +2024-06-25 16:43:05.517 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_11 +2024-06-25 16:43:05.521 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_8 +2024-06-25 16:43:05.521 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_5 +2024-06-25 16:43:05.522 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_5 +2024-06-25 16:43:05.526 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_12 +2024-06-25 16:43:05.529 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_9 +2024-06-25 16:43:05.529 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_6 +2024-06-25 16:43:05.530 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_6 +2024-06-25 16:43:05.533 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_13 +2024-06-25 16:43:05.534 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_1 +2024-06-25 16:43:05.535 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_10 +2024-06-25 16:43:05.536 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_7 +2024-06-25 16:43:05.536 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_7 +2024-06-25 16:43:05.538 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_14 +2024-06-25 16:43:05.539 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_11 +2024-06-25 16:43:05.539 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_8 +2024-06-25 16:43:05.540 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_8 +2024-06-25 16:43:05.541 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_15 +2024-06-25 16:43:05.542 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_12 +2024-06-25 16:43:05.545 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_9 +2024-06-25 16:43:05.546 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_9 +2024-06-25 16:43:05.549 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_16 +2024-06-25 16:43:05.551 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_17 +2024-06-25 16:43:05.556 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_13 +2024-06-25 16:43:05.558 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_10 +2024-06-25 16:43:05.561 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_18 +2024-06-25 16:43:05.562 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_1 +2024-06-25 16:43:05.572 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addGroupUsingPOST_1 +2024-06-25 16:43:05.573 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: categoryUsingPOST_1 +2024-06-25 16:43:05.574 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteFilesUsingPOST_1 +2024-06-25 16:43:05.574 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteGroupUsingPOST_1 +2024-06-25 16:43:05.575 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editGroupUsingPOST_1 +2024-06-25 16:43:05.578 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: listsUsingPOST_1 +2024-06-25 16:43:05.579 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: moveFilesUsingPOST_1 +2024-06-25 16:43:05.580 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_19 +2024-06-25 16:43:05.584 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_14 +2024-06-25 16:43:05.585 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_10 +2024-06-25 16:43:05.585 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteFilesUsingPOST_2 +2024-06-25 16:43:05.586 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_11 +2024-06-25 16:43:05.588 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_20 +2024-06-25 16:43:05.590 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: moveFilesUsingPOST_2 +2024-06-25 16:43:05.591 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_21 +2024-06-25 16:43:05.592 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: listUsingPOST_1 +2024-06-25 16:43:05.593 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_22 +2024-06-25 16:43:05.599 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_23 +2024-06-25 16:43:05.602 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_24 +2024-06-25 16:43:05.603 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_25 +2024-06-25 16:43:05.606 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_15 +2024-06-25 16:43:05.606 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_1 +2024-06-25 16:43:05.607 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_12 +2024-06-25 16:43:05.608 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_26 +2024-06-25 16:43:05.609 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: repulseAuditUsingPOST_1 +2024-06-25 16:43:05.611 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_16 +2024-06-25 16:43:05.612 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_11 +2024-06-25 16:43:05.612 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_13 +2024-06-25 16:43:05.615 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_27 +2024-06-25 16:43:05.618 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_17 +2024-06-25 16:43:05.619 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_12 +2024-06-25 16:43:05.619 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_14 +2024-06-25 16:43:05.622 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_28 +2024-06-25 16:43:05.623 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_18 +2024-06-25 16:43:05.624 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_29 +2024-06-25 16:43:05.628 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_30 +2024-06-25 16:43:05.629 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_19 +2024-06-25 16:43:05.630 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_1 +2024-06-25 16:43:05.630 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_31 +2024-06-25 16:43:05.631 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_1 +2024-06-25 16:43:05.632 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_32 +2024-06-25 16:43:05.634 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_20 +2024-06-25 16:43:05.634 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_2 +2024-06-25 16:43:05.635 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_33 +2024-06-25 16:43:05.643 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: loginUsingPOST_1 +2024-06-25 16:43:05.644 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: logoutUsingPOST_1 +2024-06-25 16:43:05.645 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_34 +2024-06-25 16:43:05.647 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_21 +2024-06-25 16:43:05.648 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_13 +2024-06-25 16:43:05.648 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_15 +2024-06-25 16:43:05.649 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_35 +2024-06-25 16:43:05.650 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_2 +2024-06-25 16:43:05.654 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_22 +2024-06-25 16:43:05.655 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_14 +2024-06-25 16:43:05.656 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_16 +2024-06-25 16:43:05.659 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_36 +2024-06-25 16:43:05.660 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: stateUsingPOST_1 +2024-06-25 16:43:05.660 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_1 +2024-06-25 16:43:05.660 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_3 +2024-06-25 16:43:05.662 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_23 +2024-06-25 16:43:05.662 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_2 +2024-06-25 16:43:05.663 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_2 +2024-06-25 16:43:05.664 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_17 +2024-06-25 16:43:05.664 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_37 +2024-06-25 16:43:05.666 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_3 +2024-06-25 16:43:05.667 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_18 +2024-06-25 16:43:05.667 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_38 +2024-06-25 16:43:05.669 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addStorageUsingPOST_1 +2024-06-25 16:43:05.670 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_4 +2024-06-25 16:43:05.671 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_3 +2024-06-25 16:43:05.671 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_19 +2024-06-25 16:43:05.672 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_39 +2024-06-25 16:43:05.673 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_40 +2024-06-25 16:43:05.674 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_24 +2024-06-25 16:43:05.675 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_20 +2024-06-25 16:43:05.675 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_3 +2024-06-25 16:43:05.679 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_25 +2024-06-25 16:43:05.680 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_15 +2024-06-25 16:43:05.680 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_21 +2024-06-25 16:43:05.681 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_41 +2024-06-25 16:43:05.682 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_2 +2024-06-25 16:43:05.682 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_4 +2024-06-25 16:43:05.684 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: scanIndexUsingPOST_1 +2024-06-25 16:43:05.686 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_42 +2024-06-25 16:43:05.686 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_1 +2024-06-25 16:43:05.688 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_26 +2024-06-25 16:43:05.689 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_16 +2024-06-25 16:43:05.689 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_22 +2024-06-25 16:43:05.693 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_43 +2024-06-25 16:43:05.696 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_27 +2024-06-25 16:43:05.696 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_17 +2024-06-25 16:43:05.697 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_23 +2024-06-25 16:43:05.698 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_44 +2024-06-25 16:43:05.699 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_3 +2024-06-25 16:43:05.699 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_5 +2024-06-25 16:43:05.702 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_28 +2024-06-25 16:43:05.702 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_18 +2024-06-25 16:43:05.703 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_24 +2024-06-25 16:43:05.705 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_45 +2024-06-25 16:43:05.706 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_46 +2024-06-25 16:43:05.706 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_2 +2024-06-25 16:43:05.707 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_29 +2024-06-25 16:43:05.708 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_47 +2024-06-25 16:43:05.709 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_48 +2024-06-25 16:43:05.709 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_49 +2024-06-25 16:43:05.709 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_3 +2024-06-25 16:43:05.712 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_30 +2024-06-25 16:43:05.713 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_19 +2024-06-25 16:43:05.713 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_25 +2024-06-25 16:43:05.717 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_50 +2024-06-25 16:43:05.718 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_2 +2024-06-25 16:43:05.718 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_4 +2024-06-25 16:43:05.718 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_6 +2024-06-25 16:43:05.722 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_31 +2024-06-25 16:43:05.722 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_20 +2024-06-25 16:43:05.723 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_26 +2024-06-25 16:43:05.727 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_51 +2024-06-25 16:43:05.727 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_3 +2024-06-25 16:43:05.728 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_7 +2024-06-25 16:43:05.728 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_52 +2024-06-25 16:43:05.729 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_4 +2024-06-25 16:43:05.731 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_32 +2024-06-25 16:43:05.734 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_21 +2024-06-25 16:43:05.735 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_27 +2024-06-25 16:43:05.737 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_53 +2024-06-25 16:43:05.742 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: uploadUsingPOST_1 +2024-06-25 16:43:05.764 INFO [main] [] net.jjjerp.SpringBootJjjApplication 61 : Started SpringBootJjjApplication in 13.319 seconds (JVM running for 13.958) +2024-06-25 16:43:05.768 INFO [main] [] n.j.framework.util.PrintApplicationInfo 61 : projectFinalName : jjj-erp-1.0 +2024-06-25 16:43:05.768 INFO [main] [] n.j.framework.util.PrintApplicationInfo 62 : projectVersion : 1.0 +2024-06-25 16:43:05.768 INFO [main] [] n.j.framework.util.PrintApplicationInfo 63 : profileActive : prod +2024-06-25 16:43:05.768 INFO [main] [] n.j.framework.util.PrintApplicationInfo 64 : contextPath : /api +2024-06-25 16:43:05.768 INFO [main] [] n.j.framework.util.PrintApplicationInfo 65 : serverIp : http://erp3.huadeng.fun +2024-06-25 16:43:05.768 INFO [main] [] n.j.framework.util.PrintApplicationInfo 66 : port : 8892 +2024-06-25 16:43:05.768 INFO [main] [] n.j.framework.util.PrintApplicationInfo 81 : Home: http://erp3.huadeng.fun/api +2024-06-25 16:43:05.768 INFO [main] [] n.j.framework.util.PrintApplicationInfo 82 : Knife4j: http://erp3.huadeng.fun/api/doc.html +2024-06-25 16:43:05.768 INFO [main] [] n.j.framework.util.PrintApplicationInfo 83 : Swagger: http://erp3.huadeng.fun/api/swagger-ui.html +2024-06-25 16:43:05.768 INFO [main] [] n.j.framework.util.PrintApplicationInfo 84 : jjj-erp 启动成功........... + ____ __ __ ____ +/\ _`\ /\ \__ /\ \__ /\ _`\ +\ \,\L\_\ \ ,_\ __ _ __\ \ ,_\ \ \,\L\_\ __ __ ___ ___ __ ____ ____ + \/_\__ \\ \ \/ /'__`\ /\`'__\ \ \/ \/_\__ \ /\ \/\ \ /'___\ /'___\ /'__`\ /',__\ /',__\ + /\ \L\ \ \ \_/\ \L\.\_\ \ \/ \ \ \_ /\ \L\ \ \ \_\ \/\ \__//\ \__//\ __//\__, `\/\__, `\ + \ `\____\ \__\ \__/.\_\\ \_\ \ \__\ \ `\____\ \____/\ \____\ \____\ \____\/\____/\/\____/ + \/_____/\/__/\/__/\/_/ \/_/ \/__/ \/_____/\/___/ \/____/\/____/\/____/\/___/ \/___/ + + +2024-06-25 16:43:08.969 INFO [http-nio-8892-exec-2] [] o.a.c.c.C.[Tomcat].[localhost].[/api] 173 : Initializing Spring DispatcherServlet 'dispatcherServlet' +2024-06-25 16:43:08.969 INFO [http-nio-8892-exec-2] [] o.s.web.servlet.DispatcherServlet 525 : Initializing Servlet 'dispatcherServlet' +2024-06-25 16:43:08.978 INFO [http-nio-8892-exec-2] [] o.s.web.servlet.DispatcherServlet 547 : Completed initialization in 9 ms +2024-06-25 16:43:11.602 INFO [http-nio-8892-exec-1] [1805522113728278529] com.zaxxer.hikari.HikariDataSource 110 : HikariPool-1 - Starting... +2024-06-25 16:43:11.998 INFO [http-nio-8892-exec-1] [1805522113728278529] com.zaxxer.hikari.HikariDataSource 123 : HikariPool-1 - Start completed. +2024-06-25 16:46:09.567 ERROR [http-nio-8892-exec-8] [] n.jjjerp.framework.shiro.jwt.JwtFilter 138 : 访问错误 + +org.apache.shiro.authc.AuthenticationException: JWT Token已过期,token:eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhdWQiOiJ3ZWIiLCJpc3MiOiJzcHJpbmctYm9vdC1qamoiLCJleHAiOjE3MTE4MDMwMDUsImlhdCI6MTcxMTc2NzAwNSwianRpIjoiOTcyYWVhMjJmYmNlNDYxMTk3MzMzNDk4NjBjNzYwNjUiLCJ1c2VybmFtZSI6IjE5MyJ9.V7trSQxXq8pvxRFFP0lKhUDhlkZXRC325EnWiyerdP8 + at net.jjjerp.framework.shiro.jwt.JwtFilter.createToken(JwtFilter.java:67) + at org.apache.shiro.web.filter.authc.AuthenticatingFilter.executeLogin(AuthenticatingFilter.java:45) + at net.jjjerp.framework.shiro.jwt.JwtFilter.isAccessAllowed(JwtFilter.java:134) + at org.apache.shiro.web.filter.AccessControlFilter.onPreHandle(AccessControlFilter.java:162) + at org.apache.shiro.web.filter.PathMatchingFilter.isFilterChainContinued(PathMatchingFilter.java:214) + at org.apache.shiro.web.filter.PathMatchingFilter.preHandle(PathMatchingFilter.java:189) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:131) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) + +2024-06-25 16:46:09.567 ERROR [http-nio-8892-exec-8] [] n.jjjerp.framework.shiro.jwt.JwtFilter 111 : onAccessDenied url:/api/shop/statement/market/board/deal +2024-06-25 16:49:49.807 INFO [SpringContextShutdownHook] [] net.jjjerp.framework.core.xss.XssFilter 30 : XssFilter destroy +2024-06-25 16:49:49.807 INFO [SpringContextShutdownHook] [] n.j.f.core.filter.RequestDetailFilter 116 : RequestDetailFilter destroy +2024-06-25 16:49:49.814 INFO [SpringContextShutdownHook] [] o.s.s.c.ThreadPoolTaskScheduler 218 : Shutting down ExecutorService 'taskScheduler' +2024-06-25 16:49:49.814 INFO [SpringContextShutdownHook] [] o.s.s.concurrent.ThreadPoolTaskExecutor 218 : Shutting down ExecutorService 'applicationTaskExecutor' +2024-06-25 16:49:49.819 INFO [SpringContextShutdownHook] [] com.zaxxer.hikari.HikariDataSource 350 : HikariPool-1 - Shutdown initiated... +2024-06-25 16:49:49.822 INFO [SpringContextShutdownHook] [] com.zaxxer.hikari.HikariDataSource 352 : HikariPool-1 - Shutdown completed. +2024-06-25 16:49:57.634 INFO [main] [] net.jjjerp.SpringBootJjjApplication 55 : Starting SpringBootJjjApplication on OS-20230506YKNI with PID 1860 (D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\bootstrap\target\classes started by Administrator in D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp) +2024-06-25 16:49:57.632 INFO [background-preinit] [] o.h.validator.internal.util.Version 21 : HV000001: Hibernate Validator 6.1.7.Final +2024-06-25 16:49:57.636 INFO [main] [] net.jjjerp.SpringBootJjjApplication 652 : The following profiles are active: prod +2024-06-25 16:49:58.664 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 249 : Multiple Spring Data modules found, entering strict repository configuration mode! +2024-06-25 16:49:58.666 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 127 : Bootstrapping Spring Data Redis repositories in DEFAULT mode. +2024-06-25 16:49:58.779 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 187 : Finished Spring Data repository scanning in 104ms. Found 0 Redis repository interfaces. +2024-06-25 16:49:59.033 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.ShiroConfig' of type [net.jjjerp.config.ShiroConfig$$EnhancerBySpringCGLIB$$f1553f4c] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-25 16:49:59.127 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.properties.JwtProperties' of type [net.jjjerp.config.properties.JwtProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-25 16:49:59.129 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.RedisTemplateConfig' of type [net.jjjerp.config.RedisTemplateConfig$$EnhancerBySpringCGLIB$$c0ba49f0] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-25 16:49:59.138 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'spring.redis-org.springframework.boot.autoconfigure.data.redis.RedisProperties' of type [org.springframework.boot.autoconfigure.data.redis.RedisProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-25 16:49:59.142 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration' of type [org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-25 16:49:59.205 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'lettuceClientResources' of type [io.lettuce.core.resource.DefaultClientResources] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-25 16:49:59.301 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'redisConnectionFactory' of type [org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-25 16:49:59.348 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'redisTemplate' of type [org.springframework.data.redis.core.RedisTemplate] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-25 16:49:59.349 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.cache.impl.AdminLoginRedisServiceImpl' of type [net.jjjerp.framework.shiro.cache.impl.AdminLoginRedisServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-25 16:49:59.351 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.cache.impl.ShopLoginRedisServiceImpl' of type [net.jjjerp.framework.shiro.cache.impl.ShopLoginRedisServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-25 16:49:59.462 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'credentialsMatcher' of type [net.jjjerp.framework.shiro.jwt.JwtCredentialsMatcher] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-25 16:49:59.469 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'jwtRealm' of type [net.jjjerp.framework.shiro.jwt.JwtRealm] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-25 16:49:59.470 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'sessionStorageEvaluator' of type [org.apache.shiro.web.mgt.DefaultWebSessionStorageEvaluator] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-25 16:49:59.470 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'subjectDAO' of type [org.apache.shiro.mgt.DefaultSubjectDAO] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-25 16:49:59.472 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'securityManager' of type [org.apache.shiro.web.mgt.DefaultWebSecurityManager] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-25 16:49:59.491 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.service.impl.ShiroLoginServiceImpl' of type [net.jjjerp.framework.shiro.service.impl.ShiroLoginServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-25 16:49:59.498 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'spring-boot-jjj.shiro-net.jjjerp.config.properties.ShiroProperties' of type [net.jjjerp.config.properties.ShiroProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-25 16:49:59.580 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'authorizationAttributeSourceAdvisor' of type [org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-25 16:49:59.708 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.RedisCacheConfig' of type [net.jjjerp.config.RedisCacheConfig$$EnhancerBySpringCGLIB$$75f720f2] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-25 16:49:59.960 INFO [main] [] o.s.b.w.embedded.tomcat.TomcatWebServer 108 : Tomcat initialized with port(s): 8892 (http) +2024-06-25 16:49:59.967 INFO [main] [] o.a.coyote.http11.Http11NioProtocol 173 : Initializing ProtocolHandler ["http-nio-8892"] +2024-06-25 16:49:59.968 INFO [main] [] o.apache.catalina.core.StandardService 173 : Starting service [Tomcat] +2024-06-25 16:49:59.968 INFO [main] [] org.apache.catalina.core.StandardEngine 173 : Starting Servlet engine: [Apache Tomcat/9.0.46] +2024-06-25 16:50:00.062 INFO [main] [] o.a.c.c.C.[Tomcat].[localhost].[/api] 173 : Initializing Spring embedded WebApplicationContext +2024-06-25 16:50:00.062 INFO [main] [] w.s.c.ServletWebServerApplicationContext 285 : Root WebApplicationContext: initialization completed in 2381 ms +2024-06-25 16:50:00.212 INFO [main] [] net.jjjerp.framework.core.xss.XssFilter 18 : XssFilter init +2024-06-25 16:50:00.213 INFO [main] [] n.j.f.core.filter.RequestDetailFilter 30 : RequestDetailFilter init +2024-06-25 16:50:03.574 INFO [main] [] org.reflections.Reflections 228 : Reflections took 40 ms to scan 1 urls, producing 0 keys and 0 values +2024-06-25 16:50:03.665 INFO [main] [] net.jjjerp.framework.shiro.util.JwtUtil 33 : {"audience":"web","expireSecond":36000,"issuer":"spring-boot-jjj","redisCheck":true,"refreshToken":true,"refreshTokenCountdown":600,"saltCheck":true,"secret":"888888","singleLogin":false,"tokenName":"token"} +2024-06-25 16:50:06.267 INFO [main] [] pertySourcedRequestMappingHandlerMapping 69 : Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2Controller#getDocumentation(String, HttpServletRequest)] +2024-06-25 16:50:06.285 INFO [main] [] net.jjjerp.config.Swagger2Config 149 : swagger scan basePackages:null +2024-06-25 16:50:06.418 INFO [main] [] o.s.s.concurrent.ThreadPoolTaskExecutor 181 : Initializing ExecutorService 'applicationTaskExecutor' +2024-06-25 16:50:06.515 INFO [main] [] o.s.b.a.w.s.WelcomePageHandlerMapping 53 : Adding welcome page: class path resource [static/index.html] +2024-06-25 16:50:06.722 INFO [main] [] o.s.s.c.ThreadPoolTaskScheduler 181 : Initializing ExecutorService 'taskScheduler' +2024-06-25 16:50:06.828 INFO [main] [] o.a.coyote.http11.Http11NioProtocol 173 : Starting ProtocolHandler ["http-nio-8892"] +2024-06-25 16:50:06.850 INFO [main] [] o.s.b.w.embedded.tomcat.TomcatWebServer 220 : Tomcat started on port(s): 8892 (http) with context path '/api' +2024-06-25 16:50:06.851 INFO [main] [] d.s.w.p.DocumentationPluginsBootstrapper 160 : Context refreshed +2024-06-25 16:50:06.857 INFO [main] [] d.s.w.p.DocumentationPluginsBootstrapper 163 : Found 1 custom documentation plugin(s) +2024-06-25 16:50:06.899 INFO [main] [] s.d.s.w.s.ApiListingReferenceScanner 41 : Scanning for api listing references +2024-06-25 16:50:07.064 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_1 +2024-06-25 16:50:07.066 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_1 +2024-06-25 16:50:07.067 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_1 +2024-06-25 16:50:07.082 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_1 +2024-06-25 16:50:07.116 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_2 +2024-06-25 16:50:07.117 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_2 +2024-06-25 16:50:07.120 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_3 +2024-06-25 16:50:07.121 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_3 +2024-06-25 16:50:07.124 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_4 +2024-06-25 16:50:07.125 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_4 +2024-06-25 16:50:07.125 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexOutUsingPOST_1 +2024-06-25 16:50:07.128 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_5 +2024-06-25 16:50:07.134 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_5 +2024-06-25 16:50:07.135 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_2 +2024-06-25 16:50:07.136 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_2 +2024-06-25 16:50:07.150 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_6 +2024-06-25 16:50:07.151 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_7 +2024-06-25 16:50:07.156 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_8 +2024-06-25 16:50:07.163 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_6 +2024-06-25 16:50:07.164 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_3 +2024-06-25 16:50:07.165 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_3 +2024-06-25 16:50:07.172 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_9 +2024-06-25 16:50:07.199 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_10 +2024-06-25 16:50:07.201 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_7 +2024-06-25 16:50:07.202 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_4 +2024-06-25 16:50:07.203 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_4 +2024-06-25 16:50:07.205 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_11 +2024-06-25 16:50:07.210 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_8 +2024-06-25 16:50:07.210 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_5 +2024-06-25 16:50:07.211 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_5 +2024-06-25 16:50:07.214 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_12 +2024-06-25 16:50:07.218 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_9 +2024-06-25 16:50:07.218 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_6 +2024-06-25 16:50:07.219 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_6 +2024-06-25 16:50:07.222 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_13 +2024-06-25 16:50:07.223 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_1 +2024-06-25 16:50:07.224 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_10 +2024-06-25 16:50:07.225 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_7 +2024-06-25 16:50:07.225 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_7 +2024-06-25 16:50:07.227 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_14 +2024-06-25 16:50:07.228 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_11 +2024-06-25 16:50:07.228 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_8 +2024-06-25 16:50:07.229 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_8 +2024-06-25 16:50:07.230 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_15 +2024-06-25 16:50:07.232 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_12 +2024-06-25 16:50:07.234 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_9 +2024-06-25 16:50:07.235 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_9 +2024-06-25 16:50:07.238 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_16 +2024-06-25 16:50:07.240 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_17 +2024-06-25 16:50:07.245 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_13 +2024-06-25 16:50:07.246 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_10 +2024-06-25 16:50:07.249 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_18 +2024-06-25 16:50:07.250 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_1 +2024-06-25 16:50:07.260 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addGroupUsingPOST_1 +2024-06-25 16:50:07.261 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: categoryUsingPOST_1 +2024-06-25 16:50:07.261 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteFilesUsingPOST_1 +2024-06-25 16:50:07.262 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteGroupUsingPOST_1 +2024-06-25 16:50:07.262 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editGroupUsingPOST_1 +2024-06-25 16:50:07.266 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: listsUsingPOST_1 +2024-06-25 16:50:07.267 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: moveFilesUsingPOST_1 +2024-06-25 16:50:07.268 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_19 +2024-06-25 16:50:07.272 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_14 +2024-06-25 16:50:07.272 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_10 +2024-06-25 16:50:07.273 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteFilesUsingPOST_2 +2024-06-25 16:50:07.273 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_11 +2024-06-25 16:50:07.275 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_20 +2024-06-25 16:50:07.278 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: moveFilesUsingPOST_2 +2024-06-25 16:50:07.278 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_21 +2024-06-25 16:50:07.280 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: listUsingPOST_1 +2024-06-25 16:50:07.280 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_22 +2024-06-25 16:50:07.288 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_23 +2024-06-25 16:50:07.291 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_24 +2024-06-25 16:50:07.292 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_25 +2024-06-25 16:50:07.294 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_15 +2024-06-25 16:50:07.294 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_1 +2024-06-25 16:50:07.296 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_12 +2024-06-25 16:50:07.298 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_26 +2024-06-25 16:50:07.299 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: repulseAuditUsingPOST_1 +2024-06-25 16:50:07.301 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_16 +2024-06-25 16:50:07.302 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_11 +2024-06-25 16:50:07.302 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_13 +2024-06-25 16:50:07.305 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_27 +2024-06-25 16:50:07.308 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_17 +2024-06-25 16:50:07.309 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_12 +2024-06-25 16:50:07.310 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_14 +2024-06-25 16:50:07.312 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_28 +2024-06-25 16:50:07.314 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_18 +2024-06-25 16:50:07.315 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_29 +2024-06-25 16:50:07.319 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_30 +2024-06-25 16:50:07.320 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_19 +2024-06-25 16:50:07.320 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_1 +2024-06-25 16:50:07.321 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_31 +2024-06-25 16:50:07.322 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_1 +2024-06-25 16:50:07.323 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_32 +2024-06-25 16:50:07.325 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_20 +2024-06-25 16:50:07.325 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_2 +2024-06-25 16:50:07.325 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_33 +2024-06-25 16:50:07.334 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: loginUsingPOST_1 +2024-06-25 16:50:07.335 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: logoutUsingPOST_1 +2024-06-25 16:50:07.336 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_34 +2024-06-25 16:50:07.338 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_21 +2024-06-25 16:50:07.338 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_13 +2024-06-25 16:50:07.339 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_15 +2024-06-25 16:50:07.339 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_35 +2024-06-25 16:50:07.341 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_2 +2024-06-25 16:50:07.345 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_22 +2024-06-25 16:50:07.345 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_14 +2024-06-25 16:50:07.346 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_16 +2024-06-25 16:50:07.350 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_36 +2024-06-25 16:50:07.350 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: stateUsingPOST_1 +2024-06-25 16:50:07.350 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_1 +2024-06-25 16:50:07.351 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_3 +2024-06-25 16:50:07.352 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_23 +2024-06-25 16:50:07.353 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_2 +2024-06-25 16:50:07.353 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_2 +2024-06-25 16:50:07.354 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_17 +2024-06-25 16:50:07.355 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_37 +2024-06-25 16:50:07.357 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_3 +2024-06-25 16:50:07.357 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_18 +2024-06-25 16:50:07.358 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_38 +2024-06-25 16:50:07.359 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addStorageUsingPOST_1 +2024-06-25 16:50:07.360 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_4 +2024-06-25 16:50:07.361 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_3 +2024-06-25 16:50:07.361 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_19 +2024-06-25 16:50:07.362 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_39 +2024-06-25 16:50:07.363 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_40 +2024-06-25 16:50:07.364 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_24 +2024-06-25 16:50:07.365 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_20 +2024-06-25 16:50:07.365 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_3 +2024-06-25 16:50:07.369 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_25 +2024-06-25 16:50:07.370 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_15 +2024-06-25 16:50:07.370 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_21 +2024-06-25 16:50:07.371 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_41 +2024-06-25 16:50:07.372 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_2 +2024-06-25 16:50:07.372 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_4 +2024-06-25 16:50:07.374 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: scanIndexUsingPOST_1 +2024-06-25 16:50:07.376 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_42 +2024-06-25 16:50:07.376 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_1 +2024-06-25 16:50:07.378 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_26 +2024-06-25 16:50:07.379 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_16 +2024-06-25 16:50:07.379 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_22 +2024-06-25 16:50:07.383 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_43 +2024-06-25 16:50:07.386 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_27 +2024-06-25 16:50:07.386 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_17 +2024-06-25 16:50:07.387 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_23 +2024-06-25 16:50:07.388 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_44 +2024-06-25 16:50:07.388 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_3 +2024-06-25 16:50:07.389 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_5 +2024-06-25 16:50:07.390 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_28 +2024-06-25 16:50:07.391 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_18 +2024-06-25 16:50:07.392 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_24 +2024-06-25 16:50:07.394 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_45 +2024-06-25 16:50:07.394 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_46 +2024-06-25 16:50:07.395 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_2 +2024-06-25 16:50:07.396 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_29 +2024-06-25 16:50:07.396 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_47 +2024-06-25 16:50:07.397 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_48 +2024-06-25 16:50:07.398 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_49 +2024-06-25 16:50:07.398 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_3 +2024-06-25 16:50:07.401 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_30 +2024-06-25 16:50:07.401 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_19 +2024-06-25 16:50:07.401 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_25 +2024-06-25 16:50:07.405 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_50 +2024-06-25 16:50:07.405 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_2 +2024-06-25 16:50:07.407 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_4 +2024-06-25 16:50:07.407 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_6 +2024-06-25 16:50:07.410 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_31 +2024-06-25 16:50:07.410 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_20 +2024-06-25 16:50:07.411 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_26 +2024-06-25 16:50:07.415 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_51 +2024-06-25 16:50:07.415 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_3 +2024-06-25 16:50:07.416 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_7 +2024-06-25 16:50:07.416 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_52 +2024-06-25 16:50:07.417 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_4 +2024-06-25 16:50:07.418 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_32 +2024-06-25 16:50:07.419 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_21 +2024-06-25 16:50:07.419 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_27 +2024-06-25 16:50:07.421 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_53 +2024-06-25 16:50:07.424 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: uploadUsingPOST_1 +2024-06-25 16:50:07.442 INFO [main] [] net.jjjerp.SpringBootJjjApplication 61 : Started SpringBootJjjApplication in 10.304 seconds (JVM running for 10.9) +2024-06-25 16:50:07.445 INFO [main] [] n.j.framework.util.PrintApplicationInfo 61 : projectFinalName : jjj-erp-1.0 +2024-06-25 16:50:07.445 INFO [main] [] n.j.framework.util.PrintApplicationInfo 62 : projectVersion : 1.0 +2024-06-25 16:50:07.445 INFO [main] [] n.j.framework.util.PrintApplicationInfo 63 : profileActive : prod +2024-06-25 16:50:07.445 INFO [main] [] n.j.framework.util.PrintApplicationInfo 64 : contextPath : /api +2024-06-25 16:50:07.445 INFO [main] [] n.j.framework.util.PrintApplicationInfo 65 : serverIp : http://erp3.huadeng.fun +2024-06-25 16:50:07.445 INFO [main] [] n.j.framework.util.PrintApplicationInfo 66 : port : 8892 +2024-06-25 16:50:07.445 INFO [main] [] n.j.framework.util.PrintApplicationInfo 81 : Home: http://erp3.huadeng.fun/api +2024-06-25 16:50:07.445 INFO [main] [] n.j.framework.util.PrintApplicationInfo 82 : Knife4j: http://erp3.huadeng.fun/api/doc.html +2024-06-25 16:50:07.445 INFO [main] [] n.j.framework.util.PrintApplicationInfo 83 : Swagger: http://erp3.huadeng.fun/api/swagger-ui.html +2024-06-25 16:50:07.445 INFO [main] [] n.j.framework.util.PrintApplicationInfo 84 : jjj-erp 启动成功........... + ____ __ __ ____ +/\ _`\ /\ \__ /\ \__ /\ _`\ +\ \,\L\_\ \ ,_\ __ _ __\ \ ,_\ \ \,\L\_\ __ __ ___ ___ __ ____ ____ + \/_\__ \\ \ \/ /'__`\ /\`'__\ \ \/ \/_\__ \ /\ \/\ \ /'___\ /'___\ /'__`\ /',__\ /',__\ + /\ \L\ \ \ \_/\ \L\.\_\ \ \/ \ \ \_ /\ \L\ \ \ \_\ \/\ \__//\ \__//\ __//\__, `\/\__, `\ + \ `\____\ \__\ \__/.\_\\ \_\ \ \__\ \ `\____\ \____/\ \____\ \____\ \____\/\____/\/\____/ + \/_____/\/__/\/__/\/_/ \/_/ \/__/ \/_____/\/___/ \/____/\/____/\/____/\/___/ \/___/ + + +2024-06-25 16:50:13.343 INFO [http-nio-8892-exec-1] [] o.a.c.c.C.[Tomcat].[localhost].[/api] 173 : Initializing Spring DispatcherServlet 'dispatcherServlet' +2024-06-25 16:50:13.343 INFO [http-nio-8892-exec-1] [] o.s.web.servlet.DispatcherServlet 525 : Initializing Servlet 'dispatcherServlet' +2024-06-25 16:50:13.353 INFO [http-nio-8892-exec-1] [] o.s.web.servlet.DispatcherServlet 547 : Completed initialization in 10 ms +2024-06-25 16:50:14.201 INFO [http-nio-8892-exec-1] [1805523886165618689] com.zaxxer.hikari.HikariDataSource 110 : HikariPool-1 - Starting... +2024-06-25 16:50:14.617 INFO [http-nio-8892-exec-1] [1805523886165618689] com.zaxxer.hikari.HikariDataSource 123 : HikariPool-1 - Start completed. +2024-06-25 16:52:45.531 WARN [http-nio-8892-exec-17] [] org.apache.catalina.connector.Request 173 : Creating the temporary upload location [C:\Users\Administrator\AppData\Local\Temp\tomcat.8892.7337239091116248791\work\Tomcat\localhost\api\opt\upload\tmp] as it is required by the servlet [dispatcherServlet] +2024-06-25 16:56:47.256 INFO [SpringContextShutdownHook] [] net.jjjerp.framework.core.xss.XssFilter 30 : XssFilter destroy +2024-06-25 16:56:47.257 INFO [SpringContextShutdownHook] [] n.j.f.core.filter.RequestDetailFilter 116 : RequestDetailFilter destroy +2024-06-25 16:56:47.264 INFO [SpringContextShutdownHook] [] o.s.s.c.ThreadPoolTaskScheduler 218 : Shutting down ExecutorService 'taskScheduler' +2024-06-25 16:56:47.265 INFO [SpringContextShutdownHook] [] o.s.s.concurrent.ThreadPoolTaskExecutor 218 : Shutting down ExecutorService 'applicationTaskExecutor' +2024-06-25 16:56:47.270 INFO [SpringContextShutdownHook] [] com.zaxxer.hikari.HikariDataSource 350 : HikariPool-1 - Shutdown initiated... +2024-06-25 16:56:47.272 INFO [SpringContextShutdownHook] [] com.zaxxer.hikari.HikariDataSource 352 : HikariPool-1 - Shutdown completed. +2024-06-25 16:56:54.407 INFO [background-preinit] [] o.h.validator.internal.util.Version 21 : HV000001: Hibernate Validator 6.1.7.Final +2024-06-25 16:56:54.412 INFO [main] [] net.jjjerp.SpringBootJjjApplication 55 : Starting SpringBootJjjApplication on OS-20230506YKNI with PID 4600 (D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\bootstrap\target\classes started by Administrator in D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp) +2024-06-25 16:56:54.412 INFO [main] [] net.jjjerp.SpringBootJjjApplication 652 : The following profiles are active: prod +2024-06-25 16:56:55.423 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 249 : Multiple Spring Data modules found, entering strict repository configuration mode! +2024-06-25 16:56:55.425 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 127 : Bootstrapping Spring Data Redis repositories in DEFAULT mode. +2024-06-25 16:56:55.544 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 187 : Finished Spring Data repository scanning in 109ms. Found 0 Redis repository interfaces. +2024-06-25 16:56:55.789 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.ShiroConfig' of type [net.jjjerp.config.ShiroConfig$$EnhancerBySpringCGLIB$$ccab6605] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-25 16:56:55.875 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.properties.JwtProperties' of type [net.jjjerp.config.properties.JwtProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-25 16:56:55.877 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.RedisTemplateConfig' of type [net.jjjerp.config.RedisTemplateConfig$$EnhancerBySpringCGLIB$$9c1070a9] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-25 16:56:55.887 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'spring.redis-org.springframework.boot.autoconfigure.data.redis.RedisProperties' of type [org.springframework.boot.autoconfigure.data.redis.RedisProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-25 16:56:55.891 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration' of type [org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-25 16:56:55.954 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'lettuceClientResources' of type [io.lettuce.core.resource.DefaultClientResources] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-25 16:56:56.053 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'redisConnectionFactory' of type [org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-25 16:56:56.098 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'redisTemplate' of type [org.springframework.data.redis.core.RedisTemplate] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-25 16:56:56.099 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.cache.impl.AdminLoginRedisServiceImpl' of type [net.jjjerp.framework.shiro.cache.impl.AdminLoginRedisServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-25 16:56:56.102 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.cache.impl.ShopLoginRedisServiceImpl' of type [net.jjjerp.framework.shiro.cache.impl.ShopLoginRedisServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-25 16:56:56.215 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'credentialsMatcher' of type [net.jjjerp.framework.shiro.jwt.JwtCredentialsMatcher] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-25 16:56:56.222 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'jwtRealm' of type [net.jjjerp.framework.shiro.jwt.JwtRealm] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-25 16:56:56.223 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'sessionStorageEvaluator' of type [org.apache.shiro.web.mgt.DefaultWebSessionStorageEvaluator] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-25 16:56:56.223 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'subjectDAO' of type [org.apache.shiro.mgt.DefaultSubjectDAO] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-25 16:56:56.225 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'securityManager' of type [org.apache.shiro.web.mgt.DefaultWebSecurityManager] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-25 16:56:56.246 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.service.impl.ShiroLoginServiceImpl' of type [net.jjjerp.framework.shiro.service.impl.ShiroLoginServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-25 16:56:56.252 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'spring-boot-jjj.shiro-net.jjjerp.config.properties.ShiroProperties' of type [net.jjjerp.config.properties.ShiroProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-25 16:56:56.352 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'authorizationAttributeSourceAdvisor' of type [org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-25 16:56:56.487 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.RedisCacheConfig' of type [net.jjjerp.config.RedisCacheConfig$$EnhancerBySpringCGLIB$$514d47ab] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-25 16:56:56.762 INFO [main] [] o.s.b.w.embedded.tomcat.TomcatWebServer 108 : Tomcat initialized with port(s): 8892 (http) +2024-06-25 16:56:56.773 INFO [main] [] o.a.coyote.http11.Http11NioProtocol 173 : Initializing ProtocolHandler ["http-nio-8892"] +2024-06-25 16:56:56.773 INFO [main] [] o.apache.catalina.core.StandardService 173 : Starting service [Tomcat] +2024-06-25 16:56:56.773 INFO [main] [] org.apache.catalina.core.StandardEngine 173 : Starting Servlet engine: [Apache Tomcat/9.0.46] +2024-06-25 16:56:56.885 INFO [main] [] o.a.c.c.C.[Tomcat].[localhost].[/api] 173 : Initializing Spring embedded WebApplicationContext +2024-06-25 16:56:56.885 INFO [main] [] w.s.c.ServletWebServerApplicationContext 285 : Root WebApplicationContext: initialization completed in 2420 ms +2024-06-25 16:56:57.032 INFO [main] [] net.jjjerp.framework.core.xss.XssFilter 18 : XssFilter init +2024-06-25 16:56:57.033 INFO [main] [] n.j.f.core.filter.RequestDetailFilter 30 : RequestDetailFilter init +2024-06-25 16:57:00.580 INFO [main] [] org.reflections.Reflections 228 : Reflections took 39 ms to scan 1 urls, producing 0 keys and 0 values +2024-06-25 16:57:00.682 INFO [main] [] net.jjjerp.framework.shiro.util.JwtUtil 33 : {"audience":"web","expireSecond":36000,"issuer":"spring-boot-jjj","redisCheck":true,"refreshToken":true,"refreshTokenCountdown":600,"saltCheck":true,"secret":"888888","singleLogin":false,"tokenName":"token"} +2024-06-25 16:57:03.334 INFO [main] [] pertySourcedRequestMappingHandlerMapping 69 : Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2Controller#getDocumentation(String, HttpServletRequest)] +2024-06-25 16:57:03.349 INFO [main] [] net.jjjerp.config.Swagger2Config 149 : swagger scan basePackages:null +2024-06-25 16:57:03.468 INFO [main] [] o.s.s.concurrent.ThreadPoolTaskExecutor 181 : Initializing ExecutorService 'applicationTaskExecutor' +2024-06-25 16:57:03.550 INFO [main] [] o.s.b.a.w.s.WelcomePageHandlerMapping 53 : Adding welcome page: class path resource [static/index.html] +2024-06-25 16:57:03.757 INFO [main] [] o.s.s.c.ThreadPoolTaskScheduler 181 : Initializing ExecutorService 'taskScheduler' +2024-06-25 16:57:03.866 INFO [main] [] o.a.coyote.http11.Http11NioProtocol 173 : Starting ProtocolHandler ["http-nio-8892"] +2024-06-25 16:57:03.884 INFO [main] [] o.s.b.w.embedded.tomcat.TomcatWebServer 220 : Tomcat started on port(s): 8892 (http) with context path '/api' +2024-06-25 16:57:03.885 INFO [main] [] d.s.w.p.DocumentationPluginsBootstrapper 160 : Context refreshed +2024-06-25 16:57:03.891 INFO [main] [] d.s.w.p.DocumentationPluginsBootstrapper 163 : Found 1 custom documentation plugin(s) +2024-06-25 16:57:03.925 INFO [main] [] s.d.s.w.s.ApiListingReferenceScanner 41 : Scanning for api listing references +2024-06-25 16:57:04.046 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_1 +2024-06-25 16:57:04.047 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_1 +2024-06-25 16:57:04.048 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_1 +2024-06-25 16:57:04.067 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_1 +2024-06-25 16:57:04.101 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_2 +2024-06-25 16:57:04.103 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_2 +2024-06-25 16:57:04.106 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_3 +2024-06-25 16:57:04.107 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_3 +2024-06-25 16:57:04.109 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_4 +2024-06-25 16:57:04.110 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_4 +2024-06-25 16:57:04.111 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexOutUsingPOST_1 +2024-06-25 16:57:04.113 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_5 +2024-06-25 16:57:04.120 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_5 +2024-06-25 16:57:04.120 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_2 +2024-06-25 16:57:04.121 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_2 +2024-06-25 16:57:04.133 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_6 +2024-06-25 16:57:04.135 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_7 +2024-06-25 16:57:04.140 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_8 +2024-06-25 16:57:04.147 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_6 +2024-06-25 16:57:04.148 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_3 +2024-06-25 16:57:04.149 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_3 +2024-06-25 16:57:04.157 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_9 +2024-06-25 16:57:04.183 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_10 +2024-06-25 16:57:04.185 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_7 +2024-06-25 16:57:04.186 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_4 +2024-06-25 16:57:04.187 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_4 +2024-06-25 16:57:04.191 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_11 +2024-06-25 16:57:04.198 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_8 +2024-06-25 16:57:04.199 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_5 +2024-06-25 16:57:04.200 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_5 +2024-06-25 16:57:04.204 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_12 +2024-06-25 16:57:04.207 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_9 +2024-06-25 16:57:04.208 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_6 +2024-06-25 16:57:04.208 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_6 +2024-06-25 16:57:04.213 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_13 +2024-06-25 16:57:04.214 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_1 +2024-06-25 16:57:04.216 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_10 +2024-06-25 16:57:04.216 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_7 +2024-06-25 16:57:04.217 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_7 +2024-06-25 16:57:04.219 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_14 +2024-06-25 16:57:04.221 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_11 +2024-06-25 16:57:04.222 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_8 +2024-06-25 16:57:04.223 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_8 +2024-06-25 16:57:04.224 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_15 +2024-06-25 16:57:04.226 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_12 +2024-06-25 16:57:04.231 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_9 +2024-06-25 16:57:04.231 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_9 +2024-06-25 16:57:04.235 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_16 +2024-06-25 16:57:04.237 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_17 +2024-06-25 16:57:04.244 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_13 +2024-06-25 16:57:04.245 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_10 +2024-06-25 16:57:04.249 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_18 +2024-06-25 16:57:04.251 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_1 +2024-06-25 16:57:04.266 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addGroupUsingPOST_1 +2024-06-25 16:57:04.267 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: categoryUsingPOST_1 +2024-06-25 16:57:04.268 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteFilesUsingPOST_1 +2024-06-25 16:57:04.268 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteGroupUsingPOST_1 +2024-06-25 16:57:04.269 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editGroupUsingPOST_1 +2024-06-25 16:57:04.273 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: listsUsingPOST_1 +2024-06-25 16:57:04.274 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: moveFilesUsingPOST_1 +2024-06-25 16:57:04.276 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_19 +2024-06-25 16:57:04.281 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_20 +2024-06-25 16:57:04.288 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_14 +2024-06-25 16:57:04.288 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_10 +2024-06-25 16:57:04.289 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteFilesUsingPOST_2 +2024-06-25 16:57:04.289 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_11 +2024-06-25 16:57:04.290 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_21 +2024-06-25 16:57:04.291 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: listUsingPOST_1 +2024-06-25 16:57:04.292 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: moveFilesUsingPOST_2 +2024-06-25 16:57:04.300 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_22 +2024-06-25 16:57:04.304 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_23 +2024-06-25 16:57:04.308 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_24 +2024-06-25 16:57:04.310 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_25 +2024-06-25 16:57:04.312 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_15 +2024-06-25 16:57:04.313 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_1 +2024-06-25 16:57:04.314 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_12 +2024-06-25 16:57:04.316 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_26 +2024-06-25 16:57:04.316 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: repulseAuditUsingPOST_1 +2024-06-25 16:57:04.318 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_16 +2024-06-25 16:57:04.319 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_11 +2024-06-25 16:57:04.319 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_13 +2024-06-25 16:57:04.324 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_27 +2024-06-25 16:57:04.328 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_17 +2024-06-25 16:57:04.328 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_12 +2024-06-25 16:57:04.329 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_14 +2024-06-25 16:57:04.331 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_28 +2024-06-25 16:57:04.333 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_18 +2024-06-25 16:57:04.333 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_29 +2024-06-25 16:57:04.338 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_30 +2024-06-25 16:57:04.339 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_19 +2024-06-25 16:57:04.340 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_1 +2024-06-25 16:57:04.340 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_31 +2024-06-25 16:57:04.342 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_1 +2024-06-25 16:57:04.343 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_32 +2024-06-25 16:57:04.344 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_20 +2024-06-25 16:57:04.345 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_2 +2024-06-25 16:57:04.345 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_33 +2024-06-25 16:57:04.354 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: loginUsingPOST_1 +2024-06-25 16:57:04.355 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: logoutUsingPOST_1 +2024-06-25 16:57:04.356 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_34 +2024-06-25 16:57:04.359 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_21 +2024-06-25 16:57:04.360 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_13 +2024-06-25 16:57:04.360 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_15 +2024-06-25 16:57:04.361 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_35 +2024-06-25 16:57:04.362 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_2 +2024-06-25 16:57:04.366 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_22 +2024-06-25 16:57:04.366 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_14 +2024-06-25 16:57:04.367 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_16 +2024-06-25 16:57:04.371 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_36 +2024-06-25 16:57:04.372 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: stateUsingPOST_1 +2024-06-25 16:57:04.372 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_1 +2024-06-25 16:57:04.372 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_3 +2024-06-25 16:57:04.374 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_23 +2024-06-25 16:57:04.374 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_2 +2024-06-25 16:57:04.375 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_2 +2024-06-25 16:57:04.376 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_17 +2024-06-25 16:57:04.376 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_37 +2024-06-25 16:57:04.378 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_3 +2024-06-25 16:57:04.379 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_18 +2024-06-25 16:57:04.379 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_38 +2024-06-25 16:57:04.381 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addStorageUsingPOST_1 +2024-06-25 16:57:04.381 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_4 +2024-06-25 16:57:04.382 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_3 +2024-06-25 16:57:04.383 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_19 +2024-06-25 16:57:04.383 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_39 +2024-06-25 16:57:04.385 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_40 +2024-06-25 16:57:04.387 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_24 +2024-06-25 16:57:04.388 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_20 +2024-06-25 16:57:04.388 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_3 +2024-06-25 16:57:04.391 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_25 +2024-06-25 16:57:04.391 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_15 +2024-06-25 16:57:04.391 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_21 +2024-06-25 16:57:04.393 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_41 +2024-06-25 16:57:04.394 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_2 +2024-06-25 16:57:04.395 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_4 +2024-06-25 16:57:04.397 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: scanIndexUsingPOST_1 +2024-06-25 16:57:04.398 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_42 +2024-06-25 16:57:04.399 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_1 +2024-06-25 16:57:04.402 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_26 +2024-06-25 16:57:04.402 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_16 +2024-06-25 16:57:04.403 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_22 +2024-06-25 16:57:04.406 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_43 +2024-06-25 16:57:04.410 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_27 +2024-06-25 16:57:04.411 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_17 +2024-06-25 16:57:04.411 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_23 +2024-06-25 16:57:04.413 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_44 +2024-06-25 16:57:04.413 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_3 +2024-06-25 16:57:04.414 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_5 +2024-06-25 16:57:04.416 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_28 +2024-06-25 16:57:04.417 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_18 +2024-06-25 16:57:04.417 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_24 +2024-06-25 16:57:04.419 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_45 +2024-06-25 16:57:04.420 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_46 +2024-06-25 16:57:04.420 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_2 +2024-06-25 16:57:04.421 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_29 +2024-06-25 16:57:04.422 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_47 +2024-06-25 16:57:04.423 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_48 +2024-06-25 16:57:04.423 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_49 +2024-06-25 16:57:04.424 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_3 +2024-06-25 16:57:04.426 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_30 +2024-06-25 16:57:04.427 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_19 +2024-06-25 16:57:04.427 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_25 +2024-06-25 16:57:04.431 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_50 +2024-06-25 16:57:04.432 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_2 +2024-06-25 16:57:04.432 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_4 +2024-06-25 16:57:04.432 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_6 +2024-06-25 16:57:04.436 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_31 +2024-06-25 16:57:04.437 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_20 +2024-06-25 16:57:04.437 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_26 +2024-06-25 16:57:04.441 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_51 +2024-06-25 16:57:04.441 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_3 +2024-06-25 16:57:04.442 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_7 +2024-06-25 16:57:04.442 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_52 +2024-06-25 16:57:04.443 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_4 +2024-06-25 16:57:04.445 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_32 +2024-06-25 16:57:04.445 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_21 +2024-06-25 16:57:04.446 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_27 +2024-06-25 16:57:04.447 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_53 +2024-06-25 16:57:04.450 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: uploadUsingPOST_1 +2024-06-25 16:57:04.468 INFO [main] [] net.jjjerp.SpringBootJjjApplication 61 : Started SpringBootJjjApplication in 10.568 seconds (JVM running for 11.096) +2024-06-25 16:57:04.471 INFO [main] [] n.j.framework.util.PrintApplicationInfo 61 : projectFinalName : jjj-erp-1.0 +2024-06-25 16:57:04.471 INFO [main] [] n.j.framework.util.PrintApplicationInfo 62 : projectVersion : 1.0 +2024-06-25 16:57:04.471 INFO [main] [] n.j.framework.util.PrintApplicationInfo 63 : profileActive : prod +2024-06-25 16:57:04.471 INFO [main] [] n.j.framework.util.PrintApplicationInfo 64 : contextPath : /api +2024-06-25 16:57:04.471 INFO [main] [] n.j.framework.util.PrintApplicationInfo 65 : serverIp : http://erp3.huadeng.fun +2024-06-25 16:57:04.471 INFO [main] [] n.j.framework.util.PrintApplicationInfo 66 : port : 8892 +2024-06-25 16:57:04.471 INFO [main] [] n.j.framework.util.PrintApplicationInfo 81 : Home: http://erp3.huadeng.fun/api +2024-06-25 16:57:04.471 INFO [main] [] n.j.framework.util.PrintApplicationInfo 82 : Knife4j: http://erp3.huadeng.fun/api/doc.html +2024-06-25 16:57:04.471 INFO [main] [] n.j.framework.util.PrintApplicationInfo 83 : Swagger: http://erp3.huadeng.fun/api/swagger-ui.html +2024-06-25 16:57:04.471 INFO [main] [] n.j.framework.util.PrintApplicationInfo 84 : jjj-erp 启动成功........... + ____ __ __ ____ +/\ _`\ /\ \__ /\ \__ /\ _`\ +\ \,\L\_\ \ ,_\ __ _ __\ \ ,_\ \ \,\L\_\ __ __ ___ ___ __ ____ ____ + \/_\__ \\ \ \/ /'__`\ /\`'__\ \ \/ \/_\__ \ /\ \/\ \ /'___\ /'___\ /'__`\ /',__\ /',__\ + /\ \L\ \ \ \_/\ \L\.\_\ \ \/ \ \ \_ /\ \L\ \ \ \_\ \/\ \__//\ \__//\ __//\__, `\/\__, `\ + \ `\____\ \__\ \__/.\_\\ \_\ \ \__\ \ `\____\ \____/\ \____\ \____\ \____\/\____/\/\____/ + \/_____/\/__/\/__/\/_/ \/_/ \/__/ \/_____/\/___/ \/____/\/____/\/____/\/___/ \/___/ + + +2024-06-25 16:57:09.917 INFO [http-nio-8892-exec-3] [] o.a.c.c.C.[Tomcat].[localhost].[/api] 173 : Initializing Spring DispatcherServlet 'dispatcherServlet' +2024-06-25 16:57:09.917 INFO [http-nio-8892-exec-3] [] o.s.web.servlet.DispatcherServlet 525 : Initializing Servlet 'dispatcherServlet' +2024-06-25 16:57:09.925 INFO [http-nio-8892-exec-3] [] o.s.web.servlet.DispatcherServlet 547 : Completed initialization in 8 ms +2024-06-25 16:57:10.645 WARN [http-nio-8892-exec-3] [] org.apache.catalina.connector.Request 173 : Creating the temporary upload location [C:\Users\Administrator\AppData\Local\Temp\tomcat.8892.4994972076366516099\work\Tomcat\localhost\api\opt\upload\tmp] as it is required by the servlet [dispatcherServlet] +2024-06-25 16:57:11.320 INFO [http-nio-8892-exec-3] [1805525633370062849] com.zaxxer.hikari.HikariDataSource 110 : HikariPool-1 - Starting... +2024-06-25 16:57:11.736 INFO [http-nio-8892-exec-3] [1805525633370062849] com.zaxxer.hikari.HikariDataSource 123 : HikariPool-1 - Start completed. +2024-06-25 17:05:15.044 ERROR [http-nio-8892-exec-9] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy402.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-25 17:05:24.330 INFO [lettuce-eventExecutorLoop-1-7] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was /101.34.74.68:6379 +2024-06-25 17:05:24.357 INFO [lettuce-nioEventLoop-4-2] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to 101.34.74.68:6379 +2024-06-25 17:06:26.229 WARN [http-nio-8892-exec-7] [1805527942388940802] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@20058e6c (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-25 17:06:26.381 WARN [http-nio-8892-exec-12] [1805527943043252225] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@4fe51b2c (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-25 17:06:26.460 WARN [http-nio-8892-exec-19] [1805527942783205377] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@18959274 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-25 17:06:31.240 WARN [http-nio-8892-exec-7] [1805527942388940802] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@1b18e676 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-25 17:06:31.397 WARN [http-nio-8892-exec-12] [1805527943043252225] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@6abfaacc (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-25 17:06:31.461 WARN [http-nio-8892-exec-19] [1805527942783205377] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@75cd24aa (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-25 17:06:36.241 WARN [http-nio-8892-exec-7] [1805527942388940802] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@6d3aef77 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-25 17:06:36.413 WARN [http-nio-8892-exec-12] [1805527943043252225] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@34bed637 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-25 17:06:36.475 WARN [http-nio-8892-exec-19] [1805527942783205377] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@f9429e1 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-25 17:06:41.256 WARN [http-nio-8892-exec-7] [1805527942388940802] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@1a590120 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-25 17:09:57.230 ERROR [http-nio-8892-exec-11] [] n.jjjerp.handler.GlobalExceptionHandler 233 : 异常来源:ip: 192.168.31.226, path: /api/saas/passport/login +2024-06-25 17:09:57.231 ERROR [http-nio-8892-exec-11] [] n.jjjerp.handler.GlobalExceptionHandler 257 : errorCode: 5104, errorMessage: 登录授权异常 + +org.apache.shiro.authc.AuthenticationException: 用户名或密码错误 + at net.jjjerp.saas.service.impl.SaasUserServiceImpl.login(SaasUserServiceImpl.java:72) + at net.jjjerp.saas.service.impl.SaasUserServiceImpl$$FastClassBySpringCGLIB$$1342fc5f.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.saas.service.impl.SaasUserServiceImpl$$EnhancerBySpringCGLIB$$d432b40.login() + at net.jjjerp.saas.controller.PassportController.login(PassportController.java:36) + at net.jjjerp.saas.controller.PassportController$$FastClassBySpringCGLIB$$5ff54396.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.AspectJAfterThrowingAdvice.invoke(AspectJAfterThrowingAdvice.java:62) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:88) + at net.jjjerp.framework.log.aop.BaseLogAop.handle(BaseLogAop.java:303) + at net.jjjerp.aop.LogAop.doAround(LogAop.java:35) + at net.jjjerp.aop.LogAop$$FastClassBySpringCGLIB$$189c4aae.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.aop.LogAop$$EnhancerBySpringCGLIB$$7cf1a3c1.doAround() + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:644) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:633) + at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:95) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at net.jjjerp.saas.controller.PassportController$$EnhancerBySpringCGLIB$$a93a5d29.login() + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:652) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:112) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) + at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) + +2024-06-25 17:18:02.993 ERROR [http-nio-8892-exec-8] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy402.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-25 17:18:03.499 ERROR [http-nio-8892-exec-20] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy402.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-25 17:18:12.228 INFO [lettuce-eventExecutorLoop-1-3] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was /101.34.74.68:6379 +2024-06-25 17:18:12.253 INFO [lettuce-nioEventLoop-4-3] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to 101.34.74.68:6379 +2024-06-25 17:18:32.817 WARN [http-nio-8892-exec-21] [1805530989919895553] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@26af4528 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-25 17:18:32.918 WARN [http-nio-8892-exec-22] [1805530990314160130] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@3dc07588 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-25 17:18:37.918 WARN [http-nio-8892-exec-21] [1805530989919895553] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@349f806 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-25 17:18:37.920 WARN [http-nio-8892-exec-22] [1805530990314160130] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@76da9be4 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-25 17:18:38.294 WARN [http-nio-8892-exec-23] [1805531012908875778] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@19dae462 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-25 17:18:38.609 WARN [http-nio-8892-exec-24] [1805531010169995266] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@7e485f54 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-25 17:18:42.919 WARN [http-nio-8892-exec-21] [1805530989919895553] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@101fc307 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-25 17:18:42.920 WARN [http-nio-8892-exec-22] [1805530990314160130] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@93e3d62 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-25 17:18:43.310 WARN [http-nio-8892-exec-23] [1805531012908875778] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@29efc49d (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-25 17:18:43.624 WARN [http-nio-8892-exec-24] [1805531010169995266] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@5ce8132 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-25 17:40:19.492 WARN [http-nio-8892-exec-22] [1805536470512074754] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@46c2cb95 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-25 17:49:18.211 WARN [http-nio-8892-exec-30] [1805538730012999682] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@6d89a0c6 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-25 18:16:03.333 ERROR [http-nio-8892-exec-18] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy402.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-25 18:16:12.543 INFO [lettuce-eventExecutorLoop-1-6] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was /101.34.74.68:6379 +2024-06-25 18:16:12.576 INFO [lettuce-nioEventLoop-4-4] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to 101.34.74.68:6379 +2024-06-25 18:16:32.795 WARN [http-nio-8892-exec-17] [1805545586018123778] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@429f31f0 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-25 18:16:37.810 WARN [http-nio-8892-exec-17] [1805545586018123778] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@64044328 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-25 18:16:42.819 WARN [http-nio-8892-exec-17] [1805545586018123778] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@363d6f57 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-25 18:16:47.829 WARN [http-nio-8892-exec-17] [1805545586018123778] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@456e1d22 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-25 18:16:52.830 WARN [http-nio-8892-exec-17] [1805545586018123778] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@5e9005d2 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-25 18:16:57.835 WARN [http-nio-8892-exec-17] [1805545586018123778] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@4256a53e (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-25 18:16:58.050 ERROR [http-nio-8892-exec-17] [] n.jjjerp.handler.GlobalExceptionHandler 233 : 异常来源:ip: 192.168.31.208, path: /api/admin/statement/market/board/product +2024-06-25 18:16:58.051 ERROR [http-nio-8892-exec-17] [] n.jjjerp.handler.GlobalExceptionHandler 257 : errorCode: 5000, errorMessage: 系统异常 + +org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is java.sql.SQLTransientConnectionException: HikariPool-1 - Connection is not available, request timed out after 30060ms. +### The error may exist in file [D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\target\classes\mapper\bill\BillHeadMapper.xml] +### The error may involve net.jjjerp.admin.mapper.bill.BillHeadMapper.productBoard +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is java.sql.SQLTransientConnectionException: HikariPool-1 - Connection is not available, request timed out after 30060ms. + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:440) + at com.sun.proxy.$Proxy115.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:223) + at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.executeForMany(MybatisMapperMethod.java:173) + at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:78) + at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:148) + at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89) + at com.sun.proxy.$Proxy302.productBoard(Unknown Source) + at sun.reflect.GeneratedMethodAccessor620.invoke(Unknown Source) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:344) + at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:198) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:139) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:212) + at com.sun.proxy.$Proxy303.productBoard(Unknown Source) + at net.jjjerp.admin.service.bill.impl.BillHeadServiceImpl.productBoard(BillHeadServiceImpl.java:783) + at net.jjjerp.admin.service.bill.impl.BillHeadServiceImpl$$FastClassBySpringCGLIB$$62790b2b.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.admin.service.bill.impl.BillHeadServiceImpl$$EnhancerBySpringCGLIB$$4e0ef724.productBoard() + at net.jjjerp.admin.controller.statement.market.BoardController.productBoard(BoardController.java:63) + at net.jjjerp.admin.controller.statement.market.BoardController$$FastClassBySpringCGLIB$$e315f1e.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.AspectJAfterThrowingAdvice.invoke(AspectJAfterThrowingAdvice.java:62) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:88) + at net.jjjerp.framework.log.aop.BaseLogAop.handle(BaseLogAop.java:303) + at net.jjjerp.aop.LogAop.doAround(LogAop.java:35) + at net.jjjerp.aop.LogAop$$FastClassBySpringCGLIB$$189c4aae.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.aop.LogAop$$EnhancerBySpringCGLIB$$7cf1a3c1.doAround() + at sun.reflect.GeneratedMethodAccessor264.invoke(Unknown Source) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:644) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:633) + at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.apache.shiro.spring.security.interceptor.AopAllianceAnnotationsAuthorizingMethodInterceptor$1.proceed(AopAllianceAnnotationsAuthorizingMethodInterceptor.java:82) + at org.apache.shiro.authz.aop.AuthorizingMethodInterceptor.invoke(AuthorizingMethodInterceptor.java:39) + at org.apache.shiro.spring.security.interceptor.AopAllianceAnnotationsAuthorizingMethodInterceptor.invoke(AopAllianceAnnotationsAuthorizingMethodInterceptor.java:115) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:95) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at net.jjjerp.admin.controller.statement.market.BoardController$$EnhancerBySpringCGLIB$$3e9bf466.productBoard() + at sun.reflect.GeneratedMethodAccessor619.invoke(Unknown Source) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:652) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:112) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) + at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is java.sql.SQLTransientConnectionException: HikariPool-1 - Connection is not available, request timed out after 30060ms. +### The error may exist in file [D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\target\classes\mapper\bill\BillHeadMapper.xml] +### The error may involve net.jjjerp.admin.mapper.bill.BillHeadMapper.productBoard +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is java.sql.SQLTransientConnectionException: HikariPool-1 - Connection is not available, request timed out after 30060ms. + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:149) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:140) + at sun.reflect.GeneratedMethodAccessor310.invoke(Unknown Source) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:426) + ... 140 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is java.sql.SQLTransientConnectionException: HikariPool-1 - Connection is not available, request timed out after 30060ms. + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:82) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:337) + at com.baomidou.mybatisplus.core.executor.MybatisSimpleExecutor.prepareStatement(MybatisSimpleExecutor.java:93) + at com.baomidou.mybatisplus.core.executor.MybatisSimpleExecutor.doQuery(MybatisSimpleExecutor.java:68) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:325) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:156) + at com.baomidou.mybatisplus.core.executor.MybatisCachingExecutor.query(MybatisCachingExecutor.java:165) + at com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor.intercept(MybatisPlusInterceptor.java:65) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:61) + at com.sun.proxy.$Proxy405.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + ... 145 common frames omitted +Caused by: java.sql.SQLTransientConnectionException: HikariPool-1 - Connection is not available, request timed out after 30060ms. + at com.zaxxer.hikari.pool.HikariPool.createTimeoutException(HikariPool.java:695) + at com.zaxxer.hikari.pool.HikariPool.getConnection(HikariPool.java:197) + at com.zaxxer.hikari.pool.HikariPool.getConnection(HikariPool.java:162) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:128) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:158) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:116) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:79) + ... 157 common frames omitted +Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: No operations allowed after connection closed. + at sun.reflect.GeneratedConstructorAccessor99.newInstance(Unknown Source) + at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) + at java.lang.reflect.Constructor.newInstance(Constructor.java:423) + at com.mysql.jdbc.Util.handleNewInstance(Util.java:425) + at com.mysql.jdbc.Util.getInstance(Util.java:408) + at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:919) + at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:898) + at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:887) + at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:861) + at com.mysql.jdbc.ConnectionImpl.throwConnectionClosedException(ConnectionImpl.java:1192) + at com.mysql.jdbc.ConnectionImpl.checkClosed(ConnectionImpl.java:1187) + at com.mysql.jdbc.ConnectionImpl.setNetworkTimeout(ConnectionImpl.java:5494) + at com.zaxxer.hikari.pool.PoolBase.setNetworkTimeout(PoolBase.java:560) + at com.zaxxer.hikari.pool.PoolBase.isConnectionAlive(PoolBase.java:173) + at com.zaxxer.hikari.pool.HikariPool.getConnection(HikariPool.java:186) + ... 162 common frames omitted + +2024-06-25 18:17:08.774 WARN [http-nio-8892-exec-8] [1805545736929181699] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@57c07647 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-25 18:17:08.946 WARN [http-nio-8892-exec-20] [1805545736929181698] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@63557d9f (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-25 18:17:13.781 WARN [http-nio-8892-exec-8] [1805545736929181699] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@552ff527 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-25 18:17:13.956 WARN [http-nio-8892-exec-20] [1805545736929181698] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@24b50dde (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-25 18:31:53.674 ERROR [http-nio-8892-exec-25] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy402.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-25 18:32:02.891 INFO [lettuce-eventExecutorLoop-1-3] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was /101.34.74.68:6379 +2024-06-25 18:32:02.915 INFO [lettuce-nioEventLoop-4-5] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to 101.34.74.68:6379 +2024-06-25 18:33:33.462 WARN [http-nio-8892-exec-27] [1805549867009998849] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@2721e212 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-25 18:33:38.464 WARN [http-nio-8892-exec-27] [1805549867009998849] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@76632649 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-25 18:33:43.470 WARN [http-nio-8892-exec-27] [1805549867009998849] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@34a48711 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-25 18:33:48.470 WARN [http-nio-8892-exec-27] [1805549867009998849] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@3493a521 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-25 18:33:53.480 WARN [http-nio-8892-exec-27] [1805549867009998849] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@786fb200 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-25 18:33:58.493 WARN [http-nio-8892-exec-27] [1805549867009998849] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@5f728c75 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-25 18:33:58.646 ERROR [http-nio-8892-exec-27] [] n.jjjerp.handler.GlobalExceptionHandler 233 : 异常来源:ip: 192.168.31.208, path: /api/admin/statement/market/board/product +2024-06-25 18:33:58.647 ERROR [http-nio-8892-exec-27] [] n.jjjerp.handler.GlobalExceptionHandler 257 : errorCode: 5000, errorMessage: 系统异常 + +org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is java.sql.SQLTransientConnectionException: HikariPool-1 - Connection is not available, request timed out after 30042ms. +### The error may exist in file [D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\target\classes\mapper\bill\BillHeadMapper.xml] +### The error may involve net.jjjerp.admin.mapper.bill.BillHeadMapper.productBoard +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is java.sql.SQLTransientConnectionException: HikariPool-1 - Connection is not available, request timed out after 30042ms. + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:440) + at com.sun.proxy.$Proxy115.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:223) + at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.executeForMany(MybatisMapperMethod.java:173) + at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:78) + at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:148) + at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89) + at com.sun.proxy.$Proxy302.productBoard(Unknown Source) + at sun.reflect.GeneratedMethodAccessor620.invoke(Unknown Source) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:344) + at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:198) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:139) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:212) + at com.sun.proxy.$Proxy303.productBoard(Unknown Source) + at net.jjjerp.admin.service.bill.impl.BillHeadServiceImpl.productBoard(BillHeadServiceImpl.java:783) + at net.jjjerp.admin.service.bill.impl.BillHeadServiceImpl$$FastClassBySpringCGLIB$$62790b2b.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.admin.service.bill.impl.BillHeadServiceImpl$$EnhancerBySpringCGLIB$$4e0ef724.productBoard() + at net.jjjerp.admin.controller.statement.market.BoardController.productBoard(BoardController.java:63) + at net.jjjerp.admin.controller.statement.market.BoardController$$FastClassBySpringCGLIB$$e315f1e.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.AspectJAfterThrowingAdvice.invoke(AspectJAfterThrowingAdvice.java:62) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:88) + at net.jjjerp.framework.log.aop.BaseLogAop.handle(BaseLogAop.java:303) + at net.jjjerp.aop.LogAop.doAround(LogAop.java:35) + at net.jjjerp.aop.LogAop$$FastClassBySpringCGLIB$$189c4aae.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.aop.LogAop$$EnhancerBySpringCGLIB$$7cf1a3c1.doAround() + at sun.reflect.GeneratedMethodAccessor264.invoke(Unknown Source) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:644) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:633) + at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.apache.shiro.spring.security.interceptor.AopAllianceAnnotationsAuthorizingMethodInterceptor$1.proceed(AopAllianceAnnotationsAuthorizingMethodInterceptor.java:82) + at org.apache.shiro.authz.aop.AuthorizingMethodInterceptor.invoke(AuthorizingMethodInterceptor.java:39) + at org.apache.shiro.spring.security.interceptor.AopAllianceAnnotationsAuthorizingMethodInterceptor.invoke(AopAllianceAnnotationsAuthorizingMethodInterceptor.java:115) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:95) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at net.jjjerp.admin.controller.statement.market.BoardController$$EnhancerBySpringCGLIB$$3e9bf466.productBoard() + at sun.reflect.GeneratedMethodAccessor619.invoke(Unknown Source) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:652) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:112) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) + at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is java.sql.SQLTransientConnectionException: HikariPool-1 - Connection is not available, request timed out after 30042ms. +### The error may exist in file [D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\target\classes\mapper\bill\BillHeadMapper.xml] +### The error may involve net.jjjerp.admin.mapper.bill.BillHeadMapper.productBoard +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is java.sql.SQLTransientConnectionException: HikariPool-1 - Connection is not available, request timed out after 30042ms. + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:149) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:140) + at sun.reflect.GeneratedMethodAccessor310.invoke(Unknown Source) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:426) + ... 140 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is java.sql.SQLTransientConnectionException: HikariPool-1 - Connection is not available, request timed out after 30042ms. + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:82) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:337) + at com.baomidou.mybatisplus.core.executor.MybatisSimpleExecutor.prepareStatement(MybatisSimpleExecutor.java:93) + at com.baomidou.mybatisplus.core.executor.MybatisSimpleExecutor.doQuery(MybatisSimpleExecutor.java:68) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:325) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:156) + at com.baomidou.mybatisplus.core.executor.MybatisCachingExecutor.query(MybatisCachingExecutor.java:165) + at com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor.intercept(MybatisPlusInterceptor.java:65) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:61) + at com.sun.proxy.$Proxy405.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + ... 145 common frames omitted +Caused by: java.sql.SQLTransientConnectionException: HikariPool-1 - Connection is not available, request timed out after 30042ms. + at com.zaxxer.hikari.pool.HikariPool.createTimeoutException(HikariPool.java:695) + at com.zaxxer.hikari.pool.HikariPool.getConnection(HikariPool.java:197) + at com.zaxxer.hikari.pool.HikariPool.getConnection(HikariPool.java:162) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:128) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:158) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:116) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:79) + ... 157 common frames omitted +Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: No operations allowed after connection closed. + at sun.reflect.GeneratedConstructorAccessor99.newInstance(Unknown Source) + at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) + at java.lang.reflect.Constructor.newInstance(Constructor.java:423) + at com.mysql.jdbc.Util.handleNewInstance(Util.java:425) + at com.mysql.jdbc.Util.getInstance(Util.java:408) + at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:919) + at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:898) + at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:887) + at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:861) + at com.mysql.jdbc.ConnectionImpl.throwConnectionClosedException(ConnectionImpl.java:1192) + at com.mysql.jdbc.ConnectionImpl.checkClosed(ConnectionImpl.java:1187) + at com.mysql.jdbc.ConnectionImpl.setNetworkTimeout(ConnectionImpl.java:5494) + at com.zaxxer.hikari.pool.PoolBase.setNetworkTimeout(PoolBase.java:560) + at com.zaxxer.hikari.pool.PoolBase.isConnectionAlive(PoolBase.java:173) + at com.zaxxer.hikari.pool.HikariPool.getConnection(HikariPool.java:186) + ... 162 common frames omitted + +2024-06-25 18:35:01.954 WARN [http-nio-8892-exec-26] [1805550238180737025] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@932f0fd (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-25 18:35:06.967 WARN [http-nio-8892-exec-26] [1805550238180737025] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@6b475658 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-25 18:35:11.981 WARN [http-nio-8892-exec-26] [1805550238180737025] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@24fe335b (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-25 18:35:16.992 WARN [http-nio-8892-exec-26] [1805550238180737025] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@3107186 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-25 18:50:54.801 INFO [SpringContextShutdownHook] [] net.jjjerp.framework.core.xss.XssFilter 30 : XssFilter destroy +2024-06-25 18:50:54.802 INFO [SpringContextShutdownHook] [] n.j.f.core.filter.RequestDetailFilter 116 : RequestDetailFilter destroy +2024-06-25 18:50:54.809 INFO [SpringContextShutdownHook] [] o.s.s.c.ThreadPoolTaskScheduler 218 : Shutting down ExecutorService 'taskScheduler' +2024-06-25 18:50:54.810 INFO [SpringContextShutdownHook] [] o.s.s.concurrent.ThreadPoolTaskExecutor 218 : Shutting down ExecutorService 'applicationTaskExecutor' +2024-06-25 18:50:54.815 INFO [SpringContextShutdownHook] [] com.zaxxer.hikari.HikariDataSource 350 : HikariPool-1 - Shutdown initiated... +2024-06-25 18:50:54.817 INFO [SpringContextShutdownHook] [] com.zaxxer.hikari.HikariDataSource 352 : HikariPool-1 - Shutdown completed. diff --git a/jjj_erp/logs/spring-boot-jjj-2024-06-26.0.log b/jjj_erp/logs/spring-boot-jjj-2024-06-26.0.log new file mode 100644 index 0000000..b75aedc --- /dev/null +++ b/jjj_erp/logs/spring-boot-jjj-2024-06-26.0.log @@ -0,0 +1,6019 @@ +2024-06-26 08:30:02.851 INFO [main] [] net.jjjerp.SpringBootJjjApplication 55 : Starting SpringBootJjjApplication on OS-20230506YKNI with PID 2492 (D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\bootstrap\target\classes started by Administrator in D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp) +2024-06-26 08:30:02.846 INFO [background-preinit] [] o.h.validator.internal.util.Version 21 : HV000001: Hibernate Validator 6.1.7.Final +2024-06-26 08:30:02.853 INFO [main] [] net.jjjerp.SpringBootJjjApplication 652 : The following profiles are active: prod +2024-06-26 08:30:05.548 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 249 : Multiple Spring Data modules found, entering strict repository configuration mode! +2024-06-26 08:30:05.551 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 127 : Bootstrapping Spring Data Redis repositories in DEFAULT mode. +2024-06-26 08:30:05.809 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 187 : Finished Spring Data repository scanning in 234ms. Found 0 Redis repository interfaces. +2024-06-26 08:30:06.520 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.ShiroConfig' of type [net.jjjerp.config.ShiroConfig$$EnhancerBySpringCGLIB$$6b705c56] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 08:30:06.751 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.properties.JwtProperties' of type [net.jjjerp.config.properties.JwtProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 08:30:06.757 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.RedisTemplateConfig' of type [net.jjjerp.config.RedisTemplateConfig$$EnhancerBySpringCGLIB$$3ad566fa] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 08:30:06.769 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'spring.redis-org.springframework.boot.autoconfigure.data.redis.RedisProperties' of type [org.springframework.boot.autoconfigure.data.redis.RedisProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 08:30:06.776 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration' of type [org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 08:30:06.890 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'lettuceClientResources' of type [io.lettuce.core.resource.DefaultClientResources] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 08:30:07.075 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'redisConnectionFactory' of type [org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 08:30:07.202 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'redisTemplate' of type [org.springframework.data.redis.core.RedisTemplate] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 08:30:07.203 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.cache.impl.AdminLoginRedisServiceImpl' of type [net.jjjerp.framework.shiro.cache.impl.AdminLoginRedisServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 08:30:07.208 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.cache.impl.ShopLoginRedisServiceImpl' of type [net.jjjerp.framework.shiro.cache.impl.ShopLoginRedisServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 08:30:07.431 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'credentialsMatcher' of type [net.jjjerp.framework.shiro.jwt.JwtCredentialsMatcher] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 08:30:07.442 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'jwtRealm' of type [net.jjjerp.framework.shiro.jwt.JwtRealm] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 08:30:07.444 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'sessionStorageEvaluator' of type [org.apache.shiro.web.mgt.DefaultWebSessionStorageEvaluator] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 08:30:07.444 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'subjectDAO' of type [org.apache.shiro.mgt.DefaultSubjectDAO] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 08:30:07.448 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'securityManager' of type [org.apache.shiro.web.mgt.DefaultWebSecurityManager] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 08:30:07.480 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.service.impl.ShiroLoginServiceImpl' of type [net.jjjerp.framework.shiro.service.impl.ShiroLoginServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 08:30:07.489 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'spring-boot-jjj.shiro-net.jjjerp.config.properties.ShiroProperties' of type [net.jjjerp.config.properties.ShiroProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 08:30:07.615 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'authorizationAttributeSourceAdvisor' of type [org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 08:30:07.880 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.RedisCacheConfig' of type [net.jjjerp.config.RedisCacheConfig$$EnhancerBySpringCGLIB$$f0123dfc] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 08:30:08.315 INFO [main] [] o.s.b.w.embedded.tomcat.TomcatWebServer 108 : Tomcat initialized with port(s): 8892 (http) +2024-06-26 08:30:08.326 INFO [main] [] o.a.coyote.http11.Http11NioProtocol 173 : Initializing ProtocolHandler ["http-nio-8892"] +2024-06-26 08:30:08.327 INFO [main] [] o.apache.catalina.core.StandardService 173 : Starting service [Tomcat] +2024-06-26 08:30:08.327 INFO [main] [] org.apache.catalina.core.StandardEngine 173 : Starting Servlet engine: [Apache Tomcat/9.0.46] +2024-06-26 08:30:08.453 INFO [main] [] o.a.c.c.C.[Tomcat].[localhost].[/api] 173 : Initializing Spring embedded WebApplicationContext +2024-06-26 08:30:08.453 INFO [main] [] w.s.c.ServletWebServerApplicationContext 285 : Root WebApplicationContext: initialization completed in 5494 ms +2024-06-26 08:30:08.616 INFO [main] [] net.jjjerp.framework.core.xss.XssFilter 18 : XssFilter init +2024-06-26 08:30:08.617 INFO [main] [] n.j.f.core.filter.RequestDetailFilter 30 : RequestDetailFilter init +2024-06-26 08:30:16.035 INFO [main] [] org.reflections.Reflections 228 : Reflections took 91 ms to scan 1 urls, producing 0 keys and 0 values +2024-06-26 08:30:16.221 INFO [main] [] net.jjjerp.framework.shiro.util.JwtUtil 33 : {"audience":"web","expireSecond":36000,"issuer":"spring-boot-jjj","redisCheck":true,"refreshToken":true,"refreshTokenCountdown":600,"saltCheck":true,"secret":"888888","singleLogin":false,"tokenName":"token"} +2024-06-26 08:30:19.462 INFO [main] [] pertySourcedRequestMappingHandlerMapping 69 : Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2Controller#getDocumentation(String, HttpServletRequest)] +2024-06-26 08:30:19.488 INFO [main] [] net.jjjerp.config.Swagger2Config 149 : swagger scan basePackages:null +2024-06-26 08:30:19.630 INFO [main] [] o.s.s.concurrent.ThreadPoolTaskExecutor 181 : Initializing ExecutorService 'applicationTaskExecutor' +2024-06-26 08:30:19.726 INFO [main] [] o.s.b.a.w.s.WelcomePageHandlerMapping 53 : Adding welcome page: class path resource [static/index.html] +2024-06-26 08:30:19.932 INFO [main] [] o.s.s.c.ThreadPoolTaskScheduler 181 : Initializing ExecutorService 'taskScheduler' +2024-06-26 08:30:20.047 INFO [main] [] o.a.coyote.http11.Http11NioProtocol 173 : Starting ProtocolHandler ["http-nio-8892"] +2024-06-26 08:30:20.074 INFO [main] [] o.s.b.w.embedded.tomcat.TomcatWebServer 220 : Tomcat started on port(s): 8892 (http) with context path '/api' +2024-06-26 08:30:20.075 INFO [main] [] d.s.w.p.DocumentationPluginsBootstrapper 160 : Context refreshed +2024-06-26 08:30:20.083 INFO [main] [] d.s.w.p.DocumentationPluginsBootstrapper 163 : Found 1 custom documentation plugin(s) +2024-06-26 08:30:20.131 INFO [main] [] s.d.s.w.s.ApiListingReferenceScanner 41 : Scanning for api listing references +2024-06-26 08:30:20.284 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_1 +2024-06-26 08:30:20.285 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_1 +2024-06-26 08:30:20.286 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_1 +2024-06-26 08:30:20.303 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_1 +2024-06-26 08:30:20.352 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_2 +2024-06-26 08:30:20.354 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_2 +2024-06-26 08:30:20.357 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_3 +2024-06-26 08:30:20.358 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_3 +2024-06-26 08:30:20.360 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_4 +2024-06-26 08:30:20.361 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_4 +2024-06-26 08:30:20.362 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexOutUsingPOST_1 +2024-06-26 08:30:20.365 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_5 +2024-06-26 08:30:20.372 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_5 +2024-06-26 08:30:20.373 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_2 +2024-06-26 08:30:20.373 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_2 +2024-06-26 08:30:20.388 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_6 +2024-06-26 08:30:20.390 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_7 +2024-06-26 08:30:20.396 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_8 +2024-06-26 08:30:20.430 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_6 +2024-06-26 08:30:20.431 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_3 +2024-06-26 08:30:20.431 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_3 +2024-06-26 08:30:20.438 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_9 +2024-06-26 08:30:20.443 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_10 +2024-06-26 08:30:20.445 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_7 +2024-06-26 08:30:20.446 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_4 +2024-06-26 08:30:20.447 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_4 +2024-06-26 08:30:20.450 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_11 +2024-06-26 08:30:20.454 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_8 +2024-06-26 08:30:20.455 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_5 +2024-06-26 08:30:20.456 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_5 +2024-06-26 08:30:20.460 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_12 +2024-06-26 08:30:20.465 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_9 +2024-06-26 08:30:20.467 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_6 +2024-06-26 08:30:20.468 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_6 +2024-06-26 08:30:20.474 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_13 +2024-06-26 08:30:20.475 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_1 +2024-06-26 08:30:20.478 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_10 +2024-06-26 08:30:20.478 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_7 +2024-06-26 08:30:20.479 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_7 +2024-06-26 08:30:20.482 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_14 +2024-06-26 08:30:20.485 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_11 +2024-06-26 08:30:20.486 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_8 +2024-06-26 08:30:20.488 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_8 +2024-06-26 08:30:20.491 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_15 +2024-06-26 08:30:20.493 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_12 +2024-06-26 08:30:20.499 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_9 +2024-06-26 08:30:20.503 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_9 +2024-06-26 08:30:20.510 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_16 +2024-06-26 08:30:20.513 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_17 +2024-06-26 08:30:20.523 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_13 +2024-06-26 08:30:20.524 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_10 +2024-06-26 08:30:20.528 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_18 +2024-06-26 08:30:20.529 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_1 +2024-06-26 08:30:20.543 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addGroupUsingPOST_1 +2024-06-26 08:30:20.544 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: categoryUsingPOST_1 +2024-06-26 08:30:20.545 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteFilesUsingPOST_1 +2024-06-26 08:30:20.545 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteGroupUsingPOST_1 +2024-06-26 08:30:20.546 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editGroupUsingPOST_1 +2024-06-26 08:30:20.551 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: listsUsingPOST_1 +2024-06-26 08:30:20.552 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: moveFilesUsingPOST_1 +2024-06-26 08:30:20.554 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_19 +2024-06-26 08:30:20.559 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_20 +2024-06-26 08:30:20.565 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_14 +2024-06-26 08:30:20.566 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_10 +2024-06-26 08:30:20.567 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteFilesUsingPOST_2 +2024-06-26 08:30:20.567 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_11 +2024-06-26 08:30:20.568 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_21 +2024-06-26 08:30:20.568 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: listUsingPOST_1 +2024-06-26 08:30:20.569 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: moveFilesUsingPOST_2 +2024-06-26 08:30:20.575 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_22 +2024-06-26 08:30:20.579 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_23 +2024-06-26 08:30:20.583 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_24 +2024-06-26 08:30:20.585 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_25 +2024-06-26 08:30:20.588 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_15 +2024-06-26 08:30:20.588 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_1 +2024-06-26 08:30:20.590 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_12 +2024-06-26 08:30:20.591 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_26 +2024-06-26 08:30:20.592 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: repulseAuditUsingPOST_1 +2024-06-26 08:30:20.595 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_16 +2024-06-26 08:30:20.596 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_11 +2024-06-26 08:30:20.596 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_13 +2024-06-26 08:30:20.601 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_27 +2024-06-26 08:30:20.606 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_17 +2024-06-26 08:30:20.606 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_12 +2024-06-26 08:30:20.607 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_14 +2024-06-26 08:30:20.610 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_28 +2024-06-26 08:30:20.612 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_18 +2024-06-26 08:30:20.613 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_29 +2024-06-26 08:30:20.618 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_30 +2024-06-26 08:30:20.619 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_19 +2024-06-26 08:30:20.620 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_1 +2024-06-26 08:30:20.621 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_31 +2024-06-26 08:30:20.624 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_1 +2024-06-26 08:30:20.625 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_32 +2024-06-26 08:30:20.627 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_20 +2024-06-26 08:30:20.627 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_2 +2024-06-26 08:30:20.628 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_33 +2024-06-26 08:30:20.637 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: loginUsingPOST_1 +2024-06-26 08:30:20.638 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: logoutUsingPOST_1 +2024-06-26 08:30:20.639 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_34 +2024-06-26 08:30:20.642 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_21 +2024-06-26 08:30:20.643 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_13 +2024-06-26 08:30:20.643 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_15 +2024-06-26 08:30:20.644 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_35 +2024-06-26 08:30:20.646 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_2 +2024-06-26 08:30:20.651 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_22 +2024-06-26 08:30:20.651 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_14 +2024-06-26 08:30:20.652 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_16 +2024-06-26 08:30:20.658 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_36 +2024-06-26 08:30:20.659 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: stateUsingPOST_1 +2024-06-26 08:30:20.660 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_1 +2024-06-26 08:30:20.660 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_3 +2024-06-26 08:30:20.663 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_23 +2024-06-26 08:30:20.664 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_2 +2024-06-26 08:30:20.665 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_2 +2024-06-26 08:30:20.667 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_17 +2024-06-26 08:30:20.668 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_37 +2024-06-26 08:30:20.671 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_3 +2024-06-26 08:30:20.672 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_18 +2024-06-26 08:30:20.673 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_38 +2024-06-26 08:30:20.675 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addStorageUsingPOST_1 +2024-06-26 08:30:20.676 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_4 +2024-06-26 08:30:20.677 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_3 +2024-06-26 08:30:20.678 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_19 +2024-06-26 08:30:20.679 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_39 +2024-06-26 08:30:20.681 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_40 +2024-06-26 08:30:20.683 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_24 +2024-06-26 08:30:20.684 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_20 +2024-06-26 08:30:20.685 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_3 +2024-06-26 08:30:20.689 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_25 +2024-06-26 08:30:20.690 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_15 +2024-06-26 08:30:20.691 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_21 +2024-06-26 08:30:20.693 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_41 +2024-06-26 08:30:20.696 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_2 +2024-06-26 08:30:20.697 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_4 +2024-06-26 08:30:20.700 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: scanIndexUsingPOST_1 +2024-06-26 08:30:20.702 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_42 +2024-06-26 08:30:20.702 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_1 +2024-06-26 08:30:20.705 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_26 +2024-06-26 08:30:20.706 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_16 +2024-06-26 08:30:20.706 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_22 +2024-06-26 08:30:20.714 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_43 +2024-06-26 08:30:20.721 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_27 +2024-06-26 08:30:20.722 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_17 +2024-06-26 08:30:20.723 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_23 +2024-06-26 08:30:20.725 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_44 +2024-06-26 08:30:20.726 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_3 +2024-06-26 08:30:20.727 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_5 +2024-06-26 08:30:20.731 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_28 +2024-06-26 08:30:20.732 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_18 +2024-06-26 08:30:20.733 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_24 +2024-06-26 08:30:20.737 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_45 +2024-06-26 08:30:20.739 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_46 +2024-06-26 08:30:20.740 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_2 +2024-06-26 08:30:20.742 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_29 +2024-06-26 08:30:20.743 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_47 +2024-06-26 08:30:20.745 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_48 +2024-06-26 08:30:20.746 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_49 +2024-06-26 08:30:20.747 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_3 +2024-06-26 08:30:20.751 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_30 +2024-06-26 08:30:20.751 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_19 +2024-06-26 08:30:20.752 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_25 +2024-06-26 08:30:20.757 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_50 +2024-06-26 08:30:20.758 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_2 +2024-06-26 08:30:20.759 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_4 +2024-06-26 08:30:20.759 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_6 +2024-06-26 08:30:20.764 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_31 +2024-06-26 08:30:20.765 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_20 +2024-06-26 08:30:20.766 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_26 +2024-06-26 08:30:20.771 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_51 +2024-06-26 08:30:20.772 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_3 +2024-06-26 08:30:20.773 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_7 +2024-06-26 08:30:20.773 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_52 +2024-06-26 08:30:20.774 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_4 +2024-06-26 08:30:20.776 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_32 +2024-06-26 08:30:20.777 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_21 +2024-06-26 08:30:20.777 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_27 +2024-06-26 08:30:20.779 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_53 +2024-06-26 08:30:20.782 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: uploadUsingPOST_1 +2024-06-26 08:30:20.805 INFO [main] [] net.jjjerp.SpringBootJjjApplication 61 : Started SpringBootJjjApplication in 18.974 seconds (JVM running for 20.71) +2024-06-26 08:30:20.809 INFO [main] [] n.j.framework.util.PrintApplicationInfo 61 : projectFinalName : jjj-erp-1.0 +2024-06-26 08:30:20.809 INFO [main] [] n.j.framework.util.PrintApplicationInfo 62 : projectVersion : 1.0 +2024-06-26 08:30:20.809 INFO [main] [] n.j.framework.util.PrintApplicationInfo 63 : profileActive : prod +2024-06-26 08:30:20.809 INFO [main] [] n.j.framework.util.PrintApplicationInfo 64 : contextPath : /api +2024-06-26 08:30:20.809 INFO [main] [] n.j.framework.util.PrintApplicationInfo 65 : serverIp : http://erp3.huadeng.fun +2024-06-26 08:30:20.809 INFO [main] [] n.j.framework.util.PrintApplicationInfo 66 : port : 8892 +2024-06-26 08:30:20.809 INFO [main] [] n.j.framework.util.PrintApplicationInfo 81 : Home: http://erp3.huadeng.fun/api +2024-06-26 08:30:20.810 INFO [main] [] n.j.framework.util.PrintApplicationInfo 82 : Knife4j: http://erp3.huadeng.fun/api/doc.html +2024-06-26 08:30:20.810 INFO [main] [] n.j.framework.util.PrintApplicationInfo 83 : Swagger: http://erp3.huadeng.fun/api/swagger-ui.html +2024-06-26 08:30:20.810 INFO [main] [] n.j.framework.util.PrintApplicationInfo 84 : jjj-erp 启动成功........... + ____ __ __ ____ +/\ _`\ /\ \__ /\ \__ /\ _`\ +\ \,\L\_\ \ ,_\ __ _ __\ \ ,_\ \ \,\L\_\ __ __ ___ ___ __ ____ ____ + \/_\__ \\ \ \/ /'__`\ /\`'__\ \ \/ \/_\__ \ /\ \/\ \ /'___\ /'___\ /'__`\ /',__\ /',__\ + /\ \L\ \ \ \_/\ \L\.\_\ \ \/ \ \ \_ /\ \L\ \ \ \_\ \/\ \__//\ \__//\ __//\__, `\/\__, `\ + \ `\____\ \__\ \__/.\_\\ \_\ \ \__\ \ `\____\ \____/\ \____\ \____\ \____\/\____/\/\____/ + \/_____/\/__/\/__/\/_/ \/_/ \/__/ \/_____/\/___/ \/____/\/____/\/____/\/___/ \/___/ + + +2024-06-26 08:37:38.808 INFO [http-nio-8892-exec-1] [] o.a.c.c.C.[Tomcat].[localhost].[/api] 173 : Initializing Spring DispatcherServlet 'dispatcherServlet' +2024-06-26 08:37:38.809 INFO [http-nio-8892-exec-1] [] o.s.web.servlet.DispatcherServlet 525 : Initializing Servlet 'dispatcherServlet' +2024-06-26 08:37:38.818 INFO [http-nio-8892-exec-1] [] o.s.web.servlet.DispatcherServlet 547 : Completed initialization in 9 ms +2024-06-26 08:37:39.240 ERROR [http-nio-8892-exec-2] [] n.jjjerp.framework.shiro.jwt.JwtFilter 138 : 访问错误 + +org.apache.shiro.authc.AuthenticationException: JWT Token已过期,token:eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhdWQiOiJ3ZWIiLCJpc3MiOiJzcHJpbmctYm9vdC1qamoiLCJleHAiOjE3MTkzNDA5OTIsImlhdCI6MTcxOTMwNDk5MiwianRpIjoiM2YwMTI0MzRmNjYwNGQzYmE1MjU1NmU5NjQ4YzBkY2UiLCJ1c2VybmFtZSI6ImFkbWluIn0.WhAHsD3vo7_u7LYqbtSF2ivwbHeLKOuC7vbvBirJdiU + at net.jjjerp.framework.shiro.jwt.JwtFilter.createToken(JwtFilter.java:67) + at org.apache.shiro.web.filter.authc.AuthenticatingFilter.executeLogin(AuthenticatingFilter.java:45) + at net.jjjerp.framework.shiro.jwt.JwtFilter.isAccessAllowed(JwtFilter.java:134) + at org.apache.shiro.web.filter.AccessControlFilter.onPreHandle(AccessControlFilter.java:162) + at org.apache.shiro.web.filter.PathMatchingFilter.isFilterChainContinued(PathMatchingFilter.java:214) + at org.apache.shiro.web.filter.PathMatchingFilter.preHandle(PathMatchingFilter.java:189) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:131) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) + +2024-06-26 08:37:39.241 ERROR [http-nio-8892-exec-2] [] n.jjjerp.framework.shiro.jwt.JwtFilter 111 : onAccessDenied url:/api/admin/statement/market/board/product +2024-06-26 08:37:39.247 ERROR [http-nio-8892-exec-1] [] n.jjjerp.framework.shiro.jwt.JwtFilter 138 : 访问错误 + +org.apache.shiro.authc.AuthenticationException: JWT Token已过期,token:eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhdWQiOiJ3ZWIiLCJpc3MiOiJzcHJpbmctYm9vdC1qamoiLCJleHAiOjE3MTkzNDA5OTIsImlhdCI6MTcxOTMwNDk5MiwianRpIjoiM2YwMTI0MzRmNjYwNGQzYmE1MjU1NmU5NjQ4YzBkY2UiLCJ1c2VybmFtZSI6ImFkbWluIn0.WhAHsD3vo7_u7LYqbtSF2ivwbHeLKOuC7vbvBirJdiU + at net.jjjerp.framework.shiro.jwt.JwtFilter.createToken(JwtFilter.java:67) + at org.apache.shiro.web.filter.authc.AuthenticatingFilter.executeLogin(AuthenticatingFilter.java:45) + at net.jjjerp.framework.shiro.jwt.JwtFilter.isAccessAllowed(JwtFilter.java:134) + at org.apache.shiro.web.filter.AccessControlFilter.onPreHandle(AccessControlFilter.java:162) + at org.apache.shiro.web.filter.PathMatchingFilter.isFilterChainContinued(PathMatchingFilter.java:214) + at org.apache.shiro.web.filter.PathMatchingFilter.preHandle(PathMatchingFilter.java:189) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:131) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) + +2024-06-26 08:37:39.247 ERROR [http-nio-8892-exec-3] [] n.jjjerp.framework.shiro.jwt.JwtFilter 138 : 访问错误 + +org.apache.shiro.authc.AuthenticationException: JWT Token已过期,token:eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhdWQiOiJ3ZWIiLCJpc3MiOiJzcHJpbmctYm9vdC1qamoiLCJleHAiOjE3MTkzNDA5OTIsImlhdCI6MTcxOTMwNDk5MiwianRpIjoiM2YwMTI0MzRmNjYwNGQzYmE1MjU1NmU5NjQ4YzBkY2UiLCJ1c2VybmFtZSI6ImFkbWluIn0.WhAHsD3vo7_u7LYqbtSF2ivwbHeLKOuC7vbvBirJdiU + at net.jjjerp.framework.shiro.jwt.JwtFilter.createToken(JwtFilter.java:67) + at org.apache.shiro.web.filter.authc.AuthenticatingFilter.executeLogin(AuthenticatingFilter.java:45) + at net.jjjerp.framework.shiro.jwt.JwtFilter.isAccessAllowed(JwtFilter.java:134) + at org.apache.shiro.web.filter.AccessControlFilter.onPreHandle(AccessControlFilter.java:162) + at org.apache.shiro.web.filter.PathMatchingFilter.isFilterChainContinued(PathMatchingFilter.java:214) + at org.apache.shiro.web.filter.PathMatchingFilter.preHandle(PathMatchingFilter.java:189) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:131) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) + +2024-06-26 08:37:39.247 ERROR [http-nio-8892-exec-1] [] n.jjjerp.framework.shiro.jwt.JwtFilter 111 : onAccessDenied url:/api/admin/setting/system/user/getUserInfo +2024-06-26 08:37:39.247 ERROR [http-nio-8892-exec-3] [] n.jjjerp.framework.shiro.jwt.JwtFilter 111 : onAccessDenied url:/api/admin/statement/market/board/deal +2024-06-26 08:37:39.576 INFO [http-nio-8892-exec-4] [1805762312869646337] com.zaxxer.hikari.HikariDataSource 110 : HikariPool-1 - Starting... +2024-06-26 08:37:39.997 INFO [http-nio-8892-exec-4] [1805762312869646337] com.zaxxer.hikari.HikariDataSource 123 : HikariPool-1 - Start completed. +2024-06-26 08:54:07.769 ERROR [http-nio-8892-exec-20] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy402.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-26 08:54:17.061 INFO [lettuce-eventExecutorLoop-1-5] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was /101.34.74.68:6379 +2024-06-26 08:54:17.089 INFO [lettuce-nioEventLoop-4-2] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to 101.34.74.68:6379 +2024-06-26 08:55:56.091 WARN [http-nio-8892-exec-19] [1805766890910519298] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@68ccf711 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-26 08:55:56.273 WARN [http-nio-8892-exec-12] [1805766891707437057] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@6cd1e40d (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-26 08:56:01.104 WARN [http-nio-8892-exec-19] [1805766890910519298] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@40f9cf35 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-26 08:56:01.280 WARN [http-nio-8892-exec-12] [1805766891707437057] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@42cb8c27 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-26 08:56:06.120 WARN [http-nio-8892-exec-19] [1805766890910519298] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@18f4838f (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-26 08:56:06.295 WARN [http-nio-8892-exec-12] [1805766891707437057] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@66def1c7 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-26 08:56:11.133 WARN [http-nio-8892-exec-19] [1805766890910519298] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@6df5f772 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-26 08:56:11.307 WARN [http-nio-8892-exec-12] [1805766891707437057] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@4b525292 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-26 08:56:16.147 WARN [http-nio-8892-exec-19] [1805766890910519298] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@22fa77d7 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-26 08:56:16.321 WARN [http-nio-8892-exec-12] [1805766891707437057] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@26a85ded (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-26 09:06:15.700 ERROR [http-nio-8892-exec-24] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.data.redis.RedisSystemException: Redis exception; nested exception is io.lettuce.core.RedisException: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:74) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisException: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:134) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy402.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted +Caused by: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + ... 1 common frames omitted + +2024-06-26 09:06:15.755 INFO [lettuce-eventExecutorLoop-1-8] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was /101.34.74.68:6379 +2024-06-26 09:06:15.777 INFO [lettuce-nioEventLoop-4-3] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to 101.34.74.68:6379 +2024-06-26 09:10:03.584 WARN [http-nio-8892-exec-23] [1805770445444747266] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@10a09230 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-26 09:10:03.646 WARN [http-nio-8892-exec-28] [1805770445767708673] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@29ddc9b6 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-26 09:10:08.596 WARN [http-nio-8892-exec-23] [1805770445444747266] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@175be836 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-26 09:10:08.647 WARN [http-nio-8892-exec-28] [1805770445767708673] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@1f5bbbb3 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-26 09:10:13.609 WARN [http-nio-8892-exec-23] [1805770445444747266] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@1e5b92c3 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-26 09:10:13.656 WARN [http-nio-8892-exec-28] [1805770445767708673] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@6a5a9552 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-26 09:10:18.624 WARN [http-nio-8892-exec-23] [1805770445444747266] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@205ba068 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-26 09:10:18.669 WARN [http-nio-8892-exec-28] [1805770445767708673] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@289e2d89 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-26 09:10:23.641 WARN [http-nio-8892-exec-23] [1805770445444747266] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@52ecf929 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-26 09:10:23.673 WARN [http-nio-8892-exec-28] [1805770445767708673] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@76e8665f (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-26 09:36:31.176 ERROR [http-nio-8892-exec-23] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy402.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-26 09:36:34.737 ERROR [http-nio-8892-exec-28] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy402.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-26 09:36:40.455 INFO [lettuce-eventExecutorLoop-1-7] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was /101.34.74.68:6379 +2024-06-26 09:36:40.479 INFO [lettuce-nioEventLoop-4-4] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to 101.34.74.68:6379 +2024-06-26 09:36:46.470 WARN [http-nio-8892-exec-27] [1805777168133918722] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@363e328b (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-26 09:36:46.518 WARN [http-nio-8892-exec-29] [1805777168133918721] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@731935b4 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-26 09:36:46.860 WARN [http-nio-8892-exec-30] [1805777170302373890] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@6be1431e (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-26 09:36:51.480 WARN [http-nio-8892-exec-27] [1805777168133918722] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@40f081e (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-26 09:36:51.527 WARN [http-nio-8892-exec-29] [1805777168133918721] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@78508289 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-26 09:36:51.870 WARN [http-nio-8892-exec-30] [1805777170302373890] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@4a4028d5 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-26 09:36:56.492 WARN [http-nio-8892-exec-27] [1805777168133918722] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@333b1d37 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-26 09:36:56.538 WARN [http-nio-8892-exec-29] [1805777168133918721] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@2ed0b06d (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-26 09:36:56.882 WARN [http-nio-8892-exec-30] [1805777170302373890] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@749f0e05 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-26 09:37:01.494 WARN [http-nio-8892-exec-27] [1805777168133918722] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@370a4672 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-26 09:47:34.266 ERROR [http-nio-8892-exec-3] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.data.redis.RedisSystemException: Redis exception; nested exception is io.lettuce.core.RedisException: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:74) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisException: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:134) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy402.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted +Caused by: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + ... 1 common frames omitted + +2024-06-26 09:47:34.356 INFO [lettuce-eventExecutorLoop-1-5] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was /101.34.74.68:6379 +2024-06-26 09:47:34.380 INFO [lettuce-nioEventLoop-4-5] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to 101.34.74.68:6379 +2024-06-26 09:47:38.584 WARN [http-nio-8892-exec-1] [1805779924924108801] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@127465cb (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-26 09:47:41.151 WARN [http-nio-8892-exec-4] [1805779935791550466] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@159b88a6 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-26 09:47:43.616 WARN [http-nio-8892-exec-1] [1805779924924108801] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@523383e1 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-26 09:47:46.159 WARN [http-nio-8892-exec-4] [1805779935791550466] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@779df713 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-26 09:47:48.410 WARN [http-nio-8892-exec-1] [1805779924924108801] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@62cc9d1b (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-26 09:47:51.174 WARN [http-nio-8892-exec-4] [1805779935791550466] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@4c18fdaf (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-26 09:47:53.415 WARN [http-nio-8892-exec-1] [1805779924924108801] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@6c9aa358 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-26 09:47:56.181 WARN [http-nio-8892-exec-4] [1805779935791550466] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@49dc8081 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-26 09:47:58.426 WARN [http-nio-8892-exec-1] [1805779924924108801] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@7ad48d5a (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-26 09:48:01.190 WARN [http-nio-8892-exec-4] [1805779935791550466] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@4bffa4 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-26 09:48:15.927 INFO [SpringContextShutdownHook] [] net.jjjerp.framework.core.xss.XssFilter 30 : XssFilter destroy +2024-06-26 09:48:15.927 INFO [SpringContextShutdownHook] [] n.j.f.core.filter.RequestDetailFilter 116 : RequestDetailFilter destroy +2024-06-26 09:48:19.643 ERROR [http-nio-8892-exec-6] [] n.jjjerp.handler.GlobalExceptionHandler 233 : 异常来源:ip: 192.168.31.208, path: /api/admin/purchase/purchase/order/index +2024-06-26 09:48:19.644 ERROR [http-nio-8892-exec-6] [] n.jjjerp.handler.GlobalExceptionHandler 257 : errorCode: 5000, errorMessage: 系统异常 + +java.lang.NullPointerException: null + at org.springframework.web.util.UrlPathHelper.getSanitizedPath(UrlPathHelper.java:355) + at org.springframework.web.util.UrlPathHelper.decodeAndCleanUriString(UrlPathHelper.java:495) + at org.springframework.web.util.UrlPathHelper.getOriginatingRequestUri(UrlPathHelper.java:440) + at org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodProcessor.addContentDispositionHeader(AbstractMessageConverterMethodProcessor.java:423) + at org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodProcessor.writeWithMessageConverters(AbstractMessageConverterMethodProcessor.java:275) + at org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.handleReturnValue(RequestResponseBodyMethodProcessor.java:181) + at org.springframework.web.method.support.HandlerMethodReturnValueHandlerComposite.handleReturnValue(HandlerMethodReturnValueHandlerComposite.java:82) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:123) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:652) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:112) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) + at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) + +2024-06-26 09:48:19.645 WARN [http-nio-8892-exec-6] [] .m.m.a.ExceptionHandlerExceptionResolver 414 : Failure in @ExceptionHandler net.jjjerp.handler.GlobalExceptionHandler#exceptionHandler(Exception) + +java.lang.NullPointerException: null + at org.springframework.web.util.UrlPathHelper.getSanitizedPath(UrlPathHelper.java:355) + at org.springframework.web.util.UrlPathHelper.decodeAndCleanUriString(UrlPathHelper.java:495) + at org.springframework.web.util.UrlPathHelper.getOriginatingRequestUri(UrlPathHelper.java:440) + at org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodProcessor.addContentDispositionHeader(AbstractMessageConverterMethodProcessor.java:423) + at org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodProcessor.writeWithMessageConverters(AbstractMessageConverterMethodProcessor.java:275) + at org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.handleReturnValue(RequestResponseBodyMethodProcessor.java:181) + at org.springframework.web.method.support.HandlerMethodReturnValueHandlerComposite.handleReturnValue(HandlerMethodReturnValueHandlerComposite.java:82) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:123) + at org.springframework.web.servlet.mvc.method.annotation.ExceptionHandlerExceptionResolver.doResolveHandlerMethodException(ExceptionHandlerExceptionResolver.java:407) + at org.springframework.web.servlet.handler.AbstractHandlerMethodExceptionResolver.doResolveException(AbstractHandlerMethodExceptionResolver.java:61) + at org.springframework.web.servlet.handler.AbstractHandlerExceptionResolver.resolveException(AbstractHandlerExceptionResolver.java:141) + at org.springframework.web.servlet.handler.HandlerExceptionResolverComposite.resolveException(HandlerExceptionResolverComposite.java:80) + at org.springframework.web.servlet.DispatcherServlet.processHandlerException(DispatcherServlet.java:1300) + at org.springframework.web.servlet.DispatcherServlet.processDispatchResult(DispatcherServlet.java:1111) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1057) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:652) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:112) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) + at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) + +2024-06-26 09:48:19.654 INFO [SpringContextShutdownHook] [] o.s.s.c.ThreadPoolTaskScheduler 218 : Shutting down ExecutorService 'taskScheduler' +2024-06-26 09:48:19.655 INFO [SpringContextShutdownHook] [] o.s.s.concurrent.ThreadPoolTaskExecutor 218 : Shutting down ExecutorService 'applicationTaskExecutor' +2024-06-26 09:48:19.659 INFO [SpringContextShutdownHook] [] com.zaxxer.hikari.HikariDataSource 350 : HikariPool-1 - Shutdown initiated... +2024-06-26 09:48:19.660 INFO [SpringContextShutdownHook] [] com.zaxxer.hikari.HikariDataSource 352 : HikariPool-1 - Shutdown completed. +2024-06-26 09:48:29.185 INFO [background-preinit] [] o.h.validator.internal.util.Version 21 : HV000001: Hibernate Validator 6.1.7.Final +2024-06-26 09:48:29.190 INFO [main] [] net.jjjerp.SpringBootJjjApplication 55 : Starting SpringBootJjjApplication on OS-20230506YKNI with PID 7500 (D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\bootstrap\target\classes started by Administrator in D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp) +2024-06-26 09:48:29.190 INFO [main] [] net.jjjerp.SpringBootJjjApplication 652 : The following profiles are active: prod +2024-06-26 09:48:30.334 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 249 : Multiple Spring Data modules found, entering strict repository configuration mode! +2024-06-26 09:48:30.336 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 127 : Bootstrapping Spring Data Redis repositories in DEFAULT mode. +2024-06-26 09:48:30.451 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 187 : Finished Spring Data repository scanning in 107ms. Found 0 Redis repository interfaces. +2024-06-26 09:48:30.716 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.ShiroConfig' of type [net.jjjerp.config.ShiroConfig$$EnhancerBySpringCGLIB$$7e5e245f] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 09:48:30.809 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.properties.JwtProperties' of type [net.jjjerp.config.properties.JwtProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 09:48:30.811 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.RedisTemplateConfig' of type [net.jjjerp.config.RedisTemplateConfig$$EnhancerBySpringCGLIB$$4dc32f03] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 09:48:30.821 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'spring.redis-org.springframework.boot.autoconfigure.data.redis.RedisProperties' of type [org.springframework.boot.autoconfigure.data.redis.RedisProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 09:48:30.823 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration' of type [org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 09:48:30.876 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'lettuceClientResources' of type [io.lettuce.core.resource.DefaultClientResources] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 09:48:30.966 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'redisConnectionFactory' of type [org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 09:48:31.011 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'redisTemplate' of type [org.springframework.data.redis.core.RedisTemplate] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 09:48:31.011 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.cache.impl.AdminLoginRedisServiceImpl' of type [net.jjjerp.framework.shiro.cache.impl.AdminLoginRedisServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 09:48:31.015 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.cache.impl.ShopLoginRedisServiceImpl' of type [net.jjjerp.framework.shiro.cache.impl.ShopLoginRedisServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 09:48:31.137 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'credentialsMatcher' of type [net.jjjerp.framework.shiro.jwt.JwtCredentialsMatcher] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 09:48:31.144 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'jwtRealm' of type [net.jjjerp.framework.shiro.jwt.JwtRealm] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 09:48:31.145 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'sessionStorageEvaluator' of type [org.apache.shiro.web.mgt.DefaultWebSessionStorageEvaluator] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 09:48:31.146 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'subjectDAO' of type [org.apache.shiro.mgt.DefaultSubjectDAO] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 09:48:31.148 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'securityManager' of type [org.apache.shiro.web.mgt.DefaultWebSecurityManager] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 09:48:31.167 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.service.impl.ShiroLoginServiceImpl' of type [net.jjjerp.framework.shiro.service.impl.ShiroLoginServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 09:48:31.174 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'spring-boot-jjj.shiro-net.jjjerp.config.properties.ShiroProperties' of type [net.jjjerp.config.properties.ShiroProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 09:48:31.264 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'authorizationAttributeSourceAdvisor' of type [org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 09:48:31.385 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.RedisCacheConfig' of type [net.jjjerp.config.RedisCacheConfig$$EnhancerBySpringCGLIB$$3000605] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 09:48:31.650 INFO [main] [] o.s.b.w.embedded.tomcat.TomcatWebServer 108 : Tomcat initialized with port(s): 8892 (http) +2024-06-26 09:48:31.659 INFO [main] [] o.a.coyote.http11.Http11NioProtocol 173 : Initializing ProtocolHandler ["http-nio-8892"] +2024-06-26 09:48:31.660 INFO [main] [] o.apache.catalina.core.StandardService 173 : Starting service [Tomcat] +2024-06-26 09:48:31.660 INFO [main] [] org.apache.catalina.core.StandardEngine 173 : Starting Servlet engine: [Apache Tomcat/9.0.46] +2024-06-26 09:48:31.767 INFO [main] [] o.a.c.c.C.[Tomcat].[localhost].[/api] 173 : Initializing Spring embedded WebApplicationContext +2024-06-26 09:48:31.767 INFO [main] [] w.s.c.ServletWebServerApplicationContext 285 : Root WebApplicationContext: initialization completed in 2532 ms +2024-06-26 09:48:31.946 INFO [main] [] net.jjjerp.framework.core.xss.XssFilter 18 : XssFilter init +2024-06-26 09:48:31.947 INFO [main] [] n.j.f.core.filter.RequestDetailFilter 30 : RequestDetailFilter init +2024-06-26 09:48:35.582 INFO [main] [] org.reflections.Reflections 228 : Reflections took 38 ms to scan 1 urls, producing 0 keys and 0 values +2024-06-26 09:48:35.678 INFO [main] [] net.jjjerp.framework.shiro.util.JwtUtil 33 : {"audience":"web","expireSecond":36000,"issuer":"spring-boot-jjj","redisCheck":true,"refreshToken":true,"refreshTokenCountdown":600,"saltCheck":true,"secret":"888888","singleLogin":false,"tokenName":"token"} +2024-06-26 09:48:38.543 INFO [main] [] pertySourcedRequestMappingHandlerMapping 69 : Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2Controller#getDocumentation(String, HttpServletRequest)] +2024-06-26 09:48:38.564 INFO [main] [] net.jjjerp.config.Swagger2Config 149 : swagger scan basePackages:null +2024-06-26 09:48:38.736 INFO [main] [] o.s.s.concurrent.ThreadPoolTaskExecutor 181 : Initializing ExecutorService 'applicationTaskExecutor' +2024-06-26 09:48:38.844 INFO [main] [] o.s.b.a.w.s.WelcomePageHandlerMapping 53 : Adding welcome page: class path resource [static/index.html] +2024-06-26 09:48:39.026 INFO [main] [] o.s.s.c.ThreadPoolTaskScheduler 181 : Initializing ExecutorService 'taskScheduler' +2024-06-26 09:48:39.124 INFO [main] [] o.a.coyote.http11.Http11NioProtocol 173 : Starting ProtocolHandler ["http-nio-8892"] +2024-06-26 09:48:39.142 INFO [main] [] o.s.b.w.embedded.tomcat.TomcatWebServer 220 : Tomcat started on port(s): 8892 (http) with context path '/api' +2024-06-26 09:48:39.143 INFO [main] [] d.s.w.p.DocumentationPluginsBootstrapper 160 : Context refreshed +2024-06-26 09:48:39.149 INFO [main] [] d.s.w.p.DocumentationPluginsBootstrapper 163 : Found 1 custom documentation plugin(s) +2024-06-26 09:48:39.186 INFO [main] [] s.d.s.w.s.ApiListingReferenceScanner 41 : Scanning for api listing references +2024-06-26 09:48:39.312 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_1 +2024-06-26 09:48:39.314 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_1 +2024-06-26 09:48:39.315 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_1 +2024-06-26 09:48:39.332 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_1 +2024-06-26 09:48:39.367 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_2 +2024-06-26 09:48:39.369 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_2 +2024-06-26 09:48:39.372 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_3 +2024-06-26 09:48:39.373 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_3 +2024-06-26 09:48:39.376 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_4 +2024-06-26 09:48:39.376 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_4 +2024-06-26 09:48:39.377 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexOutUsingPOST_1 +2024-06-26 09:48:39.380 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_5 +2024-06-26 09:48:39.387 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_5 +2024-06-26 09:48:39.387 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_2 +2024-06-26 09:48:39.388 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_2 +2024-06-26 09:48:39.402 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_6 +2024-06-26 09:48:39.403 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_7 +2024-06-26 09:48:39.408 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_8 +2024-06-26 09:48:39.444 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_6 +2024-06-26 09:48:39.444 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_3 +2024-06-26 09:48:39.446 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_3 +2024-06-26 09:48:39.453 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_9 +2024-06-26 09:48:39.457 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_10 +2024-06-26 09:48:39.459 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_7 +2024-06-26 09:48:39.460 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_4 +2024-06-26 09:48:39.461 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_4 +2024-06-26 09:48:39.464 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_11 +2024-06-26 09:48:39.469 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_8 +2024-06-26 09:48:39.470 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_5 +2024-06-26 09:48:39.471 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_5 +2024-06-26 09:48:39.475 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_12 +2024-06-26 09:48:39.479 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_9 +2024-06-26 09:48:39.480 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_6 +2024-06-26 09:48:39.481 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_6 +2024-06-26 09:48:39.487 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_13 +2024-06-26 09:48:39.488 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_1 +2024-06-26 09:48:39.490 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_10 +2024-06-26 09:48:39.509 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_7 +2024-06-26 09:48:39.511 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_7 +2024-06-26 09:48:39.513 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_14 +2024-06-26 09:48:39.515 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_11 +2024-06-26 09:48:39.515 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_8 +2024-06-26 09:48:39.516 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_8 +2024-06-26 09:48:39.517 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_15 +2024-06-26 09:48:39.518 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_12 +2024-06-26 09:48:39.523 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_9 +2024-06-26 09:48:39.524 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_9 +2024-06-26 09:48:39.530 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_16 +2024-06-26 09:48:39.532 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_17 +2024-06-26 09:48:39.539 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_13 +2024-06-26 09:48:39.540 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_10 +2024-06-26 09:48:39.543 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_18 +2024-06-26 09:48:39.544 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_1 +2024-06-26 09:48:39.556 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addGroupUsingPOST_1 +2024-06-26 09:48:39.556 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: categoryUsingPOST_1 +2024-06-26 09:48:39.557 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteFilesUsingPOST_1 +2024-06-26 09:48:39.557 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteGroupUsingPOST_1 +2024-06-26 09:48:39.558 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editGroupUsingPOST_1 +2024-06-26 09:48:39.562 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: listsUsingPOST_1 +2024-06-26 09:48:39.562 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: moveFilesUsingPOST_1 +2024-06-26 09:48:39.564 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_19 +2024-06-26 09:48:39.568 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_20 +2024-06-26 09:48:39.573 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_14 +2024-06-26 09:48:39.574 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_10 +2024-06-26 09:48:39.574 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteFilesUsingPOST_2 +2024-06-26 09:48:39.575 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_11 +2024-06-26 09:48:39.575 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_21 +2024-06-26 09:48:39.576 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: listUsingPOST_1 +2024-06-26 09:48:39.577 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: moveFilesUsingPOST_2 +2024-06-26 09:48:39.582 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_22 +2024-06-26 09:48:39.586 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_23 +2024-06-26 09:48:39.589 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_24 +2024-06-26 09:48:39.591 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_25 +2024-06-26 09:48:39.593 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_15 +2024-06-26 09:48:39.594 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_1 +2024-06-26 09:48:39.594 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_12 +2024-06-26 09:48:39.596 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_26 +2024-06-26 09:48:39.596 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: repulseAuditUsingPOST_1 +2024-06-26 09:48:39.599 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_16 +2024-06-26 09:48:39.600 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_11 +2024-06-26 09:48:39.600 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_13 +2024-06-26 09:48:39.604 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_27 +2024-06-26 09:48:39.608 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_17 +2024-06-26 09:48:39.608 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_12 +2024-06-26 09:48:39.609 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_14 +2024-06-26 09:48:39.611 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_28 +2024-06-26 09:48:39.612 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_18 +2024-06-26 09:48:39.613 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_29 +2024-06-26 09:48:39.617 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_30 +2024-06-26 09:48:39.618 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_19 +2024-06-26 09:48:39.619 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_1 +2024-06-26 09:48:39.619 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_31 +2024-06-26 09:48:39.621 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_1 +2024-06-26 09:48:39.622 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_32 +2024-06-26 09:48:39.623 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_20 +2024-06-26 09:48:39.624 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_2 +2024-06-26 09:48:39.624 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_33 +2024-06-26 09:48:39.632 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: loginUsingPOST_1 +2024-06-26 09:48:39.633 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: logoutUsingPOST_1 +2024-06-26 09:48:39.634 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_34 +2024-06-26 09:48:39.636 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_21 +2024-06-26 09:48:39.637 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_13 +2024-06-26 09:48:39.638 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_15 +2024-06-26 09:48:39.638 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_35 +2024-06-26 09:48:39.640 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_2 +2024-06-26 09:48:39.643 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_22 +2024-06-26 09:48:39.644 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_14 +2024-06-26 09:48:39.644 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_16 +2024-06-26 09:48:39.650 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_36 +2024-06-26 09:48:39.650 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: stateUsingPOST_1 +2024-06-26 09:48:39.651 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_1 +2024-06-26 09:48:39.652 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_3 +2024-06-26 09:48:39.653 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_23 +2024-06-26 09:48:39.654 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_2 +2024-06-26 09:48:39.654 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_2 +2024-06-26 09:48:39.655 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_17 +2024-06-26 09:48:39.656 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_37 +2024-06-26 09:48:39.658 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_3 +2024-06-26 09:48:39.658 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_18 +2024-06-26 09:48:39.659 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_38 +2024-06-26 09:48:39.660 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addStorageUsingPOST_1 +2024-06-26 09:48:39.661 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_4 +2024-06-26 09:48:39.662 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_3 +2024-06-26 09:48:39.662 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_19 +2024-06-26 09:48:39.663 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_39 +2024-06-26 09:48:39.664 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_40 +2024-06-26 09:48:39.666 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_24 +2024-06-26 09:48:39.666 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_20 +2024-06-26 09:48:39.667 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_3 +2024-06-26 09:48:39.672 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_25 +2024-06-26 09:48:39.673 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_15 +2024-06-26 09:48:39.673 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_21 +2024-06-26 09:48:39.674 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_41 +2024-06-26 09:48:39.675 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_2 +2024-06-26 09:48:39.675 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_4 +2024-06-26 09:48:39.677 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: scanIndexUsingPOST_1 +2024-06-26 09:48:39.677 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_1 +2024-06-26 09:48:39.679 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_42 +2024-06-26 09:48:39.681 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_26 +2024-06-26 09:48:39.681 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_16 +2024-06-26 09:48:39.682 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_22 +2024-06-26 09:48:39.686 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_43 +2024-06-26 09:48:39.689 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_27 +2024-06-26 09:48:39.689 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_17 +2024-06-26 09:48:39.690 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_23 +2024-06-26 09:48:39.691 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_44 +2024-06-26 09:48:39.692 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_3 +2024-06-26 09:48:39.692 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_5 +2024-06-26 09:48:39.694 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_28 +2024-06-26 09:48:39.694 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_18 +2024-06-26 09:48:39.695 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_24 +2024-06-26 09:48:39.696 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_45 +2024-06-26 09:48:39.697 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_46 +2024-06-26 09:48:39.698 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_2 +2024-06-26 09:48:39.699 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_29 +2024-06-26 09:48:39.700 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_47 +2024-06-26 09:48:39.701 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_48 +2024-06-26 09:48:39.701 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_49 +2024-06-26 09:48:39.701 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_3 +2024-06-26 09:48:39.704 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_30 +2024-06-26 09:48:39.705 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_19 +2024-06-26 09:48:39.705 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_25 +2024-06-26 09:48:39.709 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_50 +2024-06-26 09:48:39.709 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_2 +2024-06-26 09:48:39.710 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_4 +2024-06-26 09:48:39.710 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_6 +2024-06-26 09:48:39.714 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_31 +2024-06-26 09:48:39.715 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_20 +2024-06-26 09:48:39.715 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_26 +2024-06-26 09:48:39.719 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_51 +2024-06-26 09:48:39.720 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_3 +2024-06-26 09:48:39.720 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_7 +2024-06-26 09:48:39.721 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_52 +2024-06-26 09:48:39.721 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_4 +2024-06-26 09:48:39.723 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_32 +2024-06-26 09:48:39.724 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_21 +2024-06-26 09:48:39.724 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_27 +2024-06-26 09:48:39.726 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_53 +2024-06-26 09:48:39.728 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: uploadUsingPOST_1 +2024-06-26 09:48:39.747 INFO [main] [] net.jjjerp.SpringBootJjjApplication 61 : Started SpringBootJjjApplication in 11.079 seconds (JVM running for 11.828) +2024-06-26 09:48:39.752 INFO [main] [] n.j.framework.util.PrintApplicationInfo 61 : projectFinalName : jjj-erp-1.0 +2024-06-26 09:48:39.752 INFO [main] [] n.j.framework.util.PrintApplicationInfo 62 : projectVersion : 1.0 +2024-06-26 09:48:39.752 INFO [main] [] n.j.framework.util.PrintApplicationInfo 63 : profileActive : prod +2024-06-26 09:48:39.752 INFO [main] [] n.j.framework.util.PrintApplicationInfo 64 : contextPath : /api +2024-06-26 09:48:39.752 INFO [main] [] n.j.framework.util.PrintApplicationInfo 65 : serverIp : http://erp3.huadeng.fun +2024-06-26 09:48:39.752 INFO [main] [] n.j.framework.util.PrintApplicationInfo 66 : port : 8892 +2024-06-26 09:48:39.752 INFO [main] [] n.j.framework.util.PrintApplicationInfo 81 : Home: http://erp3.huadeng.fun/api +2024-06-26 09:48:39.752 INFO [main] [] n.j.framework.util.PrintApplicationInfo 82 : Knife4j: http://erp3.huadeng.fun/api/doc.html +2024-06-26 09:48:39.752 INFO [main] [] n.j.framework.util.PrintApplicationInfo 83 : Swagger: http://erp3.huadeng.fun/api/swagger-ui.html +2024-06-26 09:48:39.752 INFO [main] [] n.j.framework.util.PrintApplicationInfo 84 : jjj-erp 启动成功........... + ____ __ __ ____ +/\ _`\ /\ \__ /\ \__ /\ _`\ +\ \,\L\_\ \ ,_\ __ _ __\ \ ,_\ \ \,\L\_\ __ __ ___ ___ __ ____ ____ + \/_\__ \\ \ \/ /'__`\ /\`'__\ \ \/ \/_\__ \ /\ \/\ \ /'___\ /'___\ /'__`\ /',__\ /',__\ + /\ \L\ \ \ \_/\ \L\.\_\ \ \/ \ \ \_ /\ \L\ \ \ \_\ \/\ \__//\ \__//\ __//\__, `\/\__, `\ + \ `\____\ \__\ \__/.\_\\ \_\ \ \__\ \ `\____\ \____/\ \____\ \____\ \____\/\____/\/\____/ + \/_____/\/__/\/__/\/_/ \/_/ \/__/ \/_____/\/___/ \/____/\/____/\/____/\/___/ \/___/ + + +2024-06-26 09:48:49.480 INFO [http-nio-8892-exec-2] [] o.a.c.c.C.[Tomcat].[localhost].[/api] 173 : Initializing Spring DispatcherServlet 'dispatcherServlet' +2024-06-26 09:48:49.480 INFO [http-nio-8892-exec-2] [] o.s.web.servlet.DispatcherServlet 525 : Initializing Servlet 'dispatcherServlet' +2024-06-26 09:48:49.489 INFO [http-nio-8892-exec-2] [] o.s.web.servlet.DispatcherServlet 547 : Completed initialization in 9 ms +2024-06-26 09:48:50.117 ERROR [http-nio-8892-exec-2] [] n.jjjerp.framework.shiro.jwt.JwtFilter 138 : 访问错误 + +org.apache.shiro.authc.AuthenticationException: JWT Token已过期,token:eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhdWQiOiJ3ZWIiLCJpc3MiOiJzcHJpbmctYm9vdC1qamoiLCJleHAiOjE3MTkzMzA2MzEsImlhdCI6MTcxOTI5NDYzMSwianRpIjoiNGI0NWY0MTJlODk4NGIzMWE4YjJkYTA3NzU4ZTU2NmEiLCJ1c2VybmFtZSI6ImFkbWluIn0.0UG7Z8tlDGUYOPcO-bM2EYOcCtJri3NvfN-AR07Ae4Y + at net.jjjerp.framework.shiro.jwt.JwtFilter.createToken(JwtFilter.java:67) + at org.apache.shiro.web.filter.authc.AuthenticatingFilter.executeLogin(AuthenticatingFilter.java:45) + at net.jjjerp.framework.shiro.jwt.JwtFilter.isAccessAllowed(JwtFilter.java:134) + at org.apache.shiro.web.filter.AccessControlFilter.onPreHandle(AccessControlFilter.java:162) + at org.apache.shiro.web.filter.PathMatchingFilter.isFilterChainContinued(PathMatchingFilter.java:214) + at org.apache.shiro.web.filter.PathMatchingFilter.preHandle(PathMatchingFilter.java:189) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:131) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) + +2024-06-26 09:48:50.118 ERROR [http-nio-8892-exec-2] [] n.jjjerp.framework.shiro.jwt.JwtFilter 111 : onAccessDenied url:/api/admin/index/deal +2024-06-26 09:48:53.982 INFO [http-nio-8892-exec-3] [1805780240906207233] com.zaxxer.hikari.HikariDataSource 110 : HikariPool-1 - Starting... +2024-06-26 09:48:54.400 INFO [http-nio-8892-exec-3] [1805780240906207233] com.zaxxer.hikari.HikariDataSource 123 : HikariPool-1 - Start completed. +2024-06-26 09:53:45.465 ERROR [http-nio-8892-exec-6] [] n.jjjerp.handler.GlobalExceptionHandler 233 : 异常来源:ip: 127.0.0.1, path: /api/admin/index/index +2024-06-26 09:53:45.467 ERROR [http-nio-8892-exec-6] [] n.jjjerp.handler.GlobalExceptionHandler 257 : errorCode: 5001, errorMessage: 请求参数校验异常 + +org.springframework.http.converter.HttpMessageNotReadableException: Required request body is missing: public net.jjjerp.framework.common.api.ApiResult> net.jjjerp.admin.controller.IndexController.getHomeData(net.jjjerp.common.param.CommonPageParam) + at org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.readWithMessageConverters(RequestResponseBodyMethodProcessor.java:161) + at org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.resolveArgument(RequestResponseBodyMethodProcessor.java:131) + at org.springframework.web.method.support.HandlerMethodArgumentResolverComposite.resolveArgument(HandlerMethodArgumentResolverComposite.java:121) + at org.springframework.web.method.support.InvocableHandlerMethod.getMethodArgumentValues(InvocableHandlerMethod.java:167) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:134) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:652) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:112) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) + at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) + +2024-06-26 10:00:40.055 WARN [http-nio-8892-exec-8] [1805783181650182145] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@2863816e (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-26 10:00:45.058 WARN [http-nio-8892-exec-8] [1805783181650182145] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@3db05a9e (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-26 10:00:46.535 WARN [http-nio-8892-exec-9] [1805783208762163202] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@78e9c591 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-26 10:00:46.628 WARN [http-nio-8892-exec-10] [1805783208892186625] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@70fd4a3 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-26 10:00:50.059 WARN [http-nio-8892-exec-8] [1805783181650182145] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@46a7b456 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-26 10:00:51.542 WARN [http-nio-8892-exec-9] [1805783208762163202] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@15eb2f38 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-26 10:00:51.635 WARN [http-nio-8892-exec-10] [1805783208892186625] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@2598da61 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-26 10:00:55.068 WARN [http-nio-8892-exec-8] [1805783181650182145] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@2a019ca3 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-26 10:00:56.552 WARN [http-nio-8892-exec-9] [1805783208762163202] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@3274156e (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-26 10:00:56.647 WARN [http-nio-8892-exec-10] [1805783208892186625] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@6f704b4b (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-26 10:24:10.831 WARN [http-nio-8892-exec-2] [1805789099095900161] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@40ed8cdb (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-26 10:24:13.884 ERROR [http-nio-8892-exec-30] [] n.jjjerp.handler.GlobalExceptionHandler 233 : 异常来源:ip: 192.168.31.208, path: /api/admin/index/base +2024-06-26 10:24:13.886 ERROR [http-nio-8892-exec-30] [] n.jjjerp.handler.GlobalExceptionHandler 257 : errorCode: 5000, errorMessage: 系统异常 + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.common.util.SettingUtils.getSetting(SettingUtils.java:39) + at net.jjjerp.admin.controller.IndexController.base(IndexController.java:38) + at net.jjjerp.admin.controller.IndexController$$FastClassBySpringCGLIB$$55d4079f.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.AspectJAfterThrowingAdvice.invoke(AspectJAfterThrowingAdvice.java:62) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:88) + at net.jjjerp.framework.log.aop.BaseLogAop.handle(BaseLogAop.java:303) + at net.jjjerp.aop.LogAop.doAround(LogAop.java:35) + at net.jjjerp.aop.LogAop$$FastClassBySpringCGLIB$$189c4aae.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.aop.LogAop$$EnhancerBySpringCGLIB$$23eee050.doAround() + at sun.reflect.GeneratedMethodAccessor539.invoke(Unknown Source) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:644) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:633) + at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:95) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at net.jjjerp.admin.controller.IndexController$$EnhancerBySpringCGLIB$$43a5716d.base() + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:652) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:112) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) + at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy402.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 122 common frames omitted + +2024-06-26 10:24:15.843 WARN [http-nio-8892-exec-2] [1805789099095900161] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@18f9291d (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-26 10:24:20.849 WARN [http-nio-8892-exec-2] [1805789099095900161] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@7212a7ff (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-26 10:24:23.176 INFO [lettuce-eventExecutorLoop-1-6] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was /101.34.74.68:6379 +2024-06-26 10:24:23.204 INFO [lettuce-nioEventLoop-4-2] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to 101.34.74.68:6379 +2024-06-26 10:24:25.864 WARN [http-nio-8892-exec-2] [1805789099095900161] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@1e02eeda (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-26 10:24:30.867 WARN [http-nio-8892-exec-2] [1805789099095900161] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@74e5540c (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-26 10:24:35.870 WARN [http-nio-8892-exec-2] [1805789099095900161] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@4eb0f96b (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-26 10:24:35.876 ERROR [http-nio-8892-exec-2] [] n.jjjerp.handler.GlobalExceptionHandler 233 : 异常来源:ip: 192.168.31.208, path: /api/admin/passport/login +2024-06-26 10:24:35.877 ERROR [http-nio-8892-exec-2] [] n.jjjerp.handler.GlobalExceptionHandler 257 : errorCode: 5000, errorMessage: 系统异常 + +org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is java.sql.SQLTransientConnectionException: HikariPool-1 - Connection is not available, request timed out after 30046ms. +### The error may exist in net/jjjerp/admin/mapper/shop/ShopUserMapper.java (best guess) +### The error may involve net.jjjerp.admin.mapper.shop.ShopUserMapper.selectOne +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is java.sql.SQLTransientConnectionException: HikariPool-1 - Connection is not available, request timed out after 30046ms. + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:440) + at com.sun.proxy.$Proxy115.selectOne(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectOne(SqlSessionTemplate.java:159) + at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:90) + at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:148) + at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89) + at com.sun.proxy.$Proxy307.selectOne(Unknown Source) + at sun.reflect.GeneratedMethodAccessor498.invoke(Unknown Source) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:344) + at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:198) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:139) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:212) + at com.sun.proxy.$Proxy308.selectOne(Unknown Source) + at com.baomidou.mybatisplus.extension.service.impl.ServiceImpl.getOne(ServiceImpl.java:201) + at com.baomidou.mybatisplus.extension.service.IService.getOne(IService.java:229) + at net.jjjerp.admin.service.shop.impl.ShopUserServiceImpl.login(ShopUserServiceImpl.java:116) + at net.jjjerp.admin.service.shop.impl.ShopUserServiceImpl$$FastClassBySpringCGLIB$$4f5aed82.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.admin.service.shop.impl.ShopUserServiceImpl$$EnhancerBySpringCGLIB$$1bb45d1d.login() + at net.jjjerp.admin.controller.PassportController.login(PassportController.java:36) + at net.jjjerp.admin.controller.PassportController$$FastClassBySpringCGLIB$$a5512a1d.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.AspectJAfterThrowingAdvice.invoke(AspectJAfterThrowingAdvice.java:62) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:88) + at net.jjjerp.framework.log.aop.BaseLogAop.handle(BaseLogAop.java:303) + at net.jjjerp.aop.LogAop.doAround(LogAop.java:35) + at net.jjjerp.aop.LogAop$$FastClassBySpringCGLIB$$189c4aae.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.aop.LogAop$$EnhancerBySpringCGLIB$$23eee050.doAround() + at sun.reflect.GeneratedMethodAccessor539.invoke(Unknown Source) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:644) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:633) + at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:95) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at net.jjjerp.admin.controller.PassportController$$EnhancerBySpringCGLIB$$96ef57a7.login() + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:652) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:112) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) + at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is java.sql.SQLTransientConnectionException: HikariPool-1 - Connection is not available, request timed out after 30046ms. +### The error may exist in net/jjjerp/admin/mapper/shop/ShopUserMapper.java (best guess) +### The error may involve net.jjjerp.admin.mapper.shop.ShopUserMapper.selectOne +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is java.sql.SQLTransientConnectionException: HikariPool-1 - Connection is not available, request timed out after 30046ms. + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:149) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:140) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectOne(DefaultSqlSession.java:76) + at sun.reflect.GeneratedMethodAccessor187.invoke(Unknown Source) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:426) + ... 137 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is java.sql.SQLTransientConnectionException: HikariPool-1 - Connection is not available, request timed out after 30046ms. + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:82) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:337) + at com.baomidou.mybatisplus.core.executor.MybatisSimpleExecutor.prepareStatement(MybatisSimpleExecutor.java:93) + at com.baomidou.mybatisplus.core.executor.MybatisSimpleExecutor.doQuery(MybatisSimpleExecutor.java:68) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:325) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:156) + at com.baomidou.mybatisplus.core.executor.MybatisCachingExecutor.query(MybatisCachingExecutor.java:165) + at com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor.intercept(MybatisPlusInterceptor.java:65) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:61) + at com.sun.proxy.$Proxy406.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + ... 143 common frames omitted +Caused by: java.sql.SQLTransientConnectionException: HikariPool-1 - Connection is not available, request timed out after 30046ms. + at com.zaxxer.hikari.pool.HikariPool.createTimeoutException(HikariPool.java:695) + at com.zaxxer.hikari.pool.HikariPool.getConnection(HikariPool.java:197) + at com.zaxxer.hikari.pool.HikariPool.getConnection(HikariPool.java:162) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:128) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:158) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:116) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:79) + ... 155 common frames omitted +Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: No operations allowed after connection closed. + at sun.reflect.GeneratedConstructorAccessor118.newInstance(Unknown Source) + at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) + at java.lang.reflect.Constructor.newInstance(Constructor.java:423) + at com.mysql.jdbc.Util.handleNewInstance(Util.java:425) + at com.mysql.jdbc.Util.getInstance(Util.java:408) + at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:919) + at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:898) + at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:887) + at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:861) + at com.mysql.jdbc.ConnectionImpl.throwConnectionClosedException(ConnectionImpl.java:1192) + at com.mysql.jdbc.ConnectionImpl.checkClosed(ConnectionImpl.java:1187) + at com.mysql.jdbc.ConnectionImpl.setNetworkTimeout(ConnectionImpl.java:5494) + at com.zaxxer.hikari.pool.PoolBase.setNetworkTimeout(PoolBase.java:560) + at com.zaxxer.hikari.pool.PoolBase.isConnectionAlive(PoolBase.java:173) + at com.zaxxer.hikari.pool.HikariPool.getConnection(HikariPool.java:186) + ... 160 common frames omitted + +2024-06-26 10:57:14.256 WARN [http-nio-8892-exec-4] [1805797418170728449] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@72863dd9 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-26 10:57:14.986 ERROR [http-nio-8892-exec-1] [] n.jjjerp.handler.GlobalExceptionHandler 233 : 异常来源:ip: 192.168.31.226, path: /api/admin/index/base +2024-06-26 10:57:14.987 ERROR [http-nio-8892-exec-1] [] n.jjjerp.handler.GlobalExceptionHandler 257 : errorCode: 5000, errorMessage: 系统异常 + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.common.util.SettingUtils.getSetting(SettingUtils.java:39) + at net.jjjerp.admin.controller.IndexController.base(IndexController.java:38) + at net.jjjerp.admin.controller.IndexController$$FastClassBySpringCGLIB$$55d4079f.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.AspectJAfterThrowingAdvice.invoke(AspectJAfterThrowingAdvice.java:62) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:88) + at net.jjjerp.framework.log.aop.BaseLogAop.handle(BaseLogAop.java:303) + at net.jjjerp.aop.LogAop.doAround(LogAop.java:35) + at net.jjjerp.aop.LogAop$$FastClassBySpringCGLIB$$189c4aae.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.aop.LogAop$$EnhancerBySpringCGLIB$$23eee050.doAround() + at sun.reflect.GeneratedMethodAccessor539.invoke(Unknown Source) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:644) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:633) + at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:95) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at net.jjjerp.admin.controller.IndexController$$EnhancerBySpringCGLIB$$43a5716d.base() + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:652) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:112) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) + at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy402.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 122 common frames omitted + +2024-06-26 10:57:19.267 WARN [http-nio-8892-exec-4] [1805797418170728449] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@10d49a6d (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-26 10:57:24.169 INFO [lettuce-eventExecutorLoop-1-2] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was /101.34.74.68:6379 +2024-06-26 10:57:24.193 INFO [lettuce-nioEventLoop-4-3] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to 101.34.74.68:6379 +2024-06-26 10:57:24.244 WARN [http-nio-8892-exec-6] [1805797460021493762] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@1ad31d30 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-26 10:57:24.268 WARN [http-nio-8892-exec-4] [1805797418170728449] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@41b2773e (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-26 10:57:24.757 INFO [SpringContextShutdownHook] [] net.jjjerp.framework.core.xss.XssFilter 30 : XssFilter destroy +2024-06-26 10:57:24.758 INFO [SpringContextShutdownHook] [] n.j.f.core.filter.RequestDetailFilter 116 : RequestDetailFilter destroy +2024-06-26 10:57:24.856 INFO [SpringContextShutdownHook] [] o.s.s.c.ThreadPoolTaskScheduler 218 : Shutting down ExecutorService 'taskScheduler' +2024-06-26 10:57:24.858 INFO [SpringContextShutdownHook] [] o.s.s.concurrent.ThreadPoolTaskExecutor 218 : Shutting down ExecutorService 'applicationTaskExecutor' +2024-06-26 10:57:24.866 INFO [SpringContextShutdownHook] [] com.zaxxer.hikari.HikariDataSource 350 : HikariPool-1 - Shutdown initiated... +2024-06-26 10:57:24.870 INFO [SpringContextShutdownHook] [] com.zaxxer.hikari.HikariDataSource 352 : HikariPool-1 - Shutdown completed. +2024-06-26 10:57:34.556 INFO [background-preinit] [] o.h.validator.internal.util.Version 21 : HV000001: Hibernate Validator 6.1.7.Final +2024-06-26 10:57:34.561 INFO [main] [] net.jjjerp.SpringBootJjjApplication 55 : Starting SpringBootJjjApplication on OS-20230506YKNI with PID 5680 (D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\bootstrap\target\classes started by Administrator in D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp) +2024-06-26 10:57:34.561 INFO [main] [] net.jjjerp.SpringBootJjjApplication 652 : The following profiles are active: prod +2024-06-26 10:57:35.630 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 249 : Multiple Spring Data modules found, entering strict repository configuration mode! +2024-06-26 10:57:35.632 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 127 : Bootstrapping Spring Data Redis repositories in DEFAULT mode. +2024-06-26 10:57:35.737 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 187 : Finished Spring Data repository scanning in 97ms. Found 0 Redis repository interfaces. +2024-06-26 10:57:36.030 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.ShiroConfig' of type [net.jjjerp.config.ShiroConfig$$EnhancerBySpringCGLIB$$dd6b8dd9] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 10:57:36.125 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.properties.JwtProperties' of type [net.jjjerp.config.properties.JwtProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 10:57:36.127 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.RedisTemplateConfig' of type [net.jjjerp.config.RedisTemplateConfig$$EnhancerBySpringCGLIB$$acd0987d] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 10:57:36.135 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'spring.redis-org.springframework.boot.autoconfigure.data.redis.RedisProperties' of type [org.springframework.boot.autoconfigure.data.redis.RedisProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 10:57:36.138 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration' of type [org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 10:57:36.194 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'lettuceClientResources' of type [io.lettuce.core.resource.DefaultClientResources] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 10:57:36.283 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'redisConnectionFactory' of type [org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 10:57:36.328 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'redisTemplate' of type [org.springframework.data.redis.core.RedisTemplate] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 10:57:36.329 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.cache.impl.AdminLoginRedisServiceImpl' of type [net.jjjerp.framework.shiro.cache.impl.AdminLoginRedisServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 10:57:36.332 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.cache.impl.ShopLoginRedisServiceImpl' of type [net.jjjerp.framework.shiro.cache.impl.ShopLoginRedisServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 10:57:36.451 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'credentialsMatcher' of type [net.jjjerp.framework.shiro.jwt.JwtCredentialsMatcher] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 10:57:36.458 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'jwtRealm' of type [net.jjjerp.framework.shiro.jwt.JwtRealm] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 10:57:36.459 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'sessionStorageEvaluator' of type [org.apache.shiro.web.mgt.DefaultWebSessionStorageEvaluator] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 10:57:36.460 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'subjectDAO' of type [org.apache.shiro.mgt.DefaultSubjectDAO] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 10:57:36.462 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'securityManager' of type [org.apache.shiro.web.mgt.DefaultWebSecurityManager] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 10:57:36.483 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.service.impl.ShiroLoginServiceImpl' of type [net.jjjerp.framework.shiro.service.impl.ShiroLoginServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 10:57:36.491 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'spring-boot-jjj.shiro-net.jjjerp.config.properties.ShiroProperties' of type [net.jjjerp.config.properties.ShiroProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 10:57:36.580 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'authorizationAttributeSourceAdvisor' of type [org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 10:57:36.722 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.RedisCacheConfig' of type [net.jjjerp.config.RedisCacheConfig$$EnhancerBySpringCGLIB$$620d6f7f] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 10:57:36.958 INFO [main] [] o.s.b.w.embedded.tomcat.TomcatWebServer 108 : Tomcat initialized with port(s): 8892 (http) +2024-06-26 10:57:36.965 INFO [main] [] o.a.coyote.http11.Http11NioProtocol 173 : Initializing ProtocolHandler ["http-nio-8892"] +2024-06-26 10:57:36.965 INFO [main] [] o.apache.catalina.core.StandardService 173 : Starting service [Tomcat] +2024-06-26 10:57:36.965 INFO [main] [] org.apache.catalina.core.StandardEngine 173 : Starting Servlet engine: [Apache Tomcat/9.0.46] +2024-06-26 10:57:37.055 INFO [main] [] o.a.c.c.C.[Tomcat].[localhost].[/api] 173 : Initializing Spring embedded WebApplicationContext +2024-06-26 10:57:37.055 INFO [main] [] w.s.c.ServletWebServerApplicationContext 285 : Root WebApplicationContext: initialization completed in 2442 ms +2024-06-26 10:57:37.198 INFO [main] [] net.jjjerp.framework.core.xss.XssFilter 18 : XssFilter init +2024-06-26 10:57:37.199 INFO [main] [] n.j.f.core.filter.RequestDetailFilter 30 : RequestDetailFilter init +2024-06-26 10:57:40.591 INFO [main] [] org.reflections.Reflections 228 : Reflections took 38 ms to scan 1 urls, producing 0 keys and 0 values +2024-06-26 10:57:40.686 INFO [main] [] net.jjjerp.framework.shiro.util.JwtUtil 33 : {"audience":"web","expireSecond":36000,"issuer":"spring-boot-jjj","redisCheck":true,"refreshToken":true,"refreshTokenCountdown":600,"saltCheck":true,"secret":"888888","singleLogin":false,"tokenName":"token"} +2024-06-26 10:57:43.401 INFO [main] [] pertySourcedRequestMappingHandlerMapping 69 : Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2Controller#getDocumentation(String, HttpServletRequest)] +2024-06-26 10:57:43.416 INFO [main] [] net.jjjerp.config.Swagger2Config 149 : swagger scan basePackages:null +2024-06-26 10:57:43.537 INFO [main] [] o.s.s.concurrent.ThreadPoolTaskExecutor 181 : Initializing ExecutorService 'applicationTaskExecutor' +2024-06-26 10:57:43.618 INFO [main] [] o.s.b.a.w.s.WelcomePageHandlerMapping 53 : Adding welcome page: class path resource [static/index.html] +2024-06-26 10:57:43.799 INFO [main] [] o.s.s.c.ThreadPoolTaskScheduler 181 : Initializing ExecutorService 'taskScheduler' +2024-06-26 10:57:43.892 INFO [main] [] o.a.coyote.http11.Http11NioProtocol 173 : Starting ProtocolHandler ["http-nio-8892"] +2024-06-26 10:57:43.913 INFO [main] [] o.s.b.w.embedded.tomcat.TomcatWebServer 220 : Tomcat started on port(s): 8892 (http) with context path '/api' +2024-06-26 10:57:43.913 INFO [main] [] d.s.w.p.DocumentationPluginsBootstrapper 160 : Context refreshed +2024-06-26 10:57:43.919 INFO [main] [] d.s.w.p.DocumentationPluginsBootstrapper 163 : Found 1 custom documentation plugin(s) +2024-06-26 10:57:43.955 INFO [main] [] s.d.s.w.s.ApiListingReferenceScanner 41 : Scanning for api listing references +2024-06-26 10:57:44.098 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_1 +2024-06-26 10:57:44.101 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_1 +2024-06-26 10:57:44.102 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_1 +2024-06-26 10:57:44.121 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_1 +2024-06-26 10:57:44.162 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_2 +2024-06-26 10:57:44.164 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_2 +2024-06-26 10:57:44.168 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_3 +2024-06-26 10:57:44.169 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_3 +2024-06-26 10:57:44.171 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_4 +2024-06-26 10:57:44.172 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_4 +2024-06-26 10:57:44.174 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexOutUsingPOST_1 +2024-06-26 10:57:44.177 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_5 +2024-06-26 10:57:44.183 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_5 +2024-06-26 10:57:44.184 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_2 +2024-06-26 10:57:44.185 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_2 +2024-06-26 10:57:44.202 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_6 +2024-06-26 10:57:44.203 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_7 +2024-06-26 10:57:44.209 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_8 +2024-06-26 10:57:44.239 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_6 +2024-06-26 10:57:44.239 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_3 +2024-06-26 10:57:44.240 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_3 +2024-06-26 10:57:44.245 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_9 +2024-06-26 10:57:44.249 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_10 +2024-06-26 10:57:44.251 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_7 +2024-06-26 10:57:44.252 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_4 +2024-06-26 10:57:44.252 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_4 +2024-06-26 10:57:44.255 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_11 +2024-06-26 10:57:44.259 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_8 +2024-06-26 10:57:44.260 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_5 +2024-06-26 10:57:44.261 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_5 +2024-06-26 10:57:44.264 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_12 +2024-06-26 10:57:44.267 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_9 +2024-06-26 10:57:44.267 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_6 +2024-06-26 10:57:44.268 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_6 +2024-06-26 10:57:44.271 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_13 +2024-06-26 10:57:44.272 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_1 +2024-06-26 10:57:44.273 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_10 +2024-06-26 10:57:44.274 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_7 +2024-06-26 10:57:44.274 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_7 +2024-06-26 10:57:44.276 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_14 +2024-06-26 10:57:44.277 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_11 +2024-06-26 10:57:44.278 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_8 +2024-06-26 10:57:44.278 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_8 +2024-06-26 10:57:44.279 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_15 +2024-06-26 10:57:44.280 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_12 +2024-06-26 10:57:44.283 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_9 +2024-06-26 10:57:44.283 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_9 +2024-06-26 10:57:44.286 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_16 +2024-06-26 10:57:44.288 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_17 +2024-06-26 10:57:44.294 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_13 +2024-06-26 10:57:44.295 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_10 +2024-06-26 10:57:44.297 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_18 +2024-06-26 10:57:44.298 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_1 +2024-06-26 10:57:44.309 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addGroupUsingPOST_1 +2024-06-26 10:57:44.310 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: categoryUsingPOST_1 +2024-06-26 10:57:44.310 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteFilesUsingPOST_1 +2024-06-26 10:57:44.311 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteGroupUsingPOST_1 +2024-06-26 10:57:44.311 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editGroupUsingPOST_1 +2024-06-26 10:57:44.315 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: listsUsingPOST_1 +2024-06-26 10:57:44.315 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: moveFilesUsingPOST_1 +2024-06-26 10:57:44.317 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_19 +2024-06-26 10:57:44.321 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_14 +2024-06-26 10:57:44.322 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_10 +2024-06-26 10:57:44.322 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteFilesUsingPOST_2 +2024-06-26 10:57:44.323 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_11 +2024-06-26 10:57:44.325 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_20 +2024-06-26 10:57:44.327 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: moveFilesUsingPOST_2 +2024-06-26 10:57:44.328 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_21 +2024-06-26 10:57:44.329 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: listUsingPOST_1 +2024-06-26 10:57:44.334 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_22 +2024-06-26 10:57:44.337 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_23 +2024-06-26 10:57:44.341 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_24 +2024-06-26 10:57:44.342 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_25 +2024-06-26 10:57:44.344 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_15 +2024-06-26 10:57:44.345 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_1 +2024-06-26 10:57:44.346 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_12 +2024-06-26 10:57:44.347 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_26 +2024-06-26 10:57:44.347 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: repulseAuditUsingPOST_1 +2024-06-26 10:57:44.349 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_16 +2024-06-26 10:57:44.350 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_11 +2024-06-26 10:57:44.350 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_13 +2024-06-26 10:57:44.353 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_27 +2024-06-26 10:57:44.358 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_17 +2024-06-26 10:57:44.358 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_12 +2024-06-26 10:57:44.359 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_14 +2024-06-26 10:57:44.361 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_28 +2024-06-26 10:57:44.362 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_18 +2024-06-26 10:57:44.362 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_29 +2024-06-26 10:57:44.366 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_30 +2024-06-26 10:57:44.367 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_19 +2024-06-26 10:57:44.368 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_1 +2024-06-26 10:57:44.369 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_31 +2024-06-26 10:57:44.370 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_1 +2024-06-26 10:57:44.371 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_32 +2024-06-26 10:57:44.373 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_20 +2024-06-26 10:57:44.374 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_2 +2024-06-26 10:57:44.374 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_33 +2024-06-26 10:57:44.382 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: loginUsingPOST_1 +2024-06-26 10:57:44.382 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: logoutUsingPOST_1 +2024-06-26 10:57:44.383 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_34 +2024-06-26 10:57:44.386 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_21 +2024-06-26 10:57:44.387 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_13 +2024-06-26 10:57:44.387 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_15 +2024-06-26 10:57:44.388 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_35 +2024-06-26 10:57:44.389 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_2 +2024-06-26 10:57:44.393 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_22 +2024-06-26 10:57:44.394 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_14 +2024-06-26 10:57:44.394 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_16 +2024-06-26 10:57:44.398 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_36 +2024-06-26 10:57:44.398 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: stateUsingPOST_1 +2024-06-26 10:57:44.399 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_1 +2024-06-26 10:57:44.399 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_3 +2024-06-26 10:57:44.401 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_23 +2024-06-26 10:57:44.402 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_2 +2024-06-26 10:57:44.403 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_2 +2024-06-26 10:57:44.404 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_17 +2024-06-26 10:57:44.404 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_37 +2024-06-26 10:57:44.407 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_3 +2024-06-26 10:57:44.407 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_18 +2024-06-26 10:57:44.408 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_38 +2024-06-26 10:57:44.409 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addStorageUsingPOST_1 +2024-06-26 10:57:44.410 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_4 +2024-06-26 10:57:44.410 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_3 +2024-06-26 10:57:44.411 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_19 +2024-06-26 10:57:44.411 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_39 +2024-06-26 10:57:44.413 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_40 +2024-06-26 10:57:44.414 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_24 +2024-06-26 10:57:44.414 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_20 +2024-06-26 10:57:44.415 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_3 +2024-06-26 10:57:44.417 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_25 +2024-06-26 10:57:44.418 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_15 +2024-06-26 10:57:44.418 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_21 +2024-06-26 10:57:44.419 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_41 +2024-06-26 10:57:44.421 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_2 +2024-06-26 10:57:44.422 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_4 +2024-06-26 10:57:44.424 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: scanIndexUsingPOST_1 +2024-06-26 10:57:44.425 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_42 +2024-06-26 10:57:44.426 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_1 +2024-06-26 10:57:44.428 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_26 +2024-06-26 10:57:44.428 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_16 +2024-06-26 10:57:44.428 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_22 +2024-06-26 10:57:44.433 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_43 +2024-06-26 10:57:44.436 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_27 +2024-06-26 10:57:44.437 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_17 +2024-06-26 10:57:44.437 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_23 +2024-06-26 10:57:44.439 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_44 +2024-06-26 10:57:44.439 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_3 +2024-06-26 10:57:44.439 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_5 +2024-06-26 10:57:44.441 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_28 +2024-06-26 10:57:44.442 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_18 +2024-06-26 10:57:44.442 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_24 +2024-06-26 10:57:44.444 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_45 +2024-06-26 10:57:44.445 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_46 +2024-06-26 10:57:44.445 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_2 +2024-06-26 10:57:44.446 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_29 +2024-06-26 10:57:44.447 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_47 +2024-06-26 10:57:44.448 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_48 +2024-06-26 10:57:44.449 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_49 +2024-06-26 10:57:44.449 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_3 +2024-06-26 10:57:44.452 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_30 +2024-06-26 10:57:44.453 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_19 +2024-06-26 10:57:44.453 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_25 +2024-06-26 10:57:44.456 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_50 +2024-06-26 10:57:44.457 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_2 +2024-06-26 10:57:44.457 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_4 +2024-06-26 10:57:44.458 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_6 +2024-06-26 10:57:44.461 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_31 +2024-06-26 10:57:44.462 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_20 +2024-06-26 10:57:44.462 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_26 +2024-06-26 10:57:44.467 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_51 +2024-06-26 10:57:44.467 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_3 +2024-06-26 10:57:44.467 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_7 +2024-06-26 10:57:44.468 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_52 +2024-06-26 10:57:44.468 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_4 +2024-06-26 10:57:44.470 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_32 +2024-06-26 10:57:44.471 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_21 +2024-06-26 10:57:44.471 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_27 +2024-06-26 10:57:44.473 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_53 +2024-06-26 10:57:44.476 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: uploadUsingPOST_1 +2024-06-26 10:57:44.494 INFO [main] [] net.jjjerp.SpringBootJjjApplication 61 : Started SpringBootJjjApplication in 10.44 seconds (JVM running for 10.991) +2024-06-26 10:57:44.497 INFO [main] [] n.j.framework.util.PrintApplicationInfo 61 : projectFinalName : jjj-erp-1.0 +2024-06-26 10:57:44.497 INFO [main] [] n.j.framework.util.PrintApplicationInfo 62 : projectVersion : 1.0 +2024-06-26 10:57:44.497 INFO [main] [] n.j.framework.util.PrintApplicationInfo 63 : profileActive : prod +2024-06-26 10:57:44.497 INFO [main] [] n.j.framework.util.PrintApplicationInfo 64 : contextPath : /api +2024-06-26 10:57:44.498 INFO [main] [] n.j.framework.util.PrintApplicationInfo 65 : serverIp : http://erp3.huadeng.fun +2024-06-26 10:57:44.498 INFO [main] [] n.j.framework.util.PrintApplicationInfo 66 : port : 8892 +2024-06-26 10:57:44.498 INFO [main] [] n.j.framework.util.PrintApplicationInfo 81 : Home: http://erp3.huadeng.fun/api +2024-06-26 10:57:44.498 INFO [main] [] n.j.framework.util.PrintApplicationInfo 82 : Knife4j: http://erp3.huadeng.fun/api/doc.html +2024-06-26 10:57:44.498 INFO [main] [] n.j.framework.util.PrintApplicationInfo 83 : Swagger: http://erp3.huadeng.fun/api/swagger-ui.html +2024-06-26 10:57:44.498 INFO [main] [] n.j.framework.util.PrintApplicationInfo 84 : jjj-erp 启动成功........... + ____ __ __ ____ +/\ _`\ /\ \__ /\ \__ /\ _`\ +\ \,\L\_\ \ ,_\ __ _ __\ \ ,_\ \ \,\L\_\ __ __ ___ ___ __ ____ ____ + \/_\__ \\ \ \/ /'__`\ /\`'__\ \ \/ \/_\__ \ /\ \/\ \ /'___\ /'___\ /'__`\ /',__\ /',__\ + /\ \L\ \ \ \_/\ \L\.\_\ \ \/ \ \ \_ /\ \L\ \ \ \_\ \/\ \__//\ \__//\ __//\__, `\/\__, `\ + \ `\____\ \__\ \__/.\_\\ \_\ \ \__\ \ `\____\ \____/\ \____\ \____\ \____\/\____/\/\____/ + \/_____/\/__/\/__/\/_/ \/_/ \/__/ \/_____/\/___/ \/____/\/____/\/____/\/___/ \/___/ + + +2024-06-26 10:59:18.214 INFO [http-nio-8892-exec-2] [] o.a.c.c.C.[Tomcat].[localhost].[/api] 173 : Initializing Spring DispatcherServlet 'dispatcherServlet' +2024-06-26 10:59:18.214 INFO [http-nio-8892-exec-2] [] o.s.web.servlet.DispatcherServlet 525 : Initializing Servlet 'dispatcherServlet' +2024-06-26 10:59:18.222 INFO [http-nio-8892-exec-2] [] o.s.web.servlet.DispatcherServlet 547 : Completed initialization in 8 ms +2024-06-26 10:59:18.975 INFO [http-nio-8892-exec-2] [1805797962096570370] com.zaxxer.hikari.HikariDataSource 110 : HikariPool-1 - Starting... +2024-06-26 10:59:19.376 INFO [http-nio-8892-exec-2] [1805797962096570370] com.zaxxer.hikari.HikariDataSource 123 : HikariPool-1 - Start completed. +2024-06-26 11:04:54.404 INFO [SpringContextShutdownHook] [] net.jjjerp.framework.core.xss.XssFilter 30 : XssFilter destroy +2024-06-26 11:04:54.404 INFO [SpringContextShutdownHook] [] n.j.f.core.filter.RequestDetailFilter 116 : RequestDetailFilter destroy +2024-06-26 11:04:54.411 INFO [SpringContextShutdownHook] [] o.s.s.c.ThreadPoolTaskScheduler 218 : Shutting down ExecutorService 'taskScheduler' +2024-06-26 11:04:54.412 INFO [SpringContextShutdownHook] [] o.s.s.concurrent.ThreadPoolTaskExecutor 218 : Shutting down ExecutorService 'applicationTaskExecutor' +2024-06-26 11:04:54.417 INFO [SpringContextShutdownHook] [] com.zaxxer.hikari.HikariDataSource 350 : HikariPool-1 - Shutdown initiated... +2024-06-26 11:04:54.419 INFO [SpringContextShutdownHook] [] com.zaxxer.hikari.HikariDataSource 352 : HikariPool-1 - Shutdown completed. +2024-06-26 11:05:00.227 INFO [background-preinit] [] o.h.validator.internal.util.Version 21 : HV000001: Hibernate Validator 6.1.7.Final +2024-06-26 11:05:00.230 INFO [main] [] net.jjjerp.SpringBootJjjApplication 55 : Starting SpringBootJjjApplication on OS-20230506YKNI with PID 8300 (D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\bootstrap\target\classes started by Administrator in D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp) +2024-06-26 11:05:00.230 INFO [main] [] net.jjjerp.SpringBootJjjApplication 652 : The following profiles are active: prod +2024-06-26 11:05:01.226 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 249 : Multiple Spring Data modules found, entering strict repository configuration mode! +2024-06-26 11:05:01.227 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 127 : Bootstrapping Spring Data Redis repositories in DEFAULT mode. +2024-06-26 11:05:01.339 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 187 : Finished Spring Data repository scanning in 102ms. Found 0 Redis repository interfaces. +2024-06-26 11:05:01.584 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.ShiroConfig' of type [net.jjjerp.config.ShiroConfig$$EnhancerBySpringCGLIB$$55c022d3] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 11:05:01.667 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.properties.JwtProperties' of type [net.jjjerp.config.properties.JwtProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 11:05:01.669 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.RedisTemplateConfig' of type [net.jjjerp.config.RedisTemplateConfig$$EnhancerBySpringCGLIB$$25252d77] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 11:05:01.677 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'spring.redis-org.springframework.boot.autoconfigure.data.redis.RedisProperties' of type [org.springframework.boot.autoconfigure.data.redis.RedisProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 11:05:01.680 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration' of type [org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 11:05:01.733 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'lettuceClientResources' of type [io.lettuce.core.resource.DefaultClientResources] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 11:05:01.822 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'redisConnectionFactory' of type [org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 11:05:01.867 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'redisTemplate' of type [org.springframework.data.redis.core.RedisTemplate] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 11:05:01.868 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.cache.impl.AdminLoginRedisServiceImpl' of type [net.jjjerp.framework.shiro.cache.impl.AdminLoginRedisServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 11:05:01.872 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.cache.impl.ShopLoginRedisServiceImpl' of type [net.jjjerp.framework.shiro.cache.impl.ShopLoginRedisServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 11:05:01.980 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'credentialsMatcher' of type [net.jjjerp.framework.shiro.jwt.JwtCredentialsMatcher] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 11:05:01.987 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'jwtRealm' of type [net.jjjerp.framework.shiro.jwt.JwtRealm] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 11:05:01.988 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'sessionStorageEvaluator' of type [org.apache.shiro.web.mgt.DefaultWebSessionStorageEvaluator] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 11:05:01.988 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'subjectDAO' of type [org.apache.shiro.mgt.DefaultSubjectDAO] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 11:05:01.990 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'securityManager' of type [org.apache.shiro.web.mgt.DefaultWebSecurityManager] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 11:05:02.010 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.service.impl.ShiroLoginServiceImpl' of type [net.jjjerp.framework.shiro.service.impl.ShiroLoginServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 11:05:02.017 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'spring-boot-jjj.shiro-net.jjjerp.config.properties.ShiroProperties' of type [net.jjjerp.config.properties.ShiroProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 11:05:02.102 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'authorizationAttributeSourceAdvisor' of type [org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 11:05:02.262 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.RedisCacheConfig' of type [net.jjjerp.config.RedisCacheConfig$$EnhancerBySpringCGLIB$$da620479] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 11:05:02.518 INFO [main] [] o.s.b.w.embedded.tomcat.TomcatWebServer 108 : Tomcat initialized with port(s): 8892 (http) +2024-06-26 11:05:02.525 INFO [main] [] o.a.coyote.http11.Http11NioProtocol 173 : Initializing ProtocolHandler ["http-nio-8892"] +2024-06-26 11:05:02.526 INFO [main] [] o.apache.catalina.core.StandardService 173 : Starting service [Tomcat] +2024-06-26 11:05:02.526 INFO [main] [] org.apache.catalina.core.StandardEngine 173 : Starting Servlet engine: [Apache Tomcat/9.0.46] +2024-06-26 11:05:02.613 INFO [main] [] o.a.c.c.C.[Tomcat].[localhost].[/api] 173 : Initializing Spring embedded WebApplicationContext +2024-06-26 11:05:02.614 INFO [main] [] w.s.c.ServletWebServerApplicationContext 285 : Root WebApplicationContext: initialization completed in 2339 ms +2024-06-26 11:05:02.754 INFO [main] [] net.jjjerp.framework.core.xss.XssFilter 18 : XssFilter init +2024-06-26 11:05:02.754 INFO [main] [] n.j.f.core.filter.RequestDetailFilter 30 : RequestDetailFilter init +2024-06-26 11:05:06.078 INFO [main] [] org.reflections.Reflections 228 : Reflections took 41 ms to scan 1 urls, producing 0 keys and 0 values +2024-06-26 11:05:06.181 INFO [main] [] net.jjjerp.framework.shiro.util.JwtUtil 33 : {"audience":"web","expireSecond":36000,"issuer":"spring-boot-jjj","redisCheck":true,"refreshToken":true,"refreshTokenCountdown":600,"saltCheck":true,"secret":"888888","singleLogin":false,"tokenName":"token"} +2024-06-26 11:05:09.240 INFO [main] [] pertySourcedRequestMappingHandlerMapping 69 : Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2Controller#getDocumentation(String, HttpServletRequest)] +2024-06-26 11:05:09.262 INFO [main] [] net.jjjerp.config.Swagger2Config 149 : swagger scan basePackages:null +2024-06-26 11:05:09.423 INFO [main] [] o.s.s.concurrent.ThreadPoolTaskExecutor 181 : Initializing ExecutorService 'applicationTaskExecutor' +2024-06-26 11:05:09.505 INFO [main] [] o.s.b.a.w.s.WelcomePageHandlerMapping 53 : Adding welcome page: class path resource [static/index.html] +2024-06-26 11:05:09.704 INFO [main] [] o.s.s.c.ThreadPoolTaskScheduler 181 : Initializing ExecutorService 'taskScheduler' +2024-06-26 11:05:09.811 INFO [main] [] o.a.coyote.http11.Http11NioProtocol 173 : Starting ProtocolHandler ["http-nio-8892"] +2024-06-26 11:05:09.834 INFO [main] [] o.s.b.w.embedded.tomcat.TomcatWebServer 220 : Tomcat started on port(s): 8892 (http) with context path '/api' +2024-06-26 11:05:09.835 INFO [main] [] d.s.w.p.DocumentationPluginsBootstrapper 160 : Context refreshed +2024-06-26 11:05:09.841 INFO [main] [] d.s.w.p.DocumentationPluginsBootstrapper 163 : Found 1 custom documentation plugin(s) +2024-06-26 11:05:09.878 INFO [main] [] s.d.s.w.s.ApiListingReferenceScanner 41 : Scanning for api listing references +2024-06-26 11:05:10.004 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_1 +2024-06-26 11:05:10.006 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_1 +2024-06-26 11:05:10.007 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_1 +2024-06-26 11:05:10.023 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_1 +2024-06-26 11:05:10.058 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_2 +2024-06-26 11:05:10.060 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_2 +2024-06-26 11:05:10.061 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_3 +2024-06-26 11:05:10.062 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_3 +2024-06-26 11:05:10.065 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_4 +2024-06-26 11:05:10.065 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_4 +2024-06-26 11:05:10.066 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexOutUsingPOST_1 +2024-06-26 11:05:10.069 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_5 +2024-06-26 11:05:10.075 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_5 +2024-06-26 11:05:10.076 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_2 +2024-06-26 11:05:10.076 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_2 +2024-06-26 11:05:10.090 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_6 +2024-06-26 11:05:10.091 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_7 +2024-06-26 11:05:10.097 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_8 +2024-06-26 11:05:10.131 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_6 +2024-06-26 11:05:10.132 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_3 +2024-06-26 11:05:10.133 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_3 +2024-06-26 11:05:10.139 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_9 +2024-06-26 11:05:10.143 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_10 +2024-06-26 11:05:10.145 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_7 +2024-06-26 11:05:10.146 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_4 +2024-06-26 11:05:10.146 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_4 +2024-06-26 11:05:10.149 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_11 +2024-06-26 11:05:10.153 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_8 +2024-06-26 11:05:10.153 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_5 +2024-06-26 11:05:10.154 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_5 +2024-06-26 11:05:10.157 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_12 +2024-06-26 11:05:10.160 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_9 +2024-06-26 11:05:10.161 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_6 +2024-06-26 11:05:10.161 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_6 +2024-06-26 11:05:10.164 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_13 +2024-06-26 11:05:10.165 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_1 +2024-06-26 11:05:10.166 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_10 +2024-06-26 11:05:10.167 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_7 +2024-06-26 11:05:10.168 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_7 +2024-06-26 11:05:10.169 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_14 +2024-06-26 11:05:10.170 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_11 +2024-06-26 11:05:10.171 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_8 +2024-06-26 11:05:10.171 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_8 +2024-06-26 11:05:10.172 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_15 +2024-06-26 11:05:10.174 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_12 +2024-06-26 11:05:10.176 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_9 +2024-06-26 11:05:10.177 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_9 +2024-06-26 11:05:10.180 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_16 +2024-06-26 11:05:10.182 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_17 +2024-06-26 11:05:10.187 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_13 +2024-06-26 11:05:10.188 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_10 +2024-06-26 11:05:10.191 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_18 +2024-06-26 11:05:10.192 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_1 +2024-06-26 11:05:10.204 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addGroupUsingPOST_1 +2024-06-26 11:05:10.204 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: categoryUsingPOST_1 +2024-06-26 11:05:10.205 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteFilesUsingPOST_1 +2024-06-26 11:05:10.205 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteGroupUsingPOST_1 +2024-06-26 11:05:10.206 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editGroupUsingPOST_1 +2024-06-26 11:05:10.209 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: listsUsingPOST_1 +2024-06-26 11:05:10.210 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: moveFilesUsingPOST_1 +2024-06-26 11:05:10.212 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_19 +2024-06-26 11:05:10.215 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_20 +2024-06-26 11:05:10.220 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_14 +2024-06-26 11:05:10.221 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_10 +2024-06-26 11:05:10.221 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteFilesUsingPOST_2 +2024-06-26 11:05:10.221 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_11 +2024-06-26 11:05:10.222 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_21 +2024-06-26 11:05:10.222 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: listUsingPOST_1 +2024-06-26 11:05:10.223 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: moveFilesUsingPOST_2 +2024-06-26 11:05:10.223 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_22 +2024-06-26 11:05:10.231 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_23 +2024-06-26 11:05:10.235 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_24 +2024-06-26 11:05:10.236 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_25 +2024-06-26 11:05:10.238 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_15 +2024-06-26 11:05:10.238 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_1 +2024-06-26 11:05:10.239 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_12 +2024-06-26 11:05:10.242 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_26 +2024-06-26 11:05:10.243 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: repulseAuditUsingPOST_1 +2024-06-26 11:05:10.246 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_16 +2024-06-26 11:05:10.247 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_11 +2024-06-26 11:05:10.248 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_13 +2024-06-26 11:05:10.252 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_27 +2024-06-26 11:05:10.255 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_17 +2024-06-26 11:05:10.256 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_12 +2024-06-26 11:05:10.256 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_14 +2024-06-26 11:05:10.259 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_28 +2024-06-26 11:05:10.260 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_18 +2024-06-26 11:05:10.261 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_29 +2024-06-26 11:05:10.264 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_30 +2024-06-26 11:05:10.266 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_19 +2024-06-26 11:05:10.266 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_1 +2024-06-26 11:05:10.267 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_31 +2024-06-26 11:05:10.268 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_1 +2024-06-26 11:05:10.269 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_32 +2024-06-26 11:05:10.270 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_20 +2024-06-26 11:05:10.271 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_2 +2024-06-26 11:05:10.271 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_33 +2024-06-26 11:05:10.280 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: loginUsingPOST_1 +2024-06-26 11:05:10.281 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: logoutUsingPOST_1 +2024-06-26 11:05:10.282 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_34 +2024-06-26 11:05:10.283 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_21 +2024-06-26 11:05:10.284 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_13 +2024-06-26 11:05:10.284 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_15 +2024-06-26 11:05:10.285 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_35 +2024-06-26 11:05:10.286 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_2 +2024-06-26 11:05:10.292 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_22 +2024-06-26 11:05:10.292 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_14 +2024-06-26 11:05:10.293 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_16 +2024-06-26 11:05:10.297 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_36 +2024-06-26 11:05:10.297 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: stateUsingPOST_1 +2024-06-26 11:05:10.298 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_1 +2024-06-26 11:05:10.298 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_3 +2024-06-26 11:05:10.300 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_23 +2024-06-26 11:05:10.300 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_2 +2024-06-26 11:05:10.301 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_2 +2024-06-26 11:05:10.302 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_17 +2024-06-26 11:05:10.302 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_37 +2024-06-26 11:05:10.304 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_3 +2024-06-26 11:05:10.304 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_18 +2024-06-26 11:05:10.305 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_38 +2024-06-26 11:05:10.307 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addStorageUsingPOST_1 +2024-06-26 11:05:10.308 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_4 +2024-06-26 11:05:10.308 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_3 +2024-06-26 11:05:10.309 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_19 +2024-06-26 11:05:10.310 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_39 +2024-06-26 11:05:10.311 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_40 +2024-06-26 11:05:10.312 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_24 +2024-06-26 11:05:10.313 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_20 +2024-06-26 11:05:10.313 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_3 +2024-06-26 11:05:10.317 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_25 +2024-06-26 11:05:10.317 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_15 +2024-06-26 11:05:10.318 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_21 +2024-06-26 11:05:10.319 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_41 +2024-06-26 11:05:10.320 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_2 +2024-06-26 11:05:10.320 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_4 +2024-06-26 11:05:10.322 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: scanIndexUsingPOST_1 +2024-06-26 11:05:10.324 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_42 +2024-06-26 11:05:10.324 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_1 +2024-06-26 11:05:10.326 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_26 +2024-06-26 11:05:10.326 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_16 +2024-06-26 11:05:10.327 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_22 +2024-06-26 11:05:10.331 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_43 +2024-06-26 11:05:10.334 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_27 +2024-06-26 11:05:10.334 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_17 +2024-06-26 11:05:10.335 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_23 +2024-06-26 11:05:10.337 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_44 +2024-06-26 11:05:10.337 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_3 +2024-06-26 11:05:10.338 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_5 +2024-06-26 11:05:10.340 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_28 +2024-06-26 11:05:10.340 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_18 +2024-06-26 11:05:10.341 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_24 +2024-06-26 11:05:10.343 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_45 +2024-06-26 11:05:10.343 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_46 +2024-06-26 11:05:10.344 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_2 +2024-06-26 11:05:10.345 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_29 +2024-06-26 11:05:10.345 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_47 +2024-06-26 11:05:10.346 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_48 +2024-06-26 11:05:10.347 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_49 +2024-06-26 11:05:10.347 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_3 +2024-06-26 11:05:10.350 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_30 +2024-06-26 11:05:10.350 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_19 +2024-06-26 11:05:10.351 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_25 +2024-06-26 11:05:10.354 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_50 +2024-06-26 11:05:10.355 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_2 +2024-06-26 11:05:10.355 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_4 +2024-06-26 11:05:10.356 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_6 +2024-06-26 11:05:10.359 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_31 +2024-06-26 11:05:10.360 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_20 +2024-06-26 11:05:10.360 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_26 +2024-06-26 11:05:10.364 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_51 +2024-06-26 11:05:10.365 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_3 +2024-06-26 11:05:10.365 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_7 +2024-06-26 11:05:10.366 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_52 +2024-06-26 11:05:10.366 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_4 +2024-06-26 11:05:10.368 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_32 +2024-06-26 11:05:10.369 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_21 +2024-06-26 11:05:10.369 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_27 +2024-06-26 11:05:10.371 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_53 +2024-06-26 11:05:10.373 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: uploadUsingPOST_1 +2024-06-26 11:05:10.392 INFO [main] [] net.jjjerp.SpringBootJjjApplication 61 : Started SpringBootJjjApplication in 10.652 seconds (JVM running for 11.206) +2024-06-26 11:05:10.395 INFO [main] [] n.j.framework.util.PrintApplicationInfo 61 : projectFinalName : jjj-erp-1.0 +2024-06-26 11:05:10.395 INFO [main] [] n.j.framework.util.PrintApplicationInfo 62 : projectVersion : 1.0 +2024-06-26 11:05:10.395 INFO [main] [] n.j.framework.util.PrintApplicationInfo 63 : profileActive : prod +2024-06-26 11:05:10.395 INFO [main] [] n.j.framework.util.PrintApplicationInfo 64 : contextPath : /api +2024-06-26 11:05:10.395 INFO [main] [] n.j.framework.util.PrintApplicationInfo 65 : serverIp : http://erp3.huadeng.fun +2024-06-26 11:05:10.395 INFO [main] [] n.j.framework.util.PrintApplicationInfo 66 : port : 8892 +2024-06-26 11:05:10.395 INFO [main] [] n.j.framework.util.PrintApplicationInfo 81 : Home: http://erp3.huadeng.fun/api +2024-06-26 11:05:10.395 INFO [main] [] n.j.framework.util.PrintApplicationInfo 82 : Knife4j: http://erp3.huadeng.fun/api/doc.html +2024-06-26 11:05:10.395 INFO [main] [] n.j.framework.util.PrintApplicationInfo 83 : Swagger: http://erp3.huadeng.fun/api/swagger-ui.html +2024-06-26 11:05:10.395 INFO [main] [] n.j.framework.util.PrintApplicationInfo 84 : jjj-erp 启动成功........... + ____ __ __ ____ +/\ _`\ /\ \__ /\ \__ /\ _`\ +\ \,\L\_\ \ ,_\ __ _ __\ \ ,_\ \ \,\L\_\ __ __ ___ ___ __ ____ ____ + \/_\__ \\ \ \/ /'__`\ /\`'__\ \ \/ \/_\__ \ /\ \/\ \ /'___\ /'___\ /'__`\ /',__\ /',__\ + /\ \L\ \ \ \_/\ \L\.\_\ \ \/ \ \ \_ /\ \L\ \ \ \_\ \/\ \__//\ \__//\ __//\__, `\/\__, `\ + \ `\____\ \__\ \__/.\_\\ \_\ \ \__\ \ `\____\ \____/\ \____\ \____\ \____\/\____/\/\____/ + \/_____/\/__/\/__/\/_/ \/_/ \/__/ \/_____/\/___/ \/____/\/____/\/____/\/___/ \/___/ + + +2024-06-26 11:05:15.007 INFO [http-nio-8892-exec-3] [] o.a.c.c.C.[Tomcat].[localhost].[/api] 173 : Initializing Spring DispatcherServlet 'dispatcherServlet' +2024-06-26 11:05:15.007 INFO [http-nio-8892-exec-3] [] o.s.web.servlet.DispatcherServlet 525 : Initializing Servlet 'dispatcherServlet' +2024-06-26 11:05:15.016 INFO [http-nio-8892-exec-3] [] o.s.web.servlet.DispatcherServlet 547 : Completed initialization in 8 ms +2024-06-26 11:05:16.036 INFO [http-nio-8892-exec-4] [1805799459148402690] com.zaxxer.hikari.HikariDataSource 110 : HikariPool-1 - Starting... +2024-06-26 11:05:16.466 INFO [http-nio-8892-exec-4] [1805799459148402690] com.zaxxer.hikari.HikariDataSource 123 : HikariPool-1 - Start completed. +2024-06-26 11:23:18.226 INFO [SpringContextShutdownHook] [] net.jjjerp.framework.core.xss.XssFilter 30 : XssFilter destroy +2024-06-26 11:23:18.226 INFO [SpringContextShutdownHook] [] n.j.f.core.filter.RequestDetailFilter 116 : RequestDetailFilter destroy +2024-06-26 11:23:18.236 INFO [SpringContextShutdownHook] [] o.s.s.c.ThreadPoolTaskScheduler 218 : Shutting down ExecutorService 'taskScheduler' +2024-06-26 11:23:18.237 INFO [SpringContextShutdownHook] [] o.s.s.concurrent.ThreadPoolTaskExecutor 218 : Shutting down ExecutorService 'applicationTaskExecutor' +2024-06-26 11:23:18.242 INFO [SpringContextShutdownHook] [] com.zaxxer.hikari.HikariDataSource 350 : HikariPool-1 - Shutdown initiated... +2024-06-26 11:23:18.245 INFO [SpringContextShutdownHook] [] com.zaxxer.hikari.HikariDataSource 352 : HikariPool-1 - Shutdown completed. +2024-06-26 11:23:26.897 INFO [background-preinit] [] o.h.validator.internal.util.Version 21 : HV000001: Hibernate Validator 6.1.7.Final +2024-06-26 11:23:26.909 INFO [main] [] net.jjjerp.SpringBootJjjApplication 55 : Starting SpringBootJjjApplication on OS-20230506YKNI with PID 11456 (D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\bootstrap\target\classes started by Administrator in D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp) +2024-06-26 11:23:26.909 INFO [main] [] net.jjjerp.SpringBootJjjApplication 652 : The following profiles are active: prod +2024-06-26 11:23:27.949 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 249 : Multiple Spring Data modules found, entering strict repository configuration mode! +2024-06-26 11:23:27.951 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 127 : Bootstrapping Spring Data Redis repositories in DEFAULT mode. +2024-06-26 11:23:28.062 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 187 : Finished Spring Data repository scanning in 99ms. Found 0 Redis repository interfaces. +2024-06-26 11:23:28.306 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.ShiroConfig' of type [net.jjjerp.config.ShiroConfig$$EnhancerBySpringCGLIB$$ac6bb959] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 11:23:28.406 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.properties.JwtProperties' of type [net.jjjerp.config.properties.JwtProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 11:23:28.408 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.RedisTemplateConfig' of type [net.jjjerp.config.RedisTemplateConfig$$EnhancerBySpringCGLIB$$7bd0c3fd] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 11:23:28.419 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'spring.redis-org.springframework.boot.autoconfigure.data.redis.RedisProperties' of type [org.springframework.boot.autoconfigure.data.redis.RedisProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 11:23:28.422 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration' of type [org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 11:23:28.488 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'lettuceClientResources' of type [io.lettuce.core.resource.DefaultClientResources] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 11:23:28.587 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'redisConnectionFactory' of type [org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 11:23:28.631 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'redisTemplate' of type [org.springframework.data.redis.core.RedisTemplate] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 11:23:28.632 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.cache.impl.AdminLoginRedisServiceImpl' of type [net.jjjerp.framework.shiro.cache.impl.AdminLoginRedisServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 11:23:28.635 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.cache.impl.ShopLoginRedisServiceImpl' of type [net.jjjerp.framework.shiro.cache.impl.ShopLoginRedisServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 11:23:28.743 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'credentialsMatcher' of type [net.jjjerp.framework.shiro.jwt.JwtCredentialsMatcher] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 11:23:28.748 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'jwtRealm' of type [net.jjjerp.framework.shiro.jwt.JwtRealm] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 11:23:28.749 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'sessionStorageEvaluator' of type [org.apache.shiro.web.mgt.DefaultWebSessionStorageEvaluator] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 11:23:28.749 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'subjectDAO' of type [org.apache.shiro.mgt.DefaultSubjectDAO] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 11:23:28.751 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'securityManager' of type [org.apache.shiro.web.mgt.DefaultWebSecurityManager] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 11:23:28.772 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.service.impl.ShiroLoginServiceImpl' of type [net.jjjerp.framework.shiro.service.impl.ShiroLoginServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 11:23:28.779 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'spring-boot-jjj.shiro-net.jjjerp.config.properties.ShiroProperties' of type [net.jjjerp.config.properties.ShiroProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 11:23:28.861 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'authorizationAttributeSourceAdvisor' of type [org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 11:23:28.987 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.RedisCacheConfig' of type [net.jjjerp.config.RedisCacheConfig$$EnhancerBySpringCGLIB$$310d9aff] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 11:23:29.227 INFO [main] [] o.s.b.w.embedded.tomcat.TomcatWebServer 108 : Tomcat initialized with port(s): 8892 (http) +2024-06-26 11:23:29.235 INFO [main] [] o.a.coyote.http11.Http11NioProtocol 173 : Initializing ProtocolHandler ["http-nio-8892"] +2024-06-26 11:23:29.235 INFO [main] [] o.apache.catalina.core.StandardService 173 : Starting service [Tomcat] +2024-06-26 11:23:29.235 INFO [main] [] org.apache.catalina.core.StandardEngine 173 : Starting Servlet engine: [Apache Tomcat/9.0.46] +2024-06-26 11:23:29.325 INFO [main] [] o.a.c.c.C.[Tomcat].[localhost].[/api] 173 : Initializing Spring embedded WebApplicationContext +2024-06-26 11:23:29.325 INFO [main] [] w.s.c.ServletWebServerApplicationContext 285 : Root WebApplicationContext: initialization completed in 2360 ms +2024-06-26 11:23:29.471 INFO [main] [] net.jjjerp.framework.core.xss.XssFilter 18 : XssFilter init +2024-06-26 11:23:29.471 INFO [main] [] n.j.f.core.filter.RequestDetailFilter 30 : RequestDetailFilter init +2024-06-26 11:23:32.843 INFO [main] [] org.reflections.Reflections 228 : Reflections took 38 ms to scan 1 urls, producing 0 keys and 0 values +2024-06-26 11:23:32.941 INFO [main] [] net.jjjerp.framework.shiro.util.JwtUtil 33 : {"audience":"web","expireSecond":36000,"issuer":"spring-boot-jjj","redisCheck":true,"refreshToken":true,"refreshTokenCountdown":600,"saltCheck":true,"secret":"888888","singleLogin":false,"tokenName":"token"} +2024-06-26 11:23:35.662 INFO [main] [] pertySourcedRequestMappingHandlerMapping 69 : Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2Controller#getDocumentation(String, HttpServletRequest)] +2024-06-26 11:23:35.678 INFO [main] [] net.jjjerp.config.Swagger2Config 149 : swagger scan basePackages:null +2024-06-26 11:23:35.803 INFO [main] [] o.s.s.concurrent.ThreadPoolTaskExecutor 181 : Initializing ExecutorService 'applicationTaskExecutor' +2024-06-26 11:23:35.903 INFO [main] [] o.s.b.a.w.s.WelcomePageHandlerMapping 53 : Adding welcome page: class path resource [static/index.html] +2024-06-26 11:23:36.135 INFO [main] [] o.s.s.c.ThreadPoolTaskScheduler 181 : Initializing ExecutorService 'taskScheduler' +2024-06-26 11:23:36.230 INFO [main] [] o.a.coyote.http11.Http11NioProtocol 173 : Starting ProtocolHandler ["http-nio-8892"] +2024-06-26 11:23:36.249 INFO [main] [] o.s.b.w.embedded.tomcat.TomcatWebServer 220 : Tomcat started on port(s): 8892 (http) with context path '/api' +2024-06-26 11:23:36.250 INFO [main] [] d.s.w.p.DocumentationPluginsBootstrapper 160 : Context refreshed +2024-06-26 11:23:36.255 INFO [main] [] d.s.w.p.DocumentationPluginsBootstrapper 163 : Found 1 custom documentation plugin(s) +2024-06-26 11:23:36.289 INFO [main] [] s.d.s.w.s.ApiListingReferenceScanner 41 : Scanning for api listing references +2024-06-26 11:23:36.409 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_1 +2024-06-26 11:23:36.411 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_1 +2024-06-26 11:23:36.411 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_1 +2024-06-26 11:23:36.430 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_1 +2024-06-26 11:23:36.464 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_2 +2024-06-26 11:23:36.466 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_2 +2024-06-26 11:23:36.469 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_3 +2024-06-26 11:23:36.470 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_3 +2024-06-26 11:23:36.473 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_4 +2024-06-26 11:23:36.474 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_4 +2024-06-26 11:23:36.475 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexOutUsingPOST_1 +2024-06-26 11:23:36.479 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_5 +2024-06-26 11:23:36.484 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_5 +2024-06-26 11:23:36.485 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_2 +2024-06-26 11:23:36.485 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_2 +2024-06-26 11:23:36.499 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_6 +2024-06-26 11:23:36.500 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_7 +2024-06-26 11:23:36.505 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_8 +2024-06-26 11:23:36.513 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_6 +2024-06-26 11:23:36.513 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_3 +2024-06-26 11:23:36.514 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_3 +2024-06-26 11:23:36.521 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_9 +2024-06-26 11:23:36.552 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_10 +2024-06-26 11:23:36.554 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_7 +2024-06-26 11:23:36.555 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_4 +2024-06-26 11:23:36.555 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_4 +2024-06-26 11:23:36.559 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_11 +2024-06-26 11:23:36.565 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_8 +2024-06-26 11:23:36.565 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_5 +2024-06-26 11:23:36.566 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_5 +2024-06-26 11:23:36.571 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_12 +2024-06-26 11:23:36.576 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_9 +2024-06-26 11:23:36.577 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_6 +2024-06-26 11:23:36.578 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_6 +2024-06-26 11:23:36.582 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_13 +2024-06-26 11:23:36.583 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_1 +2024-06-26 11:23:36.584 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_10 +2024-06-26 11:23:36.585 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_7 +2024-06-26 11:23:36.586 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_7 +2024-06-26 11:23:36.587 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_14 +2024-06-26 11:23:36.589 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_11 +2024-06-26 11:23:36.590 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_8 +2024-06-26 11:23:36.590 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_8 +2024-06-26 11:23:36.592 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_15 +2024-06-26 11:23:36.593 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_12 +2024-06-26 11:23:36.597 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_9 +2024-06-26 11:23:36.598 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_9 +2024-06-26 11:23:36.601 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_16 +2024-06-26 11:23:36.604 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_17 +2024-06-26 11:23:36.611 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_13 +2024-06-26 11:23:36.612 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_10 +2024-06-26 11:23:36.616 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_18 +2024-06-26 11:23:36.617 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_1 +2024-06-26 11:23:36.632 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addGroupUsingPOST_1 +2024-06-26 11:23:36.634 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: categoryUsingPOST_1 +2024-06-26 11:23:36.634 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteFilesUsingPOST_1 +2024-06-26 11:23:36.635 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteGroupUsingPOST_1 +2024-06-26 11:23:36.636 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editGroupUsingPOST_1 +2024-06-26 11:23:36.640 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: listsUsingPOST_1 +2024-06-26 11:23:36.640 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: moveFilesUsingPOST_1 +2024-06-26 11:23:36.642 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_19 +2024-06-26 11:23:36.646 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_20 +2024-06-26 11:23:36.652 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_14 +2024-06-26 11:23:36.654 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_10 +2024-06-26 11:23:36.654 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteFilesUsingPOST_2 +2024-06-26 11:23:36.655 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_11 +2024-06-26 11:23:36.656 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_21 +2024-06-26 11:23:36.657 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: listUsingPOST_1 +2024-06-26 11:23:36.657 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: moveFilesUsingPOST_2 +2024-06-26 11:23:36.658 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_22 +2024-06-26 11:23:36.668 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_23 +2024-06-26 11:23:36.673 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_24 +2024-06-26 11:23:36.675 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_25 +2024-06-26 11:23:36.678 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_15 +2024-06-26 11:23:36.680 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_1 +2024-06-26 11:23:36.682 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_12 +2024-06-26 11:23:36.683 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_26 +2024-06-26 11:23:36.684 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: repulseAuditUsingPOST_1 +2024-06-26 11:23:36.686 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_16 +2024-06-26 11:23:36.687 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_11 +2024-06-26 11:23:36.687 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_13 +2024-06-26 11:23:36.692 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_27 +2024-06-26 11:23:36.696 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_17 +2024-06-26 11:23:36.697 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_12 +2024-06-26 11:23:36.697 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_14 +2024-06-26 11:23:36.700 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_28 +2024-06-26 11:23:36.701 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_18 +2024-06-26 11:23:36.702 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_29 +2024-06-26 11:23:36.706 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_30 +2024-06-26 11:23:36.707 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_19 +2024-06-26 11:23:36.708 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_1 +2024-06-26 11:23:36.709 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_31 +2024-06-26 11:23:36.712 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_1 +2024-06-26 11:23:36.713 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_32 +2024-06-26 11:23:36.716 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_20 +2024-06-26 11:23:36.717 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_2 +2024-06-26 11:23:36.717 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_33 +2024-06-26 11:23:36.726 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: loginUsingPOST_1 +2024-06-26 11:23:36.726 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: logoutUsingPOST_1 +2024-06-26 11:23:36.727 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_34 +2024-06-26 11:23:36.730 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_21 +2024-06-26 11:23:36.730 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_13 +2024-06-26 11:23:36.730 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_15 +2024-06-26 11:23:36.731 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_35 +2024-06-26 11:23:36.732 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_2 +2024-06-26 11:23:36.736 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_22 +2024-06-26 11:23:36.736 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_14 +2024-06-26 11:23:36.737 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_16 +2024-06-26 11:23:36.740 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_36 +2024-06-26 11:23:36.741 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: stateUsingPOST_1 +2024-06-26 11:23:36.741 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_1 +2024-06-26 11:23:36.741 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_3 +2024-06-26 11:23:36.743 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_23 +2024-06-26 11:23:36.744 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_2 +2024-06-26 11:23:36.744 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_2 +2024-06-26 11:23:36.746 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_17 +2024-06-26 11:23:36.746 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_37 +2024-06-26 11:23:36.748 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_3 +2024-06-26 11:23:36.748 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_18 +2024-06-26 11:23:36.749 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_38 +2024-06-26 11:23:36.750 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addStorageUsingPOST_1 +2024-06-26 11:23:36.751 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_4 +2024-06-26 11:23:36.751 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_3 +2024-06-26 11:23:36.752 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_19 +2024-06-26 11:23:36.753 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_39 +2024-06-26 11:23:36.754 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_40 +2024-06-26 11:23:36.755 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_24 +2024-06-26 11:23:36.756 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_20 +2024-06-26 11:23:36.756 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_3 +2024-06-26 11:23:36.760 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_25 +2024-06-26 11:23:36.761 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_15 +2024-06-26 11:23:36.761 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_21 +2024-06-26 11:23:36.762 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_41 +2024-06-26 11:23:36.763 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_2 +2024-06-26 11:23:36.763 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_4 +2024-06-26 11:23:36.765 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: scanIndexUsingPOST_1 +2024-06-26 11:23:36.766 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_1 +2024-06-26 11:23:36.767 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_42 +2024-06-26 11:23:36.768 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_26 +2024-06-26 11:23:36.769 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_16 +2024-06-26 11:23:36.769 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_22 +2024-06-26 11:23:36.773 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_43 +2024-06-26 11:23:36.776 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_27 +2024-06-26 11:23:36.777 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_17 +2024-06-26 11:23:36.777 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_23 +2024-06-26 11:23:36.778 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_44 +2024-06-26 11:23:36.779 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_3 +2024-06-26 11:23:36.779 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_5 +2024-06-26 11:23:36.781 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_28 +2024-06-26 11:23:36.781 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_18 +2024-06-26 11:23:36.782 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_24 +2024-06-26 11:23:36.784 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_45 +2024-06-26 11:23:36.784 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_46 +2024-06-26 11:23:36.785 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_2 +2024-06-26 11:23:36.786 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_29 +2024-06-26 11:23:36.786 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_47 +2024-06-26 11:23:36.787 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_48 +2024-06-26 11:23:36.788 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_49 +2024-06-26 11:23:36.788 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_3 +2024-06-26 11:23:36.791 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_30 +2024-06-26 11:23:36.792 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_19 +2024-06-26 11:23:36.792 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_25 +2024-06-26 11:23:36.796 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_50 +2024-06-26 11:23:36.796 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_2 +2024-06-26 11:23:36.796 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_4 +2024-06-26 11:23:36.797 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_6 +2024-06-26 11:23:36.800 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_31 +2024-06-26 11:23:36.801 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_20 +2024-06-26 11:23:36.801 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_26 +2024-06-26 11:23:36.805 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_51 +2024-06-26 11:23:36.806 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_3 +2024-06-26 11:23:36.806 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_7 +2024-06-26 11:23:36.807 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_52 +2024-06-26 11:23:36.807 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_4 +2024-06-26 11:23:36.809 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_32 +2024-06-26 11:23:36.810 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_21 +2024-06-26 11:23:36.810 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_27 +2024-06-26 11:23:36.812 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_53 +2024-06-26 11:23:36.814 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: uploadUsingPOST_1 +2024-06-26 11:23:36.833 INFO [main] [] net.jjjerp.SpringBootJjjApplication 61 : Started SpringBootJjjApplication in 10.439 seconds (JVM running for 11.416) +2024-06-26 11:23:36.836 INFO [main] [] n.j.framework.util.PrintApplicationInfo 61 : projectFinalName : jjj-erp-1.0 +2024-06-26 11:23:36.836 INFO [main] [] n.j.framework.util.PrintApplicationInfo 62 : projectVersion : 1.0 +2024-06-26 11:23:36.836 INFO [main] [] n.j.framework.util.PrintApplicationInfo 63 : profileActive : prod +2024-06-26 11:23:36.836 INFO [main] [] n.j.framework.util.PrintApplicationInfo 64 : contextPath : /api +2024-06-26 11:23:36.836 INFO [main] [] n.j.framework.util.PrintApplicationInfo 65 : serverIp : http://erp3.huadeng.fun +2024-06-26 11:23:36.836 INFO [main] [] n.j.framework.util.PrintApplicationInfo 66 : port : 8892 +2024-06-26 11:23:36.836 INFO [main] [] n.j.framework.util.PrintApplicationInfo 81 : Home: http://erp3.huadeng.fun/api +2024-06-26 11:23:36.836 INFO [main] [] n.j.framework.util.PrintApplicationInfo 82 : Knife4j: http://erp3.huadeng.fun/api/doc.html +2024-06-26 11:23:36.836 INFO [main] [] n.j.framework.util.PrintApplicationInfo 83 : Swagger: http://erp3.huadeng.fun/api/swagger-ui.html +2024-06-26 11:23:36.836 INFO [main] [] n.j.framework.util.PrintApplicationInfo 84 : jjj-erp 启动成功........... + ____ __ __ ____ +/\ _`\ /\ \__ /\ \__ /\ _`\ +\ \,\L\_\ \ ,_\ __ _ __\ \ ,_\ \ \,\L\_\ __ __ ___ ___ __ ____ ____ + \/_\__ \\ \ \/ /'__`\ /\`'__\ \ \/ \/_\__ \ /\ \/\ \ /'___\ /'___\ /'__`\ /',__\ /',__\ + /\ \L\ \ \ \_/\ \L\.\_\ \ \/ \ \ \_ /\ \L\ \ \ \_\ \/\ \__//\ \__//\ __//\__, `\/\__, `\ + \ `\____\ \__\ \__/.\_\\ \_\ \ \__\ \ `\____\ \____/\ \____\ \____\ \____\/\____/\/\____/ + \/_____/\/__/\/__/\/_/ \/_/ \/__/ \/_____/\/___/ \/____/\/____/\/____/\/___/ \/___/ + + +2024-06-26 11:24:04.109 INFO [http-nio-8892-exec-1] [] o.a.c.c.C.[Tomcat].[localhost].[/api] 173 : Initializing Spring DispatcherServlet 'dispatcherServlet' +2024-06-26 11:24:04.109 INFO [http-nio-8892-exec-1] [] o.s.web.servlet.DispatcherServlet 525 : Initializing Servlet 'dispatcherServlet' +2024-06-26 11:24:04.119 INFO [http-nio-8892-exec-1] [] o.s.web.servlet.DispatcherServlet 547 : Completed initialization in 10 ms +2024-06-26 11:24:04.956 INFO [http-nio-8892-exec-1] [1805804194307960834] com.zaxxer.hikari.HikariDataSource 110 : HikariPool-1 - Starting... +2024-06-26 11:24:05.322 INFO [http-nio-8892-exec-1] [1805804194307960834] com.zaxxer.hikari.HikariDataSource 123 : HikariPool-1 - Start completed. +2024-06-26 11:30:51.735 ERROR [http-nio-8892-exec-3] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy402.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-26 11:30:51.735 ERROR [http-nio-8892-exec-4] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy402.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-26 11:30:58.431 ERROR [http-nio-8892-exec-6] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy402.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-26 11:30:58.433 ERROR [http-nio-8892-exec-5] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:131) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy402.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.protocol.CommandExpiryWriter.lambda$potentiallyExpire$0(CommandExpiryWriter.java:172) + at io.netty.util.concurrent.PromiseTask.runTask(PromiseTask.java:98) + at io.netty.util.concurrent.ScheduledFutureTask.run(ScheduledFutureTask.java:170) + at io.netty.util.concurrent.DefaultEventExecutor.run(DefaultEventExecutor.java:66) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + ... 1 common frames omitted + +2024-06-26 11:31:01.016 INFO [lettuce-eventExecutorLoop-1-6] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was /101.34.74.68:6379 +2024-06-26 11:31:01.043 INFO [lettuce-nioEventLoop-4-2] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to 101.34.74.68:6379 +2024-06-26 11:31:06.489 WARN [http-nio-8892-exec-7] [1805805941411737602] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@6722e878 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-26 11:31:07.470 WARN [http-nio-8892-exec-11] [1805805945341800449] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@37e3aad4 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-26 11:31:29.397 WARN [http-nio-8892-exec-15] [1805806037759094786] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@356fb102 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-26 11:31:31.402 WARN [http-nio-8892-exec-16] [1805806046458081281] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@61ddbacb (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-26 11:33:11.563 WARN [http-nio-8892-exec-9] [1805806466492461058] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@25032567 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-26 11:33:19.843 WARN [http-nio-8892-exec-26] [1805806501300989953] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@358bf3c1 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-26 11:33:24.854 WARN [http-nio-8892-exec-26] [1805806501300989953] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@3ff5241a (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-26 11:33:28.423 WARN [http-nio-8892-exec-27] [1805806537128734722] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@348d41b5 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-26 11:33:29.858 WARN [http-nio-8892-exec-26] [1805806501300989953] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@255bad2d (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-26 12:05:12.933 ERROR [http-nio-8892-exec-14] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy402.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-26 12:05:12.933 ERROR [http-nio-8892-exec-12] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy402.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-26 12:05:22.119 INFO [lettuce-eventExecutorLoop-1-2] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was /101.34.74.68:6379 +2024-06-26 12:05:22.146 INFO [lettuce-nioEventLoop-4-3] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to 101.34.74.68:6379 +2024-06-26 12:05:27.652 WARN [http-nio-8892-exec-18] [1805814586593701889] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@2c3ae580 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-26 14:08:18.342 ERROR [http-nio-8892-exec-20] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy402.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-26 14:08:18.342 ERROR [http-nio-8892-exec-19] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:131) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy402.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.protocol.CommandExpiryWriter.lambda$potentiallyExpire$0(CommandExpiryWriter.java:172) + at io.netty.util.concurrent.PromiseTask.runTask(PromiseTask.java:98) + at io.netty.util.concurrent.ScheduledFutureTask.run(ScheduledFutureTask.java:170) + at io.netty.util.concurrent.DefaultEventExecutor.run(DefaultEventExecutor.java:66) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + ... 1 common frames omitted + +2024-06-26 14:08:18.343 ERROR [http-nio-8892-exec-16] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy402.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-26 14:08:18.345 ERROR [http-nio-8892-exec-15] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy402.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-26 14:08:27.617 INFO [lettuce-eventExecutorLoop-1-6] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was /101.34.74.68:6379 +2024-06-26 14:08:27.642 INFO [lettuce-nioEventLoop-4-4] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to 101.34.74.68:6379 +2024-06-26 14:10:37.942 INFO [SpringContextShutdownHook] [] net.jjjerp.framework.core.xss.XssFilter 30 : XssFilter destroy +2024-06-26 14:10:37.942 INFO [SpringContextShutdownHook] [] n.j.f.core.filter.RequestDetailFilter 116 : RequestDetailFilter destroy +2024-06-26 14:10:37.949 INFO [SpringContextShutdownHook] [] o.s.s.c.ThreadPoolTaskScheduler 218 : Shutting down ExecutorService 'taskScheduler' +2024-06-26 14:10:37.950 INFO [SpringContextShutdownHook] [] o.s.s.concurrent.ThreadPoolTaskExecutor 218 : Shutting down ExecutorService 'applicationTaskExecutor' +2024-06-26 14:10:37.955 INFO [SpringContextShutdownHook] [] com.zaxxer.hikari.HikariDataSource 350 : HikariPool-1 - Shutdown initiated... +2024-06-26 14:10:37.957 INFO [SpringContextShutdownHook] [] com.zaxxer.hikari.HikariDataSource 352 : HikariPool-1 - Shutdown completed. +2024-06-26 14:10:45.923 INFO [background-preinit] [] o.h.validator.internal.util.Version 21 : HV000001: Hibernate Validator 6.1.7.Final +2024-06-26 14:10:45.927 INFO [main] [] net.jjjerp.SpringBootJjjApplication 55 : Starting SpringBootJjjApplication on OS-20230506YKNI with PID 12744 (D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\bootstrap\target\classes started by Administrator in D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp) +2024-06-26 14:10:45.927 INFO [main] [] net.jjjerp.SpringBootJjjApplication 652 : The following profiles are active: prod +2024-06-26 14:10:46.951 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 249 : Multiple Spring Data modules found, entering strict repository configuration mode! +2024-06-26 14:10:46.952 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 127 : Bootstrapping Spring Data Redis repositories in DEFAULT mode. +2024-06-26 14:10:47.061 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 187 : Finished Spring Data repository scanning in 100ms. Found 0 Redis repository interfaces. +2024-06-26 14:10:47.304 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.ShiroConfig' of type [net.jjjerp.config.ShiroConfig$$EnhancerBySpringCGLIB$$be6e1795] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 14:10:47.388 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.properties.JwtProperties' of type [net.jjjerp.config.properties.JwtProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 14:10:47.390 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.RedisTemplateConfig' of type [net.jjjerp.config.RedisTemplateConfig$$EnhancerBySpringCGLIB$$8dd32239] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 14:10:47.400 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'spring.redis-org.springframework.boot.autoconfigure.data.redis.RedisProperties' of type [org.springframework.boot.autoconfigure.data.redis.RedisProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 14:10:47.403 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration' of type [org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 14:10:47.465 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'lettuceClientResources' of type [io.lettuce.core.resource.DefaultClientResources] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 14:10:47.562 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'redisConnectionFactory' of type [org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 14:10:47.606 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'redisTemplate' of type [org.springframework.data.redis.core.RedisTemplate] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 14:10:47.606 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.cache.impl.AdminLoginRedisServiceImpl' of type [net.jjjerp.framework.shiro.cache.impl.AdminLoginRedisServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 14:10:47.610 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.cache.impl.ShopLoginRedisServiceImpl' of type [net.jjjerp.framework.shiro.cache.impl.ShopLoginRedisServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 14:10:47.716 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'credentialsMatcher' of type [net.jjjerp.framework.shiro.jwt.JwtCredentialsMatcher] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 14:10:47.722 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'jwtRealm' of type [net.jjjerp.framework.shiro.jwt.JwtRealm] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 14:10:47.723 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'sessionStorageEvaluator' of type [org.apache.shiro.web.mgt.DefaultWebSessionStorageEvaluator] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 14:10:47.724 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'subjectDAO' of type [org.apache.shiro.mgt.DefaultSubjectDAO] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 14:10:47.726 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'securityManager' of type [org.apache.shiro.web.mgt.DefaultWebSecurityManager] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 14:10:47.744 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.service.impl.ShiroLoginServiceImpl' of type [net.jjjerp.framework.shiro.service.impl.ShiroLoginServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 14:10:47.751 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'spring-boot-jjj.shiro-net.jjjerp.config.properties.ShiroProperties' of type [net.jjjerp.config.properties.ShiroProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 14:10:47.830 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'authorizationAttributeSourceAdvisor' of type [org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 14:10:47.959 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.RedisCacheConfig' of type [net.jjjerp.config.RedisCacheConfig$$EnhancerBySpringCGLIB$$430ff93b] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 14:10:48.215 INFO [main] [] o.s.b.w.embedded.tomcat.TomcatWebServer 108 : Tomcat initialized with port(s): 8892 (http) +2024-06-26 14:10:48.223 INFO [main] [] o.a.coyote.http11.Http11NioProtocol 173 : Initializing ProtocolHandler ["http-nio-8892"] +2024-06-26 14:10:48.223 INFO [main] [] o.apache.catalina.core.StandardService 173 : Starting service [Tomcat] +2024-06-26 14:10:48.223 INFO [main] [] org.apache.catalina.core.StandardEngine 173 : Starting Servlet engine: [Apache Tomcat/9.0.46] +2024-06-26 14:10:48.314 INFO [main] [] o.a.c.c.C.[Tomcat].[localhost].[/api] 173 : Initializing Spring embedded WebApplicationContext +2024-06-26 14:10:48.314 INFO [main] [] w.s.c.ServletWebServerApplicationContext 285 : Root WebApplicationContext: initialization completed in 2342 ms +2024-06-26 14:10:48.465 INFO [main] [] net.jjjerp.framework.core.xss.XssFilter 18 : XssFilter init +2024-06-26 14:10:48.465 INFO [main] [] n.j.f.core.filter.RequestDetailFilter 30 : RequestDetailFilter init +2024-06-26 14:10:51.938 INFO [main] [] org.reflections.Reflections 228 : Reflections took 49 ms to scan 1 urls, producing 0 keys and 0 values +2024-06-26 14:10:52.035 INFO [main] [] net.jjjerp.framework.shiro.util.JwtUtil 33 : {"audience":"web","expireSecond":36000,"issuer":"spring-boot-jjj","redisCheck":true,"refreshToken":true,"refreshTokenCountdown":600,"saltCheck":true,"secret":"888888","singleLogin":false,"tokenName":"token"} +2024-06-26 14:10:54.955 INFO [main] [] pertySourcedRequestMappingHandlerMapping 69 : Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2Controller#getDocumentation(String, HttpServletRequest)] +2024-06-26 14:10:54.972 INFO [main] [] net.jjjerp.config.Swagger2Config 149 : swagger scan basePackages:null +2024-06-26 14:10:55.109 INFO [main] [] o.s.s.concurrent.ThreadPoolTaskExecutor 181 : Initializing ExecutorService 'applicationTaskExecutor' +2024-06-26 14:10:55.238 INFO [main] [] o.s.b.a.w.s.WelcomePageHandlerMapping 53 : Adding welcome page: class path resource [static/index.html] +2024-06-26 14:10:55.431 INFO [main] [] o.s.s.c.ThreadPoolTaskScheduler 181 : Initializing ExecutorService 'taskScheduler' +2024-06-26 14:10:55.545 INFO [main] [] o.a.coyote.http11.Http11NioProtocol 173 : Starting ProtocolHandler ["http-nio-8892"] +2024-06-26 14:10:55.565 INFO [main] [] o.s.b.w.embedded.tomcat.TomcatWebServer 220 : Tomcat started on port(s): 8892 (http) with context path '/api' +2024-06-26 14:10:55.567 INFO [main] [] d.s.w.p.DocumentationPluginsBootstrapper 160 : Context refreshed +2024-06-26 14:10:55.574 INFO [main] [] d.s.w.p.DocumentationPluginsBootstrapper 163 : Found 1 custom documentation plugin(s) +2024-06-26 14:10:55.615 INFO [main] [] s.d.s.w.s.ApiListingReferenceScanner 41 : Scanning for api listing references +2024-06-26 14:10:55.746 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_1 +2024-06-26 14:10:55.748 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_1 +2024-06-26 14:10:55.749 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_1 +2024-06-26 14:10:55.765 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_1 +2024-06-26 14:10:55.799 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_2 +2024-06-26 14:10:55.801 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_2 +2024-06-26 14:10:55.804 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_3 +2024-06-26 14:10:55.805 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_3 +2024-06-26 14:10:55.807 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_4 +2024-06-26 14:10:55.808 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_4 +2024-06-26 14:10:55.809 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexOutUsingPOST_1 +2024-06-26 14:10:55.812 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_5 +2024-06-26 14:10:55.817 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_5 +2024-06-26 14:10:55.818 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_2 +2024-06-26 14:10:55.819 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_2 +2024-06-26 14:10:55.833 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_6 +2024-06-26 14:10:55.835 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_7 +2024-06-26 14:10:55.839 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_8 +2024-06-26 14:10:55.870 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_6 +2024-06-26 14:10:55.871 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_3 +2024-06-26 14:10:55.871 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_3 +2024-06-26 14:10:55.878 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_9 +2024-06-26 14:10:55.881 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_10 +2024-06-26 14:10:55.883 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_7 +2024-06-26 14:10:55.885 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_4 +2024-06-26 14:10:55.885 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_4 +2024-06-26 14:10:55.888 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_11 +2024-06-26 14:10:55.891 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_8 +2024-06-26 14:10:55.891 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_5 +2024-06-26 14:10:55.892 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_5 +2024-06-26 14:10:55.897 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_12 +2024-06-26 14:10:55.899 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_9 +2024-06-26 14:10:55.899 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_6 +2024-06-26 14:10:55.900 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_6 +2024-06-26 14:10:55.903 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_13 +2024-06-26 14:10:55.904 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_1 +2024-06-26 14:10:55.906 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_10 +2024-06-26 14:10:55.906 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_7 +2024-06-26 14:10:55.907 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_7 +2024-06-26 14:10:55.908 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_14 +2024-06-26 14:10:55.910 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_11 +2024-06-26 14:10:55.910 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_8 +2024-06-26 14:10:55.911 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_8 +2024-06-26 14:10:55.912 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_15 +2024-06-26 14:10:55.913 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_12 +2024-06-26 14:10:55.916 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_9 +2024-06-26 14:10:55.916 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_9 +2024-06-26 14:10:55.919 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_16 +2024-06-26 14:10:55.921 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_17 +2024-06-26 14:10:55.927 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_13 +2024-06-26 14:10:55.928 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_10 +2024-06-26 14:10:55.931 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_18 +2024-06-26 14:10:55.932 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_1 +2024-06-26 14:10:55.943 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addGroupUsingPOST_1 +2024-06-26 14:10:55.944 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: categoryUsingPOST_1 +2024-06-26 14:10:55.944 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteFilesUsingPOST_1 +2024-06-26 14:10:55.945 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteGroupUsingPOST_1 +2024-06-26 14:10:55.945 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editGroupUsingPOST_1 +2024-06-26 14:10:55.949 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: listsUsingPOST_1 +2024-06-26 14:10:55.950 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: moveFilesUsingPOST_1 +2024-06-26 14:10:55.951 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_19 +2024-06-26 14:10:55.955 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_14 +2024-06-26 14:10:55.956 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_10 +2024-06-26 14:10:55.956 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteFilesUsingPOST_2 +2024-06-26 14:10:55.957 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_11 +2024-06-26 14:10:55.959 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_20 +2024-06-26 14:10:55.961 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: moveFilesUsingPOST_2 +2024-06-26 14:10:55.962 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_21 +2024-06-26 14:10:55.963 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: listUsingPOST_1 +2024-06-26 14:10:55.969 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_22 +2024-06-26 14:10:55.971 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_23 +2024-06-26 14:10:55.975 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_24 +2024-06-26 14:10:55.976 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_25 +2024-06-26 14:10:55.978 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_15 +2024-06-26 14:10:55.979 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_1 +2024-06-26 14:10:55.980 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_12 +2024-06-26 14:10:55.981 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_26 +2024-06-26 14:10:55.982 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: repulseAuditUsingPOST_1 +2024-06-26 14:10:55.984 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_16 +2024-06-26 14:10:55.984 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_11 +2024-06-26 14:10:55.985 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_13 +2024-06-26 14:10:55.988 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_27 +2024-06-26 14:10:55.992 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_17 +2024-06-26 14:10:55.992 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_12 +2024-06-26 14:10:55.993 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_14 +2024-06-26 14:10:55.995 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_28 +2024-06-26 14:10:55.996 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_18 +2024-06-26 14:10:55.997 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_29 +2024-06-26 14:10:56.001 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_30 +2024-06-26 14:10:56.002 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_19 +2024-06-26 14:10:56.003 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_1 +2024-06-26 14:10:56.003 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_31 +2024-06-26 14:10:56.005 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_1 +2024-06-26 14:10:56.006 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_32 +2024-06-26 14:10:56.007 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_20 +2024-06-26 14:10:56.008 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_2 +2024-06-26 14:10:56.008 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_33 +2024-06-26 14:10:56.016 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: loginUsingPOST_1 +2024-06-26 14:10:56.017 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: logoutUsingPOST_1 +2024-06-26 14:10:56.018 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_34 +2024-06-26 14:10:56.020 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_21 +2024-06-26 14:10:56.020 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_13 +2024-06-26 14:10:56.021 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_15 +2024-06-26 14:10:56.022 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_35 +2024-06-26 14:10:56.023 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_2 +2024-06-26 14:10:56.027 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_22 +2024-06-26 14:10:56.027 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_14 +2024-06-26 14:10:56.028 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_16 +2024-06-26 14:10:56.031 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_36 +2024-06-26 14:10:56.032 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: stateUsingPOST_1 +2024-06-26 14:10:56.032 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_1 +2024-06-26 14:10:56.033 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_3 +2024-06-26 14:10:56.034 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_23 +2024-06-26 14:10:56.035 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_2 +2024-06-26 14:10:56.035 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_2 +2024-06-26 14:10:56.036 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_17 +2024-06-26 14:10:56.037 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_37 +2024-06-26 14:10:56.039 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_3 +2024-06-26 14:10:56.040 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_18 +2024-06-26 14:10:56.041 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_38 +2024-06-26 14:10:56.042 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addStorageUsingPOST_1 +2024-06-26 14:10:56.043 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_4 +2024-06-26 14:10:56.044 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_3 +2024-06-26 14:10:56.044 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_19 +2024-06-26 14:10:56.045 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_39 +2024-06-26 14:10:56.046 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_40 +2024-06-26 14:10:56.047 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_24 +2024-06-26 14:10:56.048 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_20 +2024-06-26 14:10:56.049 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_3 +2024-06-26 14:10:56.051 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_25 +2024-06-26 14:10:56.051 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_15 +2024-06-26 14:10:56.052 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_21 +2024-06-26 14:10:56.053 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_41 +2024-06-26 14:10:56.055 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_2 +2024-06-26 14:10:56.056 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_4 +2024-06-26 14:10:56.058 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: scanIndexUsingPOST_1 +2024-06-26 14:10:56.059 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_42 +2024-06-26 14:10:56.060 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_1 +2024-06-26 14:10:56.061 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_26 +2024-06-26 14:10:56.062 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_16 +2024-06-26 14:10:56.062 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_22 +2024-06-26 14:10:56.066 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_43 +2024-06-26 14:10:56.069 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_27 +2024-06-26 14:10:56.070 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_17 +2024-06-26 14:10:56.070 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_23 +2024-06-26 14:10:56.072 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_44 +2024-06-26 14:10:56.072 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_3 +2024-06-26 14:10:56.072 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_5 +2024-06-26 14:10:56.074 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_28 +2024-06-26 14:10:56.074 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_18 +2024-06-26 14:10:56.075 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_24 +2024-06-26 14:10:56.077 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_45 +2024-06-26 14:10:56.077 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_46 +2024-06-26 14:10:56.078 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_2 +2024-06-26 14:10:56.079 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_29 +2024-06-26 14:10:56.079 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_47 +2024-06-26 14:10:56.080 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_48 +2024-06-26 14:10:56.081 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_49 +2024-06-26 14:10:56.081 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_3 +2024-06-26 14:10:56.085 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_30 +2024-06-26 14:10:56.085 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_19 +2024-06-26 14:10:56.085 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_25 +2024-06-26 14:10:56.089 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_50 +2024-06-26 14:10:56.089 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_2 +2024-06-26 14:10:56.090 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_4 +2024-06-26 14:10:56.090 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_6 +2024-06-26 14:10:56.094 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_31 +2024-06-26 14:10:56.094 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_20 +2024-06-26 14:10:56.094 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_26 +2024-06-26 14:10:56.099 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_51 +2024-06-26 14:10:56.099 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_3 +2024-06-26 14:10:56.099 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_7 +2024-06-26 14:10:56.100 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_52 +2024-06-26 14:10:56.101 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_4 +2024-06-26 14:10:56.103 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_32 +2024-06-26 14:10:56.104 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_21 +2024-06-26 14:10:56.104 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_27 +2024-06-26 14:10:56.106 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_53 +2024-06-26 14:10:56.109 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: uploadUsingPOST_1 +2024-06-26 14:10:56.129 INFO [main] [] net.jjjerp.SpringBootJjjApplication 61 : Started SpringBootJjjApplication in 10.672 seconds (JVM running for 11.251) +2024-06-26 14:10:56.133 INFO [main] [] n.j.framework.util.PrintApplicationInfo 61 : projectFinalName : jjj-erp-1.0 +2024-06-26 14:10:56.133 INFO [main] [] n.j.framework.util.PrintApplicationInfo 62 : projectVersion : 1.0 +2024-06-26 14:10:56.133 INFO [main] [] n.j.framework.util.PrintApplicationInfo 63 : profileActive : prod +2024-06-26 14:10:56.133 INFO [main] [] n.j.framework.util.PrintApplicationInfo 64 : contextPath : /api +2024-06-26 14:10:56.133 INFO [main] [] n.j.framework.util.PrintApplicationInfo 65 : serverIp : http://erp3.huadeng.fun +2024-06-26 14:10:56.133 INFO [main] [] n.j.framework.util.PrintApplicationInfo 66 : port : 8892 +2024-06-26 14:10:56.133 INFO [main] [] n.j.framework.util.PrintApplicationInfo 81 : Home: http://erp3.huadeng.fun/api +2024-06-26 14:10:56.133 INFO [main] [] n.j.framework.util.PrintApplicationInfo 82 : Knife4j: http://erp3.huadeng.fun/api/doc.html +2024-06-26 14:10:56.133 INFO [main] [] n.j.framework.util.PrintApplicationInfo 83 : Swagger: http://erp3.huadeng.fun/api/swagger-ui.html +2024-06-26 14:10:56.133 INFO [main] [] n.j.framework.util.PrintApplicationInfo 84 : jjj-erp 启动成功........... + ____ __ __ ____ +/\ _`\ /\ \__ /\ \__ /\ _`\ +\ \,\L\_\ \ ,_\ __ _ __\ \ ,_\ \ \,\L\_\ __ __ ___ ___ __ ____ ____ + \/_\__ \\ \ \/ /'__`\ /\`'__\ \ \/ \/_\__ \ /\ \/\ \ /'___\ /'___\ /'__`\ /',__\ /',__\ + /\ \L\ \ \ \_/\ \L\.\_\ \ \/ \ \ \_ /\ \L\ \ \ \_\ \/\ \__//\ \__//\ __//\__, `\/\__, `\ + \ `\____\ \__\ \__/.\_\\ \_\ \ \__\ \ `\____\ \____/\ \____\ \____\ \____\/\____/\/\____/ + \/_____/\/__/\/__/\/_/ \/_/ \/__/ \/_____/\/___/ \/____/\/____/\/____/\/___/ \/___/ + + +2024-06-26 14:32:26.330 INFO [http-nio-8892-exec-1] [] o.a.c.c.C.[Tomcat].[localhost].[/api] 173 : Initializing Spring DispatcherServlet 'dispatcherServlet' +2024-06-26 14:32:26.330 INFO [http-nio-8892-exec-1] [] o.s.web.servlet.DispatcherServlet 525 : Initializing Servlet 'dispatcherServlet' +2024-06-26 14:32:26.341 INFO [http-nio-8892-exec-1] [] o.s.web.servlet.DispatcherServlet 547 : Completed initialization in 11 ms +2024-06-26 14:32:28.504 INFO [http-nio-8892-exec-2] [1805851605172682754] com.zaxxer.hikari.HikariDataSource 110 : HikariPool-1 - Starting... +2024-06-26 14:32:28.841 INFO [http-nio-8892-exec-2] [1805851605172682754] com.zaxxer.hikari.HikariDataSource 123 : HikariPool-1 - Start completed. +2024-06-26 14:32:36.294 WARN [http-nio-8892-exec-4] [] org.apache.catalina.connector.Request 173 : Creating the temporary upload location [C:\Users\Administrator\AppData\Local\Temp\tomcat.8892.1083535686366973405\work\Tomcat\localhost\api\opt\upload\tmp] as it is required by the servlet [dispatcherServlet] +2024-06-26 14:54:45.676 ERROR [http-nio-8892-exec-5] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy402.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-26 14:54:45.676 ERROR [http-nio-8892-exec-6] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy402.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-26 14:54:45.676 ERROR [http-nio-8892-exec-8] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy402.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-26 14:54:45.676 ERROR [http-nio-8892-exec-7] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy402.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-26 14:54:45.712 ERROR [http-nio-8892-exec-10] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:131) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy402.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.protocol.CommandExpiryWriter.lambda$potentiallyExpire$0(CommandExpiryWriter.java:172) + at io.netty.util.concurrent.PromiseTask.runTask(PromiseTask.java:98) + at io.netty.util.concurrent.ScheduledFutureTask.run(ScheduledFutureTask.java:170) + at io.netty.util.concurrent.DefaultEventExecutor.run(DefaultEventExecutor.java:66) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + ... 1 common frames omitted + +2024-06-26 14:54:54.966 INFO [lettuce-eventExecutorLoop-1-6] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was /101.34.74.68:6379 +2024-06-26 14:54:54.994 INFO [lettuce-nioEventLoop-4-2] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to 101.34.74.68:6379 +2024-06-26 14:55:01.374 WARN [http-nio-8892-exec-12] [1805857258746347521] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@3b1befc2 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-26 14:55:01.449 WARN [http-nio-8892-exec-11] [1805857259073503233] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@912aa7f (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-26 14:55:01.541 WARN [http-nio-8892-exec-9] [1805857259455184898] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@7d4bea3 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-26 14:55:04.974 WARN [http-nio-8892-exec-14] [1805857258746347522] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@6a2e0bf7 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-26 14:55:06.389 WARN [http-nio-8892-exec-12] [1805857258746347521] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@66907be9 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-26 14:55:06.451 WARN [http-nio-8892-exec-11] [1805857259073503233] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@6d1ae4e2 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-26 14:55:06.543 WARN [http-nio-8892-exec-9] [1805857259455184898] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@788c2714 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-26 14:55:09.988 WARN [http-nio-8892-exec-14] [1805857258746347522] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@2c5d7f8a (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-26 14:55:11.399 WARN [http-nio-8892-exec-12] [1805857258746347521] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@66f09e6 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-26 14:55:11.463 WARN [http-nio-8892-exec-11] [1805857259073503233] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@749e8b0a (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-26 15:19:59.186 INFO [SpringContextShutdownHook] [] net.jjjerp.framework.core.xss.XssFilter 30 : XssFilter destroy +2024-06-26 15:19:59.187 INFO [SpringContextShutdownHook] [] n.j.f.core.filter.RequestDetailFilter 116 : RequestDetailFilter destroy +2024-06-26 15:19:59.196 INFO [SpringContextShutdownHook] [] o.s.s.c.ThreadPoolTaskScheduler 218 : Shutting down ExecutorService 'taskScheduler' +2024-06-26 15:19:59.197 INFO [SpringContextShutdownHook] [] o.s.s.concurrent.ThreadPoolTaskExecutor 218 : Shutting down ExecutorService 'applicationTaskExecutor' +2024-06-26 15:19:59.203 INFO [SpringContextShutdownHook] [] com.zaxxer.hikari.HikariDataSource 350 : HikariPool-1 - Shutdown initiated... +2024-06-26 15:19:59.204 INFO [SpringContextShutdownHook] [] com.zaxxer.hikari.HikariDataSource 352 : HikariPool-1 - Shutdown completed. +2024-06-26 15:22:07.643 INFO [background-preinit] [] o.h.validator.internal.util.Version 21 : HV000001: Hibernate Validator 6.1.7.Final +2024-06-26 15:22:07.648 INFO [main] [] net.jjjerp.SpringBootJjjApplication 55 : Starting SpringBootJjjApplication on OS-20230506YKNI with PID 5904 (D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\bootstrap\target\classes started by Administrator in D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp) +2024-06-26 15:22:07.648 INFO [main] [] net.jjjerp.SpringBootJjjApplication 652 : The following profiles are active: prod +2024-06-26 15:22:08.669 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 249 : Multiple Spring Data modules found, entering strict repository configuration mode! +2024-06-26 15:22:08.671 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 127 : Bootstrapping Spring Data Redis repositories in DEFAULT mode. +2024-06-26 15:22:08.798 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 187 : Finished Spring Data repository scanning in 116ms. Found 0 Redis repository interfaces. +2024-06-26 15:22:09.134 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.ShiroConfig' of type [net.jjjerp.config.ShiroConfig$$EnhancerBySpringCGLIB$$7e4ccb80] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 15:22:09.218 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.properties.JwtProperties' of type [net.jjjerp.config.properties.JwtProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 15:22:09.220 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.RedisTemplateConfig' of type [net.jjjerp.config.RedisTemplateConfig$$EnhancerBySpringCGLIB$$4db1d624] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 15:22:09.227 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'spring.redis-org.springframework.boot.autoconfigure.data.redis.RedisProperties' of type [org.springframework.boot.autoconfigure.data.redis.RedisProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 15:22:09.232 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration' of type [org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 15:22:09.285 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'lettuceClientResources' of type [io.lettuce.core.resource.DefaultClientResources] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 15:22:09.380 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'redisConnectionFactory' of type [org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 15:22:09.425 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'redisTemplate' of type [org.springframework.data.redis.core.RedisTemplate] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 15:22:09.425 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.cache.impl.AdminLoginRedisServiceImpl' of type [net.jjjerp.framework.shiro.cache.impl.AdminLoginRedisServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 15:22:09.428 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.cache.impl.ShopLoginRedisServiceImpl' of type [net.jjjerp.framework.shiro.cache.impl.ShopLoginRedisServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 15:22:09.539 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'credentialsMatcher' of type [net.jjjerp.framework.shiro.jwt.JwtCredentialsMatcher] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 15:22:09.546 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'jwtRealm' of type [net.jjjerp.framework.shiro.jwt.JwtRealm] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 15:22:09.546 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'sessionStorageEvaluator' of type [org.apache.shiro.web.mgt.DefaultWebSessionStorageEvaluator] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 15:22:09.547 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'subjectDAO' of type [org.apache.shiro.mgt.DefaultSubjectDAO] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 15:22:09.549 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'securityManager' of type [org.apache.shiro.web.mgt.DefaultWebSecurityManager] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 15:22:09.568 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.service.impl.ShiroLoginServiceImpl' of type [net.jjjerp.framework.shiro.service.impl.ShiroLoginServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 15:22:09.574 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'spring-boot-jjj.shiro-net.jjjerp.config.properties.ShiroProperties' of type [net.jjjerp.config.properties.ShiroProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 15:22:09.674 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'authorizationAttributeSourceAdvisor' of type [org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 15:22:09.811 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.RedisCacheConfig' of type [net.jjjerp.config.RedisCacheConfig$$EnhancerBySpringCGLIB$$2eead26] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 15:22:10.075 INFO [main] [] o.s.b.w.embedded.tomcat.TomcatWebServer 108 : Tomcat initialized with port(s): 8892 (http) +2024-06-26 15:22:10.083 INFO [main] [] o.a.coyote.http11.Http11NioProtocol 173 : Initializing ProtocolHandler ["http-nio-8892"] +2024-06-26 15:22:10.084 INFO [main] [] o.apache.catalina.core.StandardService 173 : Starting service [Tomcat] +2024-06-26 15:22:10.084 INFO [main] [] org.apache.catalina.core.StandardEngine 173 : Starting Servlet engine: [Apache Tomcat/9.0.46] +2024-06-26 15:22:10.183 INFO [main] [] o.a.c.c.C.[Tomcat].[localhost].[/api] 173 : Initializing Spring embedded WebApplicationContext +2024-06-26 15:22:10.183 INFO [main] [] w.s.c.ServletWebServerApplicationContext 285 : Root WebApplicationContext: initialization completed in 2480 ms +2024-06-26 15:22:10.330 INFO [main] [] net.jjjerp.framework.core.xss.XssFilter 18 : XssFilter init +2024-06-26 15:22:10.330 INFO [main] [] n.j.f.core.filter.RequestDetailFilter 30 : RequestDetailFilter init +2024-06-26 15:22:13.812 INFO [main] [] org.reflections.Reflections 228 : Reflections took 38 ms to scan 1 urls, producing 0 keys and 0 values +2024-06-26 15:22:13.914 INFO [main] [] net.jjjerp.framework.shiro.util.JwtUtil 33 : {"audience":"web","expireSecond":36000,"issuer":"spring-boot-jjj","redisCheck":true,"refreshToken":true,"refreshTokenCountdown":600,"saltCheck":true,"secret":"888888","singleLogin":false,"tokenName":"token"} +2024-06-26 15:22:16.774 INFO [main] [] pertySourcedRequestMappingHandlerMapping 69 : Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2Controller#getDocumentation(String, HttpServletRequest)] +2024-06-26 15:22:16.791 INFO [main] [] net.jjjerp.config.Swagger2Config 149 : swagger scan basePackages:null +2024-06-26 15:22:16.939 INFO [main] [] o.s.s.concurrent.ThreadPoolTaskExecutor 181 : Initializing ExecutorService 'applicationTaskExecutor' +2024-06-26 15:22:17.025 INFO [main] [] o.s.b.a.w.s.WelcomePageHandlerMapping 53 : Adding welcome page: class path resource [static/index.html] +2024-06-26 15:22:17.207 INFO [main] [] o.s.s.c.ThreadPoolTaskScheduler 181 : Initializing ExecutorService 'taskScheduler' +2024-06-26 15:22:17.314 INFO [main] [] o.a.coyote.http11.Http11NioProtocol 173 : Starting ProtocolHandler ["http-nio-8892"] +2024-06-26 15:22:17.334 INFO [main] [] o.s.b.w.embedded.tomcat.TomcatWebServer 220 : Tomcat started on port(s): 8892 (http) with context path '/api' +2024-06-26 15:22:17.335 INFO [main] [] d.s.w.p.DocumentationPluginsBootstrapper 160 : Context refreshed +2024-06-26 15:22:17.341 INFO [main] [] d.s.w.p.DocumentationPluginsBootstrapper 163 : Found 1 custom documentation plugin(s) +2024-06-26 15:22:17.377 INFO [main] [] s.d.s.w.s.ApiListingReferenceScanner 41 : Scanning for api listing references +2024-06-26 15:22:17.500 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_1 +2024-06-26 15:22:17.502 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_1 +2024-06-26 15:22:17.503 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_1 +2024-06-26 15:22:17.520 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_1 +2024-06-26 15:22:17.563 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_2 +2024-06-26 15:22:17.565 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_2 +2024-06-26 15:22:17.568 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_3 +2024-06-26 15:22:17.569 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_3 +2024-06-26 15:22:17.571 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_4 +2024-06-26 15:22:17.572 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_4 +2024-06-26 15:22:17.573 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexOutUsingPOST_1 +2024-06-26 15:22:17.576 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_5 +2024-06-26 15:22:17.583 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_5 +2024-06-26 15:22:17.584 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_2 +2024-06-26 15:22:17.585 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_2 +2024-06-26 15:22:17.603 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_6 +2024-06-26 15:22:17.605 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_7 +2024-06-26 15:22:17.610 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_8 +2024-06-26 15:22:17.642 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_6 +2024-06-26 15:22:17.643 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_3 +2024-06-26 15:22:17.644 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_3 +2024-06-26 15:22:17.651 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_9 +2024-06-26 15:22:17.655 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_10 +2024-06-26 15:22:17.657 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_7 +2024-06-26 15:22:17.658 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_4 +2024-06-26 15:22:17.659 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_4 +2024-06-26 15:22:17.663 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_11 +2024-06-26 15:22:17.668 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_8 +2024-06-26 15:22:17.669 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_5 +2024-06-26 15:22:17.670 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_5 +2024-06-26 15:22:17.674 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_12 +2024-06-26 15:22:17.678 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_9 +2024-06-26 15:22:17.679 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_6 +2024-06-26 15:22:17.679 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_6 +2024-06-26 15:22:17.686 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_13 +2024-06-26 15:22:17.687 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_1 +2024-06-26 15:22:17.689 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_10 +2024-06-26 15:22:17.691 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_7 +2024-06-26 15:22:17.692 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_7 +2024-06-26 15:22:17.694 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_14 +2024-06-26 15:22:17.696 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_11 +2024-06-26 15:22:17.697 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_8 +2024-06-26 15:22:17.698 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_8 +2024-06-26 15:22:17.700 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_15 +2024-06-26 15:22:17.702 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_12 +2024-06-26 15:22:17.707 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_9 +2024-06-26 15:22:17.708 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_9 +2024-06-26 15:22:17.712 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_16 +2024-06-26 15:22:17.714 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_17 +2024-06-26 15:22:17.721 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_13 +2024-06-26 15:22:17.722 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_10 +2024-06-26 15:22:17.726 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_18 +2024-06-26 15:22:17.727 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_1 +2024-06-26 15:22:17.740 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addGroupUsingPOST_1 +2024-06-26 15:22:17.741 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: categoryUsingPOST_1 +2024-06-26 15:22:17.742 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteFilesUsingPOST_1 +2024-06-26 15:22:17.743 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteGroupUsingPOST_1 +2024-06-26 15:22:17.744 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editGroupUsingPOST_1 +2024-06-26 15:22:17.750 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: listsUsingPOST_1 +2024-06-26 15:22:17.751 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: moveFilesUsingPOST_1 +2024-06-26 15:22:17.753 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_19 +2024-06-26 15:22:17.757 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_14 +2024-06-26 15:22:17.758 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_10 +2024-06-26 15:22:17.759 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteFilesUsingPOST_2 +2024-06-26 15:22:17.759 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_11 +2024-06-26 15:22:17.761 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_20 +2024-06-26 15:22:17.764 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: moveFilesUsingPOST_2 +2024-06-26 15:22:17.765 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_21 +2024-06-26 15:22:17.766 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: listUsingPOST_1 +2024-06-26 15:22:17.771 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_22 +2024-06-26 15:22:17.774 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_23 +2024-06-26 15:22:17.778 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_24 +2024-06-26 15:22:17.779 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_25 +2024-06-26 15:22:17.782 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_15 +2024-06-26 15:22:17.782 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_1 +2024-06-26 15:22:17.783 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_12 +2024-06-26 15:22:17.785 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_26 +2024-06-26 15:22:17.785 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: repulseAuditUsingPOST_1 +2024-06-26 15:22:17.788 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_16 +2024-06-26 15:22:17.788 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_11 +2024-06-26 15:22:17.789 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_13 +2024-06-26 15:22:17.792 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_27 +2024-06-26 15:22:17.795 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_17 +2024-06-26 15:22:17.796 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_12 +2024-06-26 15:22:17.797 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_14 +2024-06-26 15:22:17.799 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_28 +2024-06-26 15:22:17.800 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_18 +2024-06-26 15:22:17.801 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_29 +2024-06-26 15:22:17.805 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_30 +2024-06-26 15:22:17.806 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_19 +2024-06-26 15:22:17.807 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_1 +2024-06-26 15:22:17.807 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_31 +2024-06-26 15:22:17.809 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_1 +2024-06-26 15:22:17.810 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_32 +2024-06-26 15:22:17.811 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_20 +2024-06-26 15:22:17.812 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_2 +2024-06-26 15:22:17.812 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_33 +2024-06-26 15:22:17.828 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: loginUsingPOST_1 +2024-06-26 15:22:17.828 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: logoutUsingPOST_1 +2024-06-26 15:22:17.829 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_34 +2024-06-26 15:22:17.832 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_21 +2024-06-26 15:22:17.833 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_13 +2024-06-26 15:22:17.833 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_15 +2024-06-26 15:22:17.834 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_35 +2024-06-26 15:22:17.835 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_2 +2024-06-26 15:22:17.839 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_22 +2024-06-26 15:22:17.840 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_14 +2024-06-26 15:22:17.840 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_16 +2024-06-26 15:22:17.844 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_36 +2024-06-26 15:22:17.845 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: stateUsingPOST_1 +2024-06-26 15:22:17.845 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_1 +2024-06-26 15:22:17.845 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_3 +2024-06-26 15:22:17.847 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_23 +2024-06-26 15:22:17.848 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_2 +2024-06-26 15:22:17.849 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_2 +2024-06-26 15:22:17.850 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_17 +2024-06-26 15:22:17.850 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_37 +2024-06-26 15:22:17.852 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_3 +2024-06-26 15:22:17.853 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_18 +2024-06-26 15:22:17.853 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_38 +2024-06-26 15:22:17.854 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addStorageUsingPOST_1 +2024-06-26 15:22:17.855 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_4 +2024-06-26 15:22:17.856 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_3 +2024-06-26 15:22:17.857 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_19 +2024-06-26 15:22:17.857 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_39 +2024-06-26 15:22:17.858 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_40 +2024-06-26 15:22:17.860 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_24 +2024-06-26 15:22:17.860 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_20 +2024-06-26 15:22:17.861 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_3 +2024-06-26 15:22:17.863 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_25 +2024-06-26 15:22:17.864 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_15 +2024-06-26 15:22:17.865 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_21 +2024-06-26 15:22:17.866 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_41 +2024-06-26 15:22:17.868 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_2 +2024-06-26 15:22:17.868 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_4 +2024-06-26 15:22:17.871 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: scanIndexUsingPOST_1 +2024-06-26 15:22:17.872 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_42 +2024-06-26 15:22:17.873 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_1 +2024-06-26 15:22:17.875 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_26 +2024-06-26 15:22:17.875 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_16 +2024-06-26 15:22:17.875 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_22 +2024-06-26 15:22:17.880 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_43 +2024-06-26 15:22:17.883 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_27 +2024-06-26 15:22:17.884 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_17 +2024-06-26 15:22:17.884 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_23 +2024-06-26 15:22:17.886 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_44 +2024-06-26 15:22:17.886 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_3 +2024-06-26 15:22:17.886 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_5 +2024-06-26 15:22:17.888 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_28 +2024-06-26 15:22:17.889 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_18 +2024-06-26 15:22:17.889 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_24 +2024-06-26 15:22:17.891 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_45 +2024-06-26 15:22:17.892 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_46 +2024-06-26 15:22:17.892 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_2 +2024-06-26 15:22:17.893 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_29 +2024-06-26 15:22:17.894 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_47 +2024-06-26 15:22:17.895 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_48 +2024-06-26 15:22:17.896 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_49 +2024-06-26 15:22:17.896 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_3 +2024-06-26 15:22:17.899 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_30 +2024-06-26 15:22:17.899 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_19 +2024-06-26 15:22:17.900 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_25 +2024-06-26 15:22:17.903 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_50 +2024-06-26 15:22:17.904 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_2 +2024-06-26 15:22:17.904 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_4 +2024-06-26 15:22:17.904 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_6 +2024-06-26 15:22:17.908 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_31 +2024-06-26 15:22:17.908 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_20 +2024-06-26 15:22:17.909 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_26 +2024-06-26 15:22:17.913 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_51 +2024-06-26 15:22:17.913 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_3 +2024-06-26 15:22:17.914 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_7 +2024-06-26 15:22:17.914 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_52 +2024-06-26 15:22:17.914 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_4 +2024-06-26 15:22:17.916 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_32 +2024-06-26 15:22:17.917 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_21 +2024-06-26 15:22:17.917 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_27 +2024-06-26 15:22:17.919 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_53 +2024-06-26 15:22:17.922 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: uploadUsingPOST_1 +2024-06-26 15:22:17.940 INFO [main] [] net.jjjerp.SpringBootJjjApplication 61 : Started SpringBootJjjApplication in 10.791 seconds (JVM running for 11.93) +2024-06-26 15:22:17.944 INFO [main] [] n.j.framework.util.PrintApplicationInfo 61 : projectFinalName : jjj-erp-1.0 +2024-06-26 15:22:17.944 INFO [main] [] n.j.framework.util.PrintApplicationInfo 62 : projectVersion : 1.0 +2024-06-26 15:22:17.944 INFO [main] [] n.j.framework.util.PrintApplicationInfo 63 : profileActive : prod +2024-06-26 15:22:17.944 INFO [main] [] n.j.framework.util.PrintApplicationInfo 64 : contextPath : /api +2024-06-26 15:22:17.944 INFO [main] [] n.j.framework.util.PrintApplicationInfo 65 : serverIp : http://erp3.huadeng.fun +2024-06-26 15:22:17.944 INFO [main] [] n.j.framework.util.PrintApplicationInfo 66 : port : 8892 +2024-06-26 15:22:17.944 INFO [main] [] n.j.framework.util.PrintApplicationInfo 81 : Home: http://erp3.huadeng.fun/api +2024-06-26 15:22:17.944 INFO [main] [] n.j.framework.util.PrintApplicationInfo 82 : Knife4j: http://erp3.huadeng.fun/api/doc.html +2024-06-26 15:22:17.944 INFO [main] [] n.j.framework.util.PrintApplicationInfo 83 : Swagger: http://erp3.huadeng.fun/api/swagger-ui.html +2024-06-26 15:22:17.944 INFO [main] [] n.j.framework.util.PrintApplicationInfo 84 : jjj-erp 启动成功........... + ____ __ __ ____ +/\ _`\ /\ \__ /\ \__ /\ _`\ +\ \,\L\_\ \ ,_\ __ _ __\ \ ,_\ \ \,\L\_\ __ __ ___ ___ __ ____ ____ + \/_\__ \\ \ \/ /'__`\ /\`'__\ \ \/ \/_\__ \ /\ \/\ \ /'___\ /'___\ /'__`\ /',__\ /',__\ + /\ \L\ \ \ \_/\ \L\.\_\ \ \/ \ \ \_ /\ \L\ \ \ \_\ \/\ \__//\ \__//\ __//\__, `\/\__, `\ + \ `\____\ \__\ \__/.\_\\ \_\ \ \__\ \ `\____\ \____/\ \____\ \____\ \____\/\____/\/\____/ + \/_____/\/__/\/__/\/_/ \/_/ \/__/ \/_____/\/___/ \/____/\/____/\/____/\/___/ \/___/ + + +2024-06-26 15:25:22.540 INFO [SpringContextShutdownHook] [] net.jjjerp.framework.core.xss.XssFilter 30 : XssFilter destroy +2024-06-26 15:25:22.540 INFO [SpringContextShutdownHook] [] n.j.f.core.filter.RequestDetailFilter 116 : RequestDetailFilter destroy +2024-06-26 15:25:22.545 INFO [SpringContextShutdownHook] [] o.s.s.c.ThreadPoolTaskScheduler 218 : Shutting down ExecutorService 'taskScheduler' +2024-06-26 15:25:22.546 INFO [SpringContextShutdownHook] [] o.s.s.concurrent.ThreadPoolTaskExecutor 218 : Shutting down ExecutorService 'applicationTaskExecutor' +2024-06-26 15:25:28.783 INFO [background-preinit] [] o.h.validator.internal.util.Version 21 : HV000001: Hibernate Validator 6.1.7.Final +2024-06-26 15:25:28.789 INFO [main] [] net.jjjerp.SpringBootJjjApplication 55 : Starting SpringBootJjjApplication on OS-20230506YKNI with PID 13756 (D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\bootstrap\target\classes started by Administrator in D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp) +2024-06-26 15:25:28.790 INFO [main] [] net.jjjerp.SpringBootJjjApplication 652 : The following profiles are active: prod +2024-06-26 15:25:29.889 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 249 : Multiple Spring Data modules found, entering strict repository configuration mode! +2024-06-26 15:25:29.891 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 127 : Bootstrapping Spring Data Redis repositories in DEFAULT mode. +2024-06-26 15:25:30.000 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 187 : Finished Spring Data repository scanning in 99ms. Found 0 Redis repository interfaces. +2024-06-26 15:25:30.255 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.ShiroConfig' of type [net.jjjerp.config.ShiroConfig$$EnhancerBySpringCGLIB$$9bc781b6] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 15:25:30.343 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.properties.JwtProperties' of type [net.jjjerp.config.properties.JwtProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 15:25:30.345 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.RedisTemplateConfig' of type [net.jjjerp.config.RedisTemplateConfig$$EnhancerBySpringCGLIB$$6b2c8c5a] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 15:25:30.354 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'spring.redis-org.springframework.boot.autoconfigure.data.redis.RedisProperties' of type [org.springframework.boot.autoconfigure.data.redis.RedisProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 15:25:30.357 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration' of type [org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 15:25:30.412 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'lettuceClientResources' of type [io.lettuce.core.resource.DefaultClientResources] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 15:25:30.513 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'redisConnectionFactory' of type [org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 15:25:30.568 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'redisTemplate' of type [org.springframework.data.redis.core.RedisTemplate] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 15:25:30.569 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.cache.impl.AdminLoginRedisServiceImpl' of type [net.jjjerp.framework.shiro.cache.impl.AdminLoginRedisServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 15:25:30.575 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.cache.impl.ShopLoginRedisServiceImpl' of type [net.jjjerp.framework.shiro.cache.impl.ShopLoginRedisServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 15:25:30.732 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'credentialsMatcher' of type [net.jjjerp.framework.shiro.jwt.JwtCredentialsMatcher] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 15:25:30.741 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'jwtRealm' of type [net.jjjerp.framework.shiro.jwt.JwtRealm] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 15:25:30.743 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'sessionStorageEvaluator' of type [org.apache.shiro.web.mgt.DefaultWebSessionStorageEvaluator] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 15:25:30.743 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'subjectDAO' of type [org.apache.shiro.mgt.DefaultSubjectDAO] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 15:25:30.746 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'securityManager' of type [org.apache.shiro.web.mgt.DefaultWebSecurityManager] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 15:25:30.773 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.service.impl.ShiroLoginServiceImpl' of type [net.jjjerp.framework.shiro.service.impl.ShiroLoginServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 15:25:30.782 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'spring-boot-jjj.shiro-net.jjjerp.config.properties.ShiroProperties' of type [net.jjjerp.config.properties.ShiroProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 15:25:30.872 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'authorizationAttributeSourceAdvisor' of type [org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 15:25:31.009 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.RedisCacheConfig' of type [net.jjjerp.config.RedisCacheConfig$$EnhancerBySpringCGLIB$$2069635c] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 15:25:31.258 INFO [main] [] o.s.b.w.embedded.tomcat.TomcatWebServer 108 : Tomcat initialized with port(s): 8892 (http) +2024-06-26 15:25:31.266 INFO [main] [] o.a.coyote.http11.Http11NioProtocol 173 : Initializing ProtocolHandler ["http-nio-8892"] +2024-06-26 15:25:31.266 INFO [main] [] o.apache.catalina.core.StandardService 173 : Starting service [Tomcat] +2024-06-26 15:25:31.266 INFO [main] [] org.apache.catalina.core.StandardEngine 173 : Starting Servlet engine: [Apache Tomcat/9.0.46] +2024-06-26 15:25:31.361 INFO [main] [] o.a.c.c.C.[Tomcat].[localhost].[/api] 173 : Initializing Spring embedded WebApplicationContext +2024-06-26 15:25:31.361 INFO [main] [] w.s.c.ServletWebServerApplicationContext 285 : Root WebApplicationContext: initialization completed in 2510 ms +2024-06-26 15:25:31.513 INFO [main] [] net.jjjerp.framework.core.xss.XssFilter 18 : XssFilter init +2024-06-26 15:25:31.513 INFO [main] [] n.j.f.core.filter.RequestDetailFilter 30 : RequestDetailFilter init +2024-06-26 15:25:35.199 INFO [main] [] org.reflections.Reflections 228 : Reflections took 38 ms to scan 1 urls, producing 0 keys and 0 values +2024-06-26 15:25:35.296 INFO [main] [] net.jjjerp.framework.shiro.util.JwtUtil 33 : {"audience":"web","expireSecond":36000,"issuer":"spring-boot-jjj","redisCheck":true,"refreshToken":true,"refreshTokenCountdown":600,"saltCheck":true,"secret":"888888","singleLogin":false,"tokenName":"token"} +2024-06-26 15:25:38.309 INFO [main] [] pertySourcedRequestMappingHandlerMapping 69 : Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2Controller#getDocumentation(String, HttpServletRequest)] +2024-06-26 15:25:38.326 INFO [main] [] net.jjjerp.config.Swagger2Config 149 : swagger scan basePackages:null +2024-06-26 15:25:38.466 INFO [main] [] o.s.s.concurrent.ThreadPoolTaskExecutor 181 : Initializing ExecutorService 'applicationTaskExecutor' +2024-06-26 15:25:38.563 INFO [main] [] o.s.b.a.w.s.WelcomePageHandlerMapping 53 : Adding welcome page: class path resource [static/index.html] +2024-06-26 15:25:38.777 INFO [main] [] o.s.s.c.ThreadPoolTaskScheduler 181 : Initializing ExecutorService 'taskScheduler' +2024-06-26 15:25:38.873 INFO [main] [] o.a.coyote.http11.Http11NioProtocol 173 : Starting ProtocolHandler ["http-nio-8892"] +2024-06-26 15:25:38.893 INFO [main] [] o.s.b.w.embedded.tomcat.TomcatWebServer 220 : Tomcat started on port(s): 8892 (http) with context path '/api' +2024-06-26 15:25:38.894 INFO [main] [] d.s.w.p.DocumentationPluginsBootstrapper 160 : Context refreshed +2024-06-26 15:25:38.900 INFO [main] [] d.s.w.p.DocumentationPluginsBootstrapper 163 : Found 1 custom documentation plugin(s) +2024-06-26 15:25:38.934 INFO [main] [] s.d.s.w.s.ApiListingReferenceScanner 41 : Scanning for api listing references +2024-06-26 15:25:39.068 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_1 +2024-06-26 15:25:39.070 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_1 +2024-06-26 15:25:39.071 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_1 +2024-06-26 15:25:39.088 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_1 +2024-06-26 15:25:39.124 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_2 +2024-06-26 15:25:39.126 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_2 +2024-06-26 15:25:39.129 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_3 +2024-06-26 15:25:39.130 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_3 +2024-06-26 15:25:39.132 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_4 +2024-06-26 15:25:39.133 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_4 +2024-06-26 15:25:39.134 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexOutUsingPOST_1 +2024-06-26 15:25:39.137 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_5 +2024-06-26 15:25:39.143 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_5 +2024-06-26 15:25:39.144 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_2 +2024-06-26 15:25:39.144 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_2 +2024-06-26 15:25:39.158 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_6 +2024-06-26 15:25:39.160 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_7 +2024-06-26 15:25:39.165 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_8 +2024-06-26 15:25:39.172 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_6 +2024-06-26 15:25:39.173 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_3 +2024-06-26 15:25:39.174 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_3 +2024-06-26 15:25:39.181 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_9 +2024-06-26 15:25:39.210 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_10 +2024-06-26 15:25:39.212 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_7 +2024-06-26 15:25:39.213 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_4 +2024-06-26 15:25:39.214 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_4 +2024-06-26 15:25:39.216 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_11 +2024-06-26 15:25:39.222 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_8 +2024-06-26 15:25:39.223 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_5 +2024-06-26 15:25:39.224 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_5 +2024-06-26 15:25:39.228 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_12 +2024-06-26 15:25:39.231 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_9 +2024-06-26 15:25:39.231 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_6 +2024-06-26 15:25:39.232 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_6 +2024-06-26 15:25:39.235 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_13 +2024-06-26 15:25:39.236 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_1 +2024-06-26 15:25:39.237 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_10 +2024-06-26 15:25:39.238 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_7 +2024-06-26 15:25:39.239 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_7 +2024-06-26 15:25:39.240 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_14 +2024-06-26 15:25:39.241 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_11 +2024-06-26 15:25:39.242 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_8 +2024-06-26 15:25:39.242 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_8 +2024-06-26 15:25:39.243 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_15 +2024-06-26 15:25:39.245 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_12 +2024-06-26 15:25:39.247 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_9 +2024-06-26 15:25:39.248 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_9 +2024-06-26 15:25:39.251 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_16 +2024-06-26 15:25:39.253 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_17 +2024-06-26 15:25:39.259 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_13 +2024-06-26 15:25:39.260 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_10 +2024-06-26 15:25:39.262 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_18 +2024-06-26 15:25:39.263 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_1 +2024-06-26 15:25:39.274 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addGroupUsingPOST_1 +2024-06-26 15:25:39.275 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: categoryUsingPOST_1 +2024-06-26 15:25:39.275 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteFilesUsingPOST_1 +2024-06-26 15:25:39.276 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteGroupUsingPOST_1 +2024-06-26 15:25:39.276 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editGroupUsingPOST_1 +2024-06-26 15:25:39.280 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: listsUsingPOST_1 +2024-06-26 15:25:39.281 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: moveFilesUsingPOST_1 +2024-06-26 15:25:39.283 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_19 +2024-06-26 15:25:39.288 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_14 +2024-06-26 15:25:39.290 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_10 +2024-06-26 15:25:39.291 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteFilesUsingPOST_2 +2024-06-26 15:25:39.291 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_11 +2024-06-26 15:25:39.294 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_20 +2024-06-26 15:25:39.297 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: moveFilesUsingPOST_2 +2024-06-26 15:25:39.298 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_21 +2024-06-26 15:25:39.299 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: listUsingPOST_1 +2024-06-26 15:25:39.305 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_22 +2024-06-26 15:25:39.308 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_23 +2024-06-26 15:25:39.311 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_24 +2024-06-26 15:25:39.313 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_25 +2024-06-26 15:25:39.315 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_15 +2024-06-26 15:25:39.317 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_1 +2024-06-26 15:25:39.318 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_12 +2024-06-26 15:25:39.319 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_26 +2024-06-26 15:25:39.320 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: repulseAuditUsingPOST_1 +2024-06-26 15:25:39.323 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_16 +2024-06-26 15:25:39.323 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_11 +2024-06-26 15:25:39.324 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_13 +2024-06-26 15:25:39.327 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_27 +2024-06-26 15:25:39.331 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_17 +2024-06-26 15:25:39.332 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_12 +2024-06-26 15:25:39.332 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_14 +2024-06-26 15:25:39.334 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_28 +2024-06-26 15:25:39.336 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_18 +2024-06-26 15:25:39.336 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_29 +2024-06-26 15:25:39.341 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_30 +2024-06-26 15:25:39.343 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_19 +2024-06-26 15:25:39.343 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_1 +2024-06-26 15:25:39.344 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_31 +2024-06-26 15:25:39.345 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_1 +2024-06-26 15:25:39.347 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_32 +2024-06-26 15:25:39.348 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_20 +2024-06-26 15:25:39.349 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_2 +2024-06-26 15:25:39.349 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_33 +2024-06-26 15:25:39.358 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: loginUsingPOST_1 +2024-06-26 15:25:39.358 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: logoutUsingPOST_1 +2024-06-26 15:25:39.359 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_34 +2024-06-26 15:25:39.362 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_21 +2024-06-26 15:25:39.363 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_13 +2024-06-26 15:25:39.363 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_15 +2024-06-26 15:25:39.364 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_35 +2024-06-26 15:25:39.365 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_2 +2024-06-26 15:25:39.369 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_22 +2024-06-26 15:25:39.369 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_14 +2024-06-26 15:25:39.370 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_16 +2024-06-26 15:25:39.374 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_36 +2024-06-26 15:25:39.374 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: stateUsingPOST_1 +2024-06-26 15:25:39.375 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_1 +2024-06-26 15:25:39.375 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_3 +2024-06-26 15:25:39.377 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_23 +2024-06-26 15:25:39.379 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_2 +2024-06-26 15:25:39.379 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_2 +2024-06-26 15:25:39.381 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_17 +2024-06-26 15:25:39.381 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_37 +2024-06-26 15:25:39.383 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_3 +2024-06-26 15:25:39.384 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_18 +2024-06-26 15:25:39.384 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_38 +2024-06-26 15:25:39.385 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addStorageUsingPOST_1 +2024-06-26 15:25:39.386 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_4 +2024-06-26 15:25:39.387 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_3 +2024-06-26 15:25:39.388 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_19 +2024-06-26 15:25:39.388 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_39 +2024-06-26 15:25:39.389 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_40 +2024-06-26 15:25:39.391 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_24 +2024-06-26 15:25:39.392 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_20 +2024-06-26 15:25:39.392 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_3 +2024-06-26 15:25:39.395 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_25 +2024-06-26 15:25:39.396 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_15 +2024-06-26 15:25:39.396 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_21 +2024-06-26 15:25:39.397 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_41 +2024-06-26 15:25:39.399 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_2 +2024-06-26 15:25:39.399 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_4 +2024-06-26 15:25:39.402 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: scanIndexUsingPOST_1 +2024-06-26 15:25:39.403 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_42 +2024-06-26 15:25:39.403 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_1 +2024-06-26 15:25:39.405 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_26 +2024-06-26 15:25:39.406 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_16 +2024-06-26 15:25:39.406 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_22 +2024-06-26 15:25:39.411 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_43 +2024-06-26 15:25:39.415 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_27 +2024-06-26 15:25:39.416 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_17 +2024-06-26 15:25:39.417 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_23 +2024-06-26 15:25:39.418 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_44 +2024-06-26 15:25:39.419 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_3 +2024-06-26 15:25:39.419 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_5 +2024-06-26 15:25:39.422 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_28 +2024-06-26 15:25:39.422 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_18 +2024-06-26 15:25:39.423 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_24 +2024-06-26 15:25:39.425 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_45 +2024-06-26 15:25:39.426 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_46 +2024-06-26 15:25:39.426 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_2 +2024-06-26 15:25:39.428 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_29 +2024-06-26 15:25:39.428 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_47 +2024-06-26 15:25:39.429 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_48 +2024-06-26 15:25:39.430 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_49 +2024-06-26 15:25:39.430 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_3 +2024-06-26 15:25:39.433 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_30 +2024-06-26 15:25:39.434 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_19 +2024-06-26 15:25:39.434 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_25 +2024-06-26 15:25:39.438 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_50 +2024-06-26 15:25:39.438 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_2 +2024-06-26 15:25:39.439 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_4 +2024-06-26 15:25:39.439 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_6 +2024-06-26 15:25:39.443 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_31 +2024-06-26 15:25:39.443 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_20 +2024-06-26 15:25:39.444 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_26 +2024-06-26 15:25:39.448 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_51 +2024-06-26 15:25:39.448 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_3 +2024-06-26 15:25:39.449 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_7 +2024-06-26 15:25:39.449 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_52 +2024-06-26 15:25:39.450 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_4 +2024-06-26 15:25:39.452 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_32 +2024-06-26 15:25:39.453 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_21 +2024-06-26 15:25:39.453 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_27 +2024-06-26 15:25:39.455 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_53 +2024-06-26 15:25:39.458 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: uploadUsingPOST_1 +2024-06-26 15:25:39.478 INFO [main] [] net.jjjerp.SpringBootJjjApplication 61 : Started SpringBootJjjApplication in 11.202 seconds (JVM running for 11.931) +2024-06-26 15:25:39.481 INFO [main] [] n.j.framework.util.PrintApplicationInfo 61 : projectFinalName : jjj-erp-1.0 +2024-06-26 15:25:39.481 INFO [main] [] n.j.framework.util.PrintApplicationInfo 62 : projectVersion : 1.0 +2024-06-26 15:25:39.481 INFO [main] [] n.j.framework.util.PrintApplicationInfo 63 : profileActive : prod +2024-06-26 15:25:39.481 INFO [main] [] n.j.framework.util.PrintApplicationInfo 64 : contextPath : /api +2024-06-26 15:25:39.481 INFO [main] [] n.j.framework.util.PrintApplicationInfo 65 : serverIp : http://erp3.huadeng.fun +2024-06-26 15:25:39.482 INFO [main] [] n.j.framework.util.PrintApplicationInfo 66 : port : 8892 +2024-06-26 15:25:39.482 INFO [main] [] n.j.framework.util.PrintApplicationInfo 81 : Home: http://erp3.huadeng.fun/api +2024-06-26 15:25:39.482 INFO [main] [] n.j.framework.util.PrintApplicationInfo 82 : Knife4j: http://erp3.huadeng.fun/api/doc.html +2024-06-26 15:25:39.482 INFO [main] [] n.j.framework.util.PrintApplicationInfo 83 : Swagger: http://erp3.huadeng.fun/api/swagger-ui.html +2024-06-26 15:25:39.482 INFO [main] [] n.j.framework.util.PrintApplicationInfo 84 : jjj-erp 启动成功........... + ____ __ __ ____ +/\ _`\ /\ \__ /\ \__ /\ _`\ +\ \,\L\_\ \ ,_\ __ _ __\ \ ,_\ \ \,\L\_\ __ __ ___ ___ __ ____ ____ + \/_\__ \\ \ \/ /'__`\ /\`'__\ \ \/ \/_\__ \ /\ \/\ \ /'___\ /'___\ /'__`\ /',__\ /',__\ + /\ \L\ \ \ \_/\ \L\.\_\ \ \/ \ \ \_ /\ \L\ \ \ \_\ \/\ \__//\ \__//\ __//\__, `\/\__, `\ + \ `\____\ \__\ \__/.\_\\ \_\ \ \__\ \ `\____\ \____/\ \____\ \____\ \____\/\____/\/\____/ + \/_____/\/__/\/__/\/_/ \/_/ \/__/ \/_____/\/___/ \/____/\/____/\/____/\/___/ \/___/ + + +2024-06-26 15:25:56.275 INFO [http-nio-8892-exec-1] [] o.a.c.c.C.[Tomcat].[localhost].[/api] 173 : Initializing Spring DispatcherServlet 'dispatcherServlet' +2024-06-26 15:25:56.275 INFO [http-nio-8892-exec-1] [] o.s.web.servlet.DispatcherServlet 525 : Initializing Servlet 'dispatcherServlet' +2024-06-26 15:25:56.284 INFO [http-nio-8892-exec-1] [] o.s.web.servlet.DispatcherServlet 547 : Completed initialization in 9 ms +2024-06-26 15:25:57.421 INFO [http-nio-8892-exec-1] [1805865064295759874] com.zaxxer.hikari.HikariDataSource 110 : HikariPool-1 - Starting... +2024-06-26 15:25:58.793 INFO [http-nio-8892-exec-1] [1805865064295759874] com.zaxxer.hikari.HikariDataSource 123 : HikariPool-1 - Start completed. +2024-06-26 15:27:33.884 ERROR [http-nio-8892-exec-29] [] n.jjjerp.handler.GlobalExceptionHandler 233 : 异常来源:ip: 192.168.31.208, path: /api/admin/setting/basic/depotStorage/batchAdd +2024-06-26 15:27:33.884 ERROR [http-nio-8892-exec-29] [] n.jjjerp.handler.GlobalExceptionHandler 56 : errorCode: 5001, errorMessage: 请求参数校验异常:["库区id不能为空"] +2024-06-26 15:33:04.762 WARN [http-nio-8892-exec-24] [1805866835978158081] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@5785bf0 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-26 15:36:25.472 WARN [http-nio-8892-exec-3] [1805867677858856962] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@dd92b5d (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-26 15:48:32.738 WARN [http-nio-8892-exec-7] [1805870748131328001] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@3610d8d4 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-26 15:48:32.759 WARN [http-nio-8892-exec-7] [1805870748131328001] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@4b997406 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-26 15:48:32.781 WARN [http-nio-8892-exec-7] [1805870748131328001] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@76d125c6 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-26 15:48:37.793 WARN [http-nio-8892-exec-7] [1805870748131328001] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@46b795b0 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-26 15:48:40.439 WARN [http-nio-8892-exec-2] [1805870761448243202] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@9091cb7 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-26 15:48:41.200 WARN [http-nio-8892-exec-8] [1805870764665274369] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@1a63d9e8 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-26 15:48:42.798 WARN [http-nio-8892-exec-7] [1805870748131328001] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@6f524ab (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-26 15:56:40.632 WARN [http-nio-8892-exec-9] [1805872774621888514] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@3dbcf0a7 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-26 15:56:45.642 WARN [http-nio-8892-exec-9] [1805872774621888514] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@31970b34 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-26 15:56:50.655 WARN [http-nio-8892-exec-9] [1805872774621888514] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@1f429a80 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-26 15:56:53.736 WARN [http-nio-8892-exec-1] [1805872829579853827] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@473e62cf (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-26 15:56:53.813 WARN [http-nio-8892-exec-2] [1805872829579853826] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@56415a71 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-26 15:56:55.668 WARN [http-nio-8892-exec-9] [1805872774621888514] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@1f5d26f3 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-26 15:56:58.745 WARN [http-nio-8892-exec-1] [1805872829579853827] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@4c571217 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-26 15:56:58.821 WARN [http-nio-8892-exec-2] [1805872829579853826] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@39e8b577 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-26 16:03:05.068 INFO [SpringContextShutdownHook] [] net.jjjerp.framework.core.xss.XssFilter 30 : XssFilter destroy +2024-06-26 16:03:05.068 INFO [SpringContextShutdownHook] [] n.j.f.core.filter.RequestDetailFilter 116 : RequestDetailFilter destroy +2024-06-26 16:03:05.077 INFO [SpringContextShutdownHook] [] o.s.s.c.ThreadPoolTaskScheduler 218 : Shutting down ExecutorService 'taskScheduler' +2024-06-26 16:03:05.079 INFO [SpringContextShutdownHook] [] o.s.s.concurrent.ThreadPoolTaskExecutor 218 : Shutting down ExecutorService 'applicationTaskExecutor' +2024-06-26 16:03:05.083 INFO [SpringContextShutdownHook] [] com.zaxxer.hikari.HikariDataSource 350 : HikariPool-1 - Shutdown initiated... +2024-06-26 16:03:05.085 INFO [SpringContextShutdownHook] [] com.zaxxer.hikari.HikariDataSource 352 : HikariPool-1 - Shutdown completed. +2024-06-26 16:03:14.442 INFO [background-preinit] [] o.h.validator.internal.util.Version 21 : HV000001: Hibernate Validator 6.1.7.Final +2024-06-26 16:03:14.446 INFO [main] [] net.jjjerp.SpringBootJjjApplication 55 : Starting SpringBootJjjApplication on OS-20230506YKNI with PID 19084 (D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\bootstrap\target\classes started by Administrator in D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp) +2024-06-26 16:03:14.446 INFO [main] [] net.jjjerp.SpringBootJjjApplication 652 : The following profiles are active: prod +2024-06-26 16:03:15.681 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 249 : Multiple Spring Data modules found, entering strict repository configuration mode! +2024-06-26 16:03:15.682 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 127 : Bootstrapping Spring Data Redis repositories in DEFAULT mode. +2024-06-26 16:03:15.792 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 187 : Finished Spring Data repository scanning in 100ms. Found 0 Redis repository interfaces. +2024-06-26 16:03:16.043 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.ShiroConfig' of type [net.jjjerp.config.ShiroConfig$$EnhancerBySpringCGLIB$$690434ad] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 16:03:16.127 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.properties.JwtProperties' of type [net.jjjerp.config.properties.JwtProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 16:03:16.129 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.RedisTemplateConfig' of type [net.jjjerp.config.RedisTemplateConfig$$EnhancerBySpringCGLIB$$38693f51] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 16:03:16.136 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'spring.redis-org.springframework.boot.autoconfigure.data.redis.RedisProperties' of type [org.springframework.boot.autoconfigure.data.redis.RedisProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 16:03:16.139 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration' of type [org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 16:03:16.198 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'lettuceClientResources' of type [io.lettuce.core.resource.DefaultClientResources] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 16:03:16.288 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'redisConnectionFactory' of type [org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 16:03:16.332 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'redisTemplate' of type [org.springframework.data.redis.core.RedisTemplate] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 16:03:16.333 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.cache.impl.AdminLoginRedisServiceImpl' of type [net.jjjerp.framework.shiro.cache.impl.AdminLoginRedisServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 16:03:16.336 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.cache.impl.ShopLoginRedisServiceImpl' of type [net.jjjerp.framework.shiro.cache.impl.ShopLoginRedisServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 16:03:16.455 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'credentialsMatcher' of type [net.jjjerp.framework.shiro.jwt.JwtCredentialsMatcher] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 16:03:16.463 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'jwtRealm' of type [net.jjjerp.framework.shiro.jwt.JwtRealm] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 16:03:16.464 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'sessionStorageEvaluator' of type [org.apache.shiro.web.mgt.DefaultWebSessionStorageEvaluator] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 16:03:16.464 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'subjectDAO' of type [org.apache.shiro.mgt.DefaultSubjectDAO] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 16:03:16.466 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'securityManager' of type [org.apache.shiro.web.mgt.DefaultWebSecurityManager] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 16:03:16.486 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.service.impl.ShiroLoginServiceImpl' of type [net.jjjerp.framework.shiro.service.impl.ShiroLoginServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 16:03:16.495 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'spring-boot-jjj.shiro-net.jjjerp.config.properties.ShiroProperties' of type [net.jjjerp.config.properties.ShiroProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 16:03:16.591 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'authorizationAttributeSourceAdvisor' of type [org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 16:03:16.713 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.RedisCacheConfig' of type [net.jjjerp.config.RedisCacheConfig$$EnhancerBySpringCGLIB$$eda61653] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 16:03:16.948 INFO [main] [] o.s.b.w.embedded.tomcat.TomcatWebServer 108 : Tomcat initialized with port(s): 8892 (http) +2024-06-26 16:03:16.955 INFO [main] [] o.a.coyote.http11.Http11NioProtocol 173 : Initializing ProtocolHandler ["http-nio-8892"] +2024-06-26 16:03:16.955 INFO [main] [] o.apache.catalina.core.StandardService 173 : Starting service [Tomcat] +2024-06-26 16:03:16.955 INFO [main] [] org.apache.catalina.core.StandardEngine 173 : Starting Servlet engine: [Apache Tomcat/9.0.46] +2024-06-26 16:03:17.046 INFO [main] [] o.a.c.c.C.[Tomcat].[localhost].[/api] 173 : Initializing Spring embedded WebApplicationContext +2024-06-26 16:03:17.046 INFO [main] [] w.s.c.ServletWebServerApplicationContext 285 : Root WebApplicationContext: initialization completed in 2549 ms +2024-06-26 16:03:17.184 INFO [main] [] net.jjjerp.framework.core.xss.XssFilter 18 : XssFilter init +2024-06-26 16:03:17.184 INFO [main] [] n.j.f.core.filter.RequestDetailFilter 30 : RequestDetailFilter init +2024-06-26 16:03:20.504 INFO [main] [] org.reflections.Reflections 228 : Reflections took 38 ms to scan 1 urls, producing 0 keys and 0 values +2024-06-26 16:03:20.599 INFO [main] [] net.jjjerp.framework.shiro.util.JwtUtil 33 : {"audience":"web","expireSecond":36000,"issuer":"spring-boot-jjj","redisCheck":true,"refreshToken":true,"refreshTokenCountdown":600,"saltCheck":true,"secret":"888888","singleLogin":false,"tokenName":"token"} +2024-06-26 16:03:23.489 INFO [main] [] pertySourcedRequestMappingHandlerMapping 69 : Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2Controller#getDocumentation(String, HttpServletRequest)] +2024-06-26 16:03:23.509 INFO [main] [] net.jjjerp.config.Swagger2Config 149 : swagger scan basePackages:null +2024-06-26 16:03:23.668 INFO [main] [] o.s.s.concurrent.ThreadPoolTaskExecutor 181 : Initializing ExecutorService 'applicationTaskExecutor' +2024-06-26 16:03:23.794 INFO [main] [] o.s.b.a.w.s.WelcomePageHandlerMapping 53 : Adding welcome page: class path resource [static/index.html] +2024-06-26 16:03:24.009 INFO [main] [] o.s.s.c.ThreadPoolTaskScheduler 181 : Initializing ExecutorService 'taskScheduler' +2024-06-26 16:03:24.106 INFO [main] [] o.a.coyote.http11.Http11NioProtocol 173 : Starting ProtocolHandler ["http-nio-8892"] +2024-06-26 16:03:24.123 INFO [main] [] o.s.b.w.embedded.tomcat.TomcatWebServer 220 : Tomcat started on port(s): 8892 (http) with context path '/api' +2024-06-26 16:03:24.124 INFO [main] [] d.s.w.p.DocumentationPluginsBootstrapper 160 : Context refreshed +2024-06-26 16:03:24.129 INFO [main] [] d.s.w.p.DocumentationPluginsBootstrapper 163 : Found 1 custom documentation plugin(s) +2024-06-26 16:03:24.163 INFO [main] [] s.d.s.w.s.ApiListingReferenceScanner 41 : Scanning for api listing references +2024-06-26 16:03:24.282 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_1 +2024-06-26 16:03:24.284 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_1 +2024-06-26 16:03:24.285 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_1 +2024-06-26 16:03:24.301 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_1 +2024-06-26 16:03:24.335 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_2 +2024-06-26 16:03:24.337 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_2 +2024-06-26 16:03:24.339 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_3 +2024-06-26 16:03:24.340 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_3 +2024-06-26 16:03:24.343 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_4 +2024-06-26 16:03:24.344 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_4 +2024-06-26 16:03:24.345 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexOutUsingPOST_1 +2024-06-26 16:03:24.348 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_5 +2024-06-26 16:03:24.353 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_5 +2024-06-26 16:03:24.354 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_2 +2024-06-26 16:03:24.354 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_2 +2024-06-26 16:03:24.368 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_6 +2024-06-26 16:03:24.369 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_7 +2024-06-26 16:03:24.374 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_8 +2024-06-26 16:03:24.403 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_6 +2024-06-26 16:03:24.404 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_3 +2024-06-26 16:03:24.404 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_3 +2024-06-26 16:03:24.411 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_9 +2024-06-26 16:03:24.414 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_10 +2024-06-26 16:03:24.416 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_7 +2024-06-26 16:03:24.417 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_4 +2024-06-26 16:03:24.417 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_4 +2024-06-26 16:03:24.420 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_11 +2024-06-26 16:03:24.424 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_8 +2024-06-26 16:03:24.425 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_5 +2024-06-26 16:03:24.425 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_5 +2024-06-26 16:03:24.428 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_12 +2024-06-26 16:03:24.431 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_9 +2024-06-26 16:03:24.432 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_6 +2024-06-26 16:03:24.432 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_6 +2024-06-26 16:03:24.435 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_13 +2024-06-26 16:03:24.436 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_1 +2024-06-26 16:03:24.437 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_10 +2024-06-26 16:03:24.437 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_7 +2024-06-26 16:03:24.438 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_7 +2024-06-26 16:03:24.439 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_14 +2024-06-26 16:03:24.441 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_11 +2024-06-26 16:03:24.441 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_8 +2024-06-26 16:03:24.442 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_8 +2024-06-26 16:03:24.443 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_15 +2024-06-26 16:03:24.444 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_12 +2024-06-26 16:03:24.447 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_9 +2024-06-26 16:03:24.447 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_9 +2024-06-26 16:03:24.450 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_16 +2024-06-26 16:03:24.451 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_17 +2024-06-26 16:03:24.457 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_13 +2024-06-26 16:03:24.458 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_10 +2024-06-26 16:03:24.461 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_18 +2024-06-26 16:03:24.462 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_1 +2024-06-26 16:03:24.472 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addGroupUsingPOST_1 +2024-06-26 16:03:24.473 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: categoryUsingPOST_1 +2024-06-26 16:03:24.473 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteFilesUsingPOST_1 +2024-06-26 16:03:24.474 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteGroupUsingPOST_1 +2024-06-26 16:03:24.474 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editGroupUsingPOST_1 +2024-06-26 16:03:24.477 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: listsUsingPOST_1 +2024-06-26 16:03:24.478 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: moveFilesUsingPOST_1 +2024-06-26 16:03:24.479 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_19 +2024-06-26 16:03:24.483 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_20 +2024-06-26 16:03:24.488 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_14 +2024-06-26 16:03:24.490 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_10 +2024-06-26 16:03:24.490 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteFilesUsingPOST_2 +2024-06-26 16:03:24.491 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_11 +2024-06-26 16:03:24.491 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_21 +2024-06-26 16:03:24.492 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: listUsingPOST_1 +2024-06-26 16:03:24.492 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: moveFilesUsingPOST_2 +2024-06-26 16:03:24.494 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_22 +2024-06-26 16:03:24.500 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_23 +2024-06-26 16:03:24.504 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_24 +2024-06-26 16:03:24.505 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_25 +2024-06-26 16:03:24.507 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_15 +2024-06-26 16:03:24.507 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_1 +2024-06-26 16:03:24.508 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_12 +2024-06-26 16:03:24.509 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_26 +2024-06-26 16:03:24.510 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: repulseAuditUsingPOST_1 +2024-06-26 16:03:24.512 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_16 +2024-06-26 16:03:24.512 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_11 +2024-06-26 16:03:24.513 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_13 +2024-06-26 16:03:24.516 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_27 +2024-06-26 16:03:24.519 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_17 +2024-06-26 16:03:24.520 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_12 +2024-06-26 16:03:24.521 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_14 +2024-06-26 16:03:24.522 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_28 +2024-06-26 16:03:24.524 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_18 +2024-06-26 16:03:24.524 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_29 +2024-06-26 16:03:24.528 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_30 +2024-06-26 16:03:24.530 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_19 +2024-06-26 16:03:24.530 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_1 +2024-06-26 16:03:24.531 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_31 +2024-06-26 16:03:24.532 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_1 +2024-06-26 16:03:24.534 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_32 +2024-06-26 16:03:24.535 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_20 +2024-06-26 16:03:24.536 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_2 +2024-06-26 16:03:24.536 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_33 +2024-06-26 16:03:24.544 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: loginUsingPOST_1 +2024-06-26 16:03:24.544 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: logoutUsingPOST_1 +2024-06-26 16:03:24.546 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_34 +2024-06-26 16:03:24.548 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_21 +2024-06-26 16:03:24.548 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_13 +2024-06-26 16:03:24.548 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_15 +2024-06-26 16:03:24.549 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_35 +2024-06-26 16:03:24.551 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_2 +2024-06-26 16:03:24.554 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_22 +2024-06-26 16:03:24.555 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_14 +2024-06-26 16:03:24.555 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_16 +2024-06-26 16:03:24.559 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_36 +2024-06-26 16:03:24.560 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: stateUsingPOST_1 +2024-06-26 16:03:24.560 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_1 +2024-06-26 16:03:24.561 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_3 +2024-06-26 16:03:24.562 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_23 +2024-06-26 16:03:24.563 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_2 +2024-06-26 16:03:24.564 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_2 +2024-06-26 16:03:24.565 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_17 +2024-06-26 16:03:24.566 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_37 +2024-06-26 16:03:24.568 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_3 +2024-06-26 16:03:24.569 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_18 +2024-06-26 16:03:24.569 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_38 +2024-06-26 16:03:24.570 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addStorageUsingPOST_1 +2024-06-26 16:03:24.571 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_4 +2024-06-26 16:03:24.572 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_3 +2024-06-26 16:03:24.572 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_19 +2024-06-26 16:03:24.573 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_39 +2024-06-26 16:03:24.574 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_40 +2024-06-26 16:03:24.575 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_24 +2024-06-26 16:03:24.576 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_20 +2024-06-26 16:03:24.577 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_3 +2024-06-26 16:03:24.579 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_25 +2024-06-26 16:03:24.580 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_15 +2024-06-26 16:03:24.580 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_21 +2024-06-26 16:03:24.582 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_41 +2024-06-26 16:03:24.584 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_2 +2024-06-26 16:03:24.584 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_4 +2024-06-26 16:03:24.586 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: scanIndexUsingPOST_1 +2024-06-26 16:03:24.587 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_1 +2024-06-26 16:03:24.588 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_42 +2024-06-26 16:03:24.590 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_26 +2024-06-26 16:03:24.590 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_16 +2024-06-26 16:03:24.591 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_22 +2024-06-26 16:03:24.595 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_43 +2024-06-26 16:03:24.598 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_27 +2024-06-26 16:03:24.599 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_17 +2024-06-26 16:03:24.599 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_23 +2024-06-26 16:03:24.601 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_44 +2024-06-26 16:03:24.601 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_3 +2024-06-26 16:03:24.602 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_5 +2024-06-26 16:03:24.603 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_28 +2024-06-26 16:03:24.604 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_18 +2024-06-26 16:03:24.604 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_24 +2024-06-26 16:03:24.606 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_45 +2024-06-26 16:03:24.607 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_46 +2024-06-26 16:03:24.607 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_2 +2024-06-26 16:03:24.608 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_29 +2024-06-26 16:03:24.609 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_47 +2024-06-26 16:03:24.610 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_48 +2024-06-26 16:03:24.610 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_49 +2024-06-26 16:03:24.611 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_3 +2024-06-26 16:03:24.614 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_30 +2024-06-26 16:03:24.614 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_19 +2024-06-26 16:03:24.615 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_25 +2024-06-26 16:03:24.618 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_50 +2024-06-26 16:03:24.618 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_2 +2024-06-26 16:03:24.619 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_4 +2024-06-26 16:03:24.619 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_6 +2024-06-26 16:03:24.623 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_31 +2024-06-26 16:03:24.623 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_20 +2024-06-26 16:03:24.623 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_26 +2024-06-26 16:03:24.627 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_51 +2024-06-26 16:03:24.628 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_3 +2024-06-26 16:03:24.629 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_7 +2024-06-26 16:03:24.630 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_52 +2024-06-26 16:03:24.630 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_4 +2024-06-26 16:03:24.633 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_32 +2024-06-26 16:03:24.634 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_21 +2024-06-26 16:03:24.634 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_27 +2024-06-26 16:03:24.636 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_53 +2024-06-26 16:03:24.638 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: uploadUsingPOST_1 +2024-06-26 16:03:24.656 INFO [main] [] net.jjjerp.SpringBootJjjApplication 61 : Started SpringBootJjjApplication in 10.671 seconds (JVM running for 11.301) +2024-06-26 16:03:24.659 INFO [main] [] n.j.framework.util.PrintApplicationInfo 61 : projectFinalName : jjj-erp-1.0 +2024-06-26 16:03:24.659 INFO [main] [] n.j.framework.util.PrintApplicationInfo 62 : projectVersion : 1.0 +2024-06-26 16:03:24.659 INFO [main] [] n.j.framework.util.PrintApplicationInfo 63 : profileActive : prod +2024-06-26 16:03:24.659 INFO [main] [] n.j.framework.util.PrintApplicationInfo 64 : contextPath : /api +2024-06-26 16:03:24.659 INFO [main] [] n.j.framework.util.PrintApplicationInfo 65 : serverIp : http://erp3.huadeng.fun +2024-06-26 16:03:24.659 INFO [main] [] n.j.framework.util.PrintApplicationInfo 66 : port : 8892 +2024-06-26 16:03:24.659 INFO [main] [] n.j.framework.util.PrintApplicationInfo 81 : Home: http://erp3.huadeng.fun/api +2024-06-26 16:03:24.659 INFO [main] [] n.j.framework.util.PrintApplicationInfo 82 : Knife4j: http://erp3.huadeng.fun/api/doc.html +2024-06-26 16:03:24.659 INFO [main] [] n.j.framework.util.PrintApplicationInfo 83 : Swagger: http://erp3.huadeng.fun/api/swagger-ui.html +2024-06-26 16:03:24.659 INFO [main] [] n.j.framework.util.PrintApplicationInfo 84 : jjj-erp 启动成功........... + ____ __ __ ____ +/\ _`\ /\ \__ /\ \__ /\ _`\ +\ \,\L\_\ \ ,_\ __ _ __\ \ ,_\ \ \,\L\_\ __ __ ___ ___ __ ____ ____ + \/_\__ \\ \ \/ /'__`\ /\`'__\ \ \/ \/_\__ \ /\ \/\ \ /'___\ /'___\ /'__`\ /',__\ /',__\ + /\ \L\ \ \ \_/\ \L\.\_\ \ \/ \ \ \_ /\ \L\ \ \ \_\ \/\ \__//\ \__//\ __//\__, `\/\__, `\ + \ `\____\ \__\ \__/.\_\\ \_\ \ \__\ \ `\____\ \____/\ \____\ \____\ \____\/\____/\/\____/ + \/_____/\/__/\/__/\/_/ \/_/ \/__/ \/_____/\/___/ \/____/\/____/\/____/\/___/ \/___/ + + +2024-06-26 16:04:09.448 INFO [http-nio-8892-exec-2] [] o.a.c.c.C.[Tomcat].[localhost].[/api] 173 : Initializing Spring DispatcherServlet 'dispatcherServlet' +2024-06-26 16:04:09.448 INFO [http-nio-8892-exec-2] [] o.s.web.servlet.DispatcherServlet 525 : Initializing Servlet 'dispatcherServlet' +2024-06-26 16:04:09.458 INFO [http-nio-8892-exec-2] [] o.s.web.servlet.DispatcherServlet 547 : Completed initialization in 10 ms +2024-06-26 16:04:10.466 INFO [http-nio-8892-exec-2] [1805874682011049986] com.zaxxer.hikari.HikariDataSource 110 : HikariPool-1 - Starting... +2024-06-26 16:04:10.825 INFO [http-nio-8892-exec-2] [1805874682011049986] com.zaxxer.hikari.HikariDataSource 123 : HikariPool-1 - Start completed. +2024-06-26 16:11:11.059 WARN [http-nio-8892-exec-23] [1805876425356730369] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@4194f6e4 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-26 16:11:11.772 WARN [http-nio-8892-exec-26] [1805876428418572290] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@78f198c7 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-26 16:11:11.960 WARN [http-nio-8892-exec-25] [1805876429202907137] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@40167ae0 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-26 16:11:12.299 WARN [http-nio-8892-exec-19] [1805876428418572291] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@27ec28c2 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-26 16:11:16.965 WARN [http-nio-8892-exec-25] [1805876429202907137] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@55993931 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-26 16:11:17.306 WARN [http-nio-8892-exec-19] [1805876428418572291] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@40590bda (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-26 16:14:04.764 WARN [http-nio-8892-exec-30] [1805877153970249730] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@5ca5e86c (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-26 16:14:04.841 WARN [http-nio-8892-exec-1] [1805877153773117443] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@49580832 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-26 16:14:09.766 WARN [http-nio-8892-exec-30] [1805877153970249730] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@204aeaae (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-26 16:18:22.394 WARN [http-nio-8892-exec-6] [1805878234070638593] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@4e9d985b (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-26 16:21:47.407 INFO [SpringContextShutdownHook] [] net.jjjerp.framework.core.xss.XssFilter 30 : XssFilter destroy +2024-06-26 16:21:47.407 INFO [SpringContextShutdownHook] [] n.j.f.core.filter.RequestDetailFilter 116 : RequestDetailFilter destroy +2024-06-26 16:21:47.416 INFO [SpringContextShutdownHook] [] o.s.s.c.ThreadPoolTaskScheduler 218 : Shutting down ExecutorService 'taskScheduler' +2024-06-26 16:21:47.416 INFO [SpringContextShutdownHook] [] o.s.s.concurrent.ThreadPoolTaskExecutor 218 : Shutting down ExecutorService 'applicationTaskExecutor' +2024-06-26 16:21:47.422 INFO [SpringContextShutdownHook] [] com.zaxxer.hikari.HikariDataSource 350 : HikariPool-1 - Shutdown initiated... +2024-06-26 16:21:47.425 INFO [SpringContextShutdownHook] [] com.zaxxer.hikari.HikariDataSource 352 : HikariPool-1 - Shutdown completed. +2024-06-26 16:21:57.117 INFO [background-preinit] [] o.h.validator.internal.util.Version 21 : HV000001: Hibernate Validator 6.1.7.Final +2024-06-26 16:21:57.121 INFO [main] [] net.jjjerp.SpringBootJjjApplication 55 : Starting SpringBootJjjApplication on OS-20230506YKNI with PID 16568 (D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\bootstrap\target\classes started by Administrator in D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp) +2024-06-26 16:21:57.122 INFO [main] [] net.jjjerp.SpringBootJjjApplication 652 : The following profiles are active: prod +2024-06-26 16:21:58.533 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 249 : Multiple Spring Data modules found, entering strict repository configuration mode! +2024-06-26 16:21:58.535 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 127 : Bootstrapping Spring Data Redis repositories in DEFAULT mode. +2024-06-26 16:21:58.652 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 187 : Finished Spring Data repository scanning in 108ms. Found 0 Redis repository interfaces. +2024-06-26 16:21:58.899 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.ShiroConfig' of type [net.jjjerp.config.ShiroConfig$$EnhancerBySpringCGLIB$$62dd7b13] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 16:21:58.984 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.properties.JwtProperties' of type [net.jjjerp.config.properties.JwtProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 16:21:58.986 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.RedisTemplateConfig' of type [net.jjjerp.config.RedisTemplateConfig$$EnhancerBySpringCGLIB$$324285b7] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 16:21:58.994 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'spring.redis-org.springframework.boot.autoconfigure.data.redis.RedisProperties' of type [org.springframework.boot.autoconfigure.data.redis.RedisProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 16:21:58.997 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration' of type [org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 16:21:59.057 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'lettuceClientResources' of type [io.lettuce.core.resource.DefaultClientResources] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 16:21:59.151 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'redisConnectionFactory' of type [org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 16:21:59.195 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'redisTemplate' of type [org.springframework.data.redis.core.RedisTemplate] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 16:21:59.196 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.cache.impl.AdminLoginRedisServiceImpl' of type [net.jjjerp.framework.shiro.cache.impl.AdminLoginRedisServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 16:21:59.199 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.cache.impl.ShopLoginRedisServiceImpl' of type [net.jjjerp.framework.shiro.cache.impl.ShopLoginRedisServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 16:21:59.309 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'credentialsMatcher' of type [net.jjjerp.framework.shiro.jwt.JwtCredentialsMatcher] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 16:21:59.316 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'jwtRealm' of type [net.jjjerp.framework.shiro.jwt.JwtRealm] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 16:21:59.317 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'sessionStorageEvaluator' of type [org.apache.shiro.web.mgt.DefaultWebSessionStorageEvaluator] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 16:21:59.318 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'subjectDAO' of type [org.apache.shiro.mgt.DefaultSubjectDAO] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 16:21:59.320 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'securityManager' of type [org.apache.shiro.web.mgt.DefaultWebSecurityManager] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 16:21:59.342 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.service.impl.ShiroLoginServiceImpl' of type [net.jjjerp.framework.shiro.service.impl.ShiroLoginServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 16:21:59.349 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'spring-boot-jjj.shiro-net.jjjerp.config.properties.ShiroProperties' of type [net.jjjerp.config.properties.ShiroProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 16:21:59.453 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'authorizationAttributeSourceAdvisor' of type [org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 16:21:59.595 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.RedisCacheConfig' of type [net.jjjerp.config.RedisCacheConfig$$EnhancerBySpringCGLIB$$e77f5cb9] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-26 16:21:59.830 INFO [main] [] o.s.b.w.embedded.tomcat.TomcatWebServer 108 : Tomcat initialized with port(s): 8892 (http) +2024-06-26 16:21:59.837 INFO [main] [] o.a.coyote.http11.Http11NioProtocol 173 : Initializing ProtocolHandler ["http-nio-8892"] +2024-06-26 16:21:59.837 INFO [main] [] o.apache.catalina.core.StandardService 173 : Starting service [Tomcat] +2024-06-26 16:21:59.837 INFO [main] [] org.apache.catalina.core.StandardEngine 173 : Starting Servlet engine: [Apache Tomcat/9.0.46] +2024-06-26 16:21:59.933 INFO [main] [] o.a.c.c.C.[Tomcat].[localhost].[/api] 173 : Initializing Spring embedded WebApplicationContext +2024-06-26 16:21:59.933 INFO [main] [] w.s.c.ServletWebServerApplicationContext 285 : Root WebApplicationContext: initialization completed in 2764 ms +2024-06-26 16:22:00.061 INFO [main] [] net.jjjerp.framework.core.xss.XssFilter 18 : XssFilter init +2024-06-26 16:22:00.062 INFO [main] [] n.j.f.core.filter.RequestDetailFilter 30 : RequestDetailFilter init +2024-06-26 16:22:03.267 INFO [main] [] org.reflections.Reflections 228 : Reflections took 42 ms to scan 1 urls, producing 0 keys and 0 values +2024-06-26 16:22:03.364 INFO [main] [] net.jjjerp.framework.shiro.util.JwtUtil 33 : {"audience":"web","expireSecond":36000,"issuer":"spring-boot-jjj","redisCheck":true,"refreshToken":true,"refreshTokenCountdown":600,"saltCheck":true,"secret":"888888","singleLogin":false,"tokenName":"token"} +2024-06-26 16:22:05.838 INFO [main] [] pertySourcedRequestMappingHandlerMapping 69 : Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2Controller#getDocumentation(String, HttpServletRequest)] +2024-06-26 16:22:05.853 INFO [main] [] net.jjjerp.config.Swagger2Config 149 : swagger scan basePackages:null +2024-06-26 16:22:05.974 INFO [main] [] o.s.s.concurrent.ThreadPoolTaskExecutor 181 : Initializing ExecutorService 'applicationTaskExecutor' +2024-06-26 16:22:06.057 INFO [main] [] o.s.b.a.w.s.WelcomePageHandlerMapping 53 : Adding welcome page: class path resource [static/index.html] +2024-06-26 16:22:06.243 INFO [main] [] o.s.s.c.ThreadPoolTaskScheduler 181 : Initializing ExecutorService 'taskScheduler' +2024-06-26 16:22:06.338 INFO [main] [] o.a.coyote.http11.Http11NioProtocol 173 : Starting ProtocolHandler ["http-nio-8892"] +2024-06-26 16:22:06.356 INFO [main] [] o.s.b.w.embedded.tomcat.TomcatWebServer 220 : Tomcat started on port(s): 8892 (http) with context path '/api' +2024-06-26 16:22:06.357 INFO [main] [] d.s.w.p.DocumentationPluginsBootstrapper 160 : Context refreshed +2024-06-26 16:22:06.363 INFO [main] [] d.s.w.p.DocumentationPluginsBootstrapper 163 : Found 1 custom documentation plugin(s) +2024-06-26 16:22:06.400 INFO [main] [] s.d.s.w.s.ApiListingReferenceScanner 41 : Scanning for api listing references +2024-06-26 16:22:06.518 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_1 +2024-06-26 16:22:06.520 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_1 +2024-06-26 16:22:06.521 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_1 +2024-06-26 16:22:06.538 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_1 +2024-06-26 16:22:06.595 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_2 +2024-06-26 16:22:06.597 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_2 +2024-06-26 16:22:06.600 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_3 +2024-06-26 16:22:06.600 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_3 +2024-06-26 16:22:06.603 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_4 +2024-06-26 16:22:06.603 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_4 +2024-06-26 16:22:06.604 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexOutUsingPOST_1 +2024-06-26 16:22:06.607 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_5 +2024-06-26 16:22:06.613 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_5 +2024-06-26 16:22:06.613 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_2 +2024-06-26 16:22:06.614 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_2 +2024-06-26 16:22:06.628 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_6 +2024-06-26 16:22:06.629 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_7 +2024-06-26 16:22:06.635 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_8 +2024-06-26 16:22:06.665 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_6 +2024-06-26 16:22:06.666 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_3 +2024-06-26 16:22:06.667 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_3 +2024-06-26 16:22:06.673 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_9 +2024-06-26 16:22:06.676 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_10 +2024-06-26 16:22:06.678 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_7 +2024-06-26 16:22:06.679 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_4 +2024-06-26 16:22:06.680 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_4 +2024-06-26 16:22:06.682 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_11 +2024-06-26 16:22:06.687 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_8 +2024-06-26 16:22:06.687 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_5 +2024-06-26 16:22:06.688 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_5 +2024-06-26 16:22:06.691 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_12 +2024-06-26 16:22:06.694 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_9 +2024-06-26 16:22:06.695 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_6 +2024-06-26 16:22:06.695 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_6 +2024-06-26 16:22:06.699 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_13 +2024-06-26 16:22:06.699 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_1 +2024-06-26 16:22:06.701 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_10 +2024-06-26 16:22:06.701 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_7 +2024-06-26 16:22:06.702 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_7 +2024-06-26 16:22:06.703 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_14 +2024-06-26 16:22:06.704 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_11 +2024-06-26 16:22:06.705 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_8 +2024-06-26 16:22:06.705 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_8 +2024-06-26 16:22:06.707 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_15 +2024-06-26 16:22:06.707 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_12 +2024-06-26 16:22:06.710 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_9 +2024-06-26 16:22:06.711 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_9 +2024-06-26 16:22:06.714 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_16 +2024-06-26 16:22:06.716 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_17 +2024-06-26 16:22:06.721 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_13 +2024-06-26 16:22:06.722 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_10 +2024-06-26 16:22:06.725 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_18 +2024-06-26 16:22:06.726 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_1 +2024-06-26 16:22:06.736 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addGroupUsingPOST_1 +2024-06-26 16:22:06.736 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: categoryUsingPOST_1 +2024-06-26 16:22:06.737 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteFilesUsingPOST_1 +2024-06-26 16:22:06.737 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteGroupUsingPOST_1 +2024-06-26 16:22:06.738 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editGroupUsingPOST_1 +2024-06-26 16:22:06.741 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: listsUsingPOST_1 +2024-06-26 16:22:06.742 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: moveFilesUsingPOST_1 +2024-06-26 16:22:06.744 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_19 +2024-06-26 16:22:06.748 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_14 +2024-06-26 16:22:06.749 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_10 +2024-06-26 16:22:06.750 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteFilesUsingPOST_2 +2024-06-26 16:22:06.750 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_11 +2024-06-26 16:22:06.752 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_20 +2024-06-26 16:22:06.755 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: moveFilesUsingPOST_2 +2024-06-26 16:22:06.756 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_21 +2024-06-26 16:22:06.757 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: listUsingPOST_1 +2024-06-26 16:22:06.762 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_22 +2024-06-26 16:22:06.765 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_23 +2024-06-26 16:22:06.768 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_24 +2024-06-26 16:22:06.770 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_25 +2024-06-26 16:22:06.772 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_15 +2024-06-26 16:22:06.772 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_1 +2024-06-26 16:22:06.773 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_12 +2024-06-26 16:22:06.775 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_26 +2024-06-26 16:22:06.776 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: repulseAuditUsingPOST_1 +2024-06-26 16:22:06.779 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_16 +2024-06-26 16:22:06.780 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_11 +2024-06-26 16:22:06.780 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_13 +2024-06-26 16:22:06.785 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_27 +2024-06-26 16:22:06.790 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_17 +2024-06-26 16:22:06.791 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_12 +2024-06-26 16:22:06.791 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_14 +2024-06-26 16:22:06.794 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_28 +2024-06-26 16:22:06.796 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_18 +2024-06-26 16:22:06.797 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_29 +2024-06-26 16:22:06.801 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_30 +2024-06-26 16:22:06.803 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_19 +2024-06-26 16:22:06.803 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_1 +2024-06-26 16:22:06.804 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_31 +2024-06-26 16:22:06.805 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_1 +2024-06-26 16:22:06.807 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_32 +2024-06-26 16:22:06.810 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_20 +2024-06-26 16:22:06.810 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_2 +2024-06-26 16:22:06.811 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_33 +2024-06-26 16:22:06.820 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: loginUsingPOST_1 +2024-06-26 16:22:06.821 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: logoutUsingPOST_1 +2024-06-26 16:22:06.822 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_34 +2024-06-26 16:22:06.825 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_21 +2024-06-26 16:22:06.825 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_13 +2024-06-26 16:22:06.826 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_15 +2024-06-26 16:22:06.826 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_35 +2024-06-26 16:22:06.828 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_2 +2024-06-26 16:22:06.832 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_22 +2024-06-26 16:22:06.832 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_14 +2024-06-26 16:22:06.833 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_16 +2024-06-26 16:22:06.838 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_36 +2024-06-26 16:22:06.839 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: stateUsingPOST_1 +2024-06-26 16:22:06.840 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_1 +2024-06-26 16:22:06.840 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_3 +2024-06-26 16:22:06.842 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_23 +2024-06-26 16:22:06.842 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_2 +2024-06-26 16:22:06.843 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_2 +2024-06-26 16:22:06.844 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_17 +2024-06-26 16:22:06.844 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_37 +2024-06-26 16:22:06.846 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_3 +2024-06-26 16:22:06.847 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_18 +2024-06-26 16:22:06.848 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_38 +2024-06-26 16:22:06.849 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addStorageUsingPOST_1 +2024-06-26 16:22:06.850 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_4 +2024-06-26 16:22:06.850 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_3 +2024-06-26 16:22:06.851 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_19 +2024-06-26 16:22:06.852 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_39 +2024-06-26 16:22:06.853 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_40 +2024-06-26 16:22:06.855 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_24 +2024-06-26 16:22:06.855 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_20 +2024-06-26 16:22:06.856 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_3 +2024-06-26 16:22:06.858 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_25 +2024-06-26 16:22:06.859 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_15 +2024-06-26 16:22:06.859 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_21 +2024-06-26 16:22:06.860 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_41 +2024-06-26 16:22:06.862 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_2 +2024-06-26 16:22:06.863 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_4 +2024-06-26 16:22:06.865 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: scanIndexUsingPOST_1 +2024-06-26 16:22:06.866 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_42 +2024-06-26 16:22:06.867 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_1 +2024-06-26 16:22:06.870 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_26 +2024-06-26 16:22:06.870 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_16 +2024-06-26 16:22:06.870 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_22 +2024-06-26 16:22:06.875 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_43 +2024-06-26 16:22:06.878 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_27 +2024-06-26 16:22:06.878 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_17 +2024-06-26 16:22:06.879 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_23 +2024-06-26 16:22:06.880 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_44 +2024-06-26 16:22:06.881 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_3 +2024-06-26 16:22:06.881 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_5 +2024-06-26 16:22:06.883 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_28 +2024-06-26 16:22:06.884 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_18 +2024-06-26 16:22:06.885 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_24 +2024-06-26 16:22:06.887 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_45 +2024-06-26 16:22:06.888 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_46 +2024-06-26 16:22:06.889 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_2 +2024-06-26 16:22:06.890 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_29 +2024-06-26 16:22:06.890 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_47 +2024-06-26 16:22:06.892 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_48 +2024-06-26 16:22:06.893 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_49 +2024-06-26 16:22:06.893 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_3 +2024-06-26 16:22:06.897 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_30 +2024-06-26 16:22:06.898 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_19 +2024-06-26 16:22:06.898 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_25 +2024-06-26 16:22:06.901 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_50 +2024-06-26 16:22:06.902 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_2 +2024-06-26 16:22:06.902 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_4 +2024-06-26 16:22:06.903 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_6 +2024-06-26 16:22:06.906 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_31 +2024-06-26 16:22:06.907 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_20 +2024-06-26 16:22:06.907 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_26 +2024-06-26 16:22:06.911 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_51 +2024-06-26 16:22:06.912 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_3 +2024-06-26 16:22:06.912 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_7 +2024-06-26 16:22:06.913 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_52 +2024-06-26 16:22:06.913 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_4 +2024-06-26 16:22:06.915 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_32 +2024-06-26 16:22:06.916 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_21 +2024-06-26 16:22:06.917 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_27 +2024-06-26 16:22:06.918 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_53 +2024-06-26 16:22:06.921 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: uploadUsingPOST_1 +2024-06-26 16:22:06.941 INFO [main] [] net.jjjerp.SpringBootJjjApplication 61 : Started SpringBootJjjApplication in 10.624 seconds (JVM running for 11.242) +2024-06-26 16:22:06.944 INFO [main] [] n.j.framework.util.PrintApplicationInfo 61 : projectFinalName : jjj-erp-1.0 +2024-06-26 16:22:06.944 INFO [main] [] n.j.framework.util.PrintApplicationInfo 62 : projectVersion : 1.0 +2024-06-26 16:22:06.944 INFO [main] [] n.j.framework.util.PrintApplicationInfo 63 : profileActive : prod +2024-06-26 16:22:06.944 INFO [main] [] n.j.framework.util.PrintApplicationInfo 64 : contextPath : /api +2024-06-26 16:22:06.944 INFO [main] [] n.j.framework.util.PrintApplicationInfo 65 : serverIp : http://erp3.huadeng.fun +2024-06-26 16:22:06.944 INFO [main] [] n.j.framework.util.PrintApplicationInfo 66 : port : 8892 +2024-06-26 16:22:06.944 INFO [main] [] n.j.framework.util.PrintApplicationInfo 81 : Home: http://erp3.huadeng.fun/api +2024-06-26 16:22:06.945 INFO [main] [] n.j.framework.util.PrintApplicationInfo 82 : Knife4j: http://erp3.huadeng.fun/api/doc.html +2024-06-26 16:22:06.945 INFO [main] [] n.j.framework.util.PrintApplicationInfo 83 : Swagger: http://erp3.huadeng.fun/api/swagger-ui.html +2024-06-26 16:22:06.945 INFO [main] [] n.j.framework.util.PrintApplicationInfo 84 : jjj-erp 启动成功........... + ____ __ __ ____ +/\ _`\ /\ \__ /\ \__ /\ _`\ +\ \,\L\_\ \ ,_\ __ _ __\ \ ,_\ \ \,\L\_\ __ __ ___ ___ __ ____ ____ + \/_\__ \\ \ \/ /'__`\ /\`'__\ \ \/ \/_\__ \ /\ \/\ \ /'___\ /'___\ /'__`\ /',__\ /',__\ + /\ \L\ \ \ \_/\ \L\.\_\ \ \/ \ \ \_ /\ \L\ \ \ \_\ \/\ \__//\ \__//\ __//\__, `\/\__, `\ + \ `\____\ \__\ \__/.\_\\ \_\ \ \__\ \ `\____\ \____/\ \____\ \____\ \____\/\____/\/\____/ + \/_____/\/__/\/__/\/_/ \/_/ \/__/ \/_____/\/___/ \/____/\/____/\/____/\/___/ \/___/ + + +2024-06-26 16:22:35.045 INFO [http-nio-8892-exec-2] [] o.a.c.c.C.[Tomcat].[localhost].[/api] 173 : Initializing Spring DispatcherServlet 'dispatcherServlet' +2024-06-26 16:22:35.045 INFO [http-nio-8892-exec-2] [] o.s.web.servlet.DispatcherServlet 525 : Initializing Servlet 'dispatcherServlet' +2024-06-26 16:22:35.053 INFO [http-nio-8892-exec-2] [] o.s.web.servlet.DispatcherServlet 547 : Completed initialization in 8 ms +2024-06-26 16:22:36.078 INFO [http-nio-8892-exec-1] [1805879319346724866] com.zaxxer.hikari.HikariDataSource 110 : HikariPool-1 - Starting... +2024-06-26 16:22:36.477 INFO [http-nio-8892-exec-1] [1805879319346724866] com.zaxxer.hikari.HikariDataSource 123 : HikariPool-1 - Start completed. +2024-06-26 16:40:47.465 WARN [http-nio-8892-exec-12] [1805883876231528449] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@2ed2d5d1 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-26 16:40:47.548 WARN [http-nio-8892-exec-11] [1805883876546101250] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@17d42560 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-26 16:41:57.194 WARN [http-nio-8892-exec-19] [1805884168696152066] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@685409ae (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-26 16:42:00.862 WARN [http-nio-8892-exec-20] [1805884184051499009] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@6e1f6128 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-26 16:42:02.204 WARN [http-nio-8892-exec-19] [1805884168696152066] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@5a3af63 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-26 16:42:47.447 WARN [http-nio-8892-exec-3] [1805884379493482498] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@29afaca1 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-26 16:42:57.511 WARN [http-nio-8892-exec-5] [1805884421683986434] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@3143c457 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-26 16:43:26.509 WARN [http-nio-8892-exec-17] [1805884543285248002] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@1fae540a (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-26 16:57:04.088 ERROR [http-nio-8892-exec-5] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy402.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-26 16:57:04.088 ERROR [http-nio-8892-exec-4] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy402.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-26 16:57:04.089 ERROR [http-nio-8892-exec-6] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy402.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-26 16:57:04.088 ERROR [http-nio-8892-exec-2] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy402.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-26 16:57:13.398 INFO [lettuce-eventExecutorLoop-1-1] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was /101.34.74.68:6379 +2024-06-26 16:57:13.429 INFO [lettuce-nioEventLoop-4-2] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to 101.34.74.68:6379 +2024-06-26 16:57:19.422 WARN [http-nio-8892-exec-10] [1805888036813324289] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@6022eccf (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-26 16:57:22.753 WARN [http-nio-8892-exec-8] [1805888036620386307] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@2fb1481a (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-26 16:57:22.910 WARN [http-nio-8892-exec-11] [1805888036620386306] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@6ab2e5b6 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-26 16:58:55.053 WARN [http-nio-8892-exec-15] [1805888437876867074] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@15fc56a7 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-26 16:58:55.161 WARN [http-nio-8892-exec-9] [1805888424291516417] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@5d2d9a1f (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-26 16:59:00.171 WARN [http-nio-8892-exec-9] [1805888424291516417] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@4a074d61 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-26 17:00:54.351 WARN [http-nio-8892-exec-21] [1805888938324443137] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@9abbe27 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-26 17:02:11.639 WARN [http-nio-8892-exec-19] [1805889262418313218] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@4b0106d5 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-26 17:02:44.093 WARN [http-nio-8892-exec-27] [1805889398569615361] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@2b76219b (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-26 17:06:55.430 WARN [http-nio-8892-exec-12] [1805890452229111810] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@78587772 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-26 17:20:08.541 WARN [http-nio-8892-exec-4] [1805893778903580673] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@5101b831 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-26 17:52:34.105 ERROR [http-nio-8892-exec-23] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy402.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-26 17:52:34.105 ERROR [http-nio-8892-exec-24] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy402.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-26 17:52:43.398 INFO [lettuce-eventExecutorLoop-1-2] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was /101.34.74.68:6379 +2024-06-26 17:52:43.424 INFO [lettuce-nioEventLoop-4-3] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to 101.34.74.68:6379 +2024-06-26 18:14:05.095 WARN [http-nio-8892-exec-30] [1805907354372456450] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@626e9030 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-26 18:14:05.158 WARN [http-nio-8892-exec-19] [1805907354624114690] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@2f0f2b23 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-26 18:14:05.283 WARN [http-nio-8892-exec-29] [1805907354372456449] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@5a4d1723 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-26 18:14:10.165 WARN [http-nio-8892-exec-19] [1805907354624114690] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@2f6b5a01 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-26 18:14:10.290 WARN [http-nio-8892-exec-29] [1805907354372456449] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@62d55d01 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-26 18:15:45.451 WARN [http-nio-8892-exec-28] [1805907775275057153] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@2799d22b (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-26 18:15:45.561 WARN [http-nio-8892-exec-3] [1805907775073730561] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@789b6b95 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-26 18:15:50.575 WARN [http-nio-8892-exec-3] [1805907775073730561] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@54ce5bb (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-26 18:17:20.420 ERROR [http-nio-8892-exec-2] [] n.jjjerp.handler.GlobalExceptionHandler 233 : 异常来源:ip: 192.168.31.226, path: /api/admin/product/base/product/index +2024-06-26 18:17:20.420 ERROR [http-nio-8892-exec-27] [] n.jjjerp.handler.GlobalExceptionHandler 233 : 异常来源:ip: 192.168.31.226, path: /api/admin/product/base/product/add +2024-06-26 18:17:20.421 ERROR [http-nio-8892-exec-2] [] n.jjjerp.handler.GlobalExceptionHandler 257 : errorCode: 5000, errorMessage: 系统异常 + +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'jjj_erp_git.jjjerp_product' doesn't exist +### The error may exist in net/jjjerp/admin/mapper/product/ProductMapper.java (best guess) +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT COUNT(*) FROM jjjerp_product WHERE (delete_flag = ?) AND app_id = 10001 +### Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'jjj_erp_git.jjjerp_product' doesn't exist +; bad SQL grammar []; nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'jjj_erp_git.jjjerp_product' doesn't exist + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:239) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:72) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:88) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:440) + at com.sun.proxy.$Proxy115.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:223) + at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.executeForIPage(MybatisMapperMethod.java:122) + at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:87) + at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:148) + at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89) + at com.sun.proxy.$Proxy324.selectPage(Unknown Source) + at sun.reflect.GeneratedMethodAccessor908.invoke(Unknown Source) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:344) + at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:198) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:139) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:212) + at com.sun.proxy.$Proxy325.selectPage(Unknown Source) + at com.baomidou.mybatisplus.extension.service.IService.page(IService.java:298) + at net.jjjerp.admin.service.product.impl.ProductServiceImpl.getList(ProductServiceImpl.java:116) + at net.jjjerp.admin.service.product.impl.ProductServiceImpl$$FastClassBySpringCGLIB$$4edb1a59.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.admin.service.product.impl.ProductServiceImpl$$EnhancerBySpringCGLIB$$3774f6c4.getList() + at net.jjjerp.admin.controller.product.base.ProductController.index(ProductController.java:42) + at net.jjjerp.admin.controller.product.base.ProductController$$FastClassBySpringCGLIB$$588445fc.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.AspectJAfterThrowingAdvice.invoke(AspectJAfterThrowingAdvice.java:62) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:88) + at net.jjjerp.framework.log.aop.BaseLogAop.handle(BaseLogAop.java:303) + at net.jjjerp.aop.LogAop.doAround(LogAop.java:35) + at net.jjjerp.aop.LogAop$$FastClassBySpringCGLIB$$189c4aae.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.aop.LogAop$$EnhancerBySpringCGLIB$$df27172.doAround() + at sun.reflect.GeneratedMethodAccessor784.invoke(Unknown Source) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:644) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:633) + at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.apache.shiro.spring.security.interceptor.AopAllianceAnnotationsAuthorizingMethodInterceptor$1.proceed(AopAllianceAnnotationsAuthorizingMethodInterceptor.java:82) + at org.apache.shiro.authz.aop.AuthorizingMethodInterceptor.invoke(AuthorizingMethodInterceptor.java:39) + at org.apache.shiro.spring.security.interceptor.AopAllianceAnnotationsAuthorizingMethodInterceptor.invoke(AopAllianceAnnotationsAuthorizingMethodInterceptor.java:115) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:95) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at net.jjjerp.admin.controller.product.base.ProductController$$EnhancerBySpringCGLIB$$2bd863ee.index() + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:652) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:112) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) + at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'jjj_erp_git.jjjerp_product' doesn't exist + at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) + at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) + at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) + at java.lang.reflect.Constructor.newInstance(Constructor.java:423) + at com.mysql.jdbc.Util.handleNewInstance(Util.java:425) + at com.mysql.jdbc.Util.getInstance(Util.java:408) + at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:944) + at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3978) + at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3914) + at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2530) + at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2683) + at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2495) + at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1903) + at com.mysql.jdbc.PreparedStatement.execute(PreparedStatement.java:1242) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at sun.reflect.GeneratedMethodAccessor153.invoke(Unknown Source) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:59) + at com.sun.proxy.$Proxy409.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:64) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:79) + at sun.reflect.GeneratedMethodAccessor152.invoke(Unknown Source) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:63) + at com.sun.proxy.$Proxy407.query(Unknown Source) + at com.baomidou.mybatisplus.core.executor.MybatisSimpleExecutor.doQuery(MybatisSimpleExecutor.java:69) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:325) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:156) + at com.baomidou.mybatisplus.core.executor.MybatisCachingExecutor.query(MybatisCachingExecutor.java:165) + at com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor.willDoQuery(PaginationInnerInterceptor.java:134) + at com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor.intercept(MybatisPlusInterceptor.java:59) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:61) + at com.sun.proxy.$Proxy406.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:140) + at sun.reflect.GeneratedMethodAccessor175.invoke(Unknown Source) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:426) + ... 142 common frames omitted + +2024-06-26 18:17:20.421 ERROR [http-nio-8892-exec-27] [] n.jjjerp.handler.GlobalExceptionHandler 257 : errorCode: 5000, errorMessage: 系统异常 + +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'jjj_erp_git.jjjerp_product_category' doesn't exist +### The error may exist in net/jjjerp/common/mapper/product/ProductCategoryMapper.java (best guess) +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT category_id, name, parent_id, status, app_id, create_time, update_time FROM jjjerp_product_category WHERE app_id = 10001 ORDER BY create_time ASC +### Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'jjj_erp_git.jjjerp_product_category' doesn't exist +; bad SQL grammar []; nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'jjj_erp_git.jjjerp_product_category' doesn't exist + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:239) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:72) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:88) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:440) + at com.sun.proxy.$Proxy115.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:223) + at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.executeForMany(MybatisMapperMethod.java:173) + at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:78) + at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:148) + at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89) + at com.sun.proxy.$Proxy212.selectList(Unknown Source) + at sun.reflect.GeneratedMethodAccessor176.invoke(Unknown Source) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:344) + at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:198) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:139) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:212) + at com.sun.proxy.$Proxy213.selectList(Unknown Source) + at com.baomidou.mybatisplus.extension.service.IService.list(IService.java:279) + at net.jjjerp.admin.service.product.impl.ProductCategoryServiceImpl.getAll(ProductCategoryServiceImpl.java:42) + at net.jjjerp.admin.service.product.impl.ProductCategoryServiceImpl$$FastClassBySpringCGLIB$$b5a767b.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.admin.service.product.impl.ProductCategoryServiceImpl$$EnhancerBySpringCGLIB$$3414b06a.getAll() + at net.jjjerp.admin.service.product.impl.ProductServiceImpl.getBaseData(ProductServiceImpl.java:168) + at net.jjjerp.admin.service.product.impl.ProductServiceImpl$$FastClassBySpringCGLIB$$4edb1a59.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.admin.service.product.impl.ProductServiceImpl$$EnhancerBySpringCGLIB$$3774f6c4.getBaseData() + at net.jjjerp.admin.controller.product.base.ProductController.toAdd(ProductController.java:50) + at net.jjjerp.admin.controller.product.base.ProductController$$FastClassBySpringCGLIB$$588445fc.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.AspectJAfterThrowingAdvice.invoke(AspectJAfterThrowingAdvice.java:62) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:88) + at net.jjjerp.framework.log.aop.BaseLogAop.handle(BaseLogAop.java:303) + at net.jjjerp.aop.LogAop.doAround(LogAop.java:35) + at net.jjjerp.aop.LogAop$$FastClassBySpringCGLIB$$189c4aae.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.aop.LogAop$$EnhancerBySpringCGLIB$$df27172.doAround() + at sun.reflect.GeneratedMethodAccessor784.invoke(Unknown Source) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:644) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:633) + at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.apache.shiro.spring.security.interceptor.AopAllianceAnnotationsAuthorizingMethodInterceptor$1.proceed(AopAllianceAnnotationsAuthorizingMethodInterceptor.java:82) + at org.apache.shiro.authz.aop.AuthorizingMethodInterceptor.invoke(AuthorizingMethodInterceptor.java:39) + at org.apache.shiro.spring.security.interceptor.AopAllianceAnnotationsAuthorizingMethodInterceptor.invoke(AopAllianceAnnotationsAuthorizingMethodInterceptor.java:115) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:95) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at net.jjjerp.admin.controller.product.base.ProductController$$EnhancerBySpringCGLIB$$2bd863ee.toAdd() + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:626) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:112) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) + at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'jjj_erp_git.jjjerp_product_category' doesn't exist + at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) + at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) + at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) + at java.lang.reflect.Constructor.newInstance(Constructor.java:423) + at com.mysql.jdbc.Util.handleNewInstance(Util.java:425) + at com.mysql.jdbc.Util.getInstance(Util.java:408) + at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:944) + at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3978) + at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3914) + at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2530) + at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2683) + at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2495) + at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1903) + at com.mysql.jdbc.PreparedStatement.execute(PreparedStatement.java:1242) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at sun.reflect.GeneratedMethodAccessor153.invoke(Unknown Source) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:59) + at com.sun.proxy.$Proxy409.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:64) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:79) + at sun.reflect.GeneratedMethodAccessor152.invoke(Unknown Source) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:63) + at com.sun.proxy.$Proxy407.query(Unknown Source) + at com.baomidou.mybatisplus.core.executor.MybatisSimpleExecutor.doQuery(MybatisSimpleExecutor.java:69) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:325) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:156) + at com.baomidou.mybatisplus.core.executor.MybatisCachingExecutor.query(MybatisCachingExecutor.java:165) + at com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor.intercept(MybatisPlusInterceptor.java:65) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:61) + at com.sun.proxy.$Proxy406.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:140) + at sun.reflect.GeneratedMethodAccessor175.invoke(Unknown Source) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:426) + ... 147 common frames omitted + +2024-06-26 18:17:20.603 ERROR [http-nio-8892-exec-17] [] n.jjjerp.handler.GlobalExceptionHandler 233 : 异常来源:ip: 192.168.31.226, path: /api/admin/setting/system/user/getUserInfo +2024-06-26 18:17:20.604 ERROR [http-nio-8892-exec-17] [] n.jjjerp.handler.GlobalExceptionHandler 257 : errorCode: 5000, errorMessage: 系统异常 + +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'jjj_erp_git.jjjerp_app' doesn't exist +### The error may exist in net/jjjerp/common/mapper/app/AppMapper.java (best guess) +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT app_id, app_name, logo, passport_open, passport_type, is_recycle, expire_time, weixin_service, pay_type, wx_pay_kind, wx_cash_type, ali_cash_type, mchid, apikey, p12, cert_pem, key_pem, wechatpay_serial, alipay_appid, alipay_publickey, alipay_privatekey, account_id, is_delete, create_time, update_time FROM jjjerp_app WHERE app_id = ? AND app_id = 10001 +### Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'jjj_erp_git.jjjerp_app' doesn't exist +; bad SQL grammar []; nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'jjj_erp_git.jjjerp_app' doesn't exist + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:239) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:72) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:88) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:440) + at com.sun.proxy.$Proxy115.selectOne(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectOne(SqlSessionTemplate.java:159) + at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:90) + at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:148) + at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89) + at com.sun.proxy.$Proxy137.selectById(Unknown Source) + at sun.reflect.GeneratedMethodAccessor167.invoke(Unknown Source) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:344) + at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:198) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:139) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:212) + at com.sun.proxy.$Proxy138.selectById(Unknown Source) + at com.baomidou.mybatisplus.extension.service.IService.getById(IService.java:201) + at com.baomidou.mybatisplus.extension.service.IService$$FastClassBySpringCGLIB$$f8525d18.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.admin.service.app.impl.AppServiceImpl$$EnhancerBySpringCGLIB$$edcf9884.getById() + at net.jjjerp.admin.controller.setting.system.ShopUserController.getUserInfo(ShopUserController.java:67) + at net.jjjerp.admin.controller.setting.system.ShopUserController$$FastClassBySpringCGLIB$$1f77b5ef.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.AspectJAfterThrowingAdvice.invoke(AspectJAfterThrowingAdvice.java:62) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:88) + at net.jjjerp.framework.log.aop.BaseLogAop.handle(BaseLogAop.java:303) + at net.jjjerp.aop.LogAop.doAround(LogAop.java:35) + at net.jjjerp.aop.LogAop$$FastClassBySpringCGLIB$$189c4aae.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.aop.LogAop$$EnhancerBySpringCGLIB$$df27172.doAround() + at sun.reflect.GeneratedMethodAccessor784.invoke(Unknown Source) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:644) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:633) + at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:95) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at net.jjjerp.admin.controller.setting.system.ShopUserController$$EnhancerBySpringCGLIB$$fd72c3a7.getUserInfo() + at sun.reflect.GeneratedMethodAccessor1245.invoke(Unknown Source) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:652) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:112) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) + at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'jjj_erp_git.jjjerp_app' doesn't exist + at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) + at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) + at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) + at java.lang.reflect.Constructor.newInstance(Constructor.java:423) + at com.mysql.jdbc.Util.handleNewInstance(Util.java:425) + at com.mysql.jdbc.Util.getInstance(Util.java:408) + at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:944) + at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3978) + at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3914) + at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2530) + at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2683) + at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2495) + at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1903) + at com.mysql.jdbc.PreparedStatement.execute(PreparedStatement.java:1242) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at sun.reflect.GeneratedMethodAccessor153.invoke(Unknown Source) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:59) + at com.sun.proxy.$Proxy409.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:64) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:79) + at sun.reflect.GeneratedMethodAccessor152.invoke(Unknown Source) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:63) + at com.sun.proxy.$Proxy407.query(Unknown Source) + at com.baomidou.mybatisplus.core.executor.MybatisSimpleExecutor.doQuery(MybatisSimpleExecutor.java:69) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:325) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:156) + at com.baomidou.mybatisplus.core.executor.MybatisCachingExecutor.query(MybatisCachingExecutor.java:165) + at com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor.intercept(MybatisPlusInterceptor.java:65) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:61) + at com.sun.proxy.$Proxy406.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:140) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectOne(DefaultSqlSession.java:76) + at sun.reflect.GeneratedMethodAccessor166.invoke(Unknown Source) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:426) + ... 134 common frames omitted + +2024-06-26 18:35:39.165 INFO [SpringContextShutdownHook] [] net.jjjerp.framework.core.xss.XssFilter 30 : XssFilter destroy +2024-06-26 18:35:39.165 INFO [SpringContextShutdownHook] [] n.j.f.core.filter.RequestDetailFilter 116 : RequestDetailFilter destroy +2024-06-26 18:35:39.171 INFO [SpringContextShutdownHook] [] o.s.s.c.ThreadPoolTaskScheduler 218 : Shutting down ExecutorService 'taskScheduler' +2024-06-26 18:35:39.172 INFO [SpringContextShutdownHook] [] o.s.s.concurrent.ThreadPoolTaskExecutor 218 : Shutting down ExecutorService 'applicationTaskExecutor' +2024-06-26 18:35:39.177 INFO [SpringContextShutdownHook] [] com.zaxxer.hikari.HikariDataSource 350 : HikariPool-1 - Shutdown initiated... +2024-06-26 18:35:39.179 INFO [SpringContextShutdownHook] [] com.zaxxer.hikari.HikariDataSource 352 : HikariPool-1 - Shutdown completed. diff --git a/jjj_erp/logs/spring-boot-jjj-2024-06-27.0.log b/jjj_erp/logs/spring-boot-jjj-2024-06-27.0.log new file mode 100644 index 0000000..eacc457 --- /dev/null +++ b/jjj_erp/logs/spring-boot-jjj-2024-06-27.0.log @@ -0,0 +1,12067 @@ +2024-06-27 08:31:30.552 INFO [main] [] net.jjjerp.SpringBootJjjApplication 55 : Starting SpringBootJjjApplication on OS-20230506YKNI with PID 1300 (D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\bootstrap\target\classes started by Administrator in D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp) +2024-06-27 08:31:30.550 INFO [background-preinit] [] o.h.validator.internal.util.Version 21 : HV000001: Hibernate Validator 6.1.7.Final +2024-06-27 08:31:30.554 INFO [main] [] net.jjjerp.SpringBootJjjApplication 652 : The following profiles are active: prod +2024-06-27 08:31:31.829 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 249 : Multiple Spring Data modules found, entering strict repository configuration mode! +2024-06-27 08:31:31.832 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 127 : Bootstrapping Spring Data Redis repositories in DEFAULT mode. +2024-06-27 08:31:31.961 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 187 : Finished Spring Data repository scanning in 117ms. Found 0 Redis repository interfaces. +2024-06-27 08:31:32.250 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.ShiroConfig' of type [net.jjjerp.config.ShiroConfig$$EnhancerBySpringCGLIB$$489fef91] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 08:31:32.356 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.properties.JwtProperties' of type [net.jjjerp.config.properties.JwtProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 08:31:32.359 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.RedisTemplateConfig' of type [net.jjjerp.config.RedisTemplateConfig$$EnhancerBySpringCGLIB$$1804fa35] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 08:31:32.372 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'spring.redis-org.springframework.boot.autoconfigure.data.redis.RedisProperties' of type [org.springframework.boot.autoconfigure.data.redis.RedisProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 08:31:32.375 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration' of type [org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 08:31:32.446 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'lettuceClientResources' of type [io.lettuce.core.resource.DefaultClientResources] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 08:31:32.600 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'redisConnectionFactory' of type [org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 08:31:32.718 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'redisTemplate' of type [org.springframework.data.redis.core.RedisTemplate] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 08:31:32.719 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.cache.impl.AdminLoginRedisServiceImpl' of type [net.jjjerp.framework.shiro.cache.impl.AdminLoginRedisServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 08:31:32.727 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.cache.impl.ShopLoginRedisServiceImpl' of type [net.jjjerp.framework.shiro.cache.impl.ShopLoginRedisServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 08:31:32.972 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'credentialsMatcher' of type [net.jjjerp.framework.shiro.jwt.JwtCredentialsMatcher] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 08:31:32.985 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'jwtRealm' of type [net.jjjerp.framework.shiro.jwt.JwtRealm] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 08:31:32.990 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'sessionStorageEvaluator' of type [org.apache.shiro.web.mgt.DefaultWebSessionStorageEvaluator] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 08:31:32.991 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'subjectDAO' of type [org.apache.shiro.mgt.DefaultSubjectDAO] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 08:31:32.997 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'securityManager' of type [org.apache.shiro.web.mgt.DefaultWebSecurityManager] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 08:31:33.034 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.service.impl.ShiroLoginServiceImpl' of type [net.jjjerp.framework.shiro.service.impl.ShiroLoginServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 08:31:33.041 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'spring-boot-jjj.shiro-net.jjjerp.config.properties.ShiroProperties' of type [net.jjjerp.config.properties.ShiroProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 08:31:33.170 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'authorizationAttributeSourceAdvisor' of type [org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 08:31:33.385 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.RedisCacheConfig' of type [net.jjjerp.config.RedisCacheConfig$$EnhancerBySpringCGLIB$$cd41d137] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 08:31:33.862 INFO [main] [] o.s.b.w.embedded.tomcat.TomcatWebServer 108 : Tomcat initialized with port(s): 8892 (http) +2024-06-27 08:31:33.874 INFO [main] [] o.a.coyote.http11.Http11NioProtocol 173 : Initializing ProtocolHandler ["http-nio-8892"] +2024-06-27 08:31:33.874 INFO [main] [] o.apache.catalina.core.StandardService 173 : Starting service [Tomcat] +2024-06-27 08:31:33.874 INFO [main] [] org.apache.catalina.core.StandardEngine 173 : Starting Servlet engine: [Apache Tomcat/9.0.46] +2024-06-27 08:31:34.018 INFO [main] [] o.a.c.c.C.[Tomcat].[localhost].[/api] 173 : Initializing Spring embedded WebApplicationContext +2024-06-27 08:31:34.019 INFO [main] [] w.s.c.ServletWebServerApplicationContext 285 : Root WebApplicationContext: initialization completed in 3401 ms +2024-06-27 08:31:34.259 INFO [main] [] net.jjjerp.framework.core.xss.XssFilter 18 : XssFilter init +2024-06-27 08:31:34.259 INFO [main] [] n.j.f.core.filter.RequestDetailFilter 30 : RequestDetailFilter init +2024-06-27 08:31:35.602 INFO [main] [] org.reflections.Reflections 228 : Reflections took 38 ms to scan 1 urls, producing 0 keys and 0 values +2024-06-27 08:31:35.696 INFO [main] [] net.jjjerp.framework.shiro.util.JwtUtil 33 : {"audience":"web","expireSecond":36000,"issuer":"spring-boot-jjj","redisCheck":true,"refreshToken":true,"refreshTokenCountdown":600,"saltCheck":true,"secret":"888888","singleLogin":false,"tokenName":"token"} +2024-06-27 08:31:38.505 INFO [main] [] pertySourcedRequestMappingHandlerMapping 69 : Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2Controller#getDocumentation(String, HttpServletRequest)] +2024-06-27 08:31:38.520 INFO [main] [] net.jjjerp.config.Swagger2Config 149 : swagger scan basePackages:null +2024-06-27 08:31:38.644 INFO [main] [] o.s.s.concurrent.ThreadPoolTaskExecutor 181 : Initializing ExecutorService 'applicationTaskExecutor' +2024-06-27 08:31:38.731 INFO [main] [] o.s.b.a.w.s.WelcomePageHandlerMapping 53 : Adding welcome page: class path resource [static/index.html] +2024-06-27 08:31:38.915 INFO [main] [] o.s.s.c.ThreadPoolTaskScheduler 181 : Initializing ExecutorService 'taskScheduler' +2024-06-27 08:31:39.007 INFO [main] [] o.a.coyote.http11.Http11NioProtocol 173 : Starting ProtocolHandler ["http-nio-8892"] +2024-06-27 08:31:39.027 INFO [main] [] o.s.b.w.embedded.tomcat.TomcatWebServer 220 : Tomcat started on port(s): 8892 (http) with context path '/api' +2024-06-27 08:31:39.028 INFO [main] [] d.s.w.p.DocumentationPluginsBootstrapper 160 : Context refreshed +2024-06-27 08:31:39.034 INFO [main] [] d.s.w.p.DocumentationPluginsBootstrapper 163 : Found 1 custom documentation plugin(s) +2024-06-27 08:31:39.068 INFO [main] [] s.d.s.w.s.ApiListingReferenceScanner 41 : Scanning for api listing references +2024-06-27 08:31:39.183 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_1 +2024-06-27 08:31:39.185 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_1 +2024-06-27 08:31:39.186 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_1 +2024-06-27 08:31:39.203 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_1 +2024-06-27 08:31:39.242 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_2 +2024-06-27 08:31:39.244 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_2 +2024-06-27 08:31:39.247 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_3 +2024-06-27 08:31:39.248 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_3 +2024-06-27 08:31:39.251 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_4 +2024-06-27 08:31:39.253 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_4 +2024-06-27 08:31:39.254 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexOutUsingPOST_1 +2024-06-27 08:31:39.258 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_5 +2024-06-27 08:31:39.263 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_5 +2024-06-27 08:31:39.264 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_2 +2024-06-27 08:31:39.265 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_2 +2024-06-27 08:31:39.280 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_6 +2024-06-27 08:31:39.283 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_7 +2024-06-27 08:31:39.289 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_8 +2024-06-27 08:31:39.326 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_6 +2024-06-27 08:31:39.327 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_3 +2024-06-27 08:31:39.328 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_3 +2024-06-27 08:31:39.337 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_9 +2024-06-27 08:31:39.343 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_10 +2024-06-27 08:31:39.346 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_7 +2024-06-27 08:31:39.347 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_4 +2024-06-27 08:31:39.348 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_4 +2024-06-27 08:31:39.351 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_11 +2024-06-27 08:31:39.356 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_8 +2024-06-27 08:31:39.356 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_5 +2024-06-27 08:31:39.357 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_5 +2024-06-27 08:31:39.361 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_12 +2024-06-27 08:31:39.364 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_9 +2024-06-27 08:31:39.365 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_6 +2024-06-27 08:31:39.366 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_6 +2024-06-27 08:31:39.370 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_13 +2024-06-27 08:31:39.370 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_1 +2024-06-27 08:31:39.372 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_10 +2024-06-27 08:31:39.373 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_7 +2024-06-27 08:31:39.373 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_7 +2024-06-27 08:31:39.375 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_14 +2024-06-27 08:31:39.376 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_11 +2024-06-27 08:31:39.377 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_8 +2024-06-27 08:31:39.377 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_8 +2024-06-27 08:31:39.379 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_15 +2024-06-27 08:31:39.380 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_12 +2024-06-27 08:31:39.383 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_9 +2024-06-27 08:31:39.384 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_9 +2024-06-27 08:31:39.387 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_16 +2024-06-27 08:31:39.388 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_17 +2024-06-27 08:31:39.394 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_13 +2024-06-27 08:31:39.395 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_10 +2024-06-27 08:31:39.398 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_18 +2024-06-27 08:31:39.400 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_1 +2024-06-27 08:31:39.411 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addGroupUsingPOST_1 +2024-06-27 08:31:39.412 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: categoryUsingPOST_1 +2024-06-27 08:31:39.412 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteFilesUsingPOST_1 +2024-06-27 08:31:39.413 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteGroupUsingPOST_1 +2024-06-27 08:31:39.413 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editGroupUsingPOST_1 +2024-06-27 08:31:39.417 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: listsUsingPOST_1 +2024-06-27 08:31:39.417 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: moveFilesUsingPOST_1 +2024-06-27 08:31:39.418 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_19 +2024-06-27 08:31:39.422 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_14 +2024-06-27 08:31:39.423 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_10 +2024-06-27 08:31:39.423 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteFilesUsingPOST_2 +2024-06-27 08:31:39.424 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_11 +2024-06-27 08:31:39.426 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_20 +2024-06-27 08:31:39.428 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: moveFilesUsingPOST_2 +2024-06-27 08:31:39.429 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_21 +2024-06-27 08:31:39.430 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: listUsingPOST_1 +2024-06-27 08:31:39.434 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_22 +2024-06-27 08:31:39.438 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_23 +2024-06-27 08:31:39.441 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_24 +2024-06-27 08:31:39.442 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_25 +2024-06-27 08:31:39.444 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_15 +2024-06-27 08:31:39.445 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_1 +2024-06-27 08:31:39.445 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_12 +2024-06-27 08:31:39.446 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_26 +2024-06-27 08:31:39.447 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: repulseAuditUsingPOST_1 +2024-06-27 08:31:39.449 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_16 +2024-06-27 08:31:39.449 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_11 +2024-06-27 08:31:39.450 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_13 +2024-06-27 08:31:39.453 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_27 +2024-06-27 08:31:39.456 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_17 +2024-06-27 08:31:39.456 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_12 +2024-06-27 08:31:39.457 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_14 +2024-06-27 08:31:39.459 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_28 +2024-06-27 08:31:39.461 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_18 +2024-06-27 08:31:39.462 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_29 +2024-06-27 08:31:39.468 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_30 +2024-06-27 08:31:39.470 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_19 +2024-06-27 08:31:39.470 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_1 +2024-06-27 08:31:39.471 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_31 +2024-06-27 08:31:39.472 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_1 +2024-06-27 08:31:39.473 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_32 +2024-06-27 08:31:39.475 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_20 +2024-06-27 08:31:39.476 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_2 +2024-06-27 08:31:39.477 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_33 +2024-06-27 08:31:39.486 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: loginUsingPOST_1 +2024-06-27 08:31:39.486 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: logoutUsingPOST_1 +2024-06-27 08:31:39.487 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_34 +2024-06-27 08:31:39.490 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_21 +2024-06-27 08:31:39.490 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_13 +2024-06-27 08:31:39.491 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_15 +2024-06-27 08:31:39.492 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_35 +2024-06-27 08:31:39.493 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_2 +2024-06-27 08:31:39.497 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_22 +2024-06-27 08:31:39.497 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_14 +2024-06-27 08:31:39.498 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_16 +2024-06-27 08:31:39.502 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_36 +2024-06-27 08:31:39.502 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: stateUsingPOST_1 +2024-06-27 08:31:39.503 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_1 +2024-06-27 08:31:39.503 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_3 +2024-06-27 08:31:39.505 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_23 +2024-06-27 08:31:39.506 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_2 +2024-06-27 08:31:39.506 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_2 +2024-06-27 08:31:39.507 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_17 +2024-06-27 08:31:39.508 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_37 +2024-06-27 08:31:39.510 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_3 +2024-06-27 08:31:39.510 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_18 +2024-06-27 08:31:39.511 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_38 +2024-06-27 08:31:39.512 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addStorageUsingPOST_1 +2024-06-27 08:31:39.513 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_4 +2024-06-27 08:31:39.513 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_3 +2024-06-27 08:31:39.514 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_19 +2024-06-27 08:31:39.515 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_39 +2024-06-27 08:31:39.516 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_40 +2024-06-27 08:31:39.518 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_24 +2024-06-27 08:31:39.518 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_20 +2024-06-27 08:31:39.519 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_3 +2024-06-27 08:31:39.521 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_25 +2024-06-27 08:31:39.522 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_15 +2024-06-27 08:31:39.523 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_21 +2024-06-27 08:31:39.524 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_41 +2024-06-27 08:31:39.526 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_2 +2024-06-27 08:31:39.526 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_4 +2024-06-27 08:31:39.528 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: scanIndexUsingPOST_1 +2024-06-27 08:31:39.530 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_42 +2024-06-27 08:31:39.530 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_1 +2024-06-27 08:31:39.533 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_26 +2024-06-27 08:31:39.533 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_16 +2024-06-27 08:31:39.534 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_22 +2024-06-27 08:31:39.540 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_43 +2024-06-27 08:31:39.543 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_27 +2024-06-27 08:31:39.544 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_17 +2024-06-27 08:31:39.544 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_23 +2024-06-27 08:31:39.546 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_44 +2024-06-27 08:31:39.546 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_3 +2024-06-27 08:31:39.547 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_5 +2024-06-27 08:31:39.549 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_28 +2024-06-27 08:31:39.549 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_18 +2024-06-27 08:31:39.550 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_24 +2024-06-27 08:31:39.552 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_45 +2024-06-27 08:31:39.553 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_46 +2024-06-27 08:31:39.553 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_2 +2024-06-27 08:31:39.554 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_29 +2024-06-27 08:31:39.555 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_47 +2024-06-27 08:31:39.556 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_48 +2024-06-27 08:31:39.557 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_49 +2024-06-27 08:31:39.557 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_3 +2024-06-27 08:31:39.560 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_30 +2024-06-27 08:31:39.561 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_19 +2024-06-27 08:31:39.561 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_25 +2024-06-27 08:31:39.565 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_50 +2024-06-27 08:31:39.566 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_2 +2024-06-27 08:31:39.566 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_4 +2024-06-27 08:31:39.566 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_6 +2024-06-27 08:31:39.571 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_31 +2024-06-27 08:31:39.572 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_20 +2024-06-27 08:31:39.572 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_26 +2024-06-27 08:31:39.576 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_51 +2024-06-27 08:31:39.577 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_3 +2024-06-27 08:31:39.577 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_7 +2024-06-27 08:31:39.578 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_52 +2024-06-27 08:31:39.578 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_4 +2024-06-27 08:31:39.580 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_32 +2024-06-27 08:31:39.581 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_21 +2024-06-27 08:31:39.581 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_27 +2024-06-27 08:31:39.584 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_53 +2024-06-27 08:31:39.588 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: uploadUsingPOST_1 +2024-06-27 08:31:39.607 INFO [main] [] net.jjjerp.SpringBootJjjApplication 61 : Started SpringBootJjjApplication in 11.847 seconds (JVM running for 13.04) +2024-06-27 08:31:39.610 INFO [main] [] n.j.framework.util.PrintApplicationInfo 61 : projectFinalName : jjj-erp-1.0 +2024-06-27 08:31:39.611 INFO [main] [] n.j.framework.util.PrintApplicationInfo 62 : projectVersion : 1.0 +2024-06-27 08:31:39.611 INFO [main] [] n.j.framework.util.PrintApplicationInfo 63 : profileActive : prod +2024-06-27 08:31:39.611 INFO [main] [] n.j.framework.util.PrintApplicationInfo 64 : contextPath : /api +2024-06-27 08:31:39.611 INFO [main] [] n.j.framework.util.PrintApplicationInfo 65 : serverIp : http://erp3.huadeng.fun +2024-06-27 08:31:39.611 INFO [main] [] n.j.framework.util.PrintApplicationInfo 66 : port : 8892 +2024-06-27 08:31:39.611 INFO [main] [] n.j.framework.util.PrintApplicationInfo 81 : Home: http://erp3.huadeng.fun/api +2024-06-27 08:31:39.611 INFO [main] [] n.j.framework.util.PrintApplicationInfo 82 : Knife4j: http://erp3.huadeng.fun/api/doc.html +2024-06-27 08:31:39.611 INFO [main] [] n.j.framework.util.PrintApplicationInfo 83 : Swagger: http://erp3.huadeng.fun/api/swagger-ui.html +2024-06-27 08:31:39.611 INFO [main] [] n.j.framework.util.PrintApplicationInfo 84 : jjj-erp 启动成功........... + ____ __ __ ____ +/\ _`\ /\ \__ /\ \__ /\ _`\ +\ \,\L\_\ \ ,_\ __ _ __\ \ ,_\ \ \,\L\_\ __ __ ___ ___ __ ____ ____ + \/_\__ \\ \ \/ /'__`\ /\`'__\ \ \/ \/_\__ \ /\ \/\ \ /'___\ /'___\ /'__`\ /',__\ /',__\ + /\ \L\ \ \ \_/\ \L\.\_\ \ \/ \ \ \_ /\ \L\ \ \ \_\ \/\ \__//\ \__//\ __//\__, `\/\__, `\ + \ `\____\ \__\ \__/.\_\\ \_\ \ \__\ \ `\____\ \____/\ \____\ \____\ \____\/\____/\/\____/ + \/_____/\/__/\/__/\/_/ \/_/ \/__/ \/_____/\/___/ \/____/\/____/\/____/\/___/ \/___/ + + +2024-06-27 09:39:17.742 INFO [SpringContextShutdownHook] [] net.jjjerp.framework.core.xss.XssFilter 30 : XssFilter destroy +2024-06-27 09:39:17.742 INFO [SpringContextShutdownHook] [] n.j.f.core.filter.RequestDetailFilter 116 : RequestDetailFilter destroy +2024-06-27 09:39:17.746 INFO [SpringContextShutdownHook] [] o.s.s.c.ThreadPoolTaskScheduler 218 : Shutting down ExecutorService 'taskScheduler' +2024-06-27 09:39:17.748 INFO [SpringContextShutdownHook] [] o.s.s.concurrent.ThreadPoolTaskExecutor 218 : Shutting down ExecutorService 'applicationTaskExecutor' +2024-06-27 09:39:22.238 INFO [main] [] net.jjjerp.SpringBootJjjApplication 55 : Starting SpringBootJjjApplication on OS-20230506YKNI with PID 6152 (D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\bootstrap\target\classes started by Administrator in D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp) +2024-06-27 09:39:22.239 INFO [background-preinit] [] o.h.validator.internal.util.Version 21 : HV000001: Hibernate Validator 6.1.7.Final +2024-06-27 09:39:22.241 INFO [main] [] net.jjjerp.SpringBootJjjApplication 652 : The following profiles are active: prod +2024-06-27 09:39:23.305 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 249 : Multiple Spring Data modules found, entering strict repository configuration mode! +2024-06-27 09:39:23.306 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 127 : Bootstrapping Spring Data Redis repositories in DEFAULT mode. +2024-06-27 09:39:23.420 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 187 : Finished Spring Data repository scanning in 105ms. Found 0 Redis repository interfaces. +2024-06-27 09:39:23.685 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.ShiroConfig' of type [net.jjjerp.config.ShiroConfig$$EnhancerBySpringCGLIB$$3f4d3d67] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 09:39:23.767 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.properties.JwtProperties' of type [net.jjjerp.config.properties.JwtProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 09:39:23.769 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.RedisTemplateConfig' of type [net.jjjerp.config.RedisTemplateConfig$$EnhancerBySpringCGLIB$$eb2480b] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 09:39:23.777 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'spring.redis-org.springframework.boot.autoconfigure.data.redis.RedisProperties' of type [org.springframework.boot.autoconfigure.data.redis.RedisProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 09:39:23.779 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration' of type [org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 09:39:23.833 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'lettuceClientResources' of type [io.lettuce.core.resource.DefaultClientResources] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 09:39:23.925 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'redisConnectionFactory' of type [org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 09:39:23.970 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'redisTemplate' of type [org.springframework.data.redis.core.RedisTemplate] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 09:39:23.971 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.cache.impl.AdminLoginRedisServiceImpl' of type [net.jjjerp.framework.shiro.cache.impl.AdminLoginRedisServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 09:39:23.974 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.cache.impl.ShopLoginRedisServiceImpl' of type [net.jjjerp.framework.shiro.cache.impl.ShopLoginRedisServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 09:39:24.088 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'credentialsMatcher' of type [net.jjjerp.framework.shiro.jwt.JwtCredentialsMatcher] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 09:39:24.095 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'jwtRealm' of type [net.jjjerp.framework.shiro.jwt.JwtRealm] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 09:39:24.096 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'sessionStorageEvaluator' of type [org.apache.shiro.web.mgt.DefaultWebSessionStorageEvaluator] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 09:39:24.096 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'subjectDAO' of type [org.apache.shiro.mgt.DefaultSubjectDAO] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 09:39:24.098 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'securityManager' of type [org.apache.shiro.web.mgt.DefaultWebSecurityManager] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 09:39:24.117 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.service.impl.ShiroLoginServiceImpl' of type [net.jjjerp.framework.shiro.service.impl.ShiroLoginServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 09:39:24.124 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'spring-boot-jjj.shiro-net.jjjerp.config.properties.ShiroProperties' of type [net.jjjerp.config.properties.ShiroProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 09:39:24.209 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'authorizationAttributeSourceAdvisor' of type [org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 09:39:24.338 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.RedisCacheConfig' of type [net.jjjerp.config.RedisCacheConfig$$EnhancerBySpringCGLIB$$c3ef1f0d] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 09:39:24.588 INFO [main] [] o.s.b.w.embedded.tomcat.TomcatWebServer 108 : Tomcat initialized with port(s): 8892 (http) +2024-06-27 09:39:24.596 INFO [main] [] o.a.coyote.http11.Http11NioProtocol 173 : Initializing ProtocolHandler ["http-nio-8892"] +2024-06-27 09:39:24.597 INFO [main] [] o.apache.catalina.core.StandardService 173 : Starting service [Tomcat] +2024-06-27 09:39:24.597 INFO [main] [] org.apache.catalina.core.StandardEngine 173 : Starting Servlet engine: [Apache Tomcat/9.0.46] +2024-06-27 09:39:24.693 INFO [main] [] o.a.c.c.C.[Tomcat].[localhost].[/api] 173 : Initializing Spring embedded WebApplicationContext +2024-06-27 09:39:24.694 INFO [main] [] w.s.c.ServletWebServerApplicationContext 285 : Root WebApplicationContext: initialization completed in 2400 ms +2024-06-27 09:39:24.846 INFO [main] [] net.jjjerp.framework.core.xss.XssFilter 18 : XssFilter init +2024-06-27 09:39:24.847 INFO [main] [] n.j.f.core.filter.RequestDetailFilter 30 : RequestDetailFilter init +2024-06-27 09:39:28.380 INFO [main] [] org.reflections.Reflections 228 : Reflections took 36 ms to scan 1 urls, producing 0 keys and 0 values +2024-06-27 09:39:28.490 INFO [main] [] net.jjjerp.framework.shiro.util.JwtUtil 33 : {"audience":"web","expireSecond":36000,"issuer":"spring-boot-jjj","redisCheck":true,"refreshToken":true,"refreshTokenCountdown":600,"saltCheck":true,"secret":"888888","singleLogin":false,"tokenName":"token"} +2024-06-27 09:39:31.303 INFO [main] [] pertySourcedRequestMappingHandlerMapping 69 : Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2Controller#getDocumentation(String, HttpServletRequest)] +2024-06-27 09:39:31.319 INFO [main] [] net.jjjerp.config.Swagger2Config 149 : swagger scan basePackages:null +2024-06-27 09:39:31.437 INFO [main] [] o.s.s.concurrent.ThreadPoolTaskExecutor 181 : Initializing ExecutorService 'applicationTaskExecutor' +2024-06-27 09:39:31.519 INFO [main] [] o.s.b.a.w.s.WelcomePageHandlerMapping 53 : Adding welcome page: class path resource [static/index.html] +2024-06-27 09:39:31.712 INFO [main] [] o.s.s.c.ThreadPoolTaskScheduler 181 : Initializing ExecutorService 'taskScheduler' +2024-06-27 09:39:31.811 INFO [main] [] o.a.coyote.http11.Http11NioProtocol 173 : Starting ProtocolHandler ["http-nio-8892"] +2024-06-27 09:39:31.829 INFO [main] [] o.s.b.w.embedded.tomcat.TomcatWebServer 220 : Tomcat started on port(s): 8892 (http) with context path '/api' +2024-06-27 09:39:31.830 INFO [main] [] d.s.w.p.DocumentationPluginsBootstrapper 160 : Context refreshed +2024-06-27 09:39:31.835 INFO [main] [] d.s.w.p.DocumentationPluginsBootstrapper 163 : Found 1 custom documentation plugin(s) +2024-06-27 09:39:31.868 INFO [main] [] s.d.s.w.s.ApiListingReferenceScanner 41 : Scanning for api listing references +2024-06-27 09:39:31.987 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_1 +2024-06-27 09:39:31.989 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_1 +2024-06-27 09:39:31.989 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_1 +2024-06-27 09:39:32.005 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_1 +2024-06-27 09:39:32.041 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_2 +2024-06-27 09:39:32.043 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_2 +2024-06-27 09:39:32.046 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_3 +2024-06-27 09:39:32.046 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_3 +2024-06-27 09:39:32.049 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_4 +2024-06-27 09:39:32.050 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_4 +2024-06-27 09:39:32.051 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexOutUsingPOST_1 +2024-06-27 09:39:32.054 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_5 +2024-06-27 09:39:32.060 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_5 +2024-06-27 09:39:32.060 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_2 +2024-06-27 09:39:32.061 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_2 +2024-06-27 09:39:32.074 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_6 +2024-06-27 09:39:32.076 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_7 +2024-06-27 09:39:32.081 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_8 +2024-06-27 09:39:32.089 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_6 +2024-06-27 09:39:32.089 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_3 +2024-06-27 09:39:32.090 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_3 +2024-06-27 09:39:32.097 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_9 +2024-06-27 09:39:32.126 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_10 +2024-06-27 09:39:32.128 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_7 +2024-06-27 09:39:32.129 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_4 +2024-06-27 09:39:32.129 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_4 +2024-06-27 09:39:32.132 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_11 +2024-06-27 09:39:32.137 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_8 +2024-06-27 09:39:32.138 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_5 +2024-06-27 09:39:32.138 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_5 +2024-06-27 09:39:32.142 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_12 +2024-06-27 09:39:32.146 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_9 +2024-06-27 09:39:32.146 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_6 +2024-06-27 09:39:32.147 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_6 +2024-06-27 09:39:32.151 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_13 +2024-06-27 09:39:32.151 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_1 +2024-06-27 09:39:32.153 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_10 +2024-06-27 09:39:32.154 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_7 +2024-06-27 09:39:32.155 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_7 +2024-06-27 09:39:32.156 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_14 +2024-06-27 09:39:32.158 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_11 +2024-06-27 09:39:32.158 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_8 +2024-06-27 09:39:32.159 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_8 +2024-06-27 09:39:32.160 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_15 +2024-06-27 09:39:32.162 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_12 +2024-06-27 09:39:32.165 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_9 +2024-06-27 09:39:32.166 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_9 +2024-06-27 09:39:32.169 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_16 +2024-06-27 09:39:32.171 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_17 +2024-06-27 09:39:32.177 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_13 +2024-06-27 09:39:32.178 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_10 +2024-06-27 09:39:32.181 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_18 +2024-06-27 09:39:32.182 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_1 +2024-06-27 09:39:32.196 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addGroupUsingPOST_1 +2024-06-27 09:39:32.197 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: categoryUsingPOST_1 +2024-06-27 09:39:32.197 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteFilesUsingPOST_1 +2024-06-27 09:39:32.197 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteGroupUsingPOST_1 +2024-06-27 09:39:32.198 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editGroupUsingPOST_1 +2024-06-27 09:39:32.202 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: listsUsingPOST_1 +2024-06-27 09:39:32.202 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: moveFilesUsingPOST_1 +2024-06-27 09:39:32.203 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_19 +2024-06-27 09:39:32.207 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_14 +2024-06-27 09:39:32.208 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_10 +2024-06-27 09:39:32.209 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteFilesUsingPOST_2 +2024-06-27 09:39:32.210 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_11 +2024-06-27 09:39:32.213 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_20 +2024-06-27 09:39:32.215 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: moveFilesUsingPOST_2 +2024-06-27 09:39:32.216 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_21 +2024-06-27 09:39:32.217 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: listUsingPOST_1 +2024-06-27 09:39:32.218 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_22 +2024-06-27 09:39:32.225 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_23 +2024-06-27 09:39:32.228 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_24 +2024-06-27 09:39:32.230 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_25 +2024-06-27 09:39:32.232 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_15 +2024-06-27 09:39:32.232 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_1 +2024-06-27 09:39:32.233 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_12 +2024-06-27 09:39:32.234 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_26 +2024-06-27 09:39:32.235 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: repulseAuditUsingPOST_1 +2024-06-27 09:39:32.237 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_16 +2024-06-27 09:39:32.237 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_11 +2024-06-27 09:39:32.238 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_13 +2024-06-27 09:39:32.241 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_27 +2024-06-27 09:39:32.244 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_17 +2024-06-27 09:39:32.245 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_12 +2024-06-27 09:39:32.245 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_14 +2024-06-27 09:39:32.247 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_28 +2024-06-27 09:39:32.249 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_18 +2024-06-27 09:39:32.249 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_29 +2024-06-27 09:39:32.253 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_30 +2024-06-27 09:39:32.254 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_19 +2024-06-27 09:39:32.255 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_1 +2024-06-27 09:39:32.256 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_31 +2024-06-27 09:39:32.258 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_1 +2024-06-27 09:39:32.260 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_32 +2024-06-27 09:39:32.262 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_20 +2024-06-27 09:39:32.263 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_2 +2024-06-27 09:39:32.264 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_33 +2024-06-27 09:39:32.276 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: loginUsingPOST_1 +2024-06-27 09:39:32.276 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: logoutUsingPOST_1 +2024-06-27 09:39:32.277 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_34 +2024-06-27 09:39:32.279 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_21 +2024-06-27 09:39:32.280 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_13 +2024-06-27 09:39:32.280 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_15 +2024-06-27 09:39:32.281 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_35 +2024-06-27 09:39:32.283 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_2 +2024-06-27 09:39:32.289 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_22 +2024-06-27 09:39:32.289 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_14 +2024-06-27 09:39:32.290 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_16 +2024-06-27 09:39:32.294 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_36 +2024-06-27 09:39:32.294 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: stateUsingPOST_1 +2024-06-27 09:39:32.294 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_1 +2024-06-27 09:39:32.295 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_3 +2024-06-27 09:39:32.296 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_23 +2024-06-27 09:39:32.297 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_2 +2024-06-27 09:39:32.297 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_2 +2024-06-27 09:39:32.299 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_17 +2024-06-27 09:39:32.299 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_37 +2024-06-27 09:39:32.301 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_3 +2024-06-27 09:39:32.302 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_18 +2024-06-27 09:39:32.303 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_38 +2024-06-27 09:39:32.305 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addStorageUsingPOST_1 +2024-06-27 09:39:32.306 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_4 +2024-06-27 09:39:32.307 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_3 +2024-06-27 09:39:32.307 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_19 +2024-06-27 09:39:32.308 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_39 +2024-06-27 09:39:32.309 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_40 +2024-06-27 09:39:32.310 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_24 +2024-06-27 09:39:32.311 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_20 +2024-06-27 09:39:32.311 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_3 +2024-06-27 09:39:32.315 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_25 +2024-06-27 09:39:32.316 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_15 +2024-06-27 09:39:32.316 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_21 +2024-06-27 09:39:32.318 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_41 +2024-06-27 09:39:32.318 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_2 +2024-06-27 09:39:32.319 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_4 +2024-06-27 09:39:32.321 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: scanIndexUsingPOST_1 +2024-06-27 09:39:32.322 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_42 +2024-06-27 09:39:32.322 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_1 +2024-06-27 09:39:32.324 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_26 +2024-06-27 09:39:32.325 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_16 +2024-06-27 09:39:32.325 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_22 +2024-06-27 09:39:32.329 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_43 +2024-06-27 09:39:32.333 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_27 +2024-06-27 09:39:32.334 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_17 +2024-06-27 09:39:32.335 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_23 +2024-06-27 09:39:32.337 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_44 +2024-06-27 09:39:32.338 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_3 +2024-06-27 09:39:32.338 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_5 +2024-06-27 09:39:32.340 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_28 +2024-06-27 09:39:32.340 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_18 +2024-06-27 09:39:32.341 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_24 +2024-06-27 09:39:32.343 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_45 +2024-06-27 09:39:32.344 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_46 +2024-06-27 09:39:32.344 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_2 +2024-06-27 09:39:32.345 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_29 +2024-06-27 09:39:32.346 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_47 +2024-06-27 09:39:32.347 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_48 +2024-06-27 09:39:32.347 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_49 +2024-06-27 09:39:32.348 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_3 +2024-06-27 09:39:32.351 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_30 +2024-06-27 09:39:32.352 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_19 +2024-06-27 09:39:32.352 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_25 +2024-06-27 09:39:32.356 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_50 +2024-06-27 09:39:32.357 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_2 +2024-06-27 09:39:32.357 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_4 +2024-06-27 09:39:32.357 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_6 +2024-06-27 09:39:32.361 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_31 +2024-06-27 09:39:32.361 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_20 +2024-06-27 09:39:32.362 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_26 +2024-06-27 09:39:32.366 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_51 +2024-06-27 09:39:32.367 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_3 +2024-06-27 09:39:32.367 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_7 +2024-06-27 09:39:32.368 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_52 +2024-06-27 09:39:32.368 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_4 +2024-06-27 09:39:32.370 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_32 +2024-06-27 09:39:32.371 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_21 +2024-06-27 09:39:32.371 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_27 +2024-06-27 09:39:32.372 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_53 +2024-06-27 09:39:32.375 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: uploadUsingPOST_1 +2024-06-27 09:39:32.393 INFO [main] [] net.jjjerp.SpringBootJjjApplication 61 : Started SpringBootJjjApplication in 10.683 seconds (JVM running for 11.32) +2024-06-27 09:39:32.396 INFO [main] [] n.j.framework.util.PrintApplicationInfo 61 : projectFinalName : jjj-erp-1.0 +2024-06-27 09:39:32.396 INFO [main] [] n.j.framework.util.PrintApplicationInfo 62 : projectVersion : 1.0 +2024-06-27 09:39:32.396 INFO [main] [] n.j.framework.util.PrintApplicationInfo 63 : profileActive : prod +2024-06-27 09:39:32.396 INFO [main] [] n.j.framework.util.PrintApplicationInfo 64 : contextPath : /api +2024-06-27 09:39:32.396 INFO [main] [] n.j.framework.util.PrintApplicationInfo 65 : serverIp : http://erp3.huadeng.fun +2024-06-27 09:39:32.396 INFO [main] [] n.j.framework.util.PrintApplicationInfo 66 : port : 8892 +2024-06-27 09:39:32.396 INFO [main] [] n.j.framework.util.PrintApplicationInfo 81 : Home: http://erp3.huadeng.fun/api +2024-06-27 09:39:32.396 INFO [main] [] n.j.framework.util.PrintApplicationInfo 82 : Knife4j: http://erp3.huadeng.fun/api/doc.html +2024-06-27 09:39:32.396 INFO [main] [] n.j.framework.util.PrintApplicationInfo 83 : Swagger: http://erp3.huadeng.fun/api/swagger-ui.html +2024-06-27 09:39:32.396 INFO [main] [] n.j.framework.util.PrintApplicationInfo 84 : jjj-erp 启动成功........... + ____ __ __ ____ +/\ _`\ /\ \__ /\ \__ /\ _`\ +\ \,\L\_\ \ ,_\ __ _ __\ \ ,_\ \ \,\L\_\ __ __ ___ ___ __ ____ ____ + \/_\__ \\ \ \/ /'__`\ /\`'__\ \ \/ \/_\__ \ /\ \/\ \ /'___\ /'___\ /'__`\ /',__\ /',__\ + /\ \L\ \ \ \_/\ \L\.\_\ \ \/ \ \ \_ /\ \L\ \ \ \_\ \/\ \__//\ \__//\ __//\__, `\/\__, `\ + \ `\____\ \__\ \__/.\_\\ \_\ \ \__\ \ `\____\ \____/\ \____\ \____\ \____\/\____/\/\____/ + \/_____/\/__/\/__/\/_/ \/_/ \/__/ \/_____/\/___/ \/____/\/____/\/____/\/___/ \/___/ + + +2024-06-27 09:40:11.630 INFO [http-nio-8892-exec-1] [] o.a.c.c.C.[Tomcat].[localhost].[/api] 173 : Initializing Spring DispatcherServlet 'dispatcherServlet' +2024-06-27 09:40:11.631 INFO [http-nio-8892-exec-1] [] o.s.web.servlet.DispatcherServlet 525 : Initializing Servlet 'dispatcherServlet' +2024-06-27 09:40:11.640 INFO [http-nio-8892-exec-1] [] o.s.web.servlet.DispatcherServlet 547 : Completed initialization in 9 ms +2024-06-27 09:40:13.773 INFO [http-nio-8892-exec-1] [1806140447125659649] com.zaxxer.hikari.HikariDataSource 110 : HikariPool-1 - Starting... +2024-06-27 09:40:14.164 INFO [http-nio-8892-exec-1] [1806140447125659649] com.zaxxer.hikari.HikariDataSource 123 : HikariPool-1 - Start completed. +2024-06-27 10:06:44.516 INFO [SpringContextShutdownHook] [] net.jjjerp.framework.core.xss.XssFilter 30 : XssFilter destroy +2024-06-27 10:06:44.516 INFO [SpringContextShutdownHook] [] n.j.f.core.filter.RequestDetailFilter 116 : RequestDetailFilter destroy +2024-06-27 10:06:44.522 INFO [SpringContextShutdownHook] [] o.s.s.c.ThreadPoolTaskScheduler 218 : Shutting down ExecutorService 'taskScheduler' +2024-06-27 10:06:44.523 INFO [SpringContextShutdownHook] [] o.s.s.concurrent.ThreadPoolTaskExecutor 218 : Shutting down ExecutorService 'applicationTaskExecutor' +2024-06-27 10:06:44.528 INFO [SpringContextShutdownHook] [] com.zaxxer.hikari.HikariDataSource 350 : HikariPool-1 - Shutdown initiated... +2024-06-27 10:06:44.531 INFO [SpringContextShutdownHook] [] com.zaxxer.hikari.HikariDataSource 352 : HikariPool-1 - Shutdown completed. +2024-06-27 10:37:00.854 INFO [background-preinit] [] o.h.validator.internal.util.Version 21 : HV000001: Hibernate Validator 6.1.7.Final +2024-06-27 10:37:00.857 INFO [main] [] net.jjjerp.SpringBootJjjApplication 55 : Starting SpringBootJjjApplication on OS-20230506YKNI with PID 11144 (D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\bootstrap\target\classes started by Administrator in D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp) +2024-06-27 10:37:00.858 INFO [main] [] net.jjjerp.SpringBootJjjApplication 652 : The following profiles are active: prod +2024-06-27 10:37:01.941 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 249 : Multiple Spring Data modules found, entering strict repository configuration mode! +2024-06-27 10:37:01.943 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 127 : Bootstrapping Spring Data Redis repositories in DEFAULT mode. +2024-06-27 10:37:02.071 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 187 : Finished Spring Data repository scanning in 117ms. Found 0 Redis repository interfaces. +2024-06-27 10:37:02.360 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.ShiroConfig' of type [net.jjjerp.config.ShiroConfig$$EnhancerBySpringCGLIB$$aa730b71] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 10:37:02.445 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.properties.JwtProperties' of type [net.jjjerp.config.properties.JwtProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 10:37:02.448 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.RedisTemplateConfig' of type [net.jjjerp.config.RedisTemplateConfig$$EnhancerBySpringCGLIB$$79d81615] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 10:37:02.459 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'spring.redis-org.springframework.boot.autoconfigure.data.redis.RedisProperties' of type [org.springframework.boot.autoconfigure.data.redis.RedisProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 10:37:02.464 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration' of type [org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 10:37:02.527 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'lettuceClientResources' of type [io.lettuce.core.resource.DefaultClientResources] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 10:37:02.642 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'redisConnectionFactory' of type [org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 10:37:02.703 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'redisTemplate' of type [org.springframework.data.redis.core.RedisTemplate] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 10:37:02.704 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.cache.impl.AdminLoginRedisServiceImpl' of type [net.jjjerp.framework.shiro.cache.impl.AdminLoginRedisServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 10:37:02.709 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.cache.impl.ShopLoginRedisServiceImpl' of type [net.jjjerp.framework.shiro.cache.impl.ShopLoginRedisServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 10:37:02.836 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'credentialsMatcher' of type [net.jjjerp.framework.shiro.jwt.JwtCredentialsMatcher] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 10:37:02.844 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'jwtRealm' of type [net.jjjerp.framework.shiro.jwt.JwtRealm] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 10:37:02.846 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'sessionStorageEvaluator' of type [org.apache.shiro.web.mgt.DefaultWebSessionStorageEvaluator] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 10:37:02.846 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'subjectDAO' of type [org.apache.shiro.mgt.DefaultSubjectDAO] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 10:37:02.849 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'securityManager' of type [org.apache.shiro.web.mgt.DefaultWebSecurityManager] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 10:37:02.873 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.service.impl.ShiroLoginServiceImpl' of type [net.jjjerp.framework.shiro.service.impl.ShiroLoginServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 10:37:02.881 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'spring-boot-jjj.shiro-net.jjjerp.config.properties.ShiroProperties' of type [net.jjjerp.config.properties.ShiroProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 10:37:02.971 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'authorizationAttributeSourceAdvisor' of type [org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 10:37:03.104 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.RedisCacheConfig' of type [net.jjjerp.config.RedisCacheConfig$$EnhancerBySpringCGLIB$$2f14ed17] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 10:37:03.354 INFO [main] [] o.s.b.w.embedded.tomcat.TomcatWebServer 108 : Tomcat initialized with port(s): 8892 (http) +2024-06-27 10:37:03.362 INFO [main] [] o.a.coyote.http11.Http11NioProtocol 173 : Initializing ProtocolHandler ["http-nio-8892"] +2024-06-27 10:37:03.362 INFO [main] [] o.apache.catalina.core.StandardService 173 : Starting service [Tomcat] +2024-06-27 10:37:03.362 INFO [main] [] org.apache.catalina.core.StandardEngine 173 : Starting Servlet engine: [Apache Tomcat/9.0.46] +2024-06-27 10:37:03.459 INFO [main] [] o.a.c.c.C.[Tomcat].[localhost].[/api] 173 : Initializing Spring embedded WebApplicationContext +2024-06-27 10:37:03.459 INFO [main] [] w.s.c.ServletWebServerApplicationContext 285 : Root WebApplicationContext: initialization completed in 2555 ms +2024-06-27 10:37:03.611 INFO [main] [] net.jjjerp.framework.core.xss.XssFilter 18 : XssFilter init +2024-06-27 10:37:03.611 INFO [main] [] n.j.f.core.filter.RequestDetailFilter 30 : RequestDetailFilter init +2024-06-27 10:37:07.108 INFO [main] [] org.reflections.Reflections 228 : Reflections took 39 ms to scan 1 urls, producing 0 keys and 0 values +2024-06-27 10:37:07.207 INFO [main] [] net.jjjerp.framework.shiro.util.JwtUtil 33 : {"audience":"web","expireSecond":36000,"issuer":"spring-boot-jjj","redisCheck":true,"refreshToken":true,"refreshTokenCountdown":600,"saltCheck":true,"secret":"888888","singleLogin":false,"tokenName":"token"} +2024-06-27 10:37:09.968 INFO [main] [] pertySourcedRequestMappingHandlerMapping 69 : Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2Controller#getDocumentation(String, HttpServletRequest)] +2024-06-27 10:37:09.985 INFO [main] [] net.jjjerp.config.Swagger2Config 149 : swagger scan basePackages:null +2024-06-27 10:37:10.114 INFO [main] [] o.s.s.concurrent.ThreadPoolTaskExecutor 181 : Initializing ExecutorService 'applicationTaskExecutor' +2024-06-27 10:37:10.205 INFO [main] [] o.s.b.a.w.s.WelcomePageHandlerMapping 53 : Adding welcome page: class path resource [static/index.html] +2024-06-27 10:37:10.457 INFO [main] [] o.s.s.c.ThreadPoolTaskScheduler 181 : Initializing ExecutorService 'taskScheduler' +2024-06-27 10:37:10.591 INFO [main] [] o.a.coyote.http11.Http11NioProtocol 173 : Starting ProtocolHandler ["http-nio-8892"] +2024-06-27 10:37:10.611 INFO [main] [] o.s.b.w.embedded.tomcat.TomcatWebServer 220 : Tomcat started on port(s): 8892 (http) with context path '/api' +2024-06-27 10:37:10.612 INFO [main] [] d.s.w.p.DocumentationPluginsBootstrapper 160 : Context refreshed +2024-06-27 10:37:10.617 INFO [main] [] d.s.w.p.DocumentationPluginsBootstrapper 163 : Found 1 custom documentation plugin(s) +2024-06-27 10:37:10.653 INFO [main] [] s.d.s.w.s.ApiListingReferenceScanner 41 : Scanning for api listing references +2024-06-27 10:37:10.778 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_1 +2024-06-27 10:37:10.780 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_1 +2024-06-27 10:37:10.781 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_1 +2024-06-27 10:37:10.797 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_1 +2024-06-27 10:37:10.831 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_2 +2024-06-27 10:37:10.833 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_2 +2024-06-27 10:37:10.836 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_3 +2024-06-27 10:37:10.837 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_3 +2024-06-27 10:37:10.840 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_4 +2024-06-27 10:37:10.841 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_4 +2024-06-27 10:37:10.842 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexOutUsingPOST_1 +2024-06-27 10:37:10.845 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_5 +2024-06-27 10:37:10.854 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_5 +2024-06-27 10:37:10.855 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_2 +2024-06-27 10:37:10.855 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_2 +2024-06-27 10:37:10.871 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_6 +2024-06-27 10:37:10.872 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_7 +2024-06-27 10:37:10.877 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_8 +2024-06-27 10:37:10.908 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_6 +2024-06-27 10:37:10.909 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_3 +2024-06-27 10:37:10.910 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_3 +2024-06-27 10:37:10.917 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_9 +2024-06-27 10:37:10.921 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_10 +2024-06-27 10:37:10.923 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_7 +2024-06-27 10:37:10.924 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_4 +2024-06-27 10:37:10.924 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_4 +2024-06-27 10:37:10.927 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_11 +2024-06-27 10:37:10.932 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_8 +2024-06-27 10:37:10.933 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_5 +2024-06-27 10:37:10.934 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_5 +2024-06-27 10:37:10.937 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_12 +2024-06-27 10:37:10.940 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_9 +2024-06-27 10:37:10.940 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_6 +2024-06-27 10:37:10.941 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_6 +2024-06-27 10:37:10.944 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_13 +2024-06-27 10:37:10.945 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_1 +2024-06-27 10:37:10.947 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_10 +2024-06-27 10:37:10.948 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_7 +2024-06-27 10:37:10.948 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_7 +2024-06-27 10:37:10.950 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_14 +2024-06-27 10:37:10.951 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_11 +2024-06-27 10:37:10.951 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_8 +2024-06-27 10:37:10.952 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_8 +2024-06-27 10:37:10.953 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_15 +2024-06-27 10:37:10.954 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_12 +2024-06-27 10:37:10.957 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_9 +2024-06-27 10:37:10.957 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_9 +2024-06-27 10:37:10.960 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_16 +2024-06-27 10:37:10.962 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_17 +2024-06-27 10:37:10.967 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_13 +2024-06-27 10:37:10.968 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_10 +2024-06-27 10:37:10.971 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_18 +2024-06-27 10:37:10.972 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_1 +2024-06-27 10:37:10.984 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addGroupUsingPOST_1 +2024-06-27 10:37:10.985 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: categoryUsingPOST_1 +2024-06-27 10:37:10.985 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteFilesUsingPOST_1 +2024-06-27 10:37:10.986 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteGroupUsingPOST_1 +2024-06-27 10:37:10.986 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editGroupUsingPOST_1 +2024-06-27 10:37:10.990 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: listsUsingPOST_1 +2024-06-27 10:37:10.990 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: moveFilesUsingPOST_1 +2024-06-27 10:37:10.992 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_19 +2024-06-27 10:37:10.997 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_14 +2024-06-27 10:37:10.999 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_10 +2024-06-27 10:37:11.000 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteFilesUsingPOST_2 +2024-06-27 10:37:11.001 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_11 +2024-06-27 10:37:11.004 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_20 +2024-06-27 10:37:11.009 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: moveFilesUsingPOST_2 +2024-06-27 10:37:11.010 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_21 +2024-06-27 10:37:11.012 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: listUsingPOST_1 +2024-06-27 10:37:11.020 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_22 +2024-06-27 10:37:11.023 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_23 +2024-06-27 10:37:11.028 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_24 +2024-06-27 10:37:11.030 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_25 +2024-06-27 10:37:11.033 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_15 +2024-06-27 10:37:11.034 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_1 +2024-06-27 10:37:11.035 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_12 +2024-06-27 10:37:11.036 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_26 +2024-06-27 10:37:11.037 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: repulseAuditUsingPOST_1 +2024-06-27 10:37:11.040 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_16 +2024-06-27 10:37:11.041 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_11 +2024-06-27 10:37:11.042 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_13 +2024-06-27 10:37:11.047 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_27 +2024-06-27 10:37:11.052 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_17 +2024-06-27 10:37:11.052 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_12 +2024-06-27 10:37:11.053 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_14 +2024-06-27 10:37:11.055 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_28 +2024-06-27 10:37:11.058 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_18 +2024-06-27 10:37:11.059 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_29 +2024-06-27 10:37:11.063 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_30 +2024-06-27 10:37:11.065 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_19 +2024-06-27 10:37:11.066 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_1 +2024-06-27 10:37:11.067 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_31 +2024-06-27 10:37:11.068 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_1 +2024-06-27 10:37:11.069 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_32 +2024-06-27 10:37:11.071 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_20 +2024-06-27 10:37:11.072 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_2 +2024-06-27 10:37:11.073 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_33 +2024-06-27 10:37:11.084 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: loginUsingPOST_1 +2024-06-27 10:37:11.085 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: logoutUsingPOST_1 +2024-06-27 10:37:11.086 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_34 +2024-06-27 10:37:11.089 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_21 +2024-06-27 10:37:11.090 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_13 +2024-06-27 10:37:11.090 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_15 +2024-06-27 10:37:11.091 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_35 +2024-06-27 10:37:11.092 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_2 +2024-06-27 10:37:11.096 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_22 +2024-06-27 10:37:11.096 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_14 +2024-06-27 10:37:11.097 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_16 +2024-06-27 10:37:11.101 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_36 +2024-06-27 10:37:11.101 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: stateUsingPOST_1 +2024-06-27 10:37:11.102 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_1 +2024-06-27 10:37:11.102 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_3 +2024-06-27 10:37:11.104 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_23 +2024-06-27 10:37:11.105 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_2 +2024-06-27 10:37:11.105 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_2 +2024-06-27 10:37:11.107 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_17 +2024-06-27 10:37:11.107 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_37 +2024-06-27 10:37:11.109 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_3 +2024-06-27 10:37:11.110 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_18 +2024-06-27 10:37:11.110 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_38 +2024-06-27 10:37:11.112 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addStorageUsingPOST_1 +2024-06-27 10:37:11.112 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_4 +2024-06-27 10:37:11.113 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_3 +2024-06-27 10:37:11.114 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_19 +2024-06-27 10:37:11.114 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_39 +2024-06-27 10:37:11.116 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_40 +2024-06-27 10:37:11.118 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_24 +2024-06-27 10:37:11.119 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_20 +2024-06-27 10:37:11.120 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_3 +2024-06-27 10:37:11.124 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_25 +2024-06-27 10:37:11.124 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_15 +2024-06-27 10:37:11.125 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_21 +2024-06-27 10:37:11.126 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_41 +2024-06-27 10:37:11.126 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_2 +2024-06-27 10:37:11.127 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_4 +2024-06-27 10:37:11.129 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: scanIndexUsingPOST_1 +2024-06-27 10:37:11.130 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_42 +2024-06-27 10:37:11.130 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_1 +2024-06-27 10:37:11.133 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_26 +2024-06-27 10:37:11.133 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_16 +2024-06-27 10:37:11.135 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_22 +2024-06-27 10:37:11.139 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_43 +2024-06-27 10:37:11.142 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_27 +2024-06-27 10:37:11.143 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_17 +2024-06-27 10:37:11.143 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_23 +2024-06-27 10:37:11.144 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_44 +2024-06-27 10:37:11.145 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_3 +2024-06-27 10:37:11.145 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_5 +2024-06-27 10:37:11.148 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_28 +2024-06-27 10:37:11.148 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_18 +2024-06-27 10:37:11.149 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_24 +2024-06-27 10:37:11.151 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_45 +2024-06-27 10:37:11.152 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_46 +2024-06-27 10:37:11.152 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_2 +2024-06-27 10:37:11.153 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_29 +2024-06-27 10:37:11.154 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_47 +2024-06-27 10:37:11.155 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_48 +2024-06-27 10:37:11.155 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_49 +2024-06-27 10:37:11.156 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_3 +2024-06-27 10:37:11.159 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_30 +2024-06-27 10:37:11.160 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_19 +2024-06-27 10:37:11.160 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_25 +2024-06-27 10:37:11.164 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_50 +2024-06-27 10:37:11.164 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_2 +2024-06-27 10:37:11.165 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_4 +2024-06-27 10:37:11.165 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_6 +2024-06-27 10:37:11.169 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_31 +2024-06-27 10:37:11.169 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_20 +2024-06-27 10:37:11.170 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_26 +2024-06-27 10:37:11.174 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_51 +2024-06-27 10:37:11.174 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_3 +2024-06-27 10:37:11.175 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_7 +2024-06-27 10:37:11.175 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_52 +2024-06-27 10:37:11.176 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_4 +2024-06-27 10:37:11.178 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_32 +2024-06-27 10:37:11.178 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_21 +2024-06-27 10:37:11.179 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_27 +2024-06-27 10:37:11.180 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_53 +2024-06-27 10:37:11.185 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: uploadUsingPOST_1 +2024-06-27 10:37:11.207 INFO [main] [] net.jjjerp.SpringBootJjjApplication 61 : Started SpringBootJjjApplication in 11.084 seconds (JVM running for 11.838) +2024-06-27 10:37:11.211 INFO [main] [] n.j.framework.util.PrintApplicationInfo 61 : projectFinalName : jjj-erp-1.0 +2024-06-27 10:37:11.211 INFO [main] [] n.j.framework.util.PrintApplicationInfo 62 : projectVersion : 1.0 +2024-06-27 10:37:11.211 INFO [main] [] n.j.framework.util.PrintApplicationInfo 63 : profileActive : prod +2024-06-27 10:37:11.211 INFO [main] [] n.j.framework.util.PrintApplicationInfo 64 : contextPath : /api +2024-06-27 10:37:11.211 INFO [main] [] n.j.framework.util.PrintApplicationInfo 65 : serverIp : http://erp3.huadeng.fun +2024-06-27 10:37:11.211 INFO [main] [] n.j.framework.util.PrintApplicationInfo 66 : port : 8892 +2024-06-27 10:37:11.211 INFO [main] [] n.j.framework.util.PrintApplicationInfo 81 : Home: http://erp3.huadeng.fun/api +2024-06-27 10:37:11.211 INFO [main] [] n.j.framework.util.PrintApplicationInfo 82 : Knife4j: http://erp3.huadeng.fun/api/doc.html +2024-06-27 10:37:11.211 INFO [main] [] n.j.framework.util.PrintApplicationInfo 83 : Swagger: http://erp3.huadeng.fun/api/swagger-ui.html +2024-06-27 10:37:11.211 INFO [main] [] n.j.framework.util.PrintApplicationInfo 84 : jjj-erp 启动成功........... + ____ __ __ ____ +/\ _`\ /\ \__ /\ \__ /\ _`\ +\ \,\L\_\ \ ,_\ __ _ __\ \ ,_\ \ \,\L\_\ __ __ ___ ___ __ ____ ____ + \/_\__ \\ \ \/ /'__`\ /\`'__\ \ \/ \/_\__ \ /\ \/\ \ /'___\ /'___\ /'__`\ /',__\ /',__\ + /\ \L\ \ \ \_/\ \L\.\_\ \ \/ \ \ \_ /\ \L\ \ \ \_\ \/\ \__//\ \__//\ __//\__, `\/\__, `\ + \ `\____\ \__\ \__/.\_\\ \_\ \ \__\ \ `\____\ \____/\ \____\ \____\ \____\/\____/\/\____/ + \/_____/\/__/\/__/\/_/ \/_/ \/__/ \/_____/\/___/ \/____/\/____/\/____/\/___/ \/___/ + + +2024-06-27 10:56:31.341 INFO [http-nio-8892-exec-1] [] o.a.c.c.C.[Tomcat].[localhost].[/api] 173 : Initializing Spring DispatcherServlet 'dispatcherServlet' +2024-06-27 10:56:31.341 INFO [http-nio-8892-exec-1] [] o.s.web.servlet.DispatcherServlet 525 : Initializing Servlet 'dispatcherServlet' +2024-06-27 10:56:31.349 INFO [http-nio-8892-exec-1] [] o.s.web.servlet.DispatcherServlet 547 : Completed initialization in 8 ms +2024-06-27 10:56:32.011 ERROR [http-nio-8892-exec-1] [] n.jjjerp.framework.shiro.jwt.JwtFilter 138 : 访问错误 + +org.apache.shiro.authc.AuthenticationException: JWT Token已过期,token:eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhdWQiOiJ3ZWIiLCJpc3MiOiJzcHJpbmctYm9vdC1qamoiLCJleHAiOjE3MTk0MDI1NDIsImlhdCI6MTcxOTM2NjU0MiwianRpIjoiYzE2NDUxNjYwYzVkNGE0NDg5ZDUzMDhlY2FjODliOGEiLCJ1c2VybmFtZSI6ImFkbWluIn0.MhMGQ_IA17MMOo1LuSVmfJrMHn1Q9hDJ8cQfYezRC5A + at net.jjjerp.framework.shiro.jwt.JwtFilter.createToken(JwtFilter.java:67) + at org.apache.shiro.web.filter.authc.AuthenticatingFilter.executeLogin(AuthenticatingFilter.java:45) + at net.jjjerp.framework.shiro.jwt.JwtFilter.isAccessAllowed(JwtFilter.java:134) + at org.apache.shiro.web.filter.AccessControlFilter.onPreHandle(AccessControlFilter.java:162) + at org.apache.shiro.web.filter.PathMatchingFilter.isFilterChainContinued(PathMatchingFilter.java:214) + at org.apache.shiro.web.filter.PathMatchingFilter.preHandle(PathMatchingFilter.java:189) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:131) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) + +2024-06-27 10:56:32.011 ERROR [http-nio-8892-exec-1] [] n.jjjerp.framework.shiro.jwt.JwtFilter 111 : onAccessDenied url:/api/admin/product/base/unit/add +2024-06-27 10:56:58.171 INFO [http-nio-8892-exec-2] [1806159759374725122] com.zaxxer.hikari.HikariDataSource 110 : HikariPool-1 - Starting... +2024-06-27 10:56:58.519 INFO [http-nio-8892-exec-2] [1806159759374725122] com.zaxxer.hikari.HikariDataSource 123 : HikariPool-1 - Start completed. +2024-06-27 10:57:25.040 ERROR [http-nio-8892-exec-3] [] n.jjjerp.handler.GlobalExceptionHandler 233 : 异常来源:ip: 127.0.0.1, path: /api/admin/product/base/unit/add +2024-06-27 10:57:25.041 ERROR [http-nio-8892-exec-3] [] n.jjjerp.handler.GlobalExceptionHandler 257 : errorCode: 5000, errorMessage: 系统异常 + +org.springframework.dao.DataIntegrityViolationException: +### Error updating database. Cause: java.sql.SQLException: Field 'basic_unit_id' doesn't have a default value +### The error may exist in net/jjjerp/common/mapper/product/ProductDeputyUnitMapper.java (best guess) +### The error may involve net.jjjerp.common.mapper.product.ProductDeputyUnitMapper.insert-Inline +### The error occurred while setting parameters +### SQL: INSERT INTO jjjerp_product_deputy_unit (deputy_unit_name, ratio, deputy_num, app_id) VALUES (?, ?, ?, 10001) +### Cause: java.sql.SQLException: Field 'basic_unit_id' doesn't have a default value +; Field 'basic_unit_id' doesn't have a default value; nested exception is java.sql.SQLException: Field 'basic_unit_id' doesn't have a default value + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:251) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:72) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:88) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:440) + at com.sun.proxy.$Proxy114.insert(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.insert(SqlSessionTemplate.java:271) + at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:60) + at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:148) + at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89) + at com.sun.proxy.$Proxy214.insert(Unknown Source) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:344) + at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:198) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:139) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:212) + at com.sun.proxy.$Proxy215.insert(Unknown Source) + at com.baomidou.mybatisplus.extension.service.IService.save(IService.java:63) + at com.baomidou.mybatisplus.extension.service.IService$$FastClassBySpringCGLIB$$f8525d18.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.admin.service.product.impl.ProductDeputyUnitServiceImpl$$EnhancerBySpringCGLIB$$4f6f2f55.save() + at net.jjjerp.admin.service.product.impl.ProductUnitServiceImpl.parseNameByUnit(ProductUnitServiceImpl.java:137) + at net.jjjerp.admin.service.product.impl.ProductUnitServiceImpl.add(ProductUnitServiceImpl.java:99) + at net.jjjerp.admin.service.product.impl.ProductUnitServiceImpl$$FastClassBySpringCGLIB$$c1afc35.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.admin.service.product.impl.ProductUnitServiceImpl$$EnhancerBySpringCGLIB$$ffe74796.add() + at net.jjjerp.admin.controller.product.base.UnitController.add(UnitController.java:46) + at net.jjjerp.admin.controller.product.base.UnitController$$FastClassBySpringCGLIB$$e31e0dcf.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.AspectJAfterThrowingAdvice.invoke(AspectJAfterThrowingAdvice.java:62) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:88) + at net.jjjerp.framework.log.aop.BaseLogAop.handle(BaseLogAop.java:303) + at net.jjjerp.aop.LogAop.doAround(LogAop.java:35) + at net.jjjerp.aop.LogAop$$FastClassBySpringCGLIB$$189c4aae.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.aop.LogAop$$EnhancerBySpringCGLIB$$903b2614.doAround() + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:644) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:633) + at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.apache.shiro.spring.security.interceptor.AopAllianceAnnotationsAuthorizingMethodInterceptor$1.proceed(AopAllianceAnnotationsAuthorizingMethodInterceptor.java:82) + at org.apache.shiro.authz.aop.AuthorizingMethodInterceptor.invoke(AuthorizingMethodInterceptor.java:39) + at org.apache.shiro.spring.security.interceptor.AopAllianceAnnotationsAuthorizingMethodInterceptor.invoke(AopAllianceAnnotationsAuthorizingMethodInterceptor.java:115) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:95) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at net.jjjerp.admin.controller.product.base.UnitController$$EnhancerBySpringCGLIB$$9972696d.add() + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:652) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:112) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) + at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: java.sql.SQLException: Field 'basic_unit_id' doesn't have a default value + at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:965) + at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3978) + at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3914) + at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2530) + at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2683) + at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2495) + at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1903) + at com.mysql.jdbc.PreparedStatement.execute(PreparedStatement.java:1242) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:59) + at com.sun.proxy.$Proxy412.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.update(PreparedStatementHandler.java:47) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.update(RoutingStatementHandler.java:74) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:63) + at com.sun.proxy.$Proxy410.update(Unknown Source) + at com.baomidou.mybatisplus.core.executor.MybatisSimpleExecutor.doUpdate(MybatisSimpleExecutor.java:56) + at org.apache.ibatis.executor.BaseExecutor.update(BaseExecutor.java:117) + at com.baomidou.mybatisplus.core.executor.MybatisCachingExecutor.update(MybatisCachingExecutor.java:85) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.apache.ibatis.plugin.Invocation.proceed(Invocation.java:49) + at com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor.intercept(MybatisPlusInterceptor.java:83) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:61) + at com.sun.proxy.$Proxy409.update(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.update(DefaultSqlSession.java:197) + at org.apache.ibatis.session.defaults.DefaultSqlSession.insert(DefaultSqlSession.java:184) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:426) + ... 148 common frames omitted + +2024-06-27 11:00:59.586 INFO [SpringContextShutdownHook] [] net.jjjerp.framework.core.xss.XssFilter 30 : XssFilter destroy +2024-06-27 11:00:59.586 INFO [SpringContextShutdownHook] [] n.j.f.core.filter.RequestDetailFilter 116 : RequestDetailFilter destroy +2024-06-27 11:00:59.592 INFO [SpringContextShutdownHook] [] o.s.s.c.ThreadPoolTaskScheduler 218 : Shutting down ExecutorService 'taskScheduler' +2024-06-27 11:00:59.593 INFO [SpringContextShutdownHook] [] o.s.s.concurrent.ThreadPoolTaskExecutor 218 : Shutting down ExecutorService 'applicationTaskExecutor' +2024-06-27 11:00:59.598 INFO [SpringContextShutdownHook] [] com.zaxxer.hikari.HikariDataSource 350 : HikariPool-1 - Shutdown initiated... +2024-06-27 11:00:59.601 INFO [SpringContextShutdownHook] [] com.zaxxer.hikari.HikariDataSource 352 : HikariPool-1 - Shutdown completed. +2024-06-27 11:01:06.977 INFO [background-preinit] [] o.h.validator.internal.util.Version 21 : HV000001: Hibernate Validator 6.1.7.Final +2024-06-27 11:01:06.982 INFO [main] [] net.jjjerp.SpringBootJjjApplication 55 : Starting SpringBootJjjApplication on OS-20230506YKNI with PID 9832 (D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\bootstrap\target\classes started by Administrator in D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp) +2024-06-27 11:01:06.982 INFO [main] [] net.jjjerp.SpringBootJjjApplication 652 : The following profiles are active: prod +2024-06-27 11:01:07.967 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 249 : Multiple Spring Data modules found, entering strict repository configuration mode! +2024-06-27 11:01:07.969 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 127 : Bootstrapping Spring Data Redis repositories in DEFAULT mode. +2024-06-27 11:01:08.085 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 187 : Finished Spring Data repository scanning in 103ms. Found 0 Redis repository interfaces. +2024-06-27 11:01:08.326 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.ShiroConfig' of type [net.jjjerp.config.ShiroConfig$$EnhancerBySpringCGLIB$$3a3b51e7] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 11:01:08.409 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.properties.JwtProperties' of type [net.jjjerp.config.properties.JwtProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 11:01:08.411 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.RedisTemplateConfig' of type [net.jjjerp.config.RedisTemplateConfig$$EnhancerBySpringCGLIB$$9a05c8b] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 11:01:08.419 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'spring.redis-org.springframework.boot.autoconfigure.data.redis.RedisProperties' of type [org.springframework.boot.autoconfigure.data.redis.RedisProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 11:01:08.422 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration' of type [org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 11:01:08.476 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'lettuceClientResources' of type [io.lettuce.core.resource.DefaultClientResources] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 11:01:08.565 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'redisConnectionFactory' of type [org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 11:01:08.610 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'redisTemplate' of type [org.springframework.data.redis.core.RedisTemplate] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 11:01:08.611 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.cache.impl.AdminLoginRedisServiceImpl' of type [net.jjjerp.framework.shiro.cache.impl.AdminLoginRedisServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 11:01:08.614 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.cache.impl.ShopLoginRedisServiceImpl' of type [net.jjjerp.framework.shiro.cache.impl.ShopLoginRedisServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 11:01:08.723 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'credentialsMatcher' of type [net.jjjerp.framework.shiro.jwt.JwtCredentialsMatcher] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 11:01:08.731 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'jwtRealm' of type [net.jjjerp.framework.shiro.jwt.JwtRealm] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 11:01:08.733 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'sessionStorageEvaluator' of type [org.apache.shiro.web.mgt.DefaultWebSessionStorageEvaluator] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 11:01:08.733 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'subjectDAO' of type [org.apache.shiro.mgt.DefaultSubjectDAO] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 11:01:08.736 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'securityManager' of type [org.apache.shiro.web.mgt.DefaultWebSecurityManager] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 11:01:08.757 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.service.impl.ShiroLoginServiceImpl' of type [net.jjjerp.framework.shiro.service.impl.ShiroLoginServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 11:01:08.766 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'spring-boot-jjj.shiro-net.jjjerp.config.properties.ShiroProperties' of type [net.jjjerp.config.properties.ShiroProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 11:01:08.860 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'authorizationAttributeSourceAdvisor' of type [org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 11:01:09.006 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.RedisCacheConfig' of type [net.jjjerp.config.RedisCacheConfig$$EnhancerBySpringCGLIB$$bedd338d] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 11:01:09.253 INFO [main] [] o.s.b.w.embedded.tomcat.TomcatWebServer 108 : Tomcat initialized with port(s): 8892 (http) +2024-06-27 11:01:09.260 INFO [main] [] o.a.coyote.http11.Http11NioProtocol 173 : Initializing ProtocolHandler ["http-nio-8892"] +2024-06-27 11:01:09.261 INFO [main] [] o.apache.catalina.core.StandardService 173 : Starting service [Tomcat] +2024-06-27 11:01:09.261 INFO [main] [] org.apache.catalina.core.StandardEngine 173 : Starting Servlet engine: [Apache Tomcat/9.0.46] +2024-06-27 11:01:09.351 INFO [main] [] o.a.c.c.C.[Tomcat].[localhost].[/api] 173 : Initializing Spring embedded WebApplicationContext +2024-06-27 11:01:09.351 INFO [main] [] w.s.c.ServletWebServerApplicationContext 285 : Root WebApplicationContext: initialization completed in 2324 ms +2024-06-27 11:01:09.496 INFO [main] [] net.jjjerp.framework.core.xss.XssFilter 18 : XssFilter init +2024-06-27 11:01:09.496 INFO [main] [] n.j.f.core.filter.RequestDetailFilter 30 : RequestDetailFilter init +2024-06-27 11:01:12.924 INFO [main] [] org.reflections.Reflections 228 : Reflections took 37 ms to scan 1 urls, producing 0 keys and 0 values +2024-06-27 11:01:13.020 INFO [main] [] net.jjjerp.framework.shiro.util.JwtUtil 33 : {"audience":"web","expireSecond":36000,"issuer":"spring-boot-jjj","redisCheck":true,"refreshToken":true,"refreshTokenCountdown":600,"saltCheck":true,"secret":"888888","singleLogin":false,"tokenName":"token"} +2024-06-27 11:01:15.864 INFO [main] [] pertySourcedRequestMappingHandlerMapping 69 : Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2Controller#getDocumentation(String, HttpServletRequest)] +2024-06-27 11:01:15.882 INFO [main] [] net.jjjerp.config.Swagger2Config 149 : swagger scan basePackages:null +2024-06-27 11:01:16.024 INFO [main] [] o.s.s.concurrent.ThreadPoolTaskExecutor 181 : Initializing ExecutorService 'applicationTaskExecutor' +2024-06-27 11:01:16.117 INFO [main] [] o.s.b.a.w.s.WelcomePageHandlerMapping 53 : Adding welcome page: class path resource [static/index.html] +2024-06-27 11:01:16.339 INFO [main] [] o.s.s.c.ThreadPoolTaskScheduler 181 : Initializing ExecutorService 'taskScheduler' +2024-06-27 11:01:16.448 INFO [main] [] o.a.coyote.http11.Http11NioProtocol 173 : Starting ProtocolHandler ["http-nio-8892"] +2024-06-27 11:01:16.471 INFO [main] [] o.s.b.w.embedded.tomcat.TomcatWebServer 220 : Tomcat started on port(s): 8892 (http) with context path '/api' +2024-06-27 11:01:16.472 INFO [main] [] d.s.w.p.DocumentationPluginsBootstrapper 160 : Context refreshed +2024-06-27 11:01:16.478 INFO [main] [] d.s.w.p.DocumentationPluginsBootstrapper 163 : Found 1 custom documentation plugin(s) +2024-06-27 11:01:16.511 INFO [main] [] s.d.s.w.s.ApiListingReferenceScanner 41 : Scanning for api listing references +2024-06-27 11:01:16.629 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_1 +2024-06-27 11:01:16.630 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_1 +2024-06-27 11:01:16.631 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_1 +2024-06-27 11:01:16.648 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_1 +2024-06-27 11:01:16.681 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_2 +2024-06-27 11:01:16.683 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_2 +2024-06-27 11:01:16.686 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_3 +2024-06-27 11:01:16.687 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_3 +2024-06-27 11:01:16.689 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_4 +2024-06-27 11:01:16.690 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_4 +2024-06-27 11:01:16.691 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexOutUsingPOST_1 +2024-06-27 11:01:16.693 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_5 +2024-06-27 11:01:16.699 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_5 +2024-06-27 11:01:16.699 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_2 +2024-06-27 11:01:16.700 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_2 +2024-06-27 11:01:16.713 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_6 +2024-06-27 11:01:16.715 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_7 +2024-06-27 11:01:16.720 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_8 +2024-06-27 11:01:16.750 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_6 +2024-06-27 11:01:16.750 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_3 +2024-06-27 11:01:16.751 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_3 +2024-06-27 11:01:16.757 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_9 +2024-06-27 11:01:16.761 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_10 +2024-06-27 11:01:16.763 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_7 +2024-06-27 11:01:16.764 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_4 +2024-06-27 11:01:16.764 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_4 +2024-06-27 11:01:16.767 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_11 +2024-06-27 11:01:16.771 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_8 +2024-06-27 11:01:16.772 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_5 +2024-06-27 11:01:16.772 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_5 +2024-06-27 11:01:16.775 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_12 +2024-06-27 11:01:16.779 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_9 +2024-06-27 11:01:16.779 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_6 +2024-06-27 11:01:16.780 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_6 +2024-06-27 11:01:16.785 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_13 +2024-06-27 11:01:16.785 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_1 +2024-06-27 11:01:16.787 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_10 +2024-06-27 11:01:16.787 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_7 +2024-06-27 11:01:16.788 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_7 +2024-06-27 11:01:16.789 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_14 +2024-06-27 11:01:16.790 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_11 +2024-06-27 11:01:16.791 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_8 +2024-06-27 11:01:16.792 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_8 +2024-06-27 11:01:16.793 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_15 +2024-06-27 11:01:16.794 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_12 +2024-06-27 11:01:16.797 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_9 +2024-06-27 11:01:16.798 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_9 +2024-06-27 11:01:16.801 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_16 +2024-06-27 11:01:16.802 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_17 +2024-06-27 11:01:16.808 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_13 +2024-06-27 11:01:16.808 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_10 +2024-06-27 11:01:16.812 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_18 +2024-06-27 11:01:16.813 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_1 +2024-06-27 11:01:16.823 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addGroupUsingPOST_1 +2024-06-27 11:01:16.824 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: categoryUsingPOST_1 +2024-06-27 11:01:16.824 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteFilesUsingPOST_1 +2024-06-27 11:01:16.824 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteGroupUsingPOST_1 +2024-06-27 11:01:16.825 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editGroupUsingPOST_1 +2024-06-27 11:01:16.829 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: listsUsingPOST_1 +2024-06-27 11:01:16.829 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: moveFilesUsingPOST_1 +2024-06-27 11:01:16.831 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_19 +2024-06-27 11:01:16.834 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_14 +2024-06-27 11:01:16.835 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_10 +2024-06-27 11:01:16.836 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteFilesUsingPOST_2 +2024-06-27 11:01:16.836 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_11 +2024-06-27 11:01:16.838 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_20 +2024-06-27 11:01:16.842 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: moveFilesUsingPOST_2 +2024-06-27 11:01:16.842 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_21 +2024-06-27 11:01:16.844 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: listUsingPOST_1 +2024-06-27 11:01:16.845 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_22 +2024-06-27 11:01:16.855 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_23 +2024-06-27 11:01:16.858 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_24 +2024-06-27 11:01:16.861 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_25 +2024-06-27 11:01:16.864 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_15 +2024-06-27 11:01:16.865 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_1 +2024-06-27 11:01:16.866 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_12 +2024-06-27 11:01:16.867 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_26 +2024-06-27 11:01:16.868 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: repulseAuditUsingPOST_1 +2024-06-27 11:01:16.870 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_16 +2024-06-27 11:01:16.870 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_11 +2024-06-27 11:01:16.871 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_13 +2024-06-27 11:01:16.874 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_27 +2024-06-27 11:01:16.878 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_17 +2024-06-27 11:01:16.878 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_12 +2024-06-27 11:01:16.879 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_14 +2024-06-27 11:01:16.881 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_28 +2024-06-27 11:01:16.882 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_18 +2024-06-27 11:01:16.883 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_29 +2024-06-27 11:01:16.887 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_30 +2024-06-27 11:01:16.889 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_19 +2024-06-27 11:01:16.889 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_1 +2024-06-27 11:01:16.889 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_31 +2024-06-27 11:01:16.891 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_1 +2024-06-27 11:01:16.892 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_32 +2024-06-27 11:01:16.894 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_20 +2024-06-27 11:01:16.895 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_2 +2024-06-27 11:01:16.895 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_33 +2024-06-27 11:01:16.904 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: loginUsingPOST_1 +2024-06-27 11:01:16.904 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: logoutUsingPOST_1 +2024-06-27 11:01:16.905 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_34 +2024-06-27 11:01:16.908 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_21 +2024-06-27 11:01:16.908 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_13 +2024-06-27 11:01:16.909 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_15 +2024-06-27 11:01:16.909 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_35 +2024-06-27 11:01:16.910 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_2 +2024-06-27 11:01:16.914 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_22 +2024-06-27 11:01:16.914 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_14 +2024-06-27 11:01:16.915 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_16 +2024-06-27 11:01:16.919 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_36 +2024-06-27 11:01:16.920 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: stateUsingPOST_1 +2024-06-27 11:01:16.920 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_1 +2024-06-27 11:01:16.920 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_3 +2024-06-27 11:01:16.922 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_23 +2024-06-27 11:01:16.922 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_2 +2024-06-27 11:01:16.923 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_2 +2024-06-27 11:01:16.925 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_17 +2024-06-27 11:01:16.925 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_37 +2024-06-27 11:01:16.927 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_3 +2024-06-27 11:01:16.927 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_18 +2024-06-27 11:01:16.928 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_38 +2024-06-27 11:01:16.929 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addStorageUsingPOST_1 +2024-06-27 11:01:16.930 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_4 +2024-06-27 11:01:16.931 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_3 +2024-06-27 11:01:16.932 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_19 +2024-06-27 11:01:16.933 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_39 +2024-06-27 11:01:16.934 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_40 +2024-06-27 11:01:16.935 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_24 +2024-06-27 11:01:16.936 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_20 +2024-06-27 11:01:16.936 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_3 +2024-06-27 11:01:16.938 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_25 +2024-06-27 11:01:16.939 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_15 +2024-06-27 11:01:16.939 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_21 +2024-06-27 11:01:16.940 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_41 +2024-06-27 11:01:16.942 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_2 +2024-06-27 11:01:16.942 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_4 +2024-06-27 11:01:16.944 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: scanIndexUsingPOST_1 +2024-06-27 11:01:16.946 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_42 +2024-06-27 11:01:16.946 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_1 +2024-06-27 11:01:16.948 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_26 +2024-06-27 11:01:16.948 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_16 +2024-06-27 11:01:16.949 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_22 +2024-06-27 11:01:16.953 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_43 +2024-06-27 11:01:16.956 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_27 +2024-06-27 11:01:16.956 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_17 +2024-06-27 11:01:16.957 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_23 +2024-06-27 11:01:16.959 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_44 +2024-06-27 11:01:16.959 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_3 +2024-06-27 11:01:16.960 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_5 +2024-06-27 11:01:16.962 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_28 +2024-06-27 11:01:16.962 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_18 +2024-06-27 11:01:16.963 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_24 +2024-06-27 11:01:16.964 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_45 +2024-06-27 11:01:16.965 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_46 +2024-06-27 11:01:16.965 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_2 +2024-06-27 11:01:16.967 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_29 +2024-06-27 11:01:16.968 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_47 +2024-06-27 11:01:16.969 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_48 +2024-06-27 11:01:16.969 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_49 +2024-06-27 11:01:16.969 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_3 +2024-06-27 11:01:16.975 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_30 +2024-06-27 11:01:16.976 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_19 +2024-06-27 11:01:16.976 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_25 +2024-06-27 11:01:16.980 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_50 +2024-06-27 11:01:16.980 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_2 +2024-06-27 11:01:16.981 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_4 +2024-06-27 11:01:16.981 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_6 +2024-06-27 11:01:16.985 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_31 +2024-06-27 11:01:16.987 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_20 +2024-06-27 11:01:16.987 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_26 +2024-06-27 11:01:16.991 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_51 +2024-06-27 11:01:16.991 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_3 +2024-06-27 11:01:16.992 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_7 +2024-06-27 11:01:16.992 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_52 +2024-06-27 11:01:16.993 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_4 +2024-06-27 11:01:16.994 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_32 +2024-06-27 11:01:16.995 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_21 +2024-06-27 11:01:16.996 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_27 +2024-06-27 11:01:16.997 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_53 +2024-06-27 11:01:17.000 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: uploadUsingPOST_1 +2024-06-27 11:01:17.019 INFO [main] [] net.jjjerp.SpringBootJjjApplication 61 : Started SpringBootJjjApplication in 10.511 seconds (JVM running for 11.12) +2024-06-27 11:01:17.022 INFO [main] [] n.j.framework.util.PrintApplicationInfo 61 : projectFinalName : jjj-erp-1.0 +2024-06-27 11:01:17.022 INFO [main] [] n.j.framework.util.PrintApplicationInfo 62 : projectVersion : 1.0 +2024-06-27 11:01:17.022 INFO [main] [] n.j.framework.util.PrintApplicationInfo 63 : profileActive : prod +2024-06-27 11:01:17.022 INFO [main] [] n.j.framework.util.PrintApplicationInfo 64 : contextPath : /api +2024-06-27 11:01:17.022 INFO [main] [] n.j.framework.util.PrintApplicationInfo 65 : serverIp : http://erp3.huadeng.fun +2024-06-27 11:01:17.022 INFO [main] [] n.j.framework.util.PrintApplicationInfo 66 : port : 8892 +2024-06-27 11:01:17.022 INFO [main] [] n.j.framework.util.PrintApplicationInfo 81 : Home: http://erp3.huadeng.fun/api +2024-06-27 11:01:17.022 INFO [main] [] n.j.framework.util.PrintApplicationInfo 82 : Knife4j: http://erp3.huadeng.fun/api/doc.html +2024-06-27 11:01:17.022 INFO [main] [] n.j.framework.util.PrintApplicationInfo 83 : Swagger: http://erp3.huadeng.fun/api/swagger-ui.html +2024-06-27 11:01:17.022 INFO [main] [] n.j.framework.util.PrintApplicationInfo 84 : jjj-erp 启动成功........... + ____ __ __ ____ +/\ _`\ /\ \__ /\ \__ /\ _`\ +\ \,\L\_\ \ ,_\ __ _ __\ \ ,_\ \ \,\L\_\ __ __ ___ ___ __ ____ ____ + \/_\__ \\ \ \/ /'__`\ /\`'__\ \ \/ \/_\__ \ /\ \/\ \ /'___\ /'___\ /'__`\ /',__\ /',__\ + /\ \L\ \ \ \_/\ \L\.\_\ \ \/ \ \ \_ /\ \L\ \ \ \_\ \/\ \__//\ \__//\ __//\__, `\/\__, `\ + \ `\____\ \__\ \__/.\_\\ \_\ \ \__\ \ `\____\ \____/\ \____\ \____\ \____\/\____/\/\____/ + \/_____/\/__/\/__/\/_/ \/_/ \/__/ \/_____/\/___/ \/____/\/____/\/____/\/___/ \/___/ + + +2024-06-27 11:01:45.308 INFO [SpringContextShutdownHook] [] net.jjjerp.framework.core.xss.XssFilter 30 : XssFilter destroy +2024-06-27 11:01:45.309 INFO [SpringContextShutdownHook] [] n.j.f.core.filter.RequestDetailFilter 116 : RequestDetailFilter destroy +2024-06-27 11:01:45.314 INFO [SpringContextShutdownHook] [] o.s.s.c.ThreadPoolTaskScheduler 218 : Shutting down ExecutorService 'taskScheduler' +2024-06-27 11:01:45.315 INFO [SpringContextShutdownHook] [] o.s.s.concurrent.ThreadPoolTaskExecutor 218 : Shutting down ExecutorService 'applicationTaskExecutor' +2024-06-27 11:01:49.753 INFO [background-preinit] [] o.h.validator.internal.util.Version 21 : HV000001: Hibernate Validator 6.1.7.Final +2024-06-27 11:01:49.757 INFO [main] [] net.jjjerp.SpringBootJjjApplication 55 : Starting SpringBootJjjApplication on OS-20230506YKNI with PID 6476 (D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\bootstrap\target\classes started by Administrator in D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp) +2024-06-27 11:01:49.757 INFO [main] [] net.jjjerp.SpringBootJjjApplication 652 : The following profiles are active: prod +2024-06-27 11:01:50.802 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 249 : Multiple Spring Data modules found, entering strict repository configuration mode! +2024-06-27 11:01:50.804 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 127 : Bootstrapping Spring Data Redis repositories in DEFAULT mode. +2024-06-27 11:01:50.920 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 187 : Finished Spring Data repository scanning in 106ms. Found 0 Redis repository interfaces. +2024-06-27 11:01:51.193 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.ShiroConfig' of type [net.jjjerp.config.ShiroConfig$$EnhancerBySpringCGLIB$$57475fc8] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 11:01:51.276 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.properties.JwtProperties' of type [net.jjjerp.config.properties.JwtProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 11:01:51.277 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.RedisTemplateConfig' of type [net.jjjerp.config.RedisTemplateConfig$$EnhancerBySpringCGLIB$$26ac6a6c] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 11:01:51.286 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'spring.redis-org.springframework.boot.autoconfigure.data.redis.RedisProperties' of type [org.springframework.boot.autoconfigure.data.redis.RedisProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 11:01:51.289 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration' of type [org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 11:01:51.342 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'lettuceClientResources' of type [io.lettuce.core.resource.DefaultClientResources] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 11:01:51.427 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'redisConnectionFactory' of type [org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 11:01:51.470 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'redisTemplate' of type [org.springframework.data.redis.core.RedisTemplate] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 11:01:51.471 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.cache.impl.AdminLoginRedisServiceImpl' of type [net.jjjerp.framework.shiro.cache.impl.AdminLoginRedisServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 11:01:51.475 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.cache.impl.ShopLoginRedisServiceImpl' of type [net.jjjerp.framework.shiro.cache.impl.ShopLoginRedisServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 11:01:51.588 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'credentialsMatcher' of type [net.jjjerp.framework.shiro.jwt.JwtCredentialsMatcher] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 11:01:51.594 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'jwtRealm' of type [net.jjjerp.framework.shiro.jwt.JwtRealm] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 11:01:51.595 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'sessionStorageEvaluator' of type [org.apache.shiro.web.mgt.DefaultWebSessionStorageEvaluator] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 11:01:51.596 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'subjectDAO' of type [org.apache.shiro.mgt.DefaultSubjectDAO] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 11:01:51.599 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'securityManager' of type [org.apache.shiro.web.mgt.DefaultWebSecurityManager] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 11:01:51.620 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.service.impl.ShiroLoginServiceImpl' of type [net.jjjerp.framework.shiro.service.impl.ShiroLoginServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 11:01:51.627 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'spring-boot-jjj.shiro-net.jjjerp.config.properties.ShiroProperties' of type [net.jjjerp.config.properties.ShiroProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 11:01:51.712 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'authorizationAttributeSourceAdvisor' of type [org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 11:01:51.860 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.RedisCacheConfig' of type [net.jjjerp.config.RedisCacheConfig$$EnhancerBySpringCGLIB$$dbe9416e] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 11:01:52.107 INFO [main] [] o.s.b.w.embedded.tomcat.TomcatWebServer 108 : Tomcat initialized with port(s): 8892 (http) +2024-06-27 11:01:52.116 INFO [main] [] o.a.coyote.http11.Http11NioProtocol 173 : Initializing ProtocolHandler ["http-nio-8892"] +2024-06-27 11:01:52.117 INFO [main] [] o.apache.catalina.core.StandardService 173 : Starting service [Tomcat] +2024-06-27 11:01:52.117 INFO [main] [] org.apache.catalina.core.StandardEngine 173 : Starting Servlet engine: [Apache Tomcat/9.0.46] +2024-06-27 11:01:52.229 INFO [main] [] o.a.c.c.C.[Tomcat].[localhost].[/api] 173 : Initializing Spring embedded WebApplicationContext +2024-06-27 11:01:52.230 INFO [main] [] w.s.c.ServletWebServerApplicationContext 285 : Root WebApplicationContext: initialization completed in 2427 ms +2024-06-27 11:01:52.385 INFO [main] [] net.jjjerp.framework.core.xss.XssFilter 18 : XssFilter init +2024-06-27 11:01:52.386 INFO [main] [] n.j.f.core.filter.RequestDetailFilter 30 : RequestDetailFilter init +2024-06-27 11:01:55.768 INFO [main] [] org.reflections.Reflections 228 : Reflections took 42 ms to scan 1 urls, producing 0 keys and 0 values +2024-06-27 11:01:55.871 INFO [main] [] net.jjjerp.framework.shiro.util.JwtUtil 33 : {"audience":"web","expireSecond":36000,"issuer":"spring-boot-jjj","redisCheck":true,"refreshToken":true,"refreshTokenCountdown":600,"saltCheck":true,"secret":"888888","singleLogin":false,"tokenName":"token"} +2024-06-27 11:01:58.812 INFO [main] [] pertySourcedRequestMappingHandlerMapping 69 : Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2Controller#getDocumentation(String, HttpServletRequest)] +2024-06-27 11:01:58.844 INFO [main] [] net.jjjerp.config.Swagger2Config 149 : swagger scan basePackages:null +2024-06-27 11:01:58.967 INFO [main] [] o.s.s.concurrent.ThreadPoolTaskExecutor 181 : Initializing ExecutorService 'applicationTaskExecutor' +2024-06-27 11:01:59.050 INFO [main] [] o.s.b.a.w.s.WelcomePageHandlerMapping 53 : Adding welcome page: class path resource [static/index.html] +2024-06-27 11:01:59.245 INFO [main] [] o.s.s.c.ThreadPoolTaskScheduler 181 : Initializing ExecutorService 'taskScheduler' +2024-06-27 11:01:59.341 INFO [main] [] o.a.coyote.http11.Http11NioProtocol 173 : Starting ProtocolHandler ["http-nio-8892"] +2024-06-27 11:01:59.360 INFO [main] [] o.s.b.w.embedded.tomcat.TomcatWebServer 220 : Tomcat started on port(s): 8892 (http) with context path '/api' +2024-06-27 11:01:59.361 INFO [main] [] d.s.w.p.DocumentationPluginsBootstrapper 160 : Context refreshed +2024-06-27 11:01:59.366 INFO [main] [] d.s.w.p.DocumentationPluginsBootstrapper 163 : Found 1 custom documentation plugin(s) +2024-06-27 11:01:59.399 INFO [main] [] s.d.s.w.s.ApiListingReferenceScanner 41 : Scanning for api listing references +2024-06-27 11:01:59.515 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_1 +2024-06-27 11:01:59.516 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_1 +2024-06-27 11:01:59.517 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_1 +2024-06-27 11:01:59.533 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_1 +2024-06-27 11:01:59.572 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_2 +2024-06-27 11:01:59.574 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_2 +2024-06-27 11:01:59.577 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_3 +2024-06-27 11:01:59.578 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_3 +2024-06-27 11:01:59.581 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_4 +2024-06-27 11:01:59.581 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_4 +2024-06-27 11:01:59.582 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexOutUsingPOST_1 +2024-06-27 11:01:59.585 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_5 +2024-06-27 11:01:59.591 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_5 +2024-06-27 11:01:59.592 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_2 +2024-06-27 11:01:59.593 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_2 +2024-06-27 11:01:59.607 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_6 +2024-06-27 11:01:59.609 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_7 +2024-06-27 11:01:59.614 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_8 +2024-06-27 11:01:59.646 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_6 +2024-06-27 11:01:59.646 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_3 +2024-06-27 11:01:59.647 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_3 +2024-06-27 11:01:59.655 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_9 +2024-06-27 11:01:59.659 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_10 +2024-06-27 11:01:59.662 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_7 +2024-06-27 11:01:59.663 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_4 +2024-06-27 11:01:59.663 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_4 +2024-06-27 11:01:59.666 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_11 +2024-06-27 11:01:59.671 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_8 +2024-06-27 11:01:59.672 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_5 +2024-06-27 11:01:59.673 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_5 +2024-06-27 11:01:59.676 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_12 +2024-06-27 11:01:59.679 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_9 +2024-06-27 11:01:59.680 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_6 +2024-06-27 11:01:59.680 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_6 +2024-06-27 11:01:59.684 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_13 +2024-06-27 11:01:59.685 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_1 +2024-06-27 11:01:59.688 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_10 +2024-06-27 11:01:59.689 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_7 +2024-06-27 11:01:59.690 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_7 +2024-06-27 11:01:59.692 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_14 +2024-06-27 11:01:59.694 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_11 +2024-06-27 11:01:59.694 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_8 +2024-06-27 11:01:59.695 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_8 +2024-06-27 11:01:59.697 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_15 +2024-06-27 11:01:59.699 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_12 +2024-06-27 11:01:59.704 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_9 +2024-06-27 11:01:59.704 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_9 +2024-06-27 11:01:59.708 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_16 +2024-06-27 11:01:59.709 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_17 +2024-06-27 11:01:59.715 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_13 +2024-06-27 11:01:59.717 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_10 +2024-06-27 11:01:59.720 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_18 +2024-06-27 11:01:59.721 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_1 +2024-06-27 11:01:59.731 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addGroupUsingPOST_1 +2024-06-27 11:01:59.732 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: categoryUsingPOST_1 +2024-06-27 11:01:59.732 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteFilesUsingPOST_1 +2024-06-27 11:01:59.733 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteGroupUsingPOST_1 +2024-06-27 11:01:59.734 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editGroupUsingPOST_1 +2024-06-27 11:01:59.738 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: listsUsingPOST_1 +2024-06-27 11:01:59.738 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: moveFilesUsingPOST_1 +2024-06-27 11:01:59.739 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_19 +2024-06-27 11:01:59.743 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_14 +2024-06-27 11:01:59.744 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_10 +2024-06-27 11:01:59.745 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteFilesUsingPOST_2 +2024-06-27 11:01:59.745 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_11 +2024-06-27 11:01:59.747 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_20 +2024-06-27 11:01:59.750 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: moveFilesUsingPOST_2 +2024-06-27 11:01:59.751 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_21 +2024-06-27 11:01:59.752 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: listUsingPOST_1 +2024-06-27 11:01:59.753 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_22 +2024-06-27 11:01:59.760 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_23 +2024-06-27 11:01:59.764 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_24 +2024-06-27 11:01:59.765 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_25 +2024-06-27 11:01:59.768 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_15 +2024-06-27 11:01:59.769 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_1 +2024-06-27 11:01:59.770 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_12 +2024-06-27 11:01:59.771 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_26 +2024-06-27 11:01:59.772 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: repulseAuditUsingPOST_1 +2024-06-27 11:01:59.774 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_16 +2024-06-27 11:01:59.774 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_11 +2024-06-27 11:01:59.775 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_13 +2024-06-27 11:01:59.780 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_27 +2024-06-27 11:01:59.786 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_17 +2024-06-27 11:01:59.786 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_12 +2024-06-27 11:01:59.787 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_14 +2024-06-27 11:01:59.790 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_28 +2024-06-27 11:01:59.791 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_18 +2024-06-27 11:01:59.792 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_29 +2024-06-27 11:01:59.796 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_30 +2024-06-27 11:01:59.798 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_19 +2024-06-27 11:01:59.799 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_1 +2024-06-27 11:01:59.800 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_31 +2024-06-27 11:01:59.801 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_1 +2024-06-27 11:01:59.802 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_32 +2024-06-27 11:01:59.803 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_20 +2024-06-27 11:01:59.804 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_2 +2024-06-27 11:01:59.804 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_33 +2024-06-27 11:01:59.812 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: loginUsingPOST_1 +2024-06-27 11:01:59.813 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: logoutUsingPOST_1 +2024-06-27 11:01:59.815 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_34 +2024-06-27 11:01:59.818 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_21 +2024-06-27 11:01:59.819 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_13 +2024-06-27 11:01:59.820 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_15 +2024-06-27 11:01:59.820 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_35 +2024-06-27 11:01:59.822 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_2 +2024-06-27 11:01:59.825 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_22 +2024-06-27 11:01:59.826 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_14 +2024-06-27 11:01:59.826 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_16 +2024-06-27 11:01:59.831 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_36 +2024-06-27 11:01:59.832 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: stateUsingPOST_1 +2024-06-27 11:01:59.833 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_1 +2024-06-27 11:01:59.834 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_3 +2024-06-27 11:01:59.836 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_23 +2024-06-27 11:01:59.837 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_2 +2024-06-27 11:01:59.837 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_2 +2024-06-27 11:01:59.839 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_17 +2024-06-27 11:01:59.840 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_37 +2024-06-27 11:01:59.843 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_3 +2024-06-27 11:01:59.844 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_18 +2024-06-27 11:01:59.844 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_38 +2024-06-27 11:01:59.846 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addStorageUsingPOST_1 +2024-06-27 11:01:59.847 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_4 +2024-06-27 11:01:59.848 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_3 +2024-06-27 11:01:59.848 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_19 +2024-06-27 11:01:59.849 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_39 +2024-06-27 11:01:59.850 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_40 +2024-06-27 11:01:59.851 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_24 +2024-06-27 11:01:59.852 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_20 +2024-06-27 11:01:59.853 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_3 +2024-06-27 11:01:59.855 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_25 +2024-06-27 11:01:59.856 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_15 +2024-06-27 11:01:59.856 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_21 +2024-06-27 11:01:59.858 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_41 +2024-06-27 11:01:59.859 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_2 +2024-06-27 11:01:59.860 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_4 +2024-06-27 11:01:59.863 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: scanIndexUsingPOST_1 +2024-06-27 11:01:59.865 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_42 +2024-06-27 11:01:59.866 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_1 +2024-06-27 11:01:59.868 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_26 +2024-06-27 11:01:59.869 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_16 +2024-06-27 11:01:59.869 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_22 +2024-06-27 11:01:59.873 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_43 +2024-06-27 11:01:59.876 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_27 +2024-06-27 11:01:59.876 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_17 +2024-06-27 11:01:59.877 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_23 +2024-06-27 11:01:59.879 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_44 +2024-06-27 11:01:59.880 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_3 +2024-06-27 11:01:59.880 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_5 +2024-06-27 11:01:59.882 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_28 +2024-06-27 11:01:59.883 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_18 +2024-06-27 11:01:59.883 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_24 +2024-06-27 11:01:59.885 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_45 +2024-06-27 11:01:59.886 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_46 +2024-06-27 11:01:59.887 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_2 +2024-06-27 11:01:59.888 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_29 +2024-06-27 11:01:59.888 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_47 +2024-06-27 11:01:59.889 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_48 +2024-06-27 11:01:59.890 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_49 +2024-06-27 11:01:59.890 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_3 +2024-06-27 11:01:59.893 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_30 +2024-06-27 11:01:59.893 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_19 +2024-06-27 11:01:59.894 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_25 +2024-06-27 11:01:59.897 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_50 +2024-06-27 11:01:59.898 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_2 +2024-06-27 11:01:59.898 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_4 +2024-06-27 11:01:59.898 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_6 +2024-06-27 11:01:59.902 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_31 +2024-06-27 11:01:59.903 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_20 +2024-06-27 11:01:59.903 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_26 +2024-06-27 11:01:59.907 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_51 +2024-06-27 11:01:59.908 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_3 +2024-06-27 11:01:59.908 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_7 +2024-06-27 11:01:59.908 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_52 +2024-06-27 11:01:59.909 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_4 +2024-06-27 11:01:59.911 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_32 +2024-06-27 11:01:59.912 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_21 +2024-06-27 11:01:59.912 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_27 +2024-06-27 11:01:59.914 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_53 +2024-06-27 11:01:59.917 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: uploadUsingPOST_1 +2024-06-27 11:01:59.936 INFO [main] [] net.jjjerp.SpringBootJjjApplication 61 : Started SpringBootJjjApplication in 10.651 seconds (JVM running for 11.249) +2024-06-27 11:01:59.939 INFO [main] [] n.j.framework.util.PrintApplicationInfo 61 : projectFinalName : jjj-erp-1.0 +2024-06-27 11:01:59.940 INFO [main] [] n.j.framework.util.PrintApplicationInfo 62 : projectVersion : 1.0 +2024-06-27 11:01:59.940 INFO [main] [] n.j.framework.util.PrintApplicationInfo 63 : profileActive : prod +2024-06-27 11:01:59.940 INFO [main] [] n.j.framework.util.PrintApplicationInfo 64 : contextPath : /api +2024-06-27 11:01:59.940 INFO [main] [] n.j.framework.util.PrintApplicationInfo 65 : serverIp : http://erp3.huadeng.fun +2024-06-27 11:01:59.940 INFO [main] [] n.j.framework.util.PrintApplicationInfo 66 : port : 8892 +2024-06-27 11:01:59.940 INFO [main] [] n.j.framework.util.PrintApplicationInfo 81 : Home: http://erp3.huadeng.fun/api +2024-06-27 11:01:59.940 INFO [main] [] n.j.framework.util.PrintApplicationInfo 82 : Knife4j: http://erp3.huadeng.fun/api/doc.html +2024-06-27 11:01:59.940 INFO [main] [] n.j.framework.util.PrintApplicationInfo 83 : Swagger: http://erp3.huadeng.fun/api/swagger-ui.html +2024-06-27 11:01:59.940 INFO [main] [] n.j.framework.util.PrintApplicationInfo 84 : jjj-erp 启动成功........... + ____ __ __ ____ +/\ _`\ /\ \__ /\ \__ /\ _`\ +\ \,\L\_\ \ ,_\ __ _ __\ \ ,_\ \ \,\L\_\ __ __ ___ ___ __ ____ ____ + \/_\__ \\ \ \/ /'__`\ /\`'__\ \ \/ \/_\__ \ /\ \/\ \ /'___\ /'___\ /'__`\ /',__\ /',__\ + /\ \L\ \ \ \_/\ \L\.\_\ \ \/ \ \ \_ /\ \L\ \ \ \_\ \/\ \__//\ \__//\ __//\__, `\/\__, `\ + \ `\____\ \__\ \__/.\_\\ \_\ \ \__\ \ `\____\ \____/\ \____\ \____\ \____\/\____/\/\____/ + \/_____/\/__/\/__/\/_/ \/_/ \/__/ \/_____/\/___/ \/____/\/____/\/____/\/___/ \/___/ + + +2024-06-27 11:02:14.562 INFO [http-nio-8892-exec-2] [] o.a.c.c.C.[Tomcat].[localhost].[/api] 173 : Initializing Spring DispatcherServlet 'dispatcherServlet' +2024-06-27 11:02:14.562 INFO [http-nio-8892-exec-2] [] o.s.web.servlet.DispatcherServlet 525 : Initializing Servlet 'dispatcherServlet' +2024-06-27 11:02:14.574 INFO [http-nio-8892-exec-2] [] o.s.web.servlet.DispatcherServlet 547 : Completed initialization in 12 ms +2024-06-27 11:02:15.524 INFO [http-nio-8892-exec-2] [1806161090546118658] com.zaxxer.hikari.HikariDataSource 110 : HikariPool-1 - Starting... +2024-06-27 11:02:15.955 INFO [http-nio-8892-exec-2] [1806161090546118658] com.zaxxer.hikari.HikariDataSource 123 : HikariPool-1 - Start completed. +2024-06-27 11:03:59.518 ERROR [http-nio-8892-exec-4] [] n.jjjerp.handler.GlobalExceptionHandler 233 : 异常来源:ip: 127.0.0.1, path: /api/admin/product/base/unit/add +2024-06-27 11:03:59.520 ERROR [http-nio-8892-exec-4] [] n.jjjerp.handler.GlobalExceptionHandler 257 : errorCode: 5000, errorMessage: 系统异常 + +java.lang.NullPointerException: null + at net.jjjerp.admin.service.product.impl.ProductUnitServiceImpl.parseNameByUnit(ProductUnitServiceImpl.java:137) + at net.jjjerp.admin.service.product.impl.ProductUnitServiceImpl.add(ProductUnitServiceImpl.java:99) + at net.jjjerp.admin.service.product.impl.ProductUnitServiceImpl$$FastClassBySpringCGLIB$$c1afc35.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.admin.service.product.impl.ProductUnitServiceImpl$$EnhancerBySpringCGLIB$$ac8cad51.add() + at net.jjjerp.admin.controller.product.base.UnitController.add(UnitController.java:46) + at net.jjjerp.admin.controller.product.base.UnitController$$FastClassBySpringCGLIB$$e31e0dcf.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.AspectJAfterThrowingAdvice.invoke(AspectJAfterThrowingAdvice.java:62) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:88) + at net.jjjerp.framework.log.aop.BaseLogAop.handle(BaseLogAop.java:303) + at net.jjjerp.aop.LogAop.doAround(LogAop.java:35) + at net.jjjerp.aop.LogAop$$FastClassBySpringCGLIB$$189c4aae.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.aop.LogAop$$EnhancerBySpringCGLIB$$546e5155.doAround() + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:644) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:633) + at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.apache.shiro.spring.security.interceptor.AopAllianceAnnotationsAuthorizingMethodInterceptor$1.proceed(AopAllianceAnnotationsAuthorizingMethodInterceptor.java:82) + at org.apache.shiro.authz.aop.AuthorizingMethodInterceptor.invoke(AuthorizingMethodInterceptor.java:39) + at org.apache.shiro.spring.security.interceptor.AopAllianceAnnotationsAuthorizingMethodInterceptor.invoke(AopAllianceAnnotationsAuthorizingMethodInterceptor.java:115) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:95) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at net.jjjerp.admin.controller.product.base.UnitController$$EnhancerBySpringCGLIB$$ad37bfb9.add() + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:652) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:112) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) + at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) + +2024-06-27 11:04:13.606 ERROR [http-nio-8892-exec-3] [] n.jjjerp.handler.GlobalExceptionHandler 233 : 异常来源:ip: 127.0.0.1, path: /api/admin/product/base/unit/add +2024-06-27 11:04:13.607 ERROR [http-nio-8892-exec-3] [] n.jjjerp.handler.GlobalExceptionHandler 257 : errorCode: 5000, errorMessage: 系统异常 + +java.lang.NullPointerException: null + at net.jjjerp.admin.service.product.impl.ProductUnitServiceImpl.parseNameByUnit(ProductUnitServiceImpl.java:137) + at net.jjjerp.admin.service.product.impl.ProductUnitServiceImpl.add(ProductUnitServiceImpl.java:99) + at net.jjjerp.admin.service.product.impl.ProductUnitServiceImpl$$FastClassBySpringCGLIB$$c1afc35.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.admin.service.product.impl.ProductUnitServiceImpl$$EnhancerBySpringCGLIB$$ac8cad51.add() + at net.jjjerp.admin.controller.product.base.UnitController.add(UnitController.java:46) + at net.jjjerp.admin.controller.product.base.UnitController$$FastClassBySpringCGLIB$$e31e0dcf.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.AspectJAfterThrowingAdvice.invoke(AspectJAfterThrowingAdvice.java:62) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:88) + at net.jjjerp.framework.log.aop.BaseLogAop.handle(BaseLogAop.java:303) + at net.jjjerp.aop.LogAop.doAround(LogAop.java:35) + at net.jjjerp.aop.LogAop$$FastClassBySpringCGLIB$$189c4aae.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.aop.LogAop$$EnhancerBySpringCGLIB$$546e5155.doAround() + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:644) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:633) + at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.apache.shiro.spring.security.interceptor.AopAllianceAnnotationsAuthorizingMethodInterceptor$1.proceed(AopAllianceAnnotationsAuthorizingMethodInterceptor.java:82) + at org.apache.shiro.authz.aop.AuthorizingMethodInterceptor.invoke(AuthorizingMethodInterceptor.java:39) + at org.apache.shiro.spring.security.interceptor.AopAllianceAnnotationsAuthorizingMethodInterceptor.invoke(AopAllianceAnnotationsAuthorizingMethodInterceptor.java:115) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:95) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at net.jjjerp.admin.controller.product.base.UnitController$$EnhancerBySpringCGLIB$$ad37bfb9.add() + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:652) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:112) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) + at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) + +2024-06-27 11:04:41.887 INFO [SpringContextShutdownHook] [] net.jjjerp.framework.core.xss.XssFilter 30 : XssFilter destroy +2024-06-27 11:04:41.887 INFO [SpringContextShutdownHook] [] n.j.f.core.filter.RequestDetailFilter 116 : RequestDetailFilter destroy +2024-06-27 11:04:41.893 INFO [SpringContextShutdownHook] [] o.s.s.c.ThreadPoolTaskScheduler 218 : Shutting down ExecutorService 'taskScheduler' +2024-06-27 11:04:41.894 INFO [SpringContextShutdownHook] [] o.s.s.concurrent.ThreadPoolTaskExecutor 218 : Shutting down ExecutorService 'applicationTaskExecutor' +2024-06-27 11:04:41.899 INFO [SpringContextShutdownHook] [] com.zaxxer.hikari.HikariDataSource 350 : HikariPool-1 - Shutdown initiated... +2024-06-27 11:04:41.902 INFO [SpringContextShutdownHook] [] com.zaxxer.hikari.HikariDataSource 352 : HikariPool-1 - Shutdown completed. +2024-06-27 11:04:49.176 INFO [background-preinit] [] o.h.validator.internal.util.Version 21 : HV000001: Hibernate Validator 6.1.7.Final +2024-06-27 11:04:49.179 INFO [main] [] net.jjjerp.SpringBootJjjApplication 55 : Starting SpringBootJjjApplication on OS-20230506YKNI with PID 3272 (D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\bootstrap\target\classes started by Administrator in D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp) +2024-06-27 11:04:49.180 INFO [main] [] net.jjjerp.SpringBootJjjApplication 652 : The following profiles are active: prod +2024-06-27 11:04:50.197 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 249 : Multiple Spring Data modules found, entering strict repository configuration mode! +2024-06-27 11:04:50.199 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 127 : Bootstrapping Spring Data Redis repositories in DEFAULT mode. +2024-06-27 11:04:50.324 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 187 : Finished Spring Data repository scanning in 114ms. Found 0 Redis repository interfaces. +2024-06-27 11:04:50.607 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.ShiroConfig' of type [net.jjjerp.config.ShiroConfig$$EnhancerBySpringCGLIB$$8a5f511f] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 11:04:50.698 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.properties.JwtProperties' of type [net.jjjerp.config.properties.JwtProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 11:04:50.700 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.RedisTemplateConfig' of type [net.jjjerp.config.RedisTemplateConfig$$EnhancerBySpringCGLIB$$59c45bc3] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 11:04:50.709 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'spring.redis-org.springframework.boot.autoconfigure.data.redis.RedisProperties' of type [org.springframework.boot.autoconfigure.data.redis.RedisProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 11:04:50.712 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration' of type [org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 11:04:50.767 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'lettuceClientResources' of type [io.lettuce.core.resource.DefaultClientResources] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 11:04:50.857 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'redisConnectionFactory' of type [org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 11:04:50.902 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'redisTemplate' of type [org.springframework.data.redis.core.RedisTemplate] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 11:04:50.903 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.cache.impl.AdminLoginRedisServiceImpl' of type [net.jjjerp.framework.shiro.cache.impl.AdminLoginRedisServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 11:04:50.906 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.cache.impl.ShopLoginRedisServiceImpl' of type [net.jjjerp.framework.shiro.cache.impl.ShopLoginRedisServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 11:04:51.019 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'credentialsMatcher' of type [net.jjjerp.framework.shiro.jwt.JwtCredentialsMatcher] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 11:04:51.026 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'jwtRealm' of type [net.jjjerp.framework.shiro.jwt.JwtRealm] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 11:04:51.027 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'sessionStorageEvaluator' of type [org.apache.shiro.web.mgt.DefaultWebSessionStorageEvaluator] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 11:04:51.027 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'subjectDAO' of type [org.apache.shiro.mgt.DefaultSubjectDAO] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 11:04:51.029 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'securityManager' of type [org.apache.shiro.web.mgt.DefaultWebSecurityManager] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 11:04:51.048 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.service.impl.ShiroLoginServiceImpl' of type [net.jjjerp.framework.shiro.service.impl.ShiroLoginServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 11:04:51.055 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'spring-boot-jjj.shiro-net.jjjerp.config.properties.ShiroProperties' of type [net.jjjerp.config.properties.ShiroProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 11:04:51.144 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'authorizationAttributeSourceAdvisor' of type [org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 11:04:51.268 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.RedisCacheConfig' of type [net.jjjerp.config.RedisCacheConfig$$EnhancerBySpringCGLIB$$f0132c5] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 11:04:51.516 INFO [main] [] o.s.b.w.embedded.tomcat.TomcatWebServer 108 : Tomcat initialized with port(s): 8892 (http) +2024-06-27 11:04:51.530 INFO [main] [] o.a.coyote.http11.Http11NioProtocol 173 : Initializing ProtocolHandler ["http-nio-8892"] +2024-06-27 11:04:51.531 INFO [main] [] o.apache.catalina.core.StandardService 173 : Starting service [Tomcat] +2024-06-27 11:04:51.531 INFO [main] [] org.apache.catalina.core.StandardEngine 173 : Starting Servlet engine: [Apache Tomcat/9.0.46] +2024-06-27 11:04:51.633 INFO [main] [] o.a.c.c.C.[Tomcat].[localhost].[/api] 173 : Initializing Spring embedded WebApplicationContext +2024-06-27 11:04:51.633 INFO [main] [] w.s.c.ServletWebServerApplicationContext 285 : Root WebApplicationContext: initialization completed in 2408 ms +2024-06-27 11:04:51.789 INFO [main] [] net.jjjerp.framework.core.xss.XssFilter 18 : XssFilter init +2024-06-27 11:04:51.790 INFO [main] [] n.j.f.core.filter.RequestDetailFilter 30 : RequestDetailFilter init +2024-06-27 11:04:55.345 INFO [main] [] org.reflections.Reflections 228 : Reflections took 40 ms to scan 1 urls, producing 0 keys and 0 values +2024-06-27 11:04:55.440 INFO [main] [] net.jjjerp.framework.shiro.util.JwtUtil 33 : {"audience":"web","expireSecond":36000,"issuer":"spring-boot-jjj","redisCheck":true,"refreshToken":true,"refreshTokenCountdown":600,"saltCheck":true,"secret":"888888","singleLogin":false,"tokenName":"token"} +2024-06-27 11:04:58.216 INFO [main] [] pertySourcedRequestMappingHandlerMapping 69 : Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2Controller#getDocumentation(String, HttpServletRequest)] +2024-06-27 11:04:58.232 INFO [main] [] net.jjjerp.config.Swagger2Config 149 : swagger scan basePackages:null +2024-06-27 11:04:58.354 INFO [main] [] o.s.s.concurrent.ThreadPoolTaskExecutor 181 : Initializing ExecutorService 'applicationTaskExecutor' +2024-06-27 11:04:58.451 INFO [main] [] o.s.b.a.w.s.WelcomePageHandlerMapping 53 : Adding welcome page: class path resource [static/index.html] +2024-06-27 11:04:58.641 INFO [main] [] o.s.s.c.ThreadPoolTaskScheduler 181 : Initializing ExecutorService 'taskScheduler' +2024-06-27 11:04:58.740 INFO [main] [] o.a.coyote.http11.Http11NioProtocol 173 : Starting ProtocolHandler ["http-nio-8892"] +2024-06-27 11:04:58.760 INFO [main] [] o.s.b.w.embedded.tomcat.TomcatWebServer 220 : Tomcat started on port(s): 8892 (http) with context path '/api' +2024-06-27 11:04:58.760 INFO [main] [] d.s.w.p.DocumentationPluginsBootstrapper 160 : Context refreshed +2024-06-27 11:04:58.766 INFO [main] [] d.s.w.p.DocumentationPluginsBootstrapper 163 : Found 1 custom documentation plugin(s) +2024-06-27 11:04:58.805 INFO [main] [] s.d.s.w.s.ApiListingReferenceScanner 41 : Scanning for api listing references +2024-06-27 11:04:58.934 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_1 +2024-06-27 11:04:58.935 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_1 +2024-06-27 11:04:58.936 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_1 +2024-06-27 11:04:58.955 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_1 +2024-06-27 11:04:58.997 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_2 +2024-06-27 11:04:59.000 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_2 +2024-06-27 11:04:59.004 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_3 +2024-06-27 11:04:59.005 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_3 +2024-06-27 11:04:59.007 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_4 +2024-06-27 11:04:59.009 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_4 +2024-06-27 11:04:59.010 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexOutUsingPOST_1 +2024-06-27 11:04:59.013 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_5 +2024-06-27 11:04:59.020 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_5 +2024-06-27 11:04:59.021 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_2 +2024-06-27 11:04:59.021 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_2 +2024-06-27 11:04:59.036 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_6 +2024-06-27 11:04:59.037 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_7 +2024-06-27 11:04:59.043 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_8 +2024-06-27 11:04:59.052 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_6 +2024-06-27 11:04:59.053 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_3 +2024-06-27 11:04:59.053 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_3 +2024-06-27 11:04:59.061 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_9 +2024-06-27 11:04:59.089 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_10 +2024-06-27 11:04:59.091 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_7 +2024-06-27 11:04:59.092 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_4 +2024-06-27 11:04:59.092 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_4 +2024-06-27 11:04:59.095 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_11 +2024-06-27 11:04:59.099 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_8 +2024-06-27 11:04:59.100 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_5 +2024-06-27 11:04:59.101 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_5 +2024-06-27 11:04:59.105 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_12 +2024-06-27 11:04:59.108 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_9 +2024-06-27 11:04:59.108 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_6 +2024-06-27 11:04:59.109 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_6 +2024-06-27 11:04:59.112 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_13 +2024-06-27 11:04:59.113 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_1 +2024-06-27 11:04:59.114 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_10 +2024-06-27 11:04:59.115 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_7 +2024-06-27 11:04:59.115 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_7 +2024-06-27 11:04:59.118 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_14 +2024-06-27 11:04:59.119 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_11 +2024-06-27 11:04:59.120 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_8 +2024-06-27 11:04:59.120 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_8 +2024-06-27 11:04:59.122 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_15 +2024-06-27 11:04:59.123 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_12 +2024-06-27 11:04:59.125 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_9 +2024-06-27 11:04:59.126 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_9 +2024-06-27 11:04:59.129 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_16 +2024-06-27 11:04:59.130 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_17 +2024-06-27 11:04:59.136 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_13 +2024-06-27 11:04:59.137 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_10 +2024-06-27 11:04:59.140 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_18 +2024-06-27 11:04:59.141 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_1 +2024-06-27 11:04:59.152 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addGroupUsingPOST_1 +2024-06-27 11:04:59.153 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: categoryUsingPOST_1 +2024-06-27 11:04:59.153 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteFilesUsingPOST_1 +2024-06-27 11:04:59.154 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteGroupUsingPOST_1 +2024-06-27 11:04:59.154 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editGroupUsingPOST_1 +2024-06-27 11:04:59.158 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: listsUsingPOST_1 +2024-06-27 11:04:59.158 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: moveFilesUsingPOST_1 +2024-06-27 11:04:59.160 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_19 +2024-06-27 11:04:59.163 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_14 +2024-06-27 11:04:59.165 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_10 +2024-06-27 11:04:59.166 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteFilesUsingPOST_2 +2024-06-27 11:04:59.167 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_11 +2024-06-27 11:04:59.169 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_20 +2024-06-27 11:04:59.173 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: moveFilesUsingPOST_2 +2024-06-27 11:04:59.173 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_21 +2024-06-27 11:04:59.174 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: listUsingPOST_1 +2024-06-27 11:04:59.179 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_22 +2024-06-27 11:04:59.183 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_23 +2024-06-27 11:04:59.187 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_24 +2024-06-27 11:04:59.188 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_25 +2024-06-27 11:04:59.190 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_15 +2024-06-27 11:04:59.190 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_1 +2024-06-27 11:04:59.191 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_12 +2024-06-27 11:04:59.192 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_26 +2024-06-27 11:04:59.193 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: repulseAuditUsingPOST_1 +2024-06-27 11:04:59.195 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_16 +2024-06-27 11:04:59.195 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_11 +2024-06-27 11:04:59.195 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_13 +2024-06-27 11:04:59.199 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_27 +2024-06-27 11:04:59.203 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_17 +2024-06-27 11:04:59.203 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_12 +2024-06-27 11:04:59.204 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_14 +2024-06-27 11:04:59.206 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_28 +2024-06-27 11:04:59.207 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_18 +2024-06-27 11:04:59.208 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_29 +2024-06-27 11:04:59.211 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_30 +2024-06-27 11:04:59.213 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_19 +2024-06-27 11:04:59.214 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_1 +2024-06-27 11:04:59.214 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_31 +2024-06-27 11:04:59.216 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_1 +2024-06-27 11:04:59.217 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_32 +2024-06-27 11:04:59.219 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_20 +2024-06-27 11:04:59.219 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_2 +2024-06-27 11:04:59.220 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_33 +2024-06-27 11:04:59.227 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: loginUsingPOST_1 +2024-06-27 11:04:59.228 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: logoutUsingPOST_1 +2024-06-27 11:04:59.230 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_34 +2024-06-27 11:04:59.232 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_21 +2024-06-27 11:04:59.233 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_13 +2024-06-27 11:04:59.234 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_15 +2024-06-27 11:04:59.234 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_35 +2024-06-27 11:04:59.236 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_2 +2024-06-27 11:04:59.239 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_22 +2024-06-27 11:04:59.240 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_14 +2024-06-27 11:04:59.240 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_16 +2024-06-27 11:04:59.244 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_36 +2024-06-27 11:04:59.245 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: stateUsingPOST_1 +2024-06-27 11:04:59.245 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_1 +2024-06-27 11:04:59.246 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_3 +2024-06-27 11:04:59.247 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_23 +2024-06-27 11:04:59.248 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_2 +2024-06-27 11:04:59.248 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_2 +2024-06-27 11:04:59.250 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_17 +2024-06-27 11:04:59.250 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_37 +2024-06-27 11:04:59.252 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_3 +2024-06-27 11:04:59.253 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_18 +2024-06-27 11:04:59.253 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_38 +2024-06-27 11:04:59.254 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addStorageUsingPOST_1 +2024-06-27 11:04:59.255 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_4 +2024-06-27 11:04:59.256 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_3 +2024-06-27 11:04:59.256 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_19 +2024-06-27 11:04:59.257 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_39 +2024-06-27 11:04:59.258 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_40 +2024-06-27 11:04:59.259 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_24 +2024-06-27 11:04:59.260 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_20 +2024-06-27 11:04:59.261 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_3 +2024-06-27 11:04:59.265 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_25 +2024-06-27 11:04:59.265 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_15 +2024-06-27 11:04:59.265 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_21 +2024-06-27 11:04:59.267 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_41 +2024-06-27 11:04:59.267 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_2 +2024-06-27 11:04:59.268 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_4 +2024-06-27 11:04:59.270 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: scanIndexUsingPOST_1 +2024-06-27 11:04:59.271 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_42 +2024-06-27 11:04:59.271 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_1 +2024-06-27 11:04:59.273 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_26 +2024-06-27 11:04:59.274 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_16 +2024-06-27 11:04:59.274 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_22 +2024-06-27 11:04:59.278 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_43 +2024-06-27 11:04:59.281 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_27 +2024-06-27 11:04:59.281 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_17 +2024-06-27 11:04:59.282 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_23 +2024-06-27 11:04:59.284 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_44 +2024-06-27 11:04:59.284 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_3 +2024-06-27 11:04:59.284 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_5 +2024-06-27 11:04:59.286 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_28 +2024-06-27 11:04:59.287 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_18 +2024-06-27 11:04:59.287 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_24 +2024-06-27 11:04:59.289 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_45 +2024-06-27 11:04:59.290 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_46 +2024-06-27 11:04:59.290 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_2 +2024-06-27 11:04:59.291 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_29 +2024-06-27 11:04:59.292 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_47 +2024-06-27 11:04:59.293 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_48 +2024-06-27 11:04:59.293 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_49 +2024-06-27 11:04:59.294 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_3 +2024-06-27 11:04:59.296 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_30 +2024-06-27 11:04:59.297 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_19 +2024-06-27 11:04:59.297 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_25 +2024-06-27 11:04:59.301 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_50 +2024-06-27 11:04:59.301 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_2 +2024-06-27 11:04:59.302 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_4 +2024-06-27 11:04:59.302 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_6 +2024-06-27 11:04:59.306 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_31 +2024-06-27 11:04:59.306 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_20 +2024-06-27 11:04:59.306 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_26 +2024-06-27 11:04:59.311 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_51 +2024-06-27 11:04:59.312 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_3 +2024-06-27 11:04:59.312 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_7 +2024-06-27 11:04:59.313 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_52 +2024-06-27 11:04:59.313 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_4 +2024-06-27 11:04:59.315 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_32 +2024-06-27 11:04:59.316 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_21 +2024-06-27 11:04:59.316 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_27 +2024-06-27 11:04:59.318 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_53 +2024-06-27 11:04:59.320 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: uploadUsingPOST_1 +2024-06-27 11:04:59.339 INFO [main] [] net.jjjerp.SpringBootJjjApplication 61 : Started SpringBootJjjApplication in 10.656 seconds (JVM running for 11.268) +2024-06-27 11:04:59.342 INFO [main] [] n.j.framework.util.PrintApplicationInfo 61 : projectFinalName : jjj-erp-1.0 +2024-06-27 11:04:59.343 INFO [main] [] n.j.framework.util.PrintApplicationInfo 62 : projectVersion : 1.0 +2024-06-27 11:04:59.343 INFO [main] [] n.j.framework.util.PrintApplicationInfo 63 : profileActive : prod +2024-06-27 11:04:59.343 INFO [main] [] n.j.framework.util.PrintApplicationInfo 64 : contextPath : /api +2024-06-27 11:04:59.343 INFO [main] [] n.j.framework.util.PrintApplicationInfo 65 : serverIp : http://erp3.huadeng.fun +2024-06-27 11:04:59.343 INFO [main] [] n.j.framework.util.PrintApplicationInfo 66 : port : 8892 +2024-06-27 11:04:59.343 INFO [main] [] n.j.framework.util.PrintApplicationInfo 81 : Home: http://erp3.huadeng.fun/api +2024-06-27 11:04:59.343 INFO [main] [] n.j.framework.util.PrintApplicationInfo 82 : Knife4j: http://erp3.huadeng.fun/api/doc.html +2024-06-27 11:04:59.343 INFO [main] [] n.j.framework.util.PrintApplicationInfo 83 : Swagger: http://erp3.huadeng.fun/api/swagger-ui.html +2024-06-27 11:04:59.343 INFO [main] [] n.j.framework.util.PrintApplicationInfo 84 : jjj-erp 启动成功........... + ____ __ __ ____ +/\ _`\ /\ \__ /\ \__ /\ _`\ +\ \,\L\_\ \ ,_\ __ _ __\ \ ,_\ \ \,\L\_\ __ __ ___ ___ __ ____ ____ + \/_\__ \\ \ \/ /'__`\ /\`'__\ \ \/ \/_\__ \ /\ \/\ \ /'___\ /'___\ /'__`\ /',__\ /',__\ + /\ \L\ \ \ \_/\ \L\.\_\ \ \/ \ \ \_ /\ \L\ \ \ \_\ \/\ \__//\ \__//\ __//\__, `\/\__, `\ + \ `\____\ \__\ \__/.\_\\ \_\ \ \__\ \ `\____\ \____/\ \____\ \____\ \____\/\____/\/\____/ + \/_____/\/__/\/__/\/_/ \/_/ \/__/ \/_____/\/___/ \/____/\/____/\/____/\/___/ \/___/ + + +2024-06-27 11:06:50.554 INFO [http-nio-8892-exec-2] [] o.a.c.c.C.[Tomcat].[localhost].[/api] 173 : Initializing Spring DispatcherServlet 'dispatcherServlet' +2024-06-27 11:06:50.554 INFO [http-nio-8892-exec-2] [] o.s.web.servlet.DispatcherServlet 525 : Initializing Servlet 'dispatcherServlet' +2024-06-27 11:06:50.570 INFO [http-nio-8892-exec-2] [] o.s.web.servlet.DispatcherServlet 547 : Completed initialization in 15 ms +2024-06-27 11:06:51.590 INFO [http-nio-8892-exec-2] [1806162248446640130] com.zaxxer.hikari.HikariDataSource 110 : HikariPool-1 - Starting... +2024-06-27 11:06:52.009 INFO [http-nio-8892-exec-2] [1806162248446640130] com.zaxxer.hikari.HikariDataSource 123 : HikariPool-1 - Start completed. +2024-06-27 11:06:52.301 ERROR [http-nio-8892-exec-2] [] n.jjjerp.handler.GlobalExceptionHandler 233 : 异常来源:ip: 127.0.0.1, path: /api/admin/product/base/unit/add +2024-06-27 11:06:52.304 ERROR [http-nio-8892-exec-2] [] n.jjjerp.handler.GlobalExceptionHandler 257 : errorCode: 5000, errorMessage: 系统异常 + +java.lang.NullPointerException: null + at net.jjjerp.admin.service.product.impl.ProductUnitServiceImpl.parseNameByUnit(ProductUnitServiceImpl.java:140) + at net.jjjerp.admin.service.product.impl.ProductUnitServiceImpl.add(ProductUnitServiceImpl.java:99) + at net.jjjerp.admin.service.product.impl.ProductUnitServiceImpl$$FastClassBySpringCGLIB$$c1afc35.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.admin.service.product.impl.ProductUnitServiceImpl$$EnhancerBySpringCGLIB$$ae61978a.add() + at net.jjjerp.admin.controller.product.base.UnitController.add(UnitController.java:46) + at net.jjjerp.admin.controller.product.base.UnitController$$FastClassBySpringCGLIB$$e31e0dcf.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.AspectJAfterThrowingAdvice.invoke(AspectJAfterThrowingAdvice.java:62) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:88) + at net.jjjerp.framework.log.aop.BaseLogAop.handle(BaseLogAop.java:303) + at net.jjjerp.aop.LogAop.doAround(LogAop.java:35) + at net.jjjerp.aop.LogAop$$FastClassBySpringCGLIB$$189c4aae.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.aop.LogAop$$EnhancerBySpringCGLIB$$afb7f6df.doAround() + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:644) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:633) + at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.apache.shiro.spring.security.interceptor.AopAllianceAnnotationsAuthorizingMethodInterceptor$1.proceed(AopAllianceAnnotationsAuthorizingMethodInterceptor.java:82) + at org.apache.shiro.authz.aop.AuthorizingMethodInterceptor.invoke(AuthorizingMethodInterceptor.java:39) + at org.apache.shiro.spring.security.interceptor.AopAllianceAnnotationsAuthorizingMethodInterceptor.invoke(AopAllianceAnnotationsAuthorizingMethodInterceptor.java:115) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:95) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at net.jjjerp.admin.controller.product.base.UnitController$$EnhancerBySpringCGLIB$$d7f77b99.add() + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:652) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:112) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) + at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) + +2024-06-27 11:07:04.608 ERROR [http-nio-8892-exec-1] [] n.jjjerp.handler.GlobalExceptionHandler 233 : 异常来源:ip: 127.0.0.1, path: /api/admin/product/base/unit/add +2024-06-27 11:07:04.609 ERROR [http-nio-8892-exec-1] [] n.jjjerp.handler.GlobalExceptionHandler 257 : errorCode: 5000, errorMessage: 系统异常 + +java.lang.NullPointerException: null + at net.jjjerp.admin.service.product.impl.ProductUnitServiceImpl.parseNameByUnit(ProductUnitServiceImpl.java:140) + at net.jjjerp.admin.service.product.impl.ProductUnitServiceImpl.add(ProductUnitServiceImpl.java:99) + at net.jjjerp.admin.service.product.impl.ProductUnitServiceImpl$$FastClassBySpringCGLIB$$c1afc35.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.admin.service.product.impl.ProductUnitServiceImpl$$EnhancerBySpringCGLIB$$ae61978a.add() + at net.jjjerp.admin.controller.product.base.UnitController.add(UnitController.java:46) + at net.jjjerp.admin.controller.product.base.UnitController$$FastClassBySpringCGLIB$$e31e0dcf.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.AspectJAfterThrowingAdvice.invoke(AspectJAfterThrowingAdvice.java:62) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:88) + at net.jjjerp.framework.log.aop.BaseLogAop.handle(BaseLogAop.java:303) + at net.jjjerp.aop.LogAop.doAround(LogAop.java:35) + at net.jjjerp.aop.LogAop$$FastClassBySpringCGLIB$$189c4aae.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.aop.LogAop$$EnhancerBySpringCGLIB$$afb7f6df.doAround() + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:644) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:633) + at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.apache.shiro.spring.security.interceptor.AopAllianceAnnotationsAuthorizingMethodInterceptor$1.proceed(AopAllianceAnnotationsAuthorizingMethodInterceptor.java:82) + at org.apache.shiro.authz.aop.AuthorizingMethodInterceptor.invoke(AuthorizingMethodInterceptor.java:39) + at org.apache.shiro.spring.security.interceptor.AopAllianceAnnotationsAuthorizingMethodInterceptor.invoke(AopAllianceAnnotationsAuthorizingMethodInterceptor.java:115) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:95) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at net.jjjerp.admin.controller.product.base.UnitController$$EnhancerBySpringCGLIB$$d7f77b99.add() + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:652) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:112) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) + at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) + +2024-06-27 11:07:23.153 INFO [SpringContextShutdownHook] [] net.jjjerp.framework.core.xss.XssFilter 30 : XssFilter destroy +2024-06-27 11:07:23.153 INFO [SpringContextShutdownHook] [] n.j.f.core.filter.RequestDetailFilter 116 : RequestDetailFilter destroy +2024-06-27 11:07:23.159 INFO [SpringContextShutdownHook] [] o.s.s.c.ThreadPoolTaskScheduler 218 : Shutting down ExecutorService 'taskScheduler' +2024-06-27 11:07:23.160 INFO [SpringContextShutdownHook] [] o.s.s.concurrent.ThreadPoolTaskExecutor 218 : Shutting down ExecutorService 'applicationTaskExecutor' +2024-06-27 11:07:23.165 INFO [SpringContextShutdownHook] [] com.zaxxer.hikari.HikariDataSource 350 : HikariPool-1 - Shutdown initiated... +2024-06-27 11:07:23.167 INFO [SpringContextShutdownHook] [] com.zaxxer.hikari.HikariDataSource 352 : HikariPool-1 - Shutdown completed. +2024-06-27 11:07:30.328 INFO [main] [] net.jjjerp.SpringBootJjjApplication 55 : Starting SpringBootJjjApplication on OS-20230506YKNI with PID 7600 (D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\bootstrap\target\classes started by Administrator in D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp) +2024-06-27 11:07:30.325 INFO [background-preinit] [] o.h.validator.internal.util.Version 21 : HV000001: Hibernate Validator 6.1.7.Final +2024-06-27 11:07:30.329 INFO [main] [] net.jjjerp.SpringBootJjjApplication 652 : The following profiles are active: prod +2024-06-27 11:07:31.319 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 249 : Multiple Spring Data modules found, entering strict repository configuration mode! +2024-06-27 11:07:31.320 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 127 : Bootstrapping Spring Data Redis repositories in DEFAULT mode. +2024-06-27 11:07:31.431 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 187 : Finished Spring Data repository scanning in 101ms. Found 0 Redis repository interfaces. +2024-06-27 11:07:31.677 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.ShiroConfig' of type [net.jjjerp.config.ShiroConfig$$EnhancerBySpringCGLIB$$af503df2] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 11:07:31.779 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.properties.JwtProperties' of type [net.jjjerp.config.properties.JwtProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 11:07:31.781 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.RedisTemplateConfig' of type [net.jjjerp.config.RedisTemplateConfig$$EnhancerBySpringCGLIB$$7eb54896] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 11:07:31.792 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'spring.redis-org.springframework.boot.autoconfigure.data.redis.RedisProperties' of type [org.springframework.boot.autoconfigure.data.redis.RedisProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 11:07:31.796 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration' of type [org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 11:07:31.867 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'lettuceClientResources' of type [io.lettuce.core.resource.DefaultClientResources] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 11:07:31.960 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'redisConnectionFactory' of type [org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 11:07:32.004 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'redisTemplate' of type [org.springframework.data.redis.core.RedisTemplate] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 11:07:32.005 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.cache.impl.AdminLoginRedisServiceImpl' of type [net.jjjerp.framework.shiro.cache.impl.AdminLoginRedisServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 11:07:32.009 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.cache.impl.ShopLoginRedisServiceImpl' of type [net.jjjerp.framework.shiro.cache.impl.ShopLoginRedisServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 11:07:32.116 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'credentialsMatcher' of type [net.jjjerp.framework.shiro.jwt.JwtCredentialsMatcher] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 11:07:32.122 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'jwtRealm' of type [net.jjjerp.framework.shiro.jwt.JwtRealm] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 11:07:32.123 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'sessionStorageEvaluator' of type [org.apache.shiro.web.mgt.DefaultWebSessionStorageEvaluator] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 11:07:32.124 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'subjectDAO' of type [org.apache.shiro.mgt.DefaultSubjectDAO] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 11:07:32.125 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'securityManager' of type [org.apache.shiro.web.mgt.DefaultWebSecurityManager] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 11:07:32.144 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.service.impl.ShiroLoginServiceImpl' of type [net.jjjerp.framework.shiro.service.impl.ShiroLoginServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 11:07:32.151 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'spring-boot-jjj.shiro-net.jjjerp.config.properties.ShiroProperties' of type [net.jjjerp.config.properties.ShiroProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 11:07:32.233 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'authorizationAttributeSourceAdvisor' of type [org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 11:07:32.361 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.RedisCacheConfig' of type [net.jjjerp.config.RedisCacheConfig$$EnhancerBySpringCGLIB$$33f21f98] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 11:07:32.602 INFO [main] [] o.s.b.w.embedded.tomcat.TomcatWebServer 108 : Tomcat initialized with port(s): 8892 (http) +2024-06-27 11:07:32.610 INFO [main] [] o.a.coyote.http11.Http11NioProtocol 173 : Initializing ProtocolHandler ["http-nio-8892"] +2024-06-27 11:07:32.610 INFO [main] [] o.apache.catalina.core.StandardService 173 : Starting service [Tomcat] +2024-06-27 11:07:32.610 INFO [main] [] org.apache.catalina.core.StandardEngine 173 : Starting Servlet engine: [Apache Tomcat/9.0.46] +2024-06-27 11:07:32.711 INFO [main] [] o.a.c.c.C.[Tomcat].[localhost].[/api] 173 : Initializing Spring embedded WebApplicationContext +2024-06-27 11:07:32.712 INFO [main] [] w.s.c.ServletWebServerApplicationContext 285 : Root WebApplicationContext: initialization completed in 2330 ms +2024-06-27 11:07:32.851 INFO [main] [] net.jjjerp.framework.core.xss.XssFilter 18 : XssFilter init +2024-06-27 11:07:32.851 INFO [main] [] n.j.f.core.filter.RequestDetailFilter 30 : RequestDetailFilter init +2024-06-27 11:07:36.360 INFO [main] [] org.reflections.Reflections 228 : Reflections took 37 ms to scan 1 urls, producing 0 keys and 0 values +2024-06-27 11:07:36.454 INFO [main] [] net.jjjerp.framework.shiro.util.JwtUtil 33 : {"audience":"web","expireSecond":36000,"issuer":"spring-boot-jjj","redisCheck":true,"refreshToken":true,"refreshTokenCountdown":600,"saltCheck":true,"secret":"888888","singleLogin":false,"tokenName":"token"} +2024-06-27 11:07:39.283 INFO [main] [] pertySourcedRequestMappingHandlerMapping 69 : Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2Controller#getDocumentation(String, HttpServletRequest)] +2024-06-27 11:07:39.303 INFO [main] [] net.jjjerp.config.Swagger2Config 149 : swagger scan basePackages:null +2024-06-27 11:07:39.475 INFO [main] [] o.s.s.concurrent.ThreadPoolTaskExecutor 181 : Initializing ExecutorService 'applicationTaskExecutor' +2024-06-27 11:07:39.574 INFO [main] [] o.s.b.a.w.s.WelcomePageHandlerMapping 53 : Adding welcome page: class path resource [static/index.html] +2024-06-27 11:07:39.750 INFO [main] [] o.s.s.c.ThreadPoolTaskScheduler 181 : Initializing ExecutorService 'taskScheduler' +2024-06-27 11:07:39.847 INFO [main] [] o.a.coyote.http11.Http11NioProtocol 173 : Starting ProtocolHandler ["http-nio-8892"] +2024-06-27 11:07:39.865 INFO [main] [] o.s.b.w.embedded.tomcat.TomcatWebServer 220 : Tomcat started on port(s): 8892 (http) with context path '/api' +2024-06-27 11:07:39.866 INFO [main] [] d.s.w.p.DocumentationPluginsBootstrapper 160 : Context refreshed +2024-06-27 11:07:39.872 INFO [main] [] d.s.w.p.DocumentationPluginsBootstrapper 163 : Found 1 custom documentation plugin(s) +2024-06-27 11:07:39.906 INFO [main] [] s.d.s.w.s.ApiListingReferenceScanner 41 : Scanning for api listing references +2024-06-27 11:07:40.023 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_1 +2024-06-27 11:07:40.024 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_1 +2024-06-27 11:07:40.025 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_1 +2024-06-27 11:07:40.041 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_1 +2024-06-27 11:07:40.076 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_2 +2024-06-27 11:07:40.077 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_2 +2024-06-27 11:07:40.080 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_3 +2024-06-27 11:07:40.081 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_3 +2024-06-27 11:07:40.084 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_4 +2024-06-27 11:07:40.085 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_4 +2024-06-27 11:07:40.086 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexOutUsingPOST_1 +2024-06-27 11:07:40.088 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_5 +2024-06-27 11:07:40.094 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_5 +2024-06-27 11:07:40.094 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_2 +2024-06-27 11:07:40.095 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_2 +2024-06-27 11:07:40.110 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_6 +2024-06-27 11:07:40.111 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_7 +2024-06-27 11:07:40.117 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_8 +2024-06-27 11:07:40.124 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_6 +2024-06-27 11:07:40.125 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_3 +2024-06-27 11:07:40.125 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_3 +2024-06-27 11:07:40.133 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_9 +2024-06-27 11:07:40.160 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_10 +2024-06-27 11:07:40.162 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_7 +2024-06-27 11:07:40.163 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_4 +2024-06-27 11:07:40.163 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_4 +2024-06-27 11:07:40.166 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_11 +2024-06-27 11:07:40.170 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_8 +2024-06-27 11:07:40.171 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_5 +2024-06-27 11:07:40.172 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_5 +2024-06-27 11:07:40.175 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_12 +2024-06-27 11:07:40.178 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_9 +2024-06-27 11:07:40.179 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_6 +2024-06-27 11:07:40.179 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_6 +2024-06-27 11:07:40.183 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_13 +2024-06-27 11:07:40.183 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_1 +2024-06-27 11:07:40.185 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_10 +2024-06-27 11:07:40.185 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_7 +2024-06-27 11:07:40.186 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_7 +2024-06-27 11:07:40.187 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_14 +2024-06-27 11:07:40.189 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_11 +2024-06-27 11:07:40.189 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_8 +2024-06-27 11:07:40.189 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_8 +2024-06-27 11:07:40.191 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_15 +2024-06-27 11:07:40.191 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_12 +2024-06-27 11:07:40.195 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_9 +2024-06-27 11:07:40.195 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_9 +2024-06-27 11:07:40.198 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_16 +2024-06-27 11:07:40.200 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_17 +2024-06-27 11:07:40.205 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_13 +2024-06-27 11:07:40.206 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_10 +2024-06-27 11:07:40.210 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_18 +2024-06-27 11:07:40.212 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_1 +2024-06-27 11:07:40.222 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addGroupUsingPOST_1 +2024-06-27 11:07:40.223 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: categoryUsingPOST_1 +2024-06-27 11:07:40.223 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteFilesUsingPOST_1 +2024-06-27 11:07:40.224 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteGroupUsingPOST_1 +2024-06-27 11:07:40.225 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editGroupUsingPOST_1 +2024-06-27 11:07:40.228 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: listsUsingPOST_1 +2024-06-27 11:07:40.229 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: moveFilesUsingPOST_1 +2024-06-27 11:07:40.230 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_19 +2024-06-27 11:07:40.234 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_20 +2024-06-27 11:07:40.238 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_14 +2024-06-27 11:07:40.239 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_10 +2024-06-27 11:07:40.239 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteFilesUsingPOST_2 +2024-06-27 11:07:40.240 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_11 +2024-06-27 11:07:40.240 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_21 +2024-06-27 11:07:40.241 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: listUsingPOST_1 +2024-06-27 11:07:40.241 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: moveFilesUsingPOST_2 +2024-06-27 11:07:40.242 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_22 +2024-06-27 11:07:40.249 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_23 +2024-06-27 11:07:40.252 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_24 +2024-06-27 11:07:40.253 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_25 +2024-06-27 11:07:40.255 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_15 +2024-06-27 11:07:40.256 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_1 +2024-06-27 11:07:40.257 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_12 +2024-06-27 11:07:40.258 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_26 +2024-06-27 11:07:40.258 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: repulseAuditUsingPOST_1 +2024-06-27 11:07:40.260 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_16 +2024-06-27 11:07:40.261 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_11 +2024-06-27 11:07:40.261 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_13 +2024-06-27 11:07:40.264 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_27 +2024-06-27 11:07:40.267 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_17 +2024-06-27 11:07:40.268 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_12 +2024-06-27 11:07:40.268 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_14 +2024-06-27 11:07:40.270 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_28 +2024-06-27 11:07:40.271 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_18 +2024-06-27 11:07:40.272 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_29 +2024-06-27 11:07:40.276 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_30 +2024-06-27 11:07:40.277 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_19 +2024-06-27 11:07:40.277 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_1 +2024-06-27 11:07:40.278 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_31 +2024-06-27 11:07:40.279 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_1 +2024-06-27 11:07:40.280 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_32 +2024-06-27 11:07:40.281 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_20 +2024-06-27 11:07:40.282 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_2 +2024-06-27 11:07:40.282 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_33 +2024-06-27 11:07:40.291 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: loginUsingPOST_1 +2024-06-27 11:07:40.292 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: logoutUsingPOST_1 +2024-06-27 11:07:40.293 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_34 +2024-06-27 11:07:40.295 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_21 +2024-06-27 11:07:40.296 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_13 +2024-06-27 11:07:40.296 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_15 +2024-06-27 11:07:40.297 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_35 +2024-06-27 11:07:40.298 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_2 +2024-06-27 11:07:40.302 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_22 +2024-06-27 11:07:40.303 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_14 +2024-06-27 11:07:40.303 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_16 +2024-06-27 11:07:40.307 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_36 +2024-06-27 11:07:40.308 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: stateUsingPOST_1 +2024-06-27 11:07:40.308 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_1 +2024-06-27 11:07:40.309 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_3 +2024-06-27 11:07:40.310 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_23 +2024-06-27 11:07:40.311 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_2 +2024-06-27 11:07:40.311 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_2 +2024-06-27 11:07:40.312 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_17 +2024-06-27 11:07:40.312 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_37 +2024-06-27 11:07:40.314 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_3 +2024-06-27 11:07:40.315 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_18 +2024-06-27 11:07:40.315 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_38 +2024-06-27 11:07:40.317 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addStorageUsingPOST_1 +2024-06-27 11:07:40.317 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_4 +2024-06-27 11:07:40.318 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_3 +2024-06-27 11:07:40.319 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_19 +2024-06-27 11:07:40.320 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_39 +2024-06-27 11:07:40.321 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_40 +2024-06-27 11:07:40.323 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_24 +2024-06-27 11:07:40.323 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_20 +2024-06-27 11:07:40.324 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_3 +2024-06-27 11:07:40.327 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_25 +2024-06-27 11:07:40.328 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_15 +2024-06-27 11:07:40.328 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_21 +2024-06-27 11:07:40.329 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_41 +2024-06-27 11:07:40.330 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_2 +2024-06-27 11:07:40.330 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_4 +2024-06-27 11:07:40.332 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: scanIndexUsingPOST_1 +2024-06-27 11:07:40.333 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_42 +2024-06-27 11:07:40.334 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_1 +2024-06-27 11:07:40.337 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_26 +2024-06-27 11:07:40.337 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_16 +2024-06-27 11:07:40.338 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_22 +2024-06-27 11:07:40.342 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_43 +2024-06-27 11:07:40.344 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_27 +2024-06-27 11:07:40.345 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_17 +2024-06-27 11:07:40.345 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_23 +2024-06-27 11:07:40.347 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_44 +2024-06-27 11:07:40.347 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_3 +2024-06-27 11:07:40.348 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_5 +2024-06-27 11:07:40.350 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_28 +2024-06-27 11:07:40.350 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_18 +2024-06-27 11:07:40.351 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_24 +2024-06-27 11:07:40.353 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_45 +2024-06-27 11:07:40.354 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_46 +2024-06-27 11:07:40.354 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_2 +2024-06-27 11:07:40.356 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_29 +2024-06-27 11:07:40.356 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_47 +2024-06-27 11:07:40.357 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_48 +2024-06-27 11:07:40.358 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_49 +2024-06-27 11:07:40.358 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_3 +2024-06-27 11:07:40.361 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_30 +2024-06-27 11:07:40.361 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_19 +2024-06-27 11:07:40.361 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_25 +2024-06-27 11:07:40.365 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_50 +2024-06-27 11:07:40.365 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_2 +2024-06-27 11:07:40.365 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_4 +2024-06-27 11:07:40.366 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_6 +2024-06-27 11:07:40.370 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_31 +2024-06-27 11:07:40.371 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_20 +2024-06-27 11:07:40.371 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_26 +2024-06-27 11:07:40.375 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_51 +2024-06-27 11:07:40.376 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_3 +2024-06-27 11:07:40.376 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_7 +2024-06-27 11:07:40.377 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_52 +2024-06-27 11:07:40.377 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_4 +2024-06-27 11:07:40.379 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_32 +2024-06-27 11:07:40.379 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_21 +2024-06-27 11:07:40.380 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_27 +2024-06-27 11:07:40.381 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_53 +2024-06-27 11:07:40.385 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: uploadUsingPOST_1 +2024-06-27 11:07:40.405 INFO [main] [] net.jjjerp.SpringBootJjjApplication 61 : Started SpringBootJjjApplication in 10.542 seconds (JVM running for 11.108) +2024-06-27 11:07:40.409 INFO [main] [] n.j.framework.util.PrintApplicationInfo 61 : projectFinalName : jjj-erp-1.0 +2024-06-27 11:07:40.409 INFO [main] [] n.j.framework.util.PrintApplicationInfo 62 : projectVersion : 1.0 +2024-06-27 11:07:40.409 INFO [main] [] n.j.framework.util.PrintApplicationInfo 63 : profileActive : prod +2024-06-27 11:07:40.409 INFO [main] [] n.j.framework.util.PrintApplicationInfo 64 : contextPath : /api +2024-06-27 11:07:40.409 INFO [main] [] n.j.framework.util.PrintApplicationInfo 65 : serverIp : http://erp3.huadeng.fun +2024-06-27 11:07:40.409 INFO [main] [] n.j.framework.util.PrintApplicationInfo 66 : port : 8892 +2024-06-27 11:07:40.409 INFO [main] [] n.j.framework.util.PrintApplicationInfo 81 : Home: http://erp3.huadeng.fun/api +2024-06-27 11:07:40.409 INFO [main] [] n.j.framework.util.PrintApplicationInfo 82 : Knife4j: http://erp3.huadeng.fun/api/doc.html +2024-06-27 11:07:40.409 INFO [main] [] n.j.framework.util.PrintApplicationInfo 83 : Swagger: http://erp3.huadeng.fun/api/swagger-ui.html +2024-06-27 11:07:40.409 INFO [main] [] n.j.framework.util.PrintApplicationInfo 84 : jjj-erp 启动成功........... + ____ __ __ ____ +/\ _`\ /\ \__ /\ \__ /\ _`\ +\ \,\L\_\ \ ,_\ __ _ __\ \ ,_\ \ \,\L\_\ __ __ ___ ___ __ ____ ____ + \/_\__ \\ \ \/ /'__`\ /\`'__\ \ \/ \/_\__ \ /\ \/\ \ /'___\ /'___\ /'__`\ /',__\ /',__\ + /\ \L\ \ \ \_/\ \L\.\_\ \ \/ \ \ \_ /\ \L\ \ \ \_\ \/\ \__//\ \__//\ __//\__, `\/\__, `\ + \ `\____\ \__\ \__/.\_\\ \_\ \ \__\ \ `\____\ \____/\ \____\ \____\ \____\/\____/\/\____/ + \/_____/\/__/\/__/\/_/ \/_/ \/__/ \/_____/\/___/ \/____/\/____/\/____/\/___/ \/___/ + + +2024-06-27 11:07:48.445 INFO [http-nio-8892-exec-3] [] o.a.c.c.C.[Tomcat].[localhost].[/api] 173 : Initializing Spring DispatcherServlet 'dispatcherServlet' +2024-06-27 11:07:48.445 INFO [http-nio-8892-exec-3] [] o.s.web.servlet.DispatcherServlet 525 : Initializing Servlet 'dispatcherServlet' +2024-06-27 11:07:48.456 INFO [http-nio-8892-exec-3] [] o.s.web.servlet.DispatcherServlet 547 : Completed initialization in 11 ms +2024-06-27 11:07:49.423 INFO [http-nio-8892-exec-3] [1806162491020038145] com.zaxxer.hikari.HikariDataSource 110 : HikariPool-1 - Starting... +2024-06-27 11:07:49.766 INFO [http-nio-8892-exec-3] [1806162491020038145] com.zaxxer.hikari.HikariDataSource 123 : HikariPool-1 - Start completed. +2024-06-27 11:09:16.055 INFO [SpringContextShutdownHook] [] net.jjjerp.framework.core.xss.XssFilter 30 : XssFilter destroy +2024-06-27 11:09:16.055 INFO [SpringContextShutdownHook] [] n.j.f.core.filter.RequestDetailFilter 116 : RequestDetailFilter destroy +2024-06-27 11:09:16.088 INFO [SpringContextShutdownHook] [] o.s.s.c.ThreadPoolTaskScheduler 218 : Shutting down ExecutorService 'taskScheduler' +2024-06-27 11:09:16.089 INFO [SpringContextShutdownHook] [] o.s.s.concurrent.ThreadPoolTaskExecutor 218 : Shutting down ExecutorService 'applicationTaskExecutor' +2024-06-27 11:09:16.094 INFO [SpringContextShutdownHook] [] com.zaxxer.hikari.HikariDataSource 350 : HikariPool-1 - Shutdown initiated... +2024-06-27 11:09:16.097 INFO [SpringContextShutdownHook] [] com.zaxxer.hikari.HikariDataSource 352 : HikariPool-1 - Shutdown completed. +2024-06-27 11:09:23.344 INFO [background-preinit] [] o.h.validator.internal.util.Version 21 : HV000001: Hibernate Validator 6.1.7.Final +2024-06-27 11:09:23.348 INFO [main] [] net.jjjerp.SpringBootJjjApplication 55 : Starting SpringBootJjjApplication on OS-20230506YKNI with PID 5984 (D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\bootstrap\target\classes started by Administrator in D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp) +2024-06-27 11:09:23.349 INFO [main] [] net.jjjerp.SpringBootJjjApplication 652 : The following profiles are active: prod +2024-06-27 11:09:24.483 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 249 : Multiple Spring Data modules found, entering strict repository configuration mode! +2024-06-27 11:09:24.485 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 127 : Bootstrapping Spring Data Redis repositories in DEFAULT mode. +2024-06-27 11:09:24.606 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 187 : Finished Spring Data repository scanning in 111ms. Found 0 Redis repository interfaces. +2024-06-27 11:09:24.880 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.ShiroConfig' of type [net.jjjerp.config.ShiroConfig$$EnhancerBySpringCGLIB$$f7a871e6] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 11:09:24.969 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.properties.JwtProperties' of type [net.jjjerp.config.properties.JwtProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 11:09:24.970 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.RedisTemplateConfig' of type [net.jjjerp.config.RedisTemplateConfig$$EnhancerBySpringCGLIB$$c70d7c8a] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 11:09:24.978 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'spring.redis-org.springframework.boot.autoconfigure.data.redis.RedisProperties' of type [org.springframework.boot.autoconfigure.data.redis.RedisProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 11:09:24.980 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration' of type [org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 11:09:25.033 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'lettuceClientResources' of type [io.lettuce.core.resource.DefaultClientResources] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 11:09:25.126 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'redisConnectionFactory' of type [org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 11:09:25.170 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'redisTemplate' of type [org.springframework.data.redis.core.RedisTemplate] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 11:09:25.170 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.cache.impl.AdminLoginRedisServiceImpl' of type [net.jjjerp.framework.shiro.cache.impl.AdminLoginRedisServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 11:09:25.174 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.cache.impl.ShopLoginRedisServiceImpl' of type [net.jjjerp.framework.shiro.cache.impl.ShopLoginRedisServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 11:09:25.282 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'credentialsMatcher' of type [net.jjjerp.framework.shiro.jwt.JwtCredentialsMatcher] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 11:09:25.290 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'jwtRealm' of type [net.jjjerp.framework.shiro.jwt.JwtRealm] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 11:09:25.290 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'sessionStorageEvaluator' of type [org.apache.shiro.web.mgt.DefaultWebSessionStorageEvaluator] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 11:09:25.291 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'subjectDAO' of type [org.apache.shiro.mgt.DefaultSubjectDAO] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 11:09:25.293 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'securityManager' of type [org.apache.shiro.web.mgt.DefaultWebSecurityManager] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 11:09:25.311 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.service.impl.ShiroLoginServiceImpl' of type [net.jjjerp.framework.shiro.service.impl.ShiroLoginServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 11:09:25.319 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'spring-boot-jjj.shiro-net.jjjerp.config.properties.ShiroProperties' of type [net.jjjerp.config.properties.ShiroProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 11:09:25.400 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'authorizationAttributeSourceAdvisor' of type [org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 11:09:25.524 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.RedisCacheConfig' of type [net.jjjerp.config.RedisCacheConfig$$EnhancerBySpringCGLIB$$7c4a538c] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 11:09:25.770 INFO [main] [] o.s.b.w.embedded.tomcat.TomcatWebServer 108 : Tomcat initialized with port(s): 8892 (http) +2024-06-27 11:09:25.778 INFO [main] [] o.a.coyote.http11.Http11NioProtocol 173 : Initializing ProtocolHandler ["http-nio-8892"] +2024-06-27 11:09:25.778 INFO [main] [] o.apache.catalina.core.StandardService 173 : Starting service [Tomcat] +2024-06-27 11:09:25.778 INFO [main] [] org.apache.catalina.core.StandardEngine 173 : Starting Servlet engine: [Apache Tomcat/9.0.46] +2024-06-27 11:09:25.867 INFO [main] [] o.a.c.c.C.[Tomcat].[localhost].[/api] 173 : Initializing Spring embedded WebApplicationContext +2024-06-27 11:09:25.867 INFO [main] [] w.s.c.ServletWebServerApplicationContext 285 : Root WebApplicationContext: initialization completed in 2475 ms +2024-06-27 11:09:26.026 INFO [main] [] net.jjjerp.framework.core.xss.XssFilter 18 : XssFilter init +2024-06-27 11:09:26.026 INFO [main] [] n.j.f.core.filter.RequestDetailFilter 30 : RequestDetailFilter init +2024-06-27 11:09:29.720 INFO [main] [] org.reflections.Reflections 228 : Reflections took 37 ms to scan 1 urls, producing 0 keys and 0 values +2024-06-27 11:09:29.817 INFO [main] [] net.jjjerp.framework.shiro.util.JwtUtil 33 : {"audience":"web","expireSecond":36000,"issuer":"spring-boot-jjj","redisCheck":true,"refreshToken":true,"refreshTokenCountdown":600,"saltCheck":true,"secret":"888888","singleLogin":false,"tokenName":"token"} +2024-06-27 11:09:32.991 INFO [main] [] pertySourcedRequestMappingHandlerMapping 69 : Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2Controller#getDocumentation(String, HttpServletRequest)] +2024-06-27 11:09:33.010 INFO [main] [] net.jjjerp.config.Swagger2Config 149 : swagger scan basePackages:null +2024-06-27 11:09:33.149 INFO [main] [] o.s.s.concurrent.ThreadPoolTaskExecutor 181 : Initializing ExecutorService 'applicationTaskExecutor' +2024-06-27 11:09:33.232 INFO [main] [] o.s.b.a.w.s.WelcomePageHandlerMapping 53 : Adding welcome page: class path resource [static/index.html] +2024-06-27 11:09:33.412 INFO [main] [] o.s.s.c.ThreadPoolTaskScheduler 181 : Initializing ExecutorService 'taskScheduler' +2024-06-27 11:09:33.522 INFO [main] [] o.a.coyote.http11.Http11NioProtocol 173 : Starting ProtocolHandler ["http-nio-8892"] +2024-06-27 11:09:33.544 INFO [main] [] o.s.b.w.embedded.tomcat.TomcatWebServer 220 : Tomcat started on port(s): 8892 (http) with context path '/api' +2024-06-27 11:09:33.545 INFO [main] [] d.s.w.p.DocumentationPluginsBootstrapper 160 : Context refreshed +2024-06-27 11:09:33.552 INFO [main] [] d.s.w.p.DocumentationPluginsBootstrapper 163 : Found 1 custom documentation plugin(s) +2024-06-27 11:09:33.594 INFO [main] [] s.d.s.w.s.ApiListingReferenceScanner 41 : Scanning for api listing references +2024-06-27 11:09:33.735 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_1 +2024-06-27 11:09:33.736 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_1 +2024-06-27 11:09:33.737 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_1 +2024-06-27 11:09:33.754 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_1 +2024-06-27 11:09:33.789 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_2 +2024-06-27 11:09:33.790 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_2 +2024-06-27 11:09:33.793 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_3 +2024-06-27 11:09:33.794 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_3 +2024-06-27 11:09:33.797 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_4 +2024-06-27 11:09:33.798 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_4 +2024-06-27 11:09:33.798 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexOutUsingPOST_1 +2024-06-27 11:09:33.801 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_5 +2024-06-27 11:09:33.807 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_5 +2024-06-27 11:09:33.808 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_2 +2024-06-27 11:09:33.809 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_2 +2024-06-27 11:09:33.823 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_6 +2024-06-27 11:09:33.824 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_7 +2024-06-27 11:09:33.829 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_8 +2024-06-27 11:09:33.859 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_6 +2024-06-27 11:09:33.861 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_3 +2024-06-27 11:09:33.861 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_3 +2024-06-27 11:09:33.869 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_9 +2024-06-27 11:09:33.873 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_10 +2024-06-27 11:09:33.875 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_7 +2024-06-27 11:09:33.875 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_4 +2024-06-27 11:09:33.876 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_4 +2024-06-27 11:09:33.879 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_11 +2024-06-27 11:09:33.883 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_8 +2024-06-27 11:09:33.884 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_5 +2024-06-27 11:09:33.885 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_5 +2024-06-27 11:09:33.888 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_12 +2024-06-27 11:09:33.891 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_9 +2024-06-27 11:09:33.891 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_6 +2024-06-27 11:09:33.892 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_6 +2024-06-27 11:09:33.896 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_13 +2024-06-27 11:09:33.896 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_1 +2024-06-27 11:09:33.898 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_10 +2024-06-27 11:09:33.898 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_7 +2024-06-27 11:09:33.899 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_7 +2024-06-27 11:09:33.900 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_14 +2024-06-27 11:09:33.901 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_11 +2024-06-27 11:09:33.902 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_8 +2024-06-27 11:09:33.902 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_8 +2024-06-27 11:09:33.903 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_15 +2024-06-27 11:09:33.904 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_12 +2024-06-27 11:09:33.907 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_9 +2024-06-27 11:09:33.908 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_9 +2024-06-27 11:09:33.911 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_16 +2024-06-27 11:09:33.913 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_17 +2024-06-27 11:09:33.918 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_13 +2024-06-27 11:09:33.919 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_10 +2024-06-27 11:09:33.922 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_18 +2024-06-27 11:09:33.923 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_1 +2024-06-27 11:09:33.933 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addGroupUsingPOST_1 +2024-06-27 11:09:33.934 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: categoryUsingPOST_1 +2024-06-27 11:09:33.934 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteFilesUsingPOST_1 +2024-06-27 11:09:33.934 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteGroupUsingPOST_1 +2024-06-27 11:09:33.935 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editGroupUsingPOST_1 +2024-06-27 11:09:33.938 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: listsUsingPOST_1 +2024-06-27 11:09:33.939 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: moveFilesUsingPOST_1 +2024-06-27 11:09:33.940 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_19 +2024-06-27 11:09:33.945 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_20 +2024-06-27 11:09:33.950 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_14 +2024-06-27 11:09:33.950 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_10 +2024-06-27 11:09:33.951 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteFilesUsingPOST_2 +2024-06-27 11:09:33.951 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_11 +2024-06-27 11:09:33.952 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_21 +2024-06-27 11:09:33.952 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: listUsingPOST_1 +2024-06-27 11:09:33.953 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: moveFilesUsingPOST_2 +2024-06-27 11:09:33.958 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_22 +2024-06-27 11:09:33.961 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_23 +2024-06-27 11:09:33.965 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_24 +2024-06-27 11:09:33.966 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_25 +2024-06-27 11:09:33.968 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_15 +2024-06-27 11:09:33.969 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_1 +2024-06-27 11:09:33.970 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_12 +2024-06-27 11:09:33.971 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_26 +2024-06-27 11:09:33.972 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: repulseAuditUsingPOST_1 +2024-06-27 11:09:33.974 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_16 +2024-06-27 11:09:33.974 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_11 +2024-06-27 11:09:33.975 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_13 +2024-06-27 11:09:33.978 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_27 +2024-06-27 11:09:33.982 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_17 +2024-06-27 11:09:33.982 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_12 +2024-06-27 11:09:33.983 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_14 +2024-06-27 11:09:33.985 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_28 +2024-06-27 11:09:33.986 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_18 +2024-06-27 11:09:33.987 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_29 +2024-06-27 11:09:33.991 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_30 +2024-06-27 11:09:33.993 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_19 +2024-06-27 11:09:33.993 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_1 +2024-06-27 11:09:33.994 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_31 +2024-06-27 11:09:33.995 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_1 +2024-06-27 11:09:33.996 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_32 +2024-06-27 11:09:33.997 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_20 +2024-06-27 11:09:33.998 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_2 +2024-06-27 11:09:33.998 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_33 +2024-06-27 11:09:34.007 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: loginUsingPOST_1 +2024-06-27 11:09:34.007 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: logoutUsingPOST_1 +2024-06-27 11:09:34.008 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_34 +2024-06-27 11:09:34.010 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_21 +2024-06-27 11:09:34.011 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_13 +2024-06-27 11:09:34.011 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_15 +2024-06-27 11:09:34.012 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_35 +2024-06-27 11:09:34.013 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_2 +2024-06-27 11:09:34.017 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_22 +2024-06-27 11:09:34.018 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_14 +2024-06-27 11:09:34.018 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_16 +2024-06-27 11:09:34.023 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_36 +2024-06-27 11:09:34.023 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: stateUsingPOST_1 +2024-06-27 11:09:34.024 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_1 +2024-06-27 11:09:34.024 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_3 +2024-06-27 11:09:34.025 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_23 +2024-06-27 11:09:34.026 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_2 +2024-06-27 11:09:34.026 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_2 +2024-06-27 11:09:34.028 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_17 +2024-06-27 11:09:34.028 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_37 +2024-06-27 11:09:34.030 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_3 +2024-06-27 11:09:34.031 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_18 +2024-06-27 11:09:34.031 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_38 +2024-06-27 11:09:34.032 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addStorageUsingPOST_1 +2024-06-27 11:09:34.033 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_4 +2024-06-27 11:09:34.034 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_3 +2024-06-27 11:09:34.035 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_19 +2024-06-27 11:09:34.035 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_39 +2024-06-27 11:09:34.037 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_40 +2024-06-27 11:09:34.038 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_24 +2024-06-27 11:09:34.039 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_20 +2024-06-27 11:09:34.039 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_3 +2024-06-27 11:09:34.041 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_25 +2024-06-27 11:09:34.042 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_15 +2024-06-27 11:09:34.042 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_21 +2024-06-27 11:09:34.043 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_41 +2024-06-27 11:09:34.045 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_2 +2024-06-27 11:09:34.045 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_4 +2024-06-27 11:09:34.048 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: scanIndexUsingPOST_1 +2024-06-27 11:09:34.049 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_42 +2024-06-27 11:09:34.050 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_1 +2024-06-27 11:09:34.052 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_26 +2024-06-27 11:09:34.052 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_16 +2024-06-27 11:09:34.053 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_22 +2024-06-27 11:09:34.057 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_43 +2024-06-27 11:09:34.060 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_27 +2024-06-27 11:09:34.061 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_17 +2024-06-27 11:09:34.061 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_23 +2024-06-27 11:09:34.063 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_44 +2024-06-27 11:09:34.063 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_3 +2024-06-27 11:09:34.064 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_5 +2024-06-27 11:09:34.066 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_28 +2024-06-27 11:09:34.066 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_18 +2024-06-27 11:09:34.067 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_24 +2024-06-27 11:09:34.069 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_45 +2024-06-27 11:09:34.070 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_46 +2024-06-27 11:09:34.070 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_2 +2024-06-27 11:09:34.071 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_29 +2024-06-27 11:09:34.072 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_47 +2024-06-27 11:09:34.073 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_48 +2024-06-27 11:09:34.073 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_49 +2024-06-27 11:09:34.073 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_3 +2024-06-27 11:09:34.076 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_30 +2024-06-27 11:09:34.077 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_19 +2024-06-27 11:09:34.077 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_25 +2024-06-27 11:09:34.081 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_50 +2024-06-27 11:09:34.081 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_2 +2024-06-27 11:09:34.082 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_4 +2024-06-27 11:09:34.082 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_6 +2024-06-27 11:09:34.086 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_31 +2024-06-27 11:09:34.086 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_20 +2024-06-27 11:09:34.087 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_26 +2024-06-27 11:09:34.091 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_51 +2024-06-27 11:09:34.092 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_3 +2024-06-27 11:09:34.092 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_7 +2024-06-27 11:09:34.093 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_52 +2024-06-27 11:09:34.093 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_4 +2024-06-27 11:09:34.095 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_32 +2024-06-27 11:09:34.096 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_21 +2024-06-27 11:09:34.096 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_27 +2024-06-27 11:09:34.098 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_53 +2024-06-27 11:09:34.101 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: uploadUsingPOST_1 +2024-06-27 11:09:34.120 INFO [main] [] net.jjjerp.SpringBootJjjApplication 61 : Started SpringBootJjjApplication in 11.239 seconds (JVM running for 11.803) +2024-06-27 11:09:34.123 INFO [main] [] n.j.framework.util.PrintApplicationInfo 61 : projectFinalName : jjj-erp-1.0 +2024-06-27 11:09:34.123 INFO [main] [] n.j.framework.util.PrintApplicationInfo 62 : projectVersion : 1.0 +2024-06-27 11:09:34.123 INFO [main] [] n.j.framework.util.PrintApplicationInfo 63 : profileActive : prod +2024-06-27 11:09:34.123 INFO [main] [] n.j.framework.util.PrintApplicationInfo 64 : contextPath : /api +2024-06-27 11:09:34.123 INFO [main] [] n.j.framework.util.PrintApplicationInfo 65 : serverIp : http://erp3.huadeng.fun +2024-06-27 11:09:34.123 INFO [main] [] n.j.framework.util.PrintApplicationInfo 66 : port : 8892 +2024-06-27 11:09:34.123 INFO [main] [] n.j.framework.util.PrintApplicationInfo 81 : Home: http://erp3.huadeng.fun/api +2024-06-27 11:09:34.123 INFO [main] [] n.j.framework.util.PrintApplicationInfo 82 : Knife4j: http://erp3.huadeng.fun/api/doc.html +2024-06-27 11:09:34.123 INFO [main] [] n.j.framework.util.PrintApplicationInfo 83 : Swagger: http://erp3.huadeng.fun/api/swagger-ui.html +2024-06-27 11:09:34.123 INFO [main] [] n.j.framework.util.PrintApplicationInfo 84 : jjj-erp 启动成功........... + ____ __ __ ____ +/\ _`\ /\ \__ /\ \__ /\ _`\ +\ \,\L\_\ \ ,_\ __ _ __\ \ ,_\ \ \,\L\_\ __ __ ___ ___ __ ____ ____ + \/_\__ \\ \ \/ /'__`\ /\`'__\ \ \/ \/_\__ \ /\ \/\ \ /'___\ /'___\ /'__`\ /',__\ /',__\ + /\ \L\ \ \ \_/\ \L\.\_\ \ \/ \ \ \_ /\ \L\ \ \ \_\ \/\ \__//\ \__//\ __//\__, `\/\__, `\ + \ `\____\ \__\ \__/.\_\\ \_\ \ \__\ \ `\____\ \____/\ \____\ \____\ \____\/\____/\/\____/ + \/_____/\/__/\/__/\/_/ \/_/ \/__/ \/_____/\/___/ \/____/\/____/\/____/\/___/ \/___/ + + +2024-06-27 11:10:00.985 INFO [http-nio-8892-exec-2] [] o.a.c.c.C.[Tomcat].[localhost].[/api] 173 : Initializing Spring DispatcherServlet 'dispatcherServlet' +2024-06-27 11:10:00.985 INFO [http-nio-8892-exec-2] [] o.s.web.servlet.DispatcherServlet 525 : Initializing Servlet 'dispatcherServlet' +2024-06-27 11:10:00.994 INFO [http-nio-8892-exec-2] [] o.s.web.servlet.DispatcherServlet 547 : Completed initialization in 9 ms +2024-06-27 11:10:02.758 INFO [http-nio-8892-exec-2] [1806163050376617985] com.zaxxer.hikari.HikariDataSource 110 : HikariPool-1 - Starting... +2024-06-27 11:10:03.150 INFO [http-nio-8892-exec-2] [1806163050376617985] com.zaxxer.hikari.HikariDataSource 123 : HikariPool-1 - Start completed. +2024-06-27 11:18:10.314 ERROR [http-nio-8892-exec-1] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy405.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-27 11:18:10.353 ERROR [http-nio-8892-exec-4] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy405.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-27 11:18:19.580 INFO [lettuce-eventExecutorLoop-1-5] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was /101.34.74.68:6379 +2024-06-27 11:18:19.608 INFO [lettuce-nioEventLoop-4-2] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to 101.34.74.68:6379 +2024-06-27 11:18:25.158 WARN [http-nio-8892-exec-5] [1806165136526958593] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@3bb43307 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-27 11:18:25.329 WARN [http-nio-8892-exec-6] [1806165136594067458] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@58197e1f (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-27 11:18:30.164 WARN [http-nio-8892-exec-5] [1806165136526958593] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@7a1001d9 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-27 11:18:30.335 WARN [http-nio-8892-exec-6] [1806165136594067458] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@73ab1271 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-27 11:18:35.172 WARN [http-nio-8892-exec-5] [1806165136526958593] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@2a13d259 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-27 11:18:35.345 WARN [http-nio-8892-exec-6] [1806165136594067458] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@6c54ac80 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-27 11:18:40.173 WARN [http-nio-8892-exec-5] [1806165136526958593] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@2f5e2ba5 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-27 11:18:40.360 WARN [http-nio-8892-exec-6] [1806165136594067458] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@5057b529 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-27 11:18:45.180 WARN [http-nio-8892-exec-5] [1806165136526958593] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@335069c3 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-27 11:18:45.369 WARN [http-nio-8892-exec-6] [1806165136594067458] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@432dd0ba (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-27 11:26:12.717 ERROR [http-nio-8892-exec-9] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy405.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-27 11:26:21.976 INFO [lettuce-eventExecutorLoop-1-4] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was /101.34.74.68:6379 +2024-06-27 11:26:21.998 INFO [lettuce-nioEventLoop-4-3] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to 101.34.74.68:6379 +2024-06-27 11:26:42.383 INFO [SpringContextShutdownHook] [] net.jjjerp.framework.core.xss.XssFilter 30 : XssFilter destroy +2024-06-27 11:26:42.383 INFO [SpringContextShutdownHook] [] n.j.f.core.filter.RequestDetailFilter 116 : RequestDetailFilter destroy +2024-06-27 11:26:42.391 INFO [SpringContextShutdownHook] [] o.s.s.c.ThreadPoolTaskScheduler 218 : Shutting down ExecutorService 'taskScheduler' +2024-06-27 11:26:42.392 INFO [SpringContextShutdownHook] [] o.s.s.concurrent.ThreadPoolTaskExecutor 218 : Shutting down ExecutorService 'applicationTaskExecutor' +2024-06-27 11:26:42.397 INFO [SpringContextShutdownHook] [] com.zaxxer.hikari.HikariDataSource 350 : HikariPool-1 - Shutdown initiated... +2024-06-27 11:26:42.400 INFO [SpringContextShutdownHook] [] com.zaxxer.hikari.HikariDataSource 352 : HikariPool-1 - Shutdown completed. +2024-06-27 11:26:49.681 INFO [background-preinit] [] o.h.validator.internal.util.Version 21 : HV000001: Hibernate Validator 6.1.7.Final +2024-06-27 11:26:49.686 INFO [main] [] net.jjjerp.SpringBootJjjApplication 55 : Starting SpringBootJjjApplication on OS-20230506YKNI with PID 9864 (D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\bootstrap\target\classes started by Administrator in D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp) +2024-06-27 11:26:49.686 INFO [main] [] net.jjjerp.SpringBootJjjApplication 652 : The following profiles are active: prod +2024-06-27 11:26:50.713 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 249 : Multiple Spring Data modules found, entering strict repository configuration mode! +2024-06-27 11:26:50.715 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 127 : Bootstrapping Spring Data Redis repositories in DEFAULT mode. +2024-06-27 11:26:50.831 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 187 : Finished Spring Data repository scanning in 107ms. Found 0 Redis repository interfaces. +2024-06-27 11:26:51.104 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.ShiroConfig' of type [net.jjjerp.config.ShiroConfig$$EnhancerBySpringCGLIB$$40844134] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 11:26:51.210 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.properties.JwtProperties' of type [net.jjjerp.config.properties.JwtProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 11:26:51.212 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.RedisTemplateConfig' of type [net.jjjerp.config.RedisTemplateConfig$$EnhancerBySpringCGLIB$$fe94bd8] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 11:26:51.221 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'spring.redis-org.springframework.boot.autoconfigure.data.redis.RedisProperties' of type [org.springframework.boot.autoconfigure.data.redis.RedisProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 11:26:51.224 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration' of type [org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 11:26:51.283 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'lettuceClientResources' of type [io.lettuce.core.resource.DefaultClientResources] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 11:26:51.379 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'redisConnectionFactory' of type [org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 11:26:51.422 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'redisTemplate' of type [org.springframework.data.redis.core.RedisTemplate] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 11:26:51.423 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.cache.impl.AdminLoginRedisServiceImpl' of type [net.jjjerp.framework.shiro.cache.impl.AdminLoginRedisServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 11:26:51.426 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.cache.impl.ShopLoginRedisServiceImpl' of type [net.jjjerp.framework.shiro.cache.impl.ShopLoginRedisServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 11:26:51.536 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'credentialsMatcher' of type [net.jjjerp.framework.shiro.jwt.JwtCredentialsMatcher] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 11:26:51.543 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'jwtRealm' of type [net.jjjerp.framework.shiro.jwt.JwtRealm] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 11:26:51.543 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'sessionStorageEvaluator' of type [org.apache.shiro.web.mgt.DefaultWebSessionStorageEvaluator] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 11:26:51.544 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'subjectDAO' of type [org.apache.shiro.mgt.DefaultSubjectDAO] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 11:26:51.546 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'securityManager' of type [org.apache.shiro.web.mgt.DefaultWebSecurityManager] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 11:26:51.564 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.service.impl.ShiroLoginServiceImpl' of type [net.jjjerp.framework.shiro.service.impl.ShiroLoginServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 11:26:51.572 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'spring-boot-jjj.shiro-net.jjjerp.config.properties.ShiroProperties' of type [net.jjjerp.config.properties.ShiroProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 11:26:51.656 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'authorizationAttributeSourceAdvisor' of type [org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 11:26:51.786 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.RedisCacheConfig' of type [net.jjjerp.config.RedisCacheConfig$$EnhancerBySpringCGLIB$$c52622da] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 11:26:52.082 INFO [main] [] o.s.b.w.embedded.tomcat.TomcatWebServer 108 : Tomcat initialized with port(s): 8892 (http) +2024-06-27 11:26:52.093 INFO [main] [] o.a.coyote.http11.Http11NioProtocol 173 : Initializing ProtocolHandler ["http-nio-8892"] +2024-06-27 11:26:52.093 INFO [main] [] o.apache.catalina.core.StandardService 173 : Starting service [Tomcat] +2024-06-27 11:26:52.093 INFO [main] [] org.apache.catalina.core.StandardEngine 173 : Starting Servlet engine: [Apache Tomcat/9.0.46] +2024-06-27 11:26:52.194 INFO [main] [] o.a.c.c.C.[Tomcat].[localhost].[/api] 173 : Initializing Spring embedded WebApplicationContext +2024-06-27 11:26:52.195 INFO [main] [] w.s.c.ServletWebServerApplicationContext 285 : Root WebApplicationContext: initialization completed in 2459 ms +2024-06-27 11:26:52.348 INFO [main] [] net.jjjerp.framework.core.xss.XssFilter 18 : XssFilter init +2024-06-27 11:26:52.349 INFO [main] [] n.j.f.core.filter.RequestDetailFilter 30 : RequestDetailFilter init +2024-06-27 11:26:56.238 INFO [main] [] org.reflections.Reflections 228 : Reflections took 39 ms to scan 1 urls, producing 0 keys and 0 values +2024-06-27 11:26:56.337 INFO [main] [] net.jjjerp.framework.shiro.util.JwtUtil 33 : {"audience":"web","expireSecond":36000,"issuer":"spring-boot-jjj","redisCheck":true,"refreshToken":true,"refreshTokenCountdown":600,"saltCheck":true,"secret":"888888","singleLogin":false,"tokenName":"token"} +2024-06-27 11:26:59.409 INFO [main] [] pertySourcedRequestMappingHandlerMapping 69 : Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2Controller#getDocumentation(String, HttpServletRequest)] +2024-06-27 11:26:59.425 INFO [main] [] net.jjjerp.config.Swagger2Config 149 : swagger scan basePackages:null +2024-06-27 11:26:59.564 INFO [main] [] o.s.s.concurrent.ThreadPoolTaskExecutor 181 : Initializing ExecutorService 'applicationTaskExecutor' +2024-06-27 11:26:59.673 INFO [main] [] o.s.b.a.w.s.WelcomePageHandlerMapping 53 : Adding welcome page: class path resource [static/index.html] +2024-06-27 11:26:59.863 INFO [main] [] o.s.s.c.ThreadPoolTaskScheduler 181 : Initializing ExecutorService 'taskScheduler' +2024-06-27 11:26:59.974 INFO [main] [] o.a.coyote.http11.Http11NioProtocol 173 : Starting ProtocolHandler ["http-nio-8892"] +2024-06-27 11:26:59.999 INFO [main] [] o.s.b.w.embedded.tomcat.TomcatWebServer 220 : Tomcat started on port(s): 8892 (http) with context path '/api' +2024-06-27 11:27:00.000 INFO [main] [] d.s.w.p.DocumentationPluginsBootstrapper 160 : Context refreshed +2024-06-27 11:27:00.008 INFO [main] [] d.s.w.p.DocumentationPluginsBootstrapper 163 : Found 1 custom documentation plugin(s) +2024-06-27 11:27:00.052 INFO [main] [] s.d.s.w.s.ApiListingReferenceScanner 41 : Scanning for api listing references +2024-06-27 11:27:00.169 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_1 +2024-06-27 11:27:00.171 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_1 +2024-06-27 11:27:00.172 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_1 +2024-06-27 11:27:00.191 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_1 +2024-06-27 11:27:00.225 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_2 +2024-06-27 11:27:00.227 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_2 +2024-06-27 11:27:00.230 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_3 +2024-06-27 11:27:00.231 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_3 +2024-06-27 11:27:00.233 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_4 +2024-06-27 11:27:00.234 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_4 +2024-06-27 11:27:00.235 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexOutUsingPOST_1 +2024-06-27 11:27:00.238 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_5 +2024-06-27 11:27:00.243 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_5 +2024-06-27 11:27:00.244 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_2 +2024-06-27 11:27:00.245 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_2 +2024-06-27 11:27:00.259 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_6 +2024-06-27 11:27:00.261 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_7 +2024-06-27 11:27:00.267 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_8 +2024-06-27 11:27:00.276 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_6 +2024-06-27 11:27:00.276 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_3 +2024-06-27 11:27:00.277 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_3 +2024-06-27 11:27:00.286 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_9 +2024-06-27 11:27:00.314 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_10 +2024-06-27 11:27:00.316 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_7 +2024-06-27 11:27:00.317 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_4 +2024-06-27 11:27:00.318 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_4 +2024-06-27 11:27:00.320 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_11 +2024-06-27 11:27:00.325 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_8 +2024-06-27 11:27:00.325 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_5 +2024-06-27 11:27:00.326 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_5 +2024-06-27 11:27:00.329 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_12 +2024-06-27 11:27:00.332 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_9 +2024-06-27 11:27:00.333 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_6 +2024-06-27 11:27:00.334 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_6 +2024-06-27 11:27:00.337 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_13 +2024-06-27 11:27:00.338 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_1 +2024-06-27 11:27:00.339 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_10 +2024-06-27 11:27:00.340 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_7 +2024-06-27 11:27:00.340 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_7 +2024-06-27 11:27:00.342 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_14 +2024-06-27 11:27:00.343 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_11 +2024-06-27 11:27:00.344 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_8 +2024-06-27 11:27:00.344 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_8 +2024-06-27 11:27:00.346 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_15 +2024-06-27 11:27:00.347 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_12 +2024-06-27 11:27:00.350 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_9 +2024-06-27 11:27:00.351 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_9 +2024-06-27 11:27:00.354 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_16 +2024-06-27 11:27:00.355 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_17 +2024-06-27 11:27:00.361 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_13 +2024-06-27 11:27:00.362 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_10 +2024-06-27 11:27:00.365 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_18 +2024-06-27 11:27:00.367 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_1 +2024-06-27 11:27:00.379 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addGroupUsingPOST_1 +2024-06-27 11:27:00.380 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: categoryUsingPOST_1 +2024-06-27 11:27:00.380 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteFilesUsingPOST_1 +2024-06-27 11:27:00.380 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteGroupUsingPOST_1 +2024-06-27 11:27:00.381 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editGroupUsingPOST_1 +2024-06-27 11:27:00.385 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: listsUsingPOST_1 +2024-06-27 11:27:00.386 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: moveFilesUsingPOST_1 +2024-06-27 11:27:00.387 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_19 +2024-06-27 11:27:00.391 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_14 +2024-06-27 11:27:00.392 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_10 +2024-06-27 11:27:00.393 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteFilesUsingPOST_2 +2024-06-27 11:27:00.393 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_11 +2024-06-27 11:27:00.395 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_20 +2024-06-27 11:27:00.398 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: moveFilesUsingPOST_2 +2024-06-27 11:27:00.398 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_21 +2024-06-27 11:27:00.399 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: listUsingPOST_1 +2024-06-27 11:27:00.404 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_22 +2024-06-27 11:27:00.408 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_23 +2024-06-27 11:27:00.412 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_24 +2024-06-27 11:27:00.413 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_25 +2024-06-27 11:27:00.416 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_15 +2024-06-27 11:27:00.418 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_1 +2024-06-27 11:27:00.419 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_12 +2024-06-27 11:27:00.421 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_26 +2024-06-27 11:27:00.421 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: repulseAuditUsingPOST_1 +2024-06-27 11:27:00.424 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_16 +2024-06-27 11:27:00.425 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_11 +2024-06-27 11:27:00.426 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_13 +2024-06-27 11:27:00.429 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_27 +2024-06-27 11:27:00.434 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_17 +2024-06-27 11:27:00.435 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_12 +2024-06-27 11:27:00.436 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_14 +2024-06-27 11:27:00.439 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_28 +2024-06-27 11:27:00.441 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_18 +2024-06-27 11:27:00.442 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_29 +2024-06-27 11:27:00.446 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_30 +2024-06-27 11:27:00.447 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_19 +2024-06-27 11:27:00.447 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_1 +2024-06-27 11:27:00.448 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_31 +2024-06-27 11:27:00.450 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_1 +2024-06-27 11:27:00.451 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_32 +2024-06-27 11:27:00.452 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_20 +2024-06-27 11:27:00.453 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_2 +2024-06-27 11:27:00.453 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_33 +2024-06-27 11:27:00.463 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: loginUsingPOST_1 +2024-06-27 11:27:00.463 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: logoutUsingPOST_1 +2024-06-27 11:27:00.464 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_34 +2024-06-27 11:27:00.467 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_21 +2024-06-27 11:27:00.468 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_13 +2024-06-27 11:27:00.468 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_15 +2024-06-27 11:27:00.469 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_35 +2024-06-27 11:27:00.471 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_2 +2024-06-27 11:27:00.477 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_22 +2024-06-27 11:27:00.477 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_14 +2024-06-27 11:27:00.478 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_16 +2024-06-27 11:27:00.482 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_36 +2024-06-27 11:27:00.483 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: stateUsingPOST_1 +2024-06-27 11:27:00.484 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_1 +2024-06-27 11:27:00.484 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_3 +2024-06-27 11:27:00.486 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_23 +2024-06-27 11:27:00.487 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_2 +2024-06-27 11:27:00.487 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_2 +2024-06-27 11:27:00.488 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_17 +2024-06-27 11:27:00.489 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_37 +2024-06-27 11:27:00.491 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_3 +2024-06-27 11:27:00.491 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_18 +2024-06-27 11:27:00.492 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_38 +2024-06-27 11:27:00.493 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addStorageUsingPOST_1 +2024-06-27 11:27:00.494 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_4 +2024-06-27 11:27:00.494 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_3 +2024-06-27 11:27:00.495 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_19 +2024-06-27 11:27:00.496 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_39 +2024-06-27 11:27:00.497 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_40 +2024-06-27 11:27:00.498 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_24 +2024-06-27 11:27:00.498 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_20 +2024-06-27 11:27:00.499 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_3 +2024-06-27 11:27:00.504 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_25 +2024-06-27 11:27:00.504 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_15 +2024-06-27 11:27:00.505 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_21 +2024-06-27 11:27:00.506 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_41 +2024-06-27 11:27:00.506 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_2 +2024-06-27 11:27:00.507 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_4 +2024-06-27 11:27:00.509 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: scanIndexUsingPOST_1 +2024-06-27 11:27:00.510 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_42 +2024-06-27 11:27:00.510 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_1 +2024-06-27 11:27:00.512 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_26 +2024-06-27 11:27:00.513 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_16 +2024-06-27 11:27:00.513 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_22 +2024-06-27 11:27:00.518 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_43 +2024-06-27 11:27:00.520 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_27 +2024-06-27 11:27:00.521 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_17 +2024-06-27 11:27:00.521 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_23 +2024-06-27 11:27:00.523 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_44 +2024-06-27 11:27:00.523 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_3 +2024-06-27 11:27:00.523 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_5 +2024-06-27 11:27:00.525 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_28 +2024-06-27 11:27:00.526 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_18 +2024-06-27 11:27:00.526 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_24 +2024-06-27 11:27:00.528 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_45 +2024-06-27 11:27:00.528 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_46 +2024-06-27 11:27:00.529 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_2 +2024-06-27 11:27:00.530 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_29 +2024-06-27 11:27:00.531 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_47 +2024-06-27 11:27:00.531 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_48 +2024-06-27 11:27:00.532 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_49 +2024-06-27 11:27:00.534 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_3 +2024-06-27 11:27:00.537 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_30 +2024-06-27 11:27:00.538 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_19 +2024-06-27 11:27:00.538 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_25 +2024-06-27 11:27:00.542 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_50 +2024-06-27 11:27:00.543 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_2 +2024-06-27 11:27:00.543 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_4 +2024-06-27 11:27:00.543 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_6 +2024-06-27 11:27:00.547 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_31 +2024-06-27 11:27:00.547 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_20 +2024-06-27 11:27:00.548 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_26 +2024-06-27 11:27:00.556 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_51 +2024-06-27 11:27:00.557 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_3 +2024-06-27 11:27:00.558 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_7 +2024-06-27 11:27:00.558 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_52 +2024-06-27 11:27:00.559 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_4 +2024-06-27 11:27:00.561 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_32 +2024-06-27 11:27:00.562 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_21 +2024-06-27 11:27:00.562 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_27 +2024-06-27 11:27:00.564 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_53 +2024-06-27 11:27:00.567 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: uploadUsingPOST_1 +2024-06-27 11:27:00.587 INFO [main] [] net.jjjerp.SpringBootJjjApplication 61 : Started SpringBootJjjApplication in 11.396 seconds (JVM running for 11.985) +2024-06-27 11:27:00.591 INFO [main] [] n.j.framework.util.PrintApplicationInfo 61 : projectFinalName : jjj-erp-1.0 +2024-06-27 11:27:00.591 INFO [main] [] n.j.framework.util.PrintApplicationInfo 62 : projectVersion : 1.0 +2024-06-27 11:27:00.591 INFO [main] [] n.j.framework.util.PrintApplicationInfo 63 : profileActive : prod +2024-06-27 11:27:00.591 INFO [main] [] n.j.framework.util.PrintApplicationInfo 64 : contextPath : /api +2024-06-27 11:27:00.591 INFO [main] [] n.j.framework.util.PrintApplicationInfo 65 : serverIp : http://erp3.huadeng.fun +2024-06-27 11:27:00.591 INFO [main] [] n.j.framework.util.PrintApplicationInfo 66 : port : 8892 +2024-06-27 11:27:00.591 INFO [main] [] n.j.framework.util.PrintApplicationInfo 81 : Home: http://erp3.huadeng.fun/api +2024-06-27 11:27:00.591 INFO [main] [] n.j.framework.util.PrintApplicationInfo 82 : Knife4j: http://erp3.huadeng.fun/api/doc.html +2024-06-27 11:27:00.591 INFO [main] [] n.j.framework.util.PrintApplicationInfo 83 : Swagger: http://erp3.huadeng.fun/api/swagger-ui.html +2024-06-27 11:27:00.591 INFO [main] [] n.j.framework.util.PrintApplicationInfo 84 : jjj-erp 启动成功........... + ____ __ __ ____ +/\ _`\ /\ \__ /\ \__ /\ _`\ +\ \,\L\_\ \ ,_\ __ _ __\ \ ,_\ \ \,\L\_\ __ __ ___ ___ __ ____ ____ + \/_\__ \\ \ \/ /'__`\ /\`'__\ \ \/ \/_\__ \ /\ \/\ \ /'___\ /'___\ /'__`\ /',__\ /',__\ + /\ \L\ \ \ \_/\ \L\.\_\ \ \/ \ \ \_ /\ \L\ \ \ \_\ \/\ \__//\ \__//\ __//\__, `\/\__, `\ + \ `\____\ \__\ \__/.\_\\ \_\ \ \__\ \ `\____\ \____/\ \____\ \____\ \____\/\____/\/\____/ + \/_____/\/__/\/__/\/_/ \/_/ \/__/ \/_____/\/___/ \/____/\/____/\/____/\/___/ \/___/ + + +2024-06-27 11:27:17.947 INFO [http-nio-8892-exec-1] [] o.a.c.c.C.[Tomcat].[localhost].[/api] 173 : Initializing Spring DispatcherServlet 'dispatcherServlet' +2024-06-27 11:27:17.947 INFO [http-nio-8892-exec-1] [] o.s.web.servlet.DispatcherServlet 525 : Initializing Servlet 'dispatcherServlet' +2024-06-27 11:27:17.957 INFO [http-nio-8892-exec-1] [] o.s.web.servlet.DispatcherServlet 547 : Completed initialization in 10 ms +2024-06-27 11:27:18.890 INFO [http-nio-8892-exec-1] [1806167395923013634] com.zaxxer.hikari.HikariDataSource 110 : HikariPool-1 - Starting... +2024-06-27 11:27:19.272 INFO [http-nio-8892-exec-1] [1806167395923013634] com.zaxxer.hikari.HikariDataSource 123 : HikariPool-1 - Start completed. +2024-06-27 11:43:47.908 ERROR [http-nio-8892-exec-5] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy405.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-27 11:43:47.908 ERROR [http-nio-8892-exec-7] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy405.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-27 11:43:57.203 INFO [lettuce-eventExecutorLoop-1-3] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was /101.34.74.68:6379 +2024-06-27 11:43:57.229 INFO [lettuce-nioEventLoop-4-2] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to 101.34.74.68:6379 +2024-06-27 11:44:02.790 WARN [http-nio-8892-exec-8] [1806171585856548866] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@59cf0961 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-27 11:44:02.961 WARN [http-nio-8892-exec-9] [1806171585856548867] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@6ac043ee (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-27 11:44:07.796 WARN [http-nio-8892-exec-8] [1806171585856548866] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@6720f825 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-27 11:44:07.970 WARN [http-nio-8892-exec-9] [1806171585856548867] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@5bc4e391 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-27 11:44:09.485 WARN [http-nio-8892-exec-10] [1806171613958385666] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@4d4fbd23 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-27 11:44:09.643 WARN [http-nio-8892-exec-11] [1806171613958385667] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@2f14e360 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-27 11:44:12.799 WARN [http-nio-8892-exec-8] [1806171585856548866] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@66cdac18 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-27 11:44:12.971 WARN [http-nio-8892-exec-9] [1806171585856548867] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@39658055 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-27 11:44:14.500 WARN [http-nio-8892-exec-10] [1806171613958385666] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@537bc926 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-27 11:44:14.656 WARN [http-nio-8892-exec-11] [1806171613958385667] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@151412fd (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-27 11:54:00.366 WARN [http-nio-8892-exec-21] [1806174092007714817] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@403ae3c8 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-27 11:54:04.271 INFO [SpringContextShutdownHook] [] net.jjjerp.framework.core.xss.XssFilter 30 : XssFilter destroy +2024-06-27 11:54:04.271 INFO [SpringContextShutdownHook] [] n.j.f.core.filter.RequestDetailFilter 116 : RequestDetailFilter destroy +2024-06-27 11:54:04.277 INFO [SpringContextShutdownHook] [] o.s.s.c.ThreadPoolTaskScheduler 218 : Shutting down ExecutorService 'taskScheduler' +2024-06-27 11:54:04.278 INFO [SpringContextShutdownHook] [] o.s.s.concurrent.ThreadPoolTaskExecutor 218 : Shutting down ExecutorService 'applicationTaskExecutor' +2024-06-27 11:54:04.283 INFO [SpringContextShutdownHook] [] com.zaxxer.hikari.HikariDataSource 350 : HikariPool-1 - Shutdown initiated... +2024-06-27 11:54:04.285 INFO [SpringContextShutdownHook] [] com.zaxxer.hikari.HikariDataSource 352 : HikariPool-1 - Shutdown completed. +2024-06-27 11:54:10.016 INFO [background-preinit] [] o.h.validator.internal.util.Version 21 : HV000001: Hibernate Validator 6.1.7.Final +2024-06-27 11:54:10.020 INFO [main] [] net.jjjerp.SpringBootJjjApplication 55 : Starting SpringBootJjjApplication on OS-20230506YKNI with PID 5676 (D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\bootstrap\target\classes started by Administrator in D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp) +2024-06-27 11:54:10.020 INFO [main] [] net.jjjerp.SpringBootJjjApplication 652 : The following profiles are active: prod +2024-06-27 11:54:11.039 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 249 : Multiple Spring Data modules found, entering strict repository configuration mode! +2024-06-27 11:54:11.040 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 127 : Bootstrapping Spring Data Redis repositories in DEFAULT mode. +2024-06-27 11:54:11.154 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 187 : Finished Spring Data repository scanning in 104ms. Found 0 Redis repository interfaces. +2024-06-27 11:54:11.418 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.ShiroConfig' of type [net.jjjerp.config.ShiroConfig$$EnhancerBySpringCGLIB$$8f16c016] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 11:54:11.506 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.properties.JwtProperties' of type [net.jjjerp.config.properties.JwtProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 11:54:11.508 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.RedisTemplateConfig' of type [net.jjjerp.config.RedisTemplateConfig$$EnhancerBySpringCGLIB$$5e7bcaba] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 11:54:11.516 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'spring.redis-org.springframework.boot.autoconfigure.data.redis.RedisProperties' of type [org.springframework.boot.autoconfigure.data.redis.RedisProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 11:54:11.519 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration' of type [org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 11:54:11.572 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'lettuceClientResources' of type [io.lettuce.core.resource.DefaultClientResources] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 11:54:11.663 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'redisConnectionFactory' of type [org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 11:54:11.707 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'redisTemplate' of type [org.springframework.data.redis.core.RedisTemplate] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 11:54:11.708 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.cache.impl.AdminLoginRedisServiceImpl' of type [net.jjjerp.framework.shiro.cache.impl.AdminLoginRedisServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 11:54:11.711 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.cache.impl.ShopLoginRedisServiceImpl' of type [net.jjjerp.framework.shiro.cache.impl.ShopLoginRedisServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 11:54:11.821 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'credentialsMatcher' of type [net.jjjerp.framework.shiro.jwt.JwtCredentialsMatcher] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 11:54:11.828 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'jwtRealm' of type [net.jjjerp.framework.shiro.jwt.JwtRealm] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 11:54:11.829 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'sessionStorageEvaluator' of type [org.apache.shiro.web.mgt.DefaultWebSessionStorageEvaluator] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 11:54:11.829 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'subjectDAO' of type [org.apache.shiro.mgt.DefaultSubjectDAO] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 11:54:11.831 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'securityManager' of type [org.apache.shiro.web.mgt.DefaultWebSecurityManager] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 11:54:11.851 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.service.impl.ShiroLoginServiceImpl' of type [net.jjjerp.framework.shiro.service.impl.ShiroLoginServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 11:54:11.859 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'spring-boot-jjj.shiro-net.jjjerp.config.properties.ShiroProperties' of type [net.jjjerp.config.properties.ShiroProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 11:54:11.943 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'authorizationAttributeSourceAdvisor' of type [org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 11:54:12.068 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.RedisCacheConfig' of type [net.jjjerp.config.RedisCacheConfig$$EnhancerBySpringCGLIB$$13b8a1bc] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 11:54:12.316 INFO [main] [] o.s.b.w.embedded.tomcat.TomcatWebServer 108 : Tomcat initialized with port(s): 8892 (http) +2024-06-27 11:54:12.324 INFO [main] [] o.a.coyote.http11.Http11NioProtocol 173 : Initializing ProtocolHandler ["http-nio-8892"] +2024-06-27 11:54:12.325 INFO [main] [] o.apache.catalina.core.StandardService 173 : Starting service [Tomcat] +2024-06-27 11:54:12.325 INFO [main] [] org.apache.catalina.core.StandardEngine 173 : Starting Servlet engine: [Apache Tomcat/9.0.46] +2024-06-27 11:54:12.415 INFO [main] [] o.a.c.c.C.[Tomcat].[localhost].[/api] 173 : Initializing Spring embedded WebApplicationContext +2024-06-27 11:54:12.416 INFO [main] [] w.s.c.ServletWebServerApplicationContext 285 : Root WebApplicationContext: initialization completed in 2349 ms +2024-06-27 11:54:12.574 INFO [main] [] net.jjjerp.framework.core.xss.XssFilter 18 : XssFilter init +2024-06-27 11:54:12.574 INFO [main] [] n.j.f.core.filter.RequestDetailFilter 30 : RequestDetailFilter init +2024-06-27 11:54:16.075 INFO [main] [] org.reflections.Reflections 228 : Reflections took 36 ms to scan 1 urls, producing 0 keys and 0 values +2024-06-27 11:54:16.176 INFO [main] [] net.jjjerp.framework.shiro.util.JwtUtil 33 : {"audience":"web","expireSecond":36000,"issuer":"spring-boot-jjj","redisCheck":true,"refreshToken":true,"refreshTokenCountdown":600,"saltCheck":true,"secret":"888888","singleLogin":false,"tokenName":"token"} +2024-06-27 11:54:18.839 INFO [main] [] pertySourcedRequestMappingHandlerMapping 69 : Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2Controller#getDocumentation(String, HttpServletRequest)] +2024-06-27 11:54:18.855 INFO [main] [] net.jjjerp.config.Swagger2Config 149 : swagger scan basePackages:null +2024-06-27 11:54:18.970 INFO [main] [] o.s.s.concurrent.ThreadPoolTaskExecutor 181 : Initializing ExecutorService 'applicationTaskExecutor' +2024-06-27 11:55:03.577 INFO [main] [] o.s.b.a.w.s.WelcomePageHandlerMapping 53 : Adding welcome page: class path resource [static/index.html] +2024-06-27 11:55:03.765 INFO [main] [] o.s.s.c.ThreadPoolTaskScheduler 181 : Initializing ExecutorService 'taskScheduler' +2024-06-27 11:55:03.868 INFO [main] [] o.a.coyote.http11.Http11NioProtocol 173 : Starting ProtocolHandler ["http-nio-8892"] +2024-06-27 11:55:03.890 INFO [main] [] o.s.b.w.embedded.tomcat.TomcatWebServer 220 : Tomcat started on port(s): 8892 (http) with context path '/api' +2024-06-27 11:55:03.891 INFO [main] [] d.s.w.p.DocumentationPluginsBootstrapper 160 : Context refreshed +2024-06-27 11:55:03.897 INFO [main] [] d.s.w.p.DocumentationPluginsBootstrapper 163 : Found 1 custom documentation plugin(s) +2024-06-27 11:55:03.936 INFO [main] [] s.d.s.w.s.ApiListingReferenceScanner 41 : Scanning for api listing references +2024-06-27 11:55:04.074 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_1 +2024-06-27 11:55:04.076 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_1 +2024-06-27 11:55:04.077 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_1 +2024-06-27 11:55:04.096 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_1 +2024-06-27 11:55:04.103 INFO [http-nio-8892-exec-1] [] o.a.c.c.C.[Tomcat].[localhost].[/api] 173 : Initializing Spring DispatcherServlet 'dispatcherServlet' +2024-06-27 11:55:04.104 INFO [http-nio-8892-exec-1] [] o.s.web.servlet.DispatcherServlet 525 : Initializing Servlet 'dispatcherServlet' +2024-06-27 11:55:04.116 INFO [http-nio-8892-exec-1] [] o.s.web.servlet.DispatcherServlet 547 : Completed initialization in 12 ms +2024-06-27 11:55:04.146 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_2 +2024-06-27 11:55:04.149 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_2 +2024-06-27 11:55:04.152 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_3 +2024-06-27 11:55:04.153 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_3 +2024-06-27 11:55:04.156 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_4 +2024-06-27 11:55:04.157 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_4 +2024-06-27 11:55:04.158 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexOutUsingPOST_1 +2024-06-27 11:55:04.161 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_5 +2024-06-27 11:55:04.169 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_5 +2024-06-27 11:55:04.170 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_2 +2024-06-27 11:55:04.171 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_2 +2024-06-27 11:55:04.190 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_6 +2024-06-27 11:55:04.192 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_7 +2024-06-27 11:55:04.199 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_8 +2024-06-27 11:55:04.240 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_6 +2024-06-27 11:55:04.241 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_3 +2024-06-27 11:55:04.242 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_3 +2024-06-27 11:55:04.254 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_9 +2024-06-27 11:55:04.260 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_10 +2024-06-27 11:55:04.261 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_7 +2024-06-27 11:55:04.262 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_4 +2024-06-27 11:55:04.262 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_4 +2024-06-27 11:55:04.265 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_11 +2024-06-27 11:55:04.273 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_8 +2024-06-27 11:55:04.274 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_5 +2024-06-27 11:55:04.276 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_5 +2024-06-27 11:55:04.279 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_12 +2024-06-27 11:55:04.282 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_9 +2024-06-27 11:55:04.283 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_6 +2024-06-27 11:55:04.284 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_6 +2024-06-27 11:55:04.288 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_13 +2024-06-27 11:55:04.288 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_1 +2024-06-27 11:55:04.290 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_10 +2024-06-27 11:55:04.291 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_7 +2024-06-27 11:55:04.292 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_7 +2024-06-27 11:55:04.293 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_14 +2024-06-27 11:55:04.295 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_11 +2024-06-27 11:55:04.295 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_8 +2024-06-27 11:55:04.296 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_8 +2024-06-27 11:55:04.297 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_15 +2024-06-27 11:55:04.298 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_12 +2024-06-27 11:55:04.302 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_9 +2024-06-27 11:55:04.303 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_9 +2024-06-27 11:55:04.306 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_16 +2024-06-27 11:55:04.308 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_17 +2024-06-27 11:55:04.313 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_13 +2024-06-27 11:55:04.314 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_10 +2024-06-27 11:55:04.317 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_18 +2024-06-27 11:55:04.318 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_1 +2024-06-27 11:55:04.329 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addGroupUsingPOST_1 +2024-06-27 11:55:04.330 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: categoryUsingPOST_1 +2024-06-27 11:55:04.331 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteFilesUsingPOST_1 +2024-06-27 11:55:04.331 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteGroupUsingPOST_1 +2024-06-27 11:55:04.332 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editGroupUsingPOST_1 +2024-06-27 11:55:04.336 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: listsUsingPOST_1 +2024-06-27 11:55:04.337 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: moveFilesUsingPOST_1 +2024-06-27 11:55:04.339 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_19 +2024-06-27 11:55:04.343 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_14 +2024-06-27 11:55:04.344 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_10 +2024-06-27 11:55:04.344 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteFilesUsingPOST_2 +2024-06-27 11:55:04.345 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_11 +2024-06-27 11:55:04.347 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_20 +2024-06-27 11:55:04.351 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: moveFilesUsingPOST_2 +2024-06-27 11:55:04.352 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_21 +2024-06-27 11:55:04.353 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: listUsingPOST_1 +2024-06-27 11:55:04.361 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_22 +2024-06-27 11:55:04.364 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_23 +2024-06-27 11:55:04.368 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_24 +2024-06-27 11:55:04.369 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_25 +2024-06-27 11:55:04.372 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_15 +2024-06-27 11:55:04.373 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_1 +2024-06-27 11:55:04.374 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_12 +2024-06-27 11:55:04.376 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_26 +2024-06-27 11:55:04.377 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: repulseAuditUsingPOST_1 +2024-06-27 11:55:04.380 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_16 +2024-06-27 11:55:04.380 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_11 +2024-06-27 11:55:04.381 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_13 +2024-06-27 11:55:04.384 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_27 +2024-06-27 11:55:04.388 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_17 +2024-06-27 11:55:04.389 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_12 +2024-06-27 11:55:04.389 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_14 +2024-06-27 11:55:04.391 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_28 +2024-06-27 11:55:04.392 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_18 +2024-06-27 11:55:04.393 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_29 +2024-06-27 11:55:04.396 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_30 +2024-06-27 11:55:04.398 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_19 +2024-06-27 11:55:04.398 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_1 +2024-06-27 11:55:04.399 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_31 +2024-06-27 11:55:04.400 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_1 +2024-06-27 11:55:04.401 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_32 +2024-06-27 11:55:04.403 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_20 +2024-06-27 11:55:04.403 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_2 +2024-06-27 11:55:04.404 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_33 +2024-06-27 11:55:04.413 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: loginUsingPOST_1 +2024-06-27 11:55:04.413 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: logoutUsingPOST_1 +2024-06-27 11:55:04.415 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_34 +2024-06-27 11:55:04.417 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_21 +2024-06-27 11:55:04.418 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_13 +2024-06-27 11:55:04.419 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_15 +2024-06-27 11:55:04.419 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_35 +2024-06-27 11:55:04.421 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_2 +2024-06-27 11:55:04.424 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_22 +2024-06-27 11:55:04.425 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_14 +2024-06-27 11:55:04.425 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_16 +2024-06-27 11:55:04.429 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_36 +2024-06-27 11:55:04.429 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: stateUsingPOST_1 +2024-06-27 11:55:04.430 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_1 +2024-06-27 11:55:04.430 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_3 +2024-06-27 11:55:04.432 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_23 +2024-06-27 11:55:04.432 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_2 +2024-06-27 11:55:04.433 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_2 +2024-06-27 11:55:04.435 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_17 +2024-06-27 11:55:04.435 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_37 +2024-06-27 11:55:04.437 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_3 +2024-06-27 11:55:04.437 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_18 +2024-06-27 11:55:04.438 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_38 +2024-06-27 11:55:04.439 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addStorageUsingPOST_1 +2024-06-27 11:55:04.440 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_4 +2024-06-27 11:55:04.440 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_3 +2024-06-27 11:55:04.441 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_19 +2024-06-27 11:55:04.441 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_39 +2024-06-27 11:55:04.443 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_40 +2024-06-27 11:55:04.444 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_24 +2024-06-27 11:55:04.445 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_20 +2024-06-27 11:55:04.446 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_3 +2024-06-27 11:55:04.448 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_25 +2024-06-27 11:55:04.449 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_15 +2024-06-27 11:55:04.449 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_21 +2024-06-27 11:55:04.452 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_41 +2024-06-27 11:55:04.454 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_2 +2024-06-27 11:55:04.455 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_4 +2024-06-27 11:55:04.457 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: scanIndexUsingPOST_1 +2024-06-27 11:55:04.458 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_42 +2024-06-27 11:55:04.459 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_1 +2024-06-27 11:55:04.460 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_26 +2024-06-27 11:55:04.461 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_16 +2024-06-27 11:55:04.461 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_22 +2024-06-27 11:55:04.465 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_43 +2024-06-27 11:55:04.468 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_27 +2024-06-27 11:55:04.469 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_17 +2024-06-27 11:55:04.469 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_23 +2024-06-27 11:55:04.471 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_44 +2024-06-27 11:55:04.471 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_3 +2024-06-27 11:55:04.471 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_5 +2024-06-27 11:55:04.473 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_28 +2024-06-27 11:55:04.473 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_18 +2024-06-27 11:55:04.474 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_24 +2024-06-27 11:55:04.476 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_45 +2024-06-27 11:55:04.476 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_46 +2024-06-27 11:55:04.477 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_2 +2024-06-27 11:55:04.478 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_29 +2024-06-27 11:55:04.478 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_47 +2024-06-27 11:55:04.479 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_48 +2024-06-27 11:55:04.480 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_49 +2024-06-27 11:55:04.480 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_3 +2024-06-27 11:55:04.483 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_30 +2024-06-27 11:55:04.484 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_19 +2024-06-27 11:55:04.484 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_25 +2024-06-27 11:55:04.488 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_50 +2024-06-27 11:55:04.488 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_2 +2024-06-27 11:55:04.489 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_4 +2024-06-27 11:55:04.489 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_6 +2024-06-27 11:55:04.493 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_31 +2024-06-27 11:55:04.493 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_20 +2024-06-27 11:55:04.493 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_26 +2024-06-27 11:55:04.498 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_51 +2024-06-27 11:55:04.498 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_3 +2024-06-27 11:55:04.499 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_7 +2024-06-27 11:55:04.499 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_52 +2024-06-27 11:55:04.500 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_4 +2024-06-27 11:55:04.502 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_32 +2024-06-27 11:55:04.502 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_21 +2024-06-27 11:55:04.503 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_27 +2024-06-27 11:55:04.505 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_53 +2024-06-27 11:55:04.508 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: uploadUsingPOST_1 +2024-06-27 11:55:04.529 INFO [main] [] net.jjjerp.SpringBootJjjApplication 61 : Started SpringBootJjjApplication in 54.947 seconds (JVM running for 55.529) +2024-06-27 11:55:04.533 INFO [main] [] n.j.framework.util.PrintApplicationInfo 61 : projectFinalName : jjj-erp-1.0 +2024-06-27 11:55:04.533 INFO [main] [] n.j.framework.util.PrintApplicationInfo 62 : projectVersion : 1.0 +2024-06-27 11:55:04.533 INFO [main] [] n.j.framework.util.PrintApplicationInfo 63 : profileActive : prod +2024-06-27 11:55:04.534 INFO [main] [] n.j.framework.util.PrintApplicationInfo 64 : contextPath : /api +2024-06-27 11:55:04.534 INFO [main] [] n.j.framework.util.PrintApplicationInfo 65 : serverIp : http://erp3.huadeng.fun +2024-06-27 11:55:04.534 INFO [main] [] n.j.framework.util.PrintApplicationInfo 66 : port : 8892 +2024-06-27 11:55:04.534 INFO [main] [] n.j.framework.util.PrintApplicationInfo 81 : Home: http://erp3.huadeng.fun/api +2024-06-27 11:55:04.534 INFO [main] [] n.j.framework.util.PrintApplicationInfo 82 : Knife4j: http://erp3.huadeng.fun/api/doc.html +2024-06-27 11:55:04.534 INFO [main] [] n.j.framework.util.PrintApplicationInfo 83 : Swagger: http://erp3.huadeng.fun/api/swagger-ui.html +2024-06-27 11:55:04.534 INFO [main] [] n.j.framework.util.PrintApplicationInfo 84 : jjj-erp 启动成功........... + ____ __ __ ____ +/\ _`\ /\ \__ /\ \__ /\ _`\ +\ \,\L\_\ \ ,_\ __ _ __\ \ ,_\ \ \,\L\_\ __ __ ___ ___ __ ____ ____ + \/_\__ \\ \ \/ /'__`\ /\`'__\ \ \/ \/_\__ \ /\ \/\ \ /'___\ /'___\ /'__`\ /',__\ /',__\ + /\ \L\ \ \ \_/\ \L\.\_\ \ \/ \ \ \_ /\ \L\ \ \ \_\ \/\ \__//\ \__//\ __//\__, `\/\__, `\ + \ `\____\ \__\ \__/.\_\\ \_\ \ \__\ \ `\____\ \____/\ \____\ \____\ \____\/\____/\/\____/ + \/_____/\/__/\/__/\/_/ \/_/ \/__/ \/_____/\/___/ \/____/\/____/\/____/\/___/ \/___/ + + +2024-06-27 11:55:05.313 INFO [http-nio-8892-exec-1] [1806174385361543170] com.zaxxer.hikari.HikariDataSource 110 : HikariPool-1 - Starting... +2024-06-27 11:55:05.739 INFO [http-nio-8892-exec-1] [1806174385361543170] com.zaxxer.hikari.HikariDataSource 123 : HikariPool-1 - Start completed. +2024-06-27 12:00:27.511 INFO [SpringContextShutdownHook] [] net.jjjerp.framework.core.xss.XssFilter 30 : XssFilter destroy +2024-06-27 12:00:27.511 INFO [SpringContextShutdownHook] [] n.j.f.core.filter.RequestDetailFilter 116 : RequestDetailFilter destroy +2024-06-27 12:00:27.517 INFO [SpringContextShutdownHook] [] o.s.s.c.ThreadPoolTaskScheduler 218 : Shutting down ExecutorService 'taskScheduler' +2024-06-27 12:00:27.518 INFO [SpringContextShutdownHook] [] o.s.s.concurrent.ThreadPoolTaskExecutor 218 : Shutting down ExecutorService 'applicationTaskExecutor' +2024-06-27 12:00:27.523 INFO [SpringContextShutdownHook] [] com.zaxxer.hikari.HikariDataSource 350 : HikariPool-1 - Shutdown initiated... +2024-06-27 12:00:27.525 INFO [SpringContextShutdownHook] [] com.zaxxer.hikari.HikariDataSource 352 : HikariPool-1 - Shutdown completed. +2024-06-27 12:00:34.661 INFO [background-preinit] [] o.h.validator.internal.util.Version 21 : HV000001: Hibernate Validator 6.1.7.Final +2024-06-27 12:00:34.672 INFO [main] [] net.jjjerp.SpringBootJjjApplication 55 : Starting SpringBootJjjApplication on OS-20230506YKNI with PID 1864 (D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\bootstrap\target\classes started by Administrator in D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp) +2024-06-27 12:00:34.673 INFO [main] [] net.jjjerp.SpringBootJjjApplication 652 : The following profiles are active: prod +2024-06-27 12:00:35.704 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 249 : Multiple Spring Data modules found, entering strict repository configuration mode! +2024-06-27 12:00:35.705 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 127 : Bootstrapping Spring Data Redis repositories in DEFAULT mode. +2024-06-27 12:00:35.820 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 187 : Finished Spring Data repository scanning in 107ms. Found 0 Redis repository interfaces. +2024-06-27 12:00:36.123 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.ShiroConfig' of type [net.jjjerp.config.ShiroConfig$$EnhancerBySpringCGLIB$$dc845183] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 12:00:36.228 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.properties.JwtProperties' of type [net.jjjerp.config.properties.JwtProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 12:00:36.230 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.RedisTemplateConfig' of type [net.jjjerp.config.RedisTemplateConfig$$EnhancerBySpringCGLIB$$abe95c27] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 12:00:36.239 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'spring.redis-org.springframework.boot.autoconfigure.data.redis.RedisProperties' of type [org.springframework.boot.autoconfigure.data.redis.RedisProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 12:00:36.242 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration' of type [org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 12:00:36.299 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'lettuceClientResources' of type [io.lettuce.core.resource.DefaultClientResources] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 12:00:36.393 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'redisConnectionFactory' of type [org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 12:00:36.440 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'redisTemplate' of type [org.springframework.data.redis.core.RedisTemplate] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 12:00:36.441 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.cache.impl.AdminLoginRedisServiceImpl' of type [net.jjjerp.framework.shiro.cache.impl.AdminLoginRedisServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 12:00:36.444 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.cache.impl.ShopLoginRedisServiceImpl' of type [net.jjjerp.framework.shiro.cache.impl.ShopLoginRedisServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 12:00:36.560 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'credentialsMatcher' of type [net.jjjerp.framework.shiro.jwt.JwtCredentialsMatcher] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 12:00:36.567 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'jwtRealm' of type [net.jjjerp.framework.shiro.jwt.JwtRealm] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 12:00:36.568 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'sessionStorageEvaluator' of type [org.apache.shiro.web.mgt.DefaultWebSessionStorageEvaluator] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 12:00:36.568 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'subjectDAO' of type [org.apache.shiro.mgt.DefaultSubjectDAO] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 12:00:36.571 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'securityManager' of type [org.apache.shiro.web.mgt.DefaultWebSecurityManager] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 12:00:36.591 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.service.impl.ShiroLoginServiceImpl' of type [net.jjjerp.framework.shiro.service.impl.ShiroLoginServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 12:00:36.598 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'spring-boot-jjj.shiro-net.jjjerp.config.properties.ShiroProperties' of type [net.jjjerp.config.properties.ShiroProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 12:00:36.686 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'authorizationAttributeSourceAdvisor' of type [org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 12:00:36.816 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.RedisCacheConfig' of type [net.jjjerp.config.RedisCacheConfig$$EnhancerBySpringCGLIB$$61263329] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 12:00:37.068 INFO [main] [] o.s.b.w.embedded.tomcat.TomcatWebServer 108 : Tomcat initialized with port(s): 8892 (http) +2024-06-27 12:00:37.076 INFO [main] [] o.a.coyote.http11.Http11NioProtocol 173 : Initializing ProtocolHandler ["http-nio-8892"] +2024-06-27 12:00:37.076 INFO [main] [] o.apache.catalina.core.StandardService 173 : Starting service [Tomcat] +2024-06-27 12:00:37.076 INFO [main] [] org.apache.catalina.core.StandardEngine 173 : Starting Servlet engine: [Apache Tomcat/9.0.46] +2024-06-27 12:00:37.180 INFO [main] [] o.a.c.c.C.[Tomcat].[localhost].[/api] 173 : Initializing Spring embedded WebApplicationContext +2024-06-27 12:00:37.181 INFO [main] [] w.s.c.ServletWebServerApplicationContext 285 : Root WebApplicationContext: initialization completed in 2448 ms +2024-06-27 12:00:37.339 INFO [main] [] net.jjjerp.framework.core.xss.XssFilter 18 : XssFilter init +2024-06-27 12:00:37.340 INFO [main] [] n.j.f.core.filter.RequestDetailFilter 30 : RequestDetailFilter init +2024-06-27 12:00:40.837 INFO [main] [] org.reflections.Reflections 228 : Reflections took 40 ms to scan 1 urls, producing 0 keys and 0 values +2024-06-27 12:00:40.944 INFO [main] [] net.jjjerp.framework.shiro.util.JwtUtil 33 : {"audience":"web","expireSecond":36000,"issuer":"spring-boot-jjj","redisCheck":true,"refreshToken":true,"refreshTokenCountdown":600,"saltCheck":true,"secret":"888888","singleLogin":false,"tokenName":"token"} +2024-06-27 12:00:43.860 INFO [main] [] pertySourcedRequestMappingHandlerMapping 69 : Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2Controller#getDocumentation(String, HttpServletRequest)] +2024-06-27 12:00:43.878 INFO [main] [] net.jjjerp.config.Swagger2Config 149 : swagger scan basePackages:null +2024-06-27 12:00:44.019 INFO [main] [] o.s.s.concurrent.ThreadPoolTaskExecutor 181 : Initializing ExecutorService 'applicationTaskExecutor' +2024-06-27 12:01:42.654 INFO [main] [] o.s.b.a.w.s.WelcomePageHandlerMapping 53 : Adding welcome page: class path resource [static/index.html] +2024-06-27 12:01:42.875 INFO [main] [] o.s.s.c.ThreadPoolTaskScheduler 181 : Initializing ExecutorService 'taskScheduler' +2024-06-27 12:01:42.986 INFO [main] [] o.a.coyote.http11.Http11NioProtocol 173 : Starting ProtocolHandler ["http-nio-8892"] +2024-06-27 12:01:43.008 INFO [main] [] o.s.b.w.embedded.tomcat.TomcatWebServer 220 : Tomcat started on port(s): 8892 (http) with context path '/api' +2024-06-27 12:01:43.009 INFO [main] [] d.s.w.p.DocumentationPluginsBootstrapper 160 : Context refreshed +2024-06-27 12:01:43.015 INFO [main] [] d.s.w.p.DocumentationPluginsBootstrapper 163 : Found 1 custom documentation plugin(s) +2024-06-27 12:01:43.052 INFO [main] [] s.d.s.w.s.ApiListingReferenceScanner 41 : Scanning for api listing references +2024-06-27 12:01:43.174 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_1 +2024-06-27 12:01:43.176 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_1 +2024-06-27 12:01:43.177 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_1 +2024-06-27 12:01:43.199 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_1 +2024-06-27 12:01:43.235 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_2 +2024-06-27 12:01:43.237 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_2 +2024-06-27 12:01:43.240 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_3 +2024-06-27 12:01:43.241 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_3 +2024-06-27 12:01:43.243 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_4 +2024-06-27 12:01:43.244 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_4 +2024-06-27 12:01:43.245 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexOutUsingPOST_1 +2024-06-27 12:01:43.248 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_5 +2024-06-27 12:01:43.254 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_5 +2024-06-27 12:01:43.255 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_2 +2024-06-27 12:01:43.255 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_2 +2024-06-27 12:01:43.270 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_6 +2024-06-27 12:01:43.272 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_7 +2024-06-27 12:01:43.277 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_8 +2024-06-27 12:01:43.284 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_6 +2024-06-27 12:01:43.285 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_3 +2024-06-27 12:01:43.286 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_3 +2024-06-27 12:01:43.293 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_9 +2024-06-27 12:01:43.321 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_10 +2024-06-27 12:01:43.323 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_7 +2024-06-27 12:01:43.324 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_4 +2024-06-27 12:01:43.324 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_4 +2024-06-27 12:01:43.327 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_11 +2024-06-27 12:01:43.331 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_8 +2024-06-27 12:01:43.332 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_5 +2024-06-27 12:01:43.333 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_5 +2024-06-27 12:01:43.337 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_12 +2024-06-27 12:01:43.340 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_9 +2024-06-27 12:01:43.341 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_6 +2024-06-27 12:01:43.341 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_6 +2024-06-27 12:01:43.344 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_13 +2024-06-27 12:01:43.345 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_1 +2024-06-27 12:01:43.347 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_10 +2024-06-27 12:01:43.348 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_7 +2024-06-27 12:01:43.348 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_7 +2024-06-27 12:01:43.350 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_14 +2024-06-27 12:01:43.351 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_11 +2024-06-27 12:01:43.352 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_8 +2024-06-27 12:01:43.352 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_8 +2024-06-27 12:01:43.354 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_15 +2024-06-27 12:01:43.355 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_12 +2024-06-27 12:01:43.358 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_9 +2024-06-27 12:01:43.358 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_9 +2024-06-27 12:01:43.361 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_16 +2024-06-27 12:01:43.363 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_17 +2024-06-27 12:01:43.369 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_13 +2024-06-27 12:01:43.370 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_10 +2024-06-27 12:01:43.373 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_18 +2024-06-27 12:01:43.374 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_1 +2024-06-27 12:01:43.384 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addGroupUsingPOST_1 +2024-06-27 12:01:43.385 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: categoryUsingPOST_1 +2024-06-27 12:01:43.386 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteFilesUsingPOST_1 +2024-06-27 12:01:43.386 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteGroupUsingPOST_1 +2024-06-27 12:01:43.387 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editGroupUsingPOST_1 +2024-06-27 12:01:43.390 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: listsUsingPOST_1 +2024-06-27 12:01:43.391 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: moveFilesUsingPOST_1 +2024-06-27 12:01:43.392 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_19 +2024-06-27 12:01:43.396 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_14 +2024-06-27 12:01:43.397 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_10 +2024-06-27 12:01:43.398 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteFilesUsingPOST_2 +2024-06-27 12:01:43.398 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_11 +2024-06-27 12:01:43.400 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_20 +2024-06-27 12:01:43.403 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: moveFilesUsingPOST_2 +2024-06-27 12:01:43.403 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_21 +2024-06-27 12:01:43.404 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: listUsingPOST_1 +2024-06-27 12:01:43.410 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_22 +2024-06-27 12:01:43.412 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_23 +2024-06-27 12:01:43.416 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_24 +2024-06-27 12:01:43.417 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_25 +2024-06-27 12:01:43.420 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_15 +2024-06-27 12:01:43.420 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_1 +2024-06-27 12:01:43.421 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_12 +2024-06-27 12:01:43.422 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_26 +2024-06-27 12:01:43.422 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: repulseAuditUsingPOST_1 +2024-06-27 12:01:43.424 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_16 +2024-06-27 12:01:43.425 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_11 +2024-06-27 12:01:43.425 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_13 +2024-06-27 12:01:43.429 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_27 +2024-06-27 12:01:43.432 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_17 +2024-06-27 12:01:43.433 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_12 +2024-06-27 12:01:43.433 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_14 +2024-06-27 12:01:43.436 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_28 +2024-06-27 12:01:43.437 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_18 +2024-06-27 12:01:43.438 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_29 +2024-06-27 12:01:43.442 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_30 +2024-06-27 12:01:43.444 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_19 +2024-06-27 12:01:43.444 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_1 +2024-06-27 12:01:43.445 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_31 +2024-06-27 12:01:43.446 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_1 +2024-06-27 12:01:43.447 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_32 +2024-06-27 12:01:43.449 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_20 +2024-06-27 12:01:43.449 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_2 +2024-06-27 12:01:43.450 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_33 +2024-06-27 12:01:43.459 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: loginUsingPOST_1 +2024-06-27 12:01:43.459 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: logoutUsingPOST_1 +2024-06-27 12:01:43.460 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_34 +2024-06-27 12:01:43.462 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_21 +2024-06-27 12:01:43.463 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_13 +2024-06-27 12:01:43.464 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_15 +2024-06-27 12:01:43.464 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_35 +2024-06-27 12:01:43.466 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_2 +2024-06-27 12:01:43.470 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_22 +2024-06-27 12:01:43.470 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_14 +2024-06-27 12:01:43.471 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_16 +2024-06-27 12:01:43.475 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_36 +2024-06-27 12:01:43.475 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: stateUsingPOST_1 +2024-06-27 12:01:43.476 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_1 +2024-06-27 12:01:43.476 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_3 +2024-06-27 12:01:43.478 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_23 +2024-06-27 12:01:43.478 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_2 +2024-06-27 12:01:43.479 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_2 +2024-06-27 12:01:43.480 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_17 +2024-06-27 12:01:43.480 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_37 +2024-06-27 12:01:43.482 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_3 +2024-06-27 12:01:43.483 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_18 +2024-06-27 12:01:43.484 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_38 +2024-06-27 12:01:43.485 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addStorageUsingPOST_1 +2024-06-27 12:01:43.486 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_4 +2024-06-27 12:01:43.487 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_3 +2024-06-27 12:01:43.487 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_19 +2024-06-27 12:01:43.488 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_39 +2024-06-27 12:01:43.489 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_40 +2024-06-27 12:01:43.491 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_24 +2024-06-27 12:01:43.491 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_20 +2024-06-27 12:01:43.492 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_3 +2024-06-27 12:01:43.496 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_25 +2024-06-27 12:01:43.496 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_15 +2024-06-27 12:01:43.497 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_21 +2024-06-27 12:01:43.498 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_41 +2024-06-27 12:01:43.498 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_2 +2024-06-27 12:01:43.498 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_4 +2024-06-27 12:01:43.500 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: scanIndexUsingPOST_1 +2024-06-27 12:01:43.502 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_42 +2024-06-27 12:01:43.502 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_1 +2024-06-27 12:01:43.504 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_26 +2024-06-27 12:01:43.505 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_16 +2024-06-27 12:01:43.505 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_22 +2024-06-27 12:01:43.510 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_43 +2024-06-27 12:01:43.512 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_27 +2024-06-27 12:01:43.513 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_17 +2024-06-27 12:01:43.514 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_23 +2024-06-27 12:01:43.515 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_44 +2024-06-27 12:01:43.515 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_3 +2024-06-27 12:01:43.516 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_5 +2024-06-27 12:01:43.518 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_28 +2024-06-27 12:01:43.518 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_18 +2024-06-27 12:01:43.519 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_24 +2024-06-27 12:01:43.521 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_45 +2024-06-27 12:01:43.521 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_46 +2024-06-27 12:01:43.522 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_2 +2024-06-27 12:01:43.523 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_29 +2024-06-27 12:01:43.524 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_47 +2024-06-27 12:01:43.525 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_48 +2024-06-27 12:01:43.525 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_49 +2024-06-27 12:01:43.526 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_3 +2024-06-27 12:01:43.529 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_30 +2024-06-27 12:01:43.529 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_19 +2024-06-27 12:01:43.529 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_25 +2024-06-27 12:01:43.533 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_50 +2024-06-27 12:01:43.534 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_2 +2024-06-27 12:01:43.534 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_4 +2024-06-27 12:01:43.534 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_6 +2024-06-27 12:01:43.540 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_31 +2024-06-27 12:01:43.540 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_20 +2024-06-27 12:01:43.541 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_26 +2024-06-27 12:01:43.545 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_51 +2024-06-27 12:01:43.545 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_3 +2024-06-27 12:01:43.546 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_7 +2024-06-27 12:01:43.546 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_52 +2024-06-27 12:01:43.547 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_4 +2024-06-27 12:01:43.549 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_32 +2024-06-27 12:01:43.550 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_21 +2024-06-27 12:01:43.550 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_27 +2024-06-27 12:01:43.552 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_53 +2024-06-27 12:01:43.555 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: uploadUsingPOST_1 +2024-06-27 12:01:43.575 INFO [main] [] net.jjjerp.SpringBootJjjApplication 61 : Started SpringBootJjjApplication in 69.407 seconds (JVM running for 70.006) +2024-06-27 12:01:43.578 INFO [main] [] n.j.framework.util.PrintApplicationInfo 61 : projectFinalName : jjj-erp-1.0 +2024-06-27 12:01:43.578 INFO [main] [] n.j.framework.util.PrintApplicationInfo 62 : projectVersion : 1.0 +2024-06-27 12:01:43.578 INFO [main] [] n.j.framework.util.PrintApplicationInfo 63 : profileActive : prod +2024-06-27 12:01:43.578 INFO [main] [] n.j.framework.util.PrintApplicationInfo 64 : contextPath : /api +2024-06-27 12:01:43.578 INFO [main] [] n.j.framework.util.PrintApplicationInfo 65 : serverIp : http://erp3.huadeng.fun +2024-06-27 12:01:43.578 INFO [main] [] n.j.framework.util.PrintApplicationInfo 66 : port : 8892 +2024-06-27 12:01:43.578 INFO [main] [] n.j.framework.util.PrintApplicationInfo 81 : Home: http://erp3.huadeng.fun/api +2024-06-27 12:01:43.578 INFO [main] [] n.j.framework.util.PrintApplicationInfo 82 : Knife4j: http://erp3.huadeng.fun/api/doc.html +2024-06-27 12:01:43.578 INFO [main] [] n.j.framework.util.PrintApplicationInfo 83 : Swagger: http://erp3.huadeng.fun/api/swagger-ui.html +2024-06-27 12:01:43.578 INFO [main] [] n.j.framework.util.PrintApplicationInfo 84 : jjj-erp 启动成功........... + ____ __ __ ____ +/\ _`\ /\ \__ /\ \__ /\ _`\ +\ \,\L\_\ \ ,_\ __ _ __\ \ ,_\ \ \,\L\_\ __ __ ___ ___ __ ____ ____ + \/_\__ \\ \ \/ /'__`\ /\`'__\ \ \/ \/_\__ \ /\ \/\ \ /'___\ /'___\ /'__`\ /',__\ /',__\ + /\ \L\ \ \ \_/\ \L\.\_\ \ \/ \ \ \_ /\ \L\ \ \ \_\ \/\ \__//\ \__//\ __//\__, `\/\__, `\ + \ `\____\ \__\ \__/.\_\\ \_\ \ \__\ \ `\____\ \____/\ \____\ \____\ \____\/\____/\/\____/ + \/_____/\/__/\/__/\/_/ \/_/ \/__/ \/_____/\/___/ \/____/\/____/\/____/\/___/ \/___/ + + +2024-06-27 12:07:50.758 INFO [SpringContextShutdownHook] [] net.jjjerp.framework.core.xss.XssFilter 30 : XssFilter destroy +2024-06-27 12:07:50.758 INFO [SpringContextShutdownHook] [] n.j.f.core.filter.RequestDetailFilter 116 : RequestDetailFilter destroy +2024-06-27 12:07:50.763 INFO [SpringContextShutdownHook] [] o.s.s.c.ThreadPoolTaskScheduler 218 : Shutting down ExecutorService 'taskScheduler' +2024-06-27 12:07:50.764 INFO [SpringContextShutdownHook] [] o.s.s.concurrent.ThreadPoolTaskExecutor 218 : Shutting down ExecutorService 'applicationTaskExecutor' +2024-06-27 12:07:53.887 INFO [main] [] net.jjjerp.SpringBootJjjApplication 55 : Starting SpringBootJjjApplication on OS-20230506YKNI with PID 10824 (D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\bootstrap\target\classes started by Administrator in D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp) +2024-06-27 12:07:53.884 INFO [background-preinit] [] o.h.validator.internal.util.Version 21 : HV000001: Hibernate Validator 6.1.7.Final +2024-06-27 12:07:53.888 INFO [main] [] net.jjjerp.SpringBootJjjApplication 652 : The following profiles are active: prod +2024-06-27 12:07:54.863 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 249 : Multiple Spring Data modules found, entering strict repository configuration mode! +2024-06-27 12:07:54.865 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 127 : Bootstrapping Spring Data Redis repositories in DEFAULT mode. +2024-06-27 12:07:54.969 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 187 : Finished Spring Data repository scanning in 96ms. Found 0 Redis repository interfaces. +2024-06-27 12:07:55.229 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.ShiroConfig' of type [net.jjjerp.config.ShiroConfig$$EnhancerBySpringCGLIB$$9d6fe2ac] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 12:07:55.310 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.properties.JwtProperties' of type [net.jjjerp.config.properties.JwtProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 12:07:55.312 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.RedisTemplateConfig' of type [net.jjjerp.config.RedisTemplateConfig$$EnhancerBySpringCGLIB$$6cd4ed50] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 12:07:55.321 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'spring.redis-org.springframework.boot.autoconfigure.data.redis.RedisProperties' of type [org.springframework.boot.autoconfigure.data.redis.RedisProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 12:07:55.324 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration' of type [org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 12:07:55.375 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'lettuceClientResources' of type [io.lettuce.core.resource.DefaultClientResources] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 12:07:55.463 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'redisConnectionFactory' of type [org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 12:07:55.506 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'redisTemplate' of type [org.springframework.data.redis.core.RedisTemplate] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 12:07:55.507 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.cache.impl.AdminLoginRedisServiceImpl' of type [net.jjjerp.framework.shiro.cache.impl.AdminLoginRedisServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 12:07:55.510 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.cache.impl.ShopLoginRedisServiceImpl' of type [net.jjjerp.framework.shiro.cache.impl.ShopLoginRedisServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 12:07:55.617 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'credentialsMatcher' of type [net.jjjerp.framework.shiro.jwt.JwtCredentialsMatcher] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 12:07:55.624 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'jwtRealm' of type [net.jjjerp.framework.shiro.jwt.JwtRealm] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 12:07:55.625 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'sessionStorageEvaluator' of type [org.apache.shiro.web.mgt.DefaultWebSessionStorageEvaluator] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 12:07:55.626 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'subjectDAO' of type [org.apache.shiro.mgt.DefaultSubjectDAO] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 12:07:55.629 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'securityManager' of type [org.apache.shiro.web.mgt.DefaultWebSecurityManager] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 12:07:55.648 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.service.impl.ShiroLoginServiceImpl' of type [net.jjjerp.framework.shiro.service.impl.ShiroLoginServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 12:07:55.654 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'spring-boot-jjj.shiro-net.jjjerp.config.properties.ShiroProperties' of type [net.jjjerp.config.properties.ShiroProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 12:07:55.733 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'authorizationAttributeSourceAdvisor' of type [org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 12:07:55.858 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.RedisCacheConfig' of type [net.jjjerp.config.RedisCacheConfig$$EnhancerBySpringCGLIB$$2211c452] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 12:07:56.111 INFO [main] [] o.s.b.w.embedded.tomcat.TomcatWebServer 108 : Tomcat initialized with port(s): 8892 (http) +2024-06-27 12:07:56.118 INFO [main] [] o.a.coyote.http11.Http11NioProtocol 173 : Initializing ProtocolHandler ["http-nio-8892"] +2024-06-27 12:07:56.119 INFO [main] [] o.apache.catalina.core.StandardService 173 : Starting service [Tomcat] +2024-06-27 12:07:56.119 INFO [main] [] org.apache.catalina.core.StandardEngine 173 : Starting Servlet engine: [Apache Tomcat/9.0.46] +2024-06-27 12:07:56.214 INFO [main] [] o.a.c.c.C.[Tomcat].[localhost].[/api] 173 : Initializing Spring embedded WebApplicationContext +2024-06-27 12:07:56.214 INFO [main] [] w.s.c.ServletWebServerApplicationContext 285 : Root WebApplicationContext: initialization completed in 2277 ms +2024-06-27 12:07:56.362 INFO [main] [] net.jjjerp.framework.core.xss.XssFilter 18 : XssFilter init +2024-06-27 12:07:56.363 INFO [main] [] n.j.f.core.filter.RequestDetailFilter 30 : RequestDetailFilter init +2024-06-27 12:07:59.679 INFO [main] [] org.reflections.Reflections 228 : Reflections took 37 ms to scan 1 urls, producing 0 keys and 0 values +2024-06-27 12:07:59.771 INFO [main] [] net.jjjerp.framework.shiro.util.JwtUtil 33 : {"audience":"web","expireSecond":36000,"issuer":"spring-boot-jjj","redisCheck":true,"refreshToken":true,"refreshTokenCountdown":600,"saltCheck":true,"secret":"888888","singleLogin":false,"tokenName":"token"} +2024-06-27 12:08:02.484 INFO [main] [] pertySourcedRequestMappingHandlerMapping 69 : Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2Controller#getDocumentation(String, HttpServletRequest)] +2024-06-27 12:08:02.507 INFO [main] [] net.jjjerp.config.Swagger2Config 149 : swagger scan basePackages:null +2024-06-27 12:08:02.657 INFO [main] [] o.s.s.concurrent.ThreadPoolTaskExecutor 181 : Initializing ExecutorService 'applicationTaskExecutor' +2024-06-27 12:08:02.759 INFO [main] [] o.s.b.a.w.s.WelcomePageHandlerMapping 53 : Adding welcome page: class path resource [static/index.html] +2024-06-27 12:08:02.932 INFO [main] [] o.s.s.c.ThreadPoolTaskScheduler 181 : Initializing ExecutorService 'taskScheduler' +2024-06-27 12:08:03.028 INFO [main] [] o.a.coyote.http11.Http11NioProtocol 173 : Starting ProtocolHandler ["http-nio-8892"] +2024-06-27 12:08:03.047 INFO [main] [] o.s.b.w.embedded.tomcat.TomcatWebServer 220 : Tomcat started on port(s): 8892 (http) with context path '/api' +2024-06-27 12:08:03.048 INFO [main] [] d.s.w.p.DocumentationPluginsBootstrapper 160 : Context refreshed +2024-06-27 12:08:03.054 INFO [main] [] d.s.w.p.DocumentationPluginsBootstrapper 163 : Found 1 custom documentation plugin(s) +2024-06-27 12:08:03.087 INFO [main] [] s.d.s.w.s.ApiListingReferenceScanner 41 : Scanning for api listing references +2024-06-27 12:08:03.203 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_1 +2024-06-27 12:08:03.204 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_1 +2024-06-27 12:08:03.205 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_1 +2024-06-27 12:08:03.221 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_1 +2024-06-27 12:08:03.256 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_2 +2024-06-27 12:08:03.257 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_2 +2024-06-27 12:08:03.261 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_3 +2024-06-27 12:08:03.262 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_3 +2024-06-27 12:08:03.265 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_4 +2024-06-27 12:08:03.265 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_4 +2024-06-27 12:08:03.266 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexOutUsingPOST_1 +2024-06-27 12:08:03.269 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_5 +2024-06-27 12:08:03.275 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_5 +2024-06-27 12:08:03.275 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_2 +2024-06-27 12:08:03.276 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_2 +2024-06-27 12:08:03.291 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_6 +2024-06-27 12:08:03.292 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_7 +2024-06-27 12:08:03.298 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_8 +2024-06-27 12:08:03.306 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_6 +2024-06-27 12:08:03.307 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_3 +2024-06-27 12:08:03.307 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_3 +2024-06-27 12:08:03.315 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_9 +2024-06-27 12:08:03.342 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_10 +2024-06-27 12:08:03.344 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_7 +2024-06-27 12:08:03.345 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_4 +2024-06-27 12:08:03.345 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_4 +2024-06-27 12:08:03.348 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_11 +2024-06-27 12:08:03.353 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_8 +2024-06-27 12:08:03.354 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_5 +2024-06-27 12:08:03.354 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_5 +2024-06-27 12:08:03.357 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_12 +2024-06-27 12:08:03.361 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_9 +2024-06-27 12:08:03.362 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_6 +2024-06-27 12:08:03.363 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_6 +2024-06-27 12:08:03.366 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_13 +2024-06-27 12:08:03.367 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_1 +2024-06-27 12:08:03.368 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_10 +2024-06-27 12:08:03.369 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_7 +2024-06-27 12:08:03.370 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_7 +2024-06-27 12:08:03.371 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_14 +2024-06-27 12:08:03.372 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_11 +2024-06-27 12:08:03.373 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_8 +2024-06-27 12:08:03.373 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_8 +2024-06-27 12:08:03.374 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_15 +2024-06-27 12:08:03.376 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_12 +2024-06-27 12:08:03.378 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_9 +2024-06-27 12:08:03.379 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_9 +2024-06-27 12:08:03.382 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_16 +2024-06-27 12:08:03.384 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_17 +2024-06-27 12:08:03.389 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_13 +2024-06-27 12:08:03.390 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_10 +2024-06-27 12:08:03.393 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_18 +2024-06-27 12:08:03.394 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_1 +2024-06-27 12:08:03.405 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addGroupUsingPOST_1 +2024-06-27 12:08:03.406 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: categoryUsingPOST_1 +2024-06-27 12:08:03.406 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteFilesUsingPOST_1 +2024-06-27 12:08:03.407 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteGroupUsingPOST_1 +2024-06-27 12:08:03.407 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editGroupUsingPOST_1 +2024-06-27 12:08:03.410 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: listsUsingPOST_1 +2024-06-27 12:08:03.411 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: moveFilesUsingPOST_1 +2024-06-27 12:08:03.412 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_19 +2024-06-27 12:08:03.416 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_14 +2024-06-27 12:08:03.417 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_10 +2024-06-27 12:08:03.417 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteFilesUsingPOST_2 +2024-06-27 12:08:03.418 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_11 +2024-06-27 12:08:03.419 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_20 +2024-06-27 12:08:03.423 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: moveFilesUsingPOST_2 +2024-06-27 12:08:03.424 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_21 +2024-06-27 12:08:03.425 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: listUsingPOST_1 +2024-06-27 12:08:03.426 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_22 +2024-06-27 12:08:03.433 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_23 +2024-06-27 12:08:03.436 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_24 +2024-06-27 12:08:03.437 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_25 +2024-06-27 12:08:03.440 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_15 +2024-06-27 12:08:03.440 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_1 +2024-06-27 12:08:03.441 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_12 +2024-06-27 12:08:03.442 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_26 +2024-06-27 12:08:03.443 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: repulseAuditUsingPOST_1 +2024-06-27 12:08:03.445 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_16 +2024-06-27 12:08:03.445 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_11 +2024-06-27 12:08:03.446 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_13 +2024-06-27 12:08:03.449 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_27 +2024-06-27 12:08:03.453 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_17 +2024-06-27 12:08:03.454 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_12 +2024-06-27 12:08:03.454 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_14 +2024-06-27 12:08:03.456 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_28 +2024-06-27 12:08:03.457 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_18 +2024-06-27 12:08:03.458 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_29 +2024-06-27 12:08:03.462 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_30 +2024-06-27 12:08:03.463 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_19 +2024-06-27 12:08:03.464 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_1 +2024-06-27 12:08:03.464 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_31 +2024-06-27 12:08:03.466 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_1 +2024-06-27 12:08:03.467 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_32 +2024-06-27 12:08:03.469 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_20 +2024-06-27 12:08:03.469 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_2 +2024-06-27 12:08:03.470 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_33 +2024-06-27 12:08:03.479 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: loginUsingPOST_1 +2024-06-27 12:08:03.480 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: logoutUsingPOST_1 +2024-06-27 12:08:03.481 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_34 +2024-06-27 12:08:03.484 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_21 +2024-06-27 12:08:03.484 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_13 +2024-06-27 12:08:03.485 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_15 +2024-06-27 12:08:03.485 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_35 +2024-06-27 12:08:03.487 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_2 +2024-06-27 12:08:03.492 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_22 +2024-06-27 12:08:03.492 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_14 +2024-06-27 12:08:03.493 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_16 +2024-06-27 12:08:03.496 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_36 +2024-06-27 12:08:03.497 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: stateUsingPOST_1 +2024-06-27 12:08:03.497 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_1 +2024-06-27 12:08:03.498 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_3 +2024-06-27 12:08:03.499 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_23 +2024-06-27 12:08:03.500 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_2 +2024-06-27 12:08:03.501 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_2 +2024-06-27 12:08:03.502 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_17 +2024-06-27 12:08:03.502 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_37 +2024-06-27 12:08:03.504 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_3 +2024-06-27 12:08:03.505 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_18 +2024-06-27 12:08:03.505 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_38 +2024-06-27 12:08:03.506 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addStorageUsingPOST_1 +2024-06-27 12:08:03.507 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_4 +2024-06-27 12:08:03.508 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_3 +2024-06-27 12:08:03.508 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_19 +2024-06-27 12:08:03.509 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_39 +2024-06-27 12:08:03.510 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_40 +2024-06-27 12:08:03.511 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_24 +2024-06-27 12:08:03.512 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_20 +2024-06-27 12:08:03.512 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_3 +2024-06-27 12:08:03.514 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_25 +2024-06-27 12:08:03.515 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_15 +2024-06-27 12:08:03.515 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_21 +2024-06-27 12:08:03.517 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_41 +2024-06-27 12:08:03.519 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_2 +2024-06-27 12:08:03.520 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_4 +2024-06-27 12:08:03.522 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: scanIndexUsingPOST_1 +2024-06-27 12:08:03.523 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_42 +2024-06-27 12:08:03.523 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_1 +2024-06-27 12:08:03.525 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_26 +2024-06-27 12:08:03.525 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_16 +2024-06-27 12:08:03.526 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_22 +2024-06-27 12:08:03.530 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_43 +2024-06-27 12:08:03.533 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_27 +2024-06-27 12:08:03.534 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_17 +2024-06-27 12:08:03.534 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_23 +2024-06-27 12:08:03.536 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_44 +2024-06-27 12:08:03.536 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_3 +2024-06-27 12:08:03.537 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_5 +2024-06-27 12:08:03.539 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_28 +2024-06-27 12:08:03.539 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_18 +2024-06-27 12:08:03.539 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_24 +2024-06-27 12:08:03.541 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_45 +2024-06-27 12:08:03.542 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_46 +2024-06-27 12:08:03.542 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_2 +2024-06-27 12:08:03.543 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_29 +2024-06-27 12:08:03.544 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_47 +2024-06-27 12:08:03.545 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_48 +2024-06-27 12:08:03.545 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_49 +2024-06-27 12:08:03.546 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_3 +2024-06-27 12:08:03.549 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_30 +2024-06-27 12:08:03.550 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_19 +2024-06-27 12:08:03.551 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_25 +2024-06-27 12:08:03.555 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_50 +2024-06-27 12:08:03.555 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_2 +2024-06-27 12:08:03.555 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_4 +2024-06-27 12:08:03.556 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_6 +2024-06-27 12:08:03.559 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_31 +2024-06-27 12:08:03.560 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_20 +2024-06-27 12:08:03.560 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_26 +2024-06-27 12:08:03.566 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_51 +2024-06-27 12:08:03.567 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_3 +2024-06-27 12:08:03.568 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_7 +2024-06-27 12:08:03.568 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_52 +2024-06-27 12:08:03.569 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_4 +2024-06-27 12:08:03.571 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_32 +2024-06-27 12:08:03.571 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_21 +2024-06-27 12:08:03.572 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_27 +2024-06-27 12:08:03.574 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_53 +2024-06-27 12:08:03.577 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: uploadUsingPOST_1 +2024-06-27 12:08:03.601 INFO [main] [] net.jjjerp.SpringBootJjjApplication 61 : Started SpringBootJjjApplication in 10.253 seconds (JVM running for 11.006) +2024-06-27 12:08:03.606 INFO [main] [] n.j.framework.util.PrintApplicationInfo 61 : projectFinalName : jjj-erp-1.0 +2024-06-27 12:08:03.606 INFO [main] [] n.j.framework.util.PrintApplicationInfo 62 : projectVersion : 1.0 +2024-06-27 12:08:03.606 INFO [main] [] n.j.framework.util.PrintApplicationInfo 63 : profileActive : prod +2024-06-27 12:08:03.606 INFO [main] [] n.j.framework.util.PrintApplicationInfo 64 : contextPath : /api +2024-06-27 12:08:03.606 INFO [main] [] n.j.framework.util.PrintApplicationInfo 65 : serverIp : http://erp3.huadeng.fun +2024-06-27 12:08:03.606 INFO [main] [] n.j.framework.util.PrintApplicationInfo 66 : port : 8892 +2024-06-27 12:08:03.606 INFO [main] [] n.j.framework.util.PrintApplicationInfo 81 : Home: http://erp3.huadeng.fun/api +2024-06-27 12:08:03.606 INFO [main] [] n.j.framework.util.PrintApplicationInfo 82 : Knife4j: http://erp3.huadeng.fun/api/doc.html +2024-06-27 12:08:03.606 INFO [main] [] n.j.framework.util.PrintApplicationInfo 83 : Swagger: http://erp3.huadeng.fun/api/swagger-ui.html +2024-06-27 12:08:03.606 INFO [main] [] n.j.framework.util.PrintApplicationInfo 84 : jjj-erp 启动成功........... + ____ __ __ ____ +/\ _`\ /\ \__ /\ \__ /\ _`\ +\ \,\L\_\ \ ,_\ __ _ __\ \ ,_\ \ \,\L\_\ __ __ ___ ___ __ ____ ____ + \/_\__ \\ \ \/ /'__`\ /\`'__\ \ \/ \/_\__ \ /\ \/\ \ /'___\ /'___\ /'__`\ /',__\ /',__\ + /\ \L\ \ \ \_/\ \L\.\_\ \ \/ \ \ \_ /\ \L\ \ \ \_\ \/\ \__//\ \__//\ __//\__, `\/\__, `\ + \ `\____\ \__\ \__/.\_\\ \_\ \ \__\ \ `\____\ \____/\ \____\ \____\ \____\/\____/\/\____/ + \/_____/\/__/\/__/\/_/ \/_/ \/__/ \/_____/\/___/ \/____/\/____/\/____/\/___/ \/___/ + + +2024-06-27 12:09:49.800 INFO [SpringContextShutdownHook] [] net.jjjerp.framework.core.xss.XssFilter 30 : XssFilter destroy +2024-06-27 12:09:49.800 INFO [SpringContextShutdownHook] [] n.j.f.core.filter.RequestDetailFilter 116 : RequestDetailFilter destroy +2024-06-27 12:09:49.804 INFO [SpringContextShutdownHook] [] o.s.s.c.ThreadPoolTaskScheduler 218 : Shutting down ExecutorService 'taskScheduler' +2024-06-27 12:09:49.805 INFO [SpringContextShutdownHook] [] o.s.s.concurrent.ThreadPoolTaskExecutor 218 : Shutting down ExecutorService 'applicationTaskExecutor' +2024-06-27 12:10:07.867 INFO [main] [] net.jjjerp.SpringBootJjjApplication 55 : Starting SpringBootJjjApplication on OS-20230506YKNI with PID 4444 (D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\bootstrap\target\classes started by Administrator in D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp) +2024-06-27 12:10:07.864 INFO [background-preinit] [] o.h.validator.internal.util.Version 21 : HV000001: Hibernate Validator 6.1.7.Final +2024-06-27 12:10:07.868 INFO [main] [] net.jjjerp.SpringBootJjjApplication 652 : The following profiles are active: prod +2024-06-27 12:10:08.903 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 249 : Multiple Spring Data modules found, entering strict repository configuration mode! +2024-06-27 12:10:08.905 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 127 : Bootstrapping Spring Data Redis repositories in DEFAULT mode. +2024-06-27 12:10:09.017 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 187 : Finished Spring Data repository scanning in 103ms. Found 0 Redis repository interfaces. +2024-06-27 12:10:09.264 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.ShiroConfig' of type [net.jjjerp.config.ShiroConfig$$EnhancerBySpringCGLIB$$ec746c43] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 12:10:09.349 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.properties.JwtProperties' of type [net.jjjerp.config.properties.JwtProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 12:10:09.351 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.RedisTemplateConfig' of type [net.jjjerp.config.RedisTemplateConfig$$EnhancerBySpringCGLIB$$bbd976e7] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 12:10:09.359 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'spring.redis-org.springframework.boot.autoconfigure.data.redis.RedisProperties' of type [org.springframework.boot.autoconfigure.data.redis.RedisProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 12:10:09.361 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration' of type [org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 12:10:09.413 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'lettuceClientResources' of type [io.lettuce.core.resource.DefaultClientResources] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 12:10:09.502 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'redisConnectionFactory' of type [org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 12:10:09.547 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'redisTemplate' of type [org.springframework.data.redis.core.RedisTemplate] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 12:10:09.548 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.cache.impl.AdminLoginRedisServiceImpl' of type [net.jjjerp.framework.shiro.cache.impl.AdminLoginRedisServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 12:10:09.551 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.cache.impl.ShopLoginRedisServiceImpl' of type [net.jjjerp.framework.shiro.cache.impl.ShopLoginRedisServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 12:10:09.674 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'credentialsMatcher' of type [net.jjjerp.framework.shiro.jwt.JwtCredentialsMatcher] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 12:10:09.682 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'jwtRealm' of type [net.jjjerp.framework.shiro.jwt.JwtRealm] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 12:10:09.683 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'sessionStorageEvaluator' of type [org.apache.shiro.web.mgt.DefaultWebSessionStorageEvaluator] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 12:10:09.683 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'subjectDAO' of type [org.apache.shiro.mgt.DefaultSubjectDAO] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 12:10:09.686 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'securityManager' of type [org.apache.shiro.web.mgt.DefaultWebSecurityManager] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 12:10:09.706 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.service.impl.ShiroLoginServiceImpl' of type [net.jjjerp.framework.shiro.service.impl.ShiroLoginServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 12:10:09.712 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'spring-boot-jjj.shiro-net.jjjerp.config.properties.ShiroProperties' of type [net.jjjerp.config.properties.ShiroProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 12:10:09.797 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'authorizationAttributeSourceAdvisor' of type [org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 12:10:09.925 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.RedisCacheConfig' of type [net.jjjerp.config.RedisCacheConfig$$EnhancerBySpringCGLIB$$71164de9] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 12:10:10.165 INFO [main] [] o.s.b.w.embedded.tomcat.TomcatWebServer 108 : Tomcat initialized with port(s): 8892 (http) +2024-06-27 12:10:10.174 INFO [main] [] o.a.coyote.http11.Http11NioProtocol 173 : Initializing ProtocolHandler ["http-nio-8892"] +2024-06-27 12:10:10.174 INFO [main] [] o.apache.catalina.core.StandardService 173 : Starting service [Tomcat] +2024-06-27 12:10:10.174 INFO [main] [] org.apache.catalina.core.StandardEngine 173 : Starting Servlet engine: [Apache Tomcat/9.0.46] +2024-06-27 12:10:10.269 INFO [main] [] o.a.c.c.C.[Tomcat].[localhost].[/api] 173 : Initializing Spring embedded WebApplicationContext +2024-06-27 12:10:10.276 INFO [main] [] w.s.c.ServletWebServerApplicationContext 285 : Root WebApplicationContext: initialization completed in 2355 ms +2024-06-27 12:10:10.408 INFO [main] [] net.jjjerp.framework.core.xss.XssFilter 18 : XssFilter init +2024-06-27 12:10:10.409 INFO [main] [] n.j.f.core.filter.RequestDetailFilter 30 : RequestDetailFilter init +2024-06-27 12:10:13.898 INFO [main] [] org.reflections.Reflections 228 : Reflections took 38 ms to scan 1 urls, producing 0 keys and 0 values +2024-06-27 12:10:13.993 INFO [main] [] net.jjjerp.framework.shiro.util.JwtUtil 33 : {"audience":"web","expireSecond":36000,"issuer":"spring-boot-jjj","redisCheck":true,"refreshToken":true,"refreshTokenCountdown":600,"saltCheck":true,"secret":"888888","singleLogin":false,"tokenName":"token"} +2024-06-27 12:10:16.932 INFO [main] [] pertySourcedRequestMappingHandlerMapping 69 : Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2Controller#getDocumentation(String, HttpServletRequest)] +2024-06-27 12:10:16.950 INFO [main] [] net.jjjerp.config.Swagger2Config 149 : swagger scan basePackages:null +2024-06-27 12:10:17.105 INFO [main] [] o.s.s.concurrent.ThreadPoolTaskExecutor 181 : Initializing ExecutorService 'applicationTaskExecutor' +2024-06-27 12:10:17.201 INFO [main] [] o.s.b.a.w.s.WelcomePageHandlerMapping 53 : Adding welcome page: class path resource [static/index.html] +2024-06-27 12:10:17.385 INFO [main] [] o.s.s.c.ThreadPoolTaskScheduler 181 : Initializing ExecutorService 'taskScheduler' +2024-06-27 12:10:17.483 INFO [main] [] o.a.coyote.http11.Http11NioProtocol 173 : Starting ProtocolHandler ["http-nio-8892"] +2024-06-27 12:10:17.501 INFO [main] [] o.s.b.w.embedded.tomcat.TomcatWebServer 220 : Tomcat started on port(s): 8892 (http) with context path '/api' +2024-06-27 12:10:17.502 INFO [main] [] d.s.w.p.DocumentationPluginsBootstrapper 160 : Context refreshed +2024-06-27 12:10:17.508 INFO [main] [] d.s.w.p.DocumentationPluginsBootstrapper 163 : Found 1 custom documentation plugin(s) +2024-06-27 12:10:17.542 INFO [main] [] s.d.s.w.s.ApiListingReferenceScanner 41 : Scanning for api listing references +2024-06-27 12:10:17.661 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_1 +2024-06-27 12:10:17.663 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_1 +2024-06-27 12:10:17.663 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_1 +2024-06-27 12:10:17.681 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_1 +2024-06-27 12:10:17.719 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_2 +2024-06-27 12:10:17.720 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_2 +2024-06-27 12:10:17.723 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_3 +2024-06-27 12:10:17.724 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_3 +2024-06-27 12:10:17.726 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_4 +2024-06-27 12:10:17.727 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_4 +2024-06-27 12:10:17.728 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexOutUsingPOST_1 +2024-06-27 12:10:17.731 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_5 +2024-06-27 12:10:17.737 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_5 +2024-06-27 12:10:17.738 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_2 +2024-06-27 12:10:17.739 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_2 +2024-06-27 12:10:17.753 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_6 +2024-06-27 12:10:17.755 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_7 +2024-06-27 12:10:17.759 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_8 +2024-06-27 12:10:17.790 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_6 +2024-06-27 12:10:17.791 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_3 +2024-06-27 12:10:17.792 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_3 +2024-06-27 12:10:17.799 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_9 +2024-06-27 12:10:17.803 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_10 +2024-06-27 12:10:17.806 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_7 +2024-06-27 12:10:17.806 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_4 +2024-06-27 12:10:17.807 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_4 +2024-06-27 12:10:17.810 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_11 +2024-06-27 12:10:17.814 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_8 +2024-06-27 12:10:17.815 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_5 +2024-06-27 12:10:17.815 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_5 +2024-06-27 12:10:17.819 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_12 +2024-06-27 12:10:17.822 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_9 +2024-06-27 12:10:17.823 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_6 +2024-06-27 12:10:17.823 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_6 +2024-06-27 12:10:17.827 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_13 +2024-06-27 12:10:17.828 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_1 +2024-06-27 12:10:17.830 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_10 +2024-06-27 12:10:17.831 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_7 +2024-06-27 12:10:17.832 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_7 +2024-06-27 12:10:17.834 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_14 +2024-06-27 12:10:17.835 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_11 +2024-06-27 12:10:17.836 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_8 +2024-06-27 12:10:17.836 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_8 +2024-06-27 12:10:17.837 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_15 +2024-06-27 12:10:17.838 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_12 +2024-06-27 12:10:17.842 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_9 +2024-06-27 12:10:17.843 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_9 +2024-06-27 12:10:17.846 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_16 +2024-06-27 12:10:17.847 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_17 +2024-06-27 12:10:17.853 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_13 +2024-06-27 12:10:17.854 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_10 +2024-06-27 12:10:17.857 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_18 +2024-06-27 12:10:17.858 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_1 +2024-06-27 12:10:17.869 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addGroupUsingPOST_1 +2024-06-27 12:10:17.869 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: categoryUsingPOST_1 +2024-06-27 12:10:17.870 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteFilesUsingPOST_1 +2024-06-27 12:10:17.870 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteGroupUsingPOST_1 +2024-06-27 12:10:17.871 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editGroupUsingPOST_1 +2024-06-27 12:10:17.874 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: listsUsingPOST_1 +2024-06-27 12:10:17.875 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: moveFilesUsingPOST_1 +2024-06-27 12:10:17.876 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_19 +2024-06-27 12:10:17.880 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_20 +2024-06-27 12:10:17.885 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_14 +2024-06-27 12:10:17.886 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_10 +2024-06-27 12:10:17.886 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteFilesUsingPOST_2 +2024-06-27 12:10:17.887 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_11 +2024-06-27 12:10:17.887 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_21 +2024-06-27 12:10:17.889 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: listUsingPOST_1 +2024-06-27 12:10:17.889 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: moveFilesUsingPOST_2 +2024-06-27 12:10:17.890 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_22 +2024-06-27 12:10:17.897 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_23 +2024-06-27 12:10:17.901 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_24 +2024-06-27 12:10:17.902 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_25 +2024-06-27 12:10:17.905 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_15 +2024-06-27 12:10:17.905 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_1 +2024-06-27 12:10:17.906 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_12 +2024-06-27 12:10:17.907 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_26 +2024-06-27 12:10:17.907 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: repulseAuditUsingPOST_1 +2024-06-27 12:10:17.909 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_16 +2024-06-27 12:10:17.910 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_11 +2024-06-27 12:10:17.910 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_13 +2024-06-27 12:10:17.914 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_27 +2024-06-27 12:10:17.917 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_17 +2024-06-27 12:10:17.918 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_12 +2024-06-27 12:10:17.918 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_14 +2024-06-27 12:10:17.920 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_28 +2024-06-27 12:10:17.922 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_18 +2024-06-27 12:10:17.923 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_29 +2024-06-27 12:10:17.927 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_30 +2024-06-27 12:10:17.928 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_19 +2024-06-27 12:10:17.929 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_1 +2024-06-27 12:10:17.929 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_31 +2024-06-27 12:10:17.931 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_1 +2024-06-27 12:10:17.932 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_32 +2024-06-27 12:10:17.934 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_20 +2024-06-27 12:10:17.935 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_2 +2024-06-27 12:10:17.935 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_33 +2024-06-27 12:10:17.947 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: loginUsingPOST_1 +2024-06-27 12:10:17.948 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: logoutUsingPOST_1 +2024-06-27 12:10:17.950 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_34 +2024-06-27 12:10:17.953 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_21 +2024-06-27 12:10:17.954 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_13 +2024-06-27 12:10:17.954 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_15 +2024-06-27 12:10:17.955 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_35 +2024-06-27 12:10:17.956 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_2 +2024-06-27 12:10:17.960 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_22 +2024-06-27 12:10:17.960 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_14 +2024-06-27 12:10:17.961 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_16 +2024-06-27 12:10:17.965 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_36 +2024-06-27 12:10:17.966 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: stateUsingPOST_1 +2024-06-27 12:10:17.966 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_1 +2024-06-27 12:10:17.967 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_3 +2024-06-27 12:10:17.968 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_23 +2024-06-27 12:10:17.969 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_2 +2024-06-27 12:10:17.969 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_2 +2024-06-27 12:10:17.970 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_17 +2024-06-27 12:10:17.971 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_37 +2024-06-27 12:10:17.973 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_3 +2024-06-27 12:10:17.973 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_18 +2024-06-27 12:10:17.974 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_38 +2024-06-27 12:10:17.975 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addStorageUsingPOST_1 +2024-06-27 12:10:17.976 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_4 +2024-06-27 12:10:17.977 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_3 +2024-06-27 12:10:17.978 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_19 +2024-06-27 12:10:17.978 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_39 +2024-06-27 12:10:17.979 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_40 +2024-06-27 12:10:17.982 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_24 +2024-06-27 12:10:17.982 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_20 +2024-06-27 12:10:17.983 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_3 +2024-06-27 12:10:17.986 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_25 +2024-06-27 12:10:17.986 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_15 +2024-06-27 12:10:17.987 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_21 +2024-06-27 12:10:17.988 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_41 +2024-06-27 12:10:17.988 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_2 +2024-06-27 12:10:17.989 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_4 +2024-06-27 12:10:17.991 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: scanIndexUsingPOST_1 +2024-06-27 12:10:17.992 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_42 +2024-06-27 12:10:17.992 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_1 +2024-06-27 12:10:17.994 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_26 +2024-06-27 12:10:17.994 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_16 +2024-06-27 12:10:17.995 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_22 +2024-06-27 12:10:17.999 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_43 +2024-06-27 12:10:18.002 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_27 +2024-06-27 12:10:18.003 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_17 +2024-06-27 12:10:18.003 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_23 +2024-06-27 12:10:18.004 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_44 +2024-06-27 12:10:18.005 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_3 +2024-06-27 12:10:18.005 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_5 +2024-06-27 12:10:18.007 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_28 +2024-06-27 12:10:18.007 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_18 +2024-06-27 12:10:18.008 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_24 +2024-06-27 12:10:18.010 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_45 +2024-06-27 12:10:18.010 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_46 +2024-06-27 12:10:18.011 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_2 +2024-06-27 12:10:18.012 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_29 +2024-06-27 12:10:18.012 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_47 +2024-06-27 12:10:18.013 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_48 +2024-06-27 12:10:18.014 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_49 +2024-06-27 12:10:18.014 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_3 +2024-06-27 12:10:18.018 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_30 +2024-06-27 12:10:18.018 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_19 +2024-06-27 12:10:18.019 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_25 +2024-06-27 12:10:18.022 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_50 +2024-06-27 12:10:18.023 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_2 +2024-06-27 12:10:18.023 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_4 +2024-06-27 12:10:18.023 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_6 +2024-06-27 12:10:18.027 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_31 +2024-06-27 12:10:18.027 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_20 +2024-06-27 12:10:18.028 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_26 +2024-06-27 12:10:18.033 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_51 +2024-06-27 12:10:18.033 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_3 +2024-06-27 12:10:18.033 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_7 +2024-06-27 12:10:18.034 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_52 +2024-06-27 12:10:18.034 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_4 +2024-06-27 12:10:18.036 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_32 +2024-06-27 12:10:18.037 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_21 +2024-06-27 12:10:18.037 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_27 +2024-06-27 12:10:18.039 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_53 +2024-06-27 12:10:18.042 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: uploadUsingPOST_1 +2024-06-27 12:10:18.060 INFO [main] [] net.jjjerp.SpringBootJjjApplication 61 : Started SpringBootJjjApplication in 10.652 seconds (JVM running for 11.246) +2024-06-27 12:10:18.063 INFO [main] [] n.j.framework.util.PrintApplicationInfo 61 : projectFinalName : jjj-erp-1.0 +2024-06-27 12:10:18.063 INFO [main] [] n.j.framework.util.PrintApplicationInfo 62 : projectVersion : 1.0 +2024-06-27 12:10:18.063 INFO [main] [] n.j.framework.util.PrintApplicationInfo 63 : profileActive : prod +2024-06-27 12:10:18.063 INFO [main] [] n.j.framework.util.PrintApplicationInfo 64 : contextPath : /api +2024-06-27 12:10:18.063 INFO [main] [] n.j.framework.util.PrintApplicationInfo 65 : serverIp : http://erp3.huadeng.fun +2024-06-27 12:10:18.063 INFO [main] [] n.j.framework.util.PrintApplicationInfo 66 : port : 8892 +2024-06-27 12:10:18.063 INFO [main] [] n.j.framework.util.PrintApplicationInfo 81 : Home: http://erp3.huadeng.fun/api +2024-06-27 12:10:18.063 INFO [main] [] n.j.framework.util.PrintApplicationInfo 82 : Knife4j: http://erp3.huadeng.fun/api/doc.html +2024-06-27 12:10:18.063 INFO [main] [] n.j.framework.util.PrintApplicationInfo 83 : Swagger: http://erp3.huadeng.fun/api/swagger-ui.html +2024-06-27 12:10:18.063 INFO [main] [] n.j.framework.util.PrintApplicationInfo 84 : jjj-erp 启动成功........... + ____ __ __ ____ +/\ _`\ /\ \__ /\ \__ /\ _`\ +\ \,\L\_\ \ ,_\ __ _ __\ \ ,_\ \ \,\L\_\ __ __ ___ ___ __ ____ ____ + \/_\__ \\ \ \/ /'__`\ /\`'__\ \ \/ \/_\__ \ /\ \/\ \ /'___\ /'___\ /'__`\ /',__\ /',__\ + /\ \L\ \ \ \_/\ \L\.\_\ \ \/ \ \ \_ /\ \L\ \ \ \_\ \/\ \__//\ \__//\ __//\__, `\/\__, `\ + \ `\____\ \__\ \__/.\_\\ \_\ \ \__\ \ `\____\ \____/\ \____\ \____\ \____\/\____/\/\____/ + \/_____/\/__/\/__/\/_/ \/_/ \/__/ \/_____/\/___/ \/____/\/____/\/____/\/___/ \/___/ + + +2024-06-27 12:11:08.548 INFO [http-nio-8892-exec-2] [] o.a.c.c.C.[Tomcat].[localhost].[/api] 173 : Initializing Spring DispatcherServlet 'dispatcherServlet' +2024-06-27 12:11:08.548 INFO [http-nio-8892-exec-2] [] o.s.web.servlet.DispatcherServlet 525 : Initializing Servlet 'dispatcherServlet' +2024-06-27 12:11:08.561 INFO [http-nio-8892-exec-2] [] o.s.web.servlet.DispatcherServlet 547 : Completed initialization in 13 ms +2024-06-27 12:11:10.707 INFO [http-nio-8892-exec-1] [1806178434660065281] com.zaxxer.hikari.HikariDataSource 110 : HikariPool-1 - Starting... +2024-06-27 12:11:11.107 INFO [http-nio-8892-exec-1] [1806178434660065281] com.zaxxer.hikari.HikariDataSource 123 : HikariPool-1 - Start completed. +2024-06-27 12:11:29.790 WARN [http-nio-8892-exec-10] [] org.apache.catalina.connector.Request 173 : Creating the temporary upload location [C:\Users\Administrator\AppData\Local\Temp\tomcat.8892.579943910148281901\work\Tomcat\localhost\api\opt\upload\tmp] as it is required by the servlet [dispatcherServlet] +2024-06-27 13:34:20.927 ERROR [http-nio-8892-exec-5] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy404.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-27 13:34:20.938 ERROR [http-nio-8892-exec-6] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy404.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-27 13:34:30.235 INFO [lettuce-eventExecutorLoop-1-5] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was /101.34.74.68:6379 +2024-06-27 13:34:30.262 INFO [lettuce-nioEventLoop-4-2] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to 101.34.74.68:6379 +2024-06-27 13:34:36.077 WARN [http-nio-8892-exec-8] [1806199406867931138] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@52132209 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-27 13:34:41.083 WARN [http-nio-8892-exec-8] [1806199406867931138] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@7f20b47b (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-27 13:34:41.147 WARN [http-nio-8892-exec-13] [1806199429190017025] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@329591ce (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-27 13:34:41.211 WARN [http-nio-8892-exec-9] [1806199429454258177] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@6d1412ff (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-27 13:34:46.093 WARN [http-nio-8892-exec-8] [1806199406867931138] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@6d839321 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-27 13:34:46.155 WARN [http-nio-8892-exec-13] [1806199429190017025] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@2d440d01 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-27 13:34:46.220 WARN [http-nio-8892-exec-9] [1806199429454258177] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@b495210 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-27 13:34:51.103 WARN [http-nio-8892-exec-8] [1806199406867931138] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@6dd4898b (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-27 13:34:51.166 WARN [http-nio-8892-exec-13] [1806199429190017025] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@74da5eee (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-27 13:34:51.229 WARN [http-nio-8892-exec-9] [1806199429454258177] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@568afea6 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-27 13:46:15.411 ERROR [http-nio-8892-exec-11] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy404.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-27 13:46:24.633 INFO [lettuce-eventExecutorLoop-1-5] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was /101.34.74.68:6379 +2024-06-27 13:46:24.656 INFO [lettuce-nioEventLoop-4-3] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to 101.34.74.68:6379 +2024-06-27 13:46:30.081 WARN [http-nio-8892-exec-12] [1806202402620203010] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@6eebf07e (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-27 13:46:35.085 WARN [http-nio-8892-exec-12] [1806202402620203010] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@14eed646 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-27 13:46:40.093 WARN [http-nio-8892-exec-12] [1806202402620203010] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@67e8117c (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-27 13:46:45.100 WARN [http-nio-8892-exec-12] [1806202402620203010] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@bad752e (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-27 13:46:50.110 WARN [http-nio-8892-exec-12] [1806202402620203010] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@e4378ee (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-27 13:46:55.126 WARN [http-nio-8892-exec-12] [1806202402620203010] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@178a03ba (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-27 13:46:55.256 ERROR [http-nio-8892-exec-12] [] n.jjjerp.handler.GlobalExceptionHandler 233 : 异常来源:ip: 192.168.31.226, path: /api/admin/product/base/product/index +2024-06-27 13:46:55.256 ERROR [http-nio-8892-exec-12] [] n.jjjerp.handler.GlobalExceptionHandler 257 : errorCode: 5000, errorMessage: 系统异常 + +org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is java.sql.SQLTransientConnectionException: HikariPool-1 - Connection is not available, request timed out after 30060ms. +### The error may exist in net/jjjerp/admin/mapper/product/ProductMapper.java (best guess) +### The error may involve net.jjjerp.admin.mapper.product.ProductMapper.selectPage_mpCount +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is java.sql.SQLTransientConnectionException: HikariPool-1 - Connection is not available, request timed out after 30060ms. + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:440) + at com.sun.proxy.$Proxy114.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:223) + at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.executeForIPage(MybatisMapperMethod.java:122) + at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:87) + at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:148) + at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89) + at com.sun.proxy.$Proxy327.selectPage(Unknown Source) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:344) + at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:198) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:139) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:212) + at com.sun.proxy.$Proxy328.selectPage(Unknown Source) + at com.baomidou.mybatisplus.extension.service.IService.page(IService.java:298) + at net.jjjerp.admin.service.product.impl.ProductServiceImpl.getList(ProductServiceImpl.java:116) + at net.jjjerp.admin.service.product.impl.ProductServiceImpl$$FastClassBySpringCGLIB$$4edb1a59.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.admin.service.product.impl.ProductServiceImpl$$EnhancerBySpringCGLIB$$ddce4732.getList() + at net.jjjerp.admin.controller.product.base.ProductController.index(ProductController.java:42) + at net.jjjerp.admin.controller.product.base.ProductController$$FastClassBySpringCGLIB$$588445fc.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.AspectJAfterThrowingAdvice.invoke(AspectJAfterThrowingAdvice.java:62) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:88) + at net.jjjerp.framework.log.aop.BaseLogAop.handle(BaseLogAop.java:303) + at net.jjjerp.aop.LogAop.doAround(LogAop.java:35) + at net.jjjerp.aop.LogAop$$FastClassBySpringCGLIB$$189c4aae.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.aop.LogAop$$EnhancerBySpringCGLIB$$565b8923.doAround() + at sun.reflect.GeneratedMethodAccessor462.invoke(Unknown Source) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:644) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:633) + at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.apache.shiro.spring.security.interceptor.AopAllianceAnnotationsAuthorizingMethodInterceptor$1.proceed(AopAllianceAnnotationsAuthorizingMethodInterceptor.java:82) + at org.apache.shiro.authz.aop.AuthorizingMethodInterceptor.invoke(AuthorizingMethodInterceptor.java:39) + at org.apache.shiro.spring.security.interceptor.AopAllianceAnnotationsAuthorizingMethodInterceptor.invoke(AopAllianceAnnotationsAuthorizingMethodInterceptor.java:115) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:95) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at net.jjjerp.admin.controller.product.base.ProductController$$EnhancerBySpringCGLIB$$a00462a.index() + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:652) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:112) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) + at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is java.sql.SQLTransientConnectionException: HikariPool-1 - Connection is not available, request timed out after 30060ms. +### The error may exist in net/jjjerp/admin/mapper/product/ProductMapper.java (best guess) +### The error may involve net.jjjerp.admin.mapper.product.ProductMapper.selectPage_mpCount +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is java.sql.SQLTransientConnectionException: HikariPool-1 - Connection is not available, request timed out after 30060ms. + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:149) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:140) + at sun.reflect.GeneratedMethodAccessor273.invoke(Unknown Source) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:426) + ... 143 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is java.sql.SQLTransientConnectionException: HikariPool-1 - Connection is not available, request timed out after 30060ms. + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:82) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:337) + at com.baomidou.mybatisplus.core.executor.MybatisSimpleExecutor.prepareStatement(MybatisSimpleExecutor.java:93) + at com.baomidou.mybatisplus.core.executor.MybatisSimpleExecutor.doQuery(MybatisSimpleExecutor.java:68) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:325) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:156) + at com.baomidou.mybatisplus.core.executor.MybatisCachingExecutor.query(MybatisCachingExecutor.java:165) + at com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor.willDoQuery(PaginationInnerInterceptor.java:134) + at com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor.intercept(MybatisPlusInterceptor.java:59) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:61) + at com.sun.proxy.$Proxy409.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + ... 148 common frames omitted +Caused by: java.sql.SQLTransientConnectionException: HikariPool-1 - Connection is not available, request timed out after 30060ms. + at com.zaxxer.hikari.pool.HikariPool.createTimeoutException(HikariPool.java:695) + at com.zaxxer.hikari.pool.HikariPool.getConnection(HikariPool.java:197) + at com.zaxxer.hikari.pool.HikariPool.getConnection(HikariPool.java:162) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:128) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:158) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:116) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:79) + ... 161 common frames omitted +Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: No operations allowed after connection closed. + at sun.reflect.GeneratedConstructorAccessor111.newInstance(Unknown Source) + at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) + at java.lang.reflect.Constructor.newInstance(Constructor.java:423) + at com.mysql.jdbc.Util.handleNewInstance(Util.java:425) + at com.mysql.jdbc.Util.getInstance(Util.java:408) + at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:919) + at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:898) + at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:887) + at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:861) + at com.mysql.jdbc.ConnectionImpl.throwConnectionClosedException(ConnectionImpl.java:1192) + at com.mysql.jdbc.ConnectionImpl.checkClosed(ConnectionImpl.java:1187) + at com.mysql.jdbc.ConnectionImpl.setNetworkTimeout(ConnectionImpl.java:5494) + at com.zaxxer.hikari.pool.PoolBase.setNetworkTimeout(PoolBase.java:560) + at com.zaxxer.hikari.pool.PoolBase.isConnectionAlive(PoolBase.java:173) + at com.zaxxer.hikari.pool.HikariPool.getConnection(HikariPool.java:186) + ... 166 common frames omitted + +2024-06-27 13:47:38.325 WARN [http-nio-8892-exec-10] [1806202688919199746] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@7a3656ca (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-27 13:47:43.327 WARN [http-nio-8892-exec-10] [1806202688919199746] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@5cbb9ed1 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-27 13:47:48.340 WARN [http-nio-8892-exec-10] [1806202688919199746] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@7d411fc3 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-27 13:47:53.349 WARN [http-nio-8892-exec-10] [1806202688919199746] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@3ae4dec5 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-27 14:18:22.266 INFO [SpringContextShutdownHook] [] net.jjjerp.framework.core.xss.XssFilter 30 : XssFilter destroy +2024-06-27 14:18:22.266 INFO [SpringContextShutdownHook] [] n.j.f.core.filter.RequestDetailFilter 116 : RequestDetailFilter destroy +2024-06-27 14:18:22.273 INFO [SpringContextShutdownHook] [] o.s.s.c.ThreadPoolTaskScheduler 218 : Shutting down ExecutorService 'taskScheduler' +2024-06-27 14:18:22.273 INFO [SpringContextShutdownHook] [] o.s.s.concurrent.ThreadPoolTaskExecutor 218 : Shutting down ExecutorService 'applicationTaskExecutor' +2024-06-27 14:18:22.278 INFO [SpringContextShutdownHook] [] com.zaxxer.hikari.HikariDataSource 350 : HikariPool-1 - Shutdown initiated... +2024-06-27 14:18:22.280 INFO [SpringContextShutdownHook] [] com.zaxxer.hikari.HikariDataSource 352 : HikariPool-1 - Shutdown completed. +2024-06-27 14:18:31.964 INFO [background-preinit] [] o.h.validator.internal.util.Version 21 : HV000001: Hibernate Validator 6.1.7.Final +2024-06-27 14:18:31.968 INFO [main] [] net.jjjerp.SpringBootJjjApplication 55 : Starting SpringBootJjjApplication on OS-20230506YKNI with PID 12860 (D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\bootstrap\target\classes started by Administrator in D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp) +2024-06-27 14:18:31.968 INFO [main] [] net.jjjerp.SpringBootJjjApplication 652 : The following profiles are active: prod +2024-06-27 14:18:33.037 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 249 : Multiple Spring Data modules found, entering strict repository configuration mode! +2024-06-27 14:18:33.038 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 127 : Bootstrapping Spring Data Redis repositories in DEFAULT mode. +2024-06-27 14:18:33.152 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 187 : Finished Spring Data repository scanning in 104ms. Found 0 Redis repository interfaces. +2024-06-27 14:18:33.403 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.ShiroConfig' of type [net.jjjerp.config.ShiroConfig$$EnhancerBySpringCGLIB$$bc74f10a] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 14:18:33.489 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.properties.JwtProperties' of type [net.jjjerp.config.properties.JwtProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 14:18:33.491 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.RedisTemplateConfig' of type [net.jjjerp.config.RedisTemplateConfig$$EnhancerBySpringCGLIB$$8bd9fbae] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 14:18:33.499 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'spring.redis-org.springframework.boot.autoconfigure.data.redis.RedisProperties' of type [org.springframework.boot.autoconfigure.data.redis.RedisProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 14:18:33.502 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration' of type [org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 14:18:33.556 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'lettuceClientResources' of type [io.lettuce.core.resource.DefaultClientResources] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 14:18:33.646 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'redisConnectionFactory' of type [org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 14:18:33.690 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'redisTemplate' of type [org.springframework.data.redis.core.RedisTemplate] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 14:18:33.691 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.cache.impl.AdminLoginRedisServiceImpl' of type [net.jjjerp.framework.shiro.cache.impl.AdminLoginRedisServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 14:18:33.695 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.cache.impl.ShopLoginRedisServiceImpl' of type [net.jjjerp.framework.shiro.cache.impl.ShopLoginRedisServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 14:18:33.804 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'credentialsMatcher' of type [net.jjjerp.framework.shiro.jwt.JwtCredentialsMatcher] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 14:18:33.811 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'jwtRealm' of type [net.jjjerp.framework.shiro.jwt.JwtRealm] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 14:18:33.812 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'sessionStorageEvaluator' of type [org.apache.shiro.web.mgt.DefaultWebSessionStorageEvaluator] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 14:18:33.812 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'subjectDAO' of type [org.apache.shiro.mgt.DefaultSubjectDAO] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 14:18:33.814 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'securityManager' of type [org.apache.shiro.web.mgt.DefaultWebSecurityManager] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 14:18:33.833 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.service.impl.ShiroLoginServiceImpl' of type [net.jjjerp.framework.shiro.service.impl.ShiroLoginServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 14:18:33.840 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'spring-boot-jjj.shiro-net.jjjerp.config.properties.ShiroProperties' of type [net.jjjerp.config.properties.ShiroProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 14:18:33.918 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'authorizationAttributeSourceAdvisor' of type [org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 14:18:34.064 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.RedisCacheConfig' of type [net.jjjerp.config.RedisCacheConfig$$EnhancerBySpringCGLIB$$4116d2b0] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 14:18:34.344 INFO [main] [] o.s.b.w.embedded.tomcat.TomcatWebServer 108 : Tomcat initialized with port(s): 8892 (http) +2024-06-27 14:18:34.353 INFO [main] [] o.a.coyote.http11.Http11NioProtocol 173 : Initializing ProtocolHandler ["http-nio-8892"] +2024-06-27 14:18:34.353 INFO [main] [] o.apache.catalina.core.StandardService 173 : Starting service [Tomcat] +2024-06-27 14:18:34.353 INFO [main] [] org.apache.catalina.core.StandardEngine 173 : Starting Servlet engine: [Apache Tomcat/9.0.46] +2024-06-27 14:18:34.443 INFO [main] [] o.a.c.c.C.[Tomcat].[localhost].[/api] 173 : Initializing Spring embedded WebApplicationContext +2024-06-27 14:18:34.443 INFO [main] [] w.s.c.ServletWebServerApplicationContext 285 : Root WebApplicationContext: initialization completed in 2428 ms +2024-06-27 14:18:34.583 INFO [main] [] net.jjjerp.framework.core.xss.XssFilter 18 : XssFilter init +2024-06-27 14:18:34.584 INFO [main] [] n.j.f.core.filter.RequestDetailFilter 30 : RequestDetailFilter init +2024-06-27 14:18:38.058 INFO [main] [] org.reflections.Reflections 228 : Reflections took 38 ms to scan 1 urls, producing 0 keys and 0 values +2024-06-27 14:18:38.154 INFO [main] [] net.jjjerp.framework.shiro.util.JwtUtil 33 : {"audience":"web","expireSecond":36000,"issuer":"spring-boot-jjj","redisCheck":true,"refreshToken":true,"refreshTokenCountdown":600,"saltCheck":true,"secret":"888888","singleLogin":false,"tokenName":"token"} +2024-06-27 14:18:40.940 INFO [main] [] pertySourcedRequestMappingHandlerMapping 69 : Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2Controller#getDocumentation(String, HttpServletRequest)] +2024-06-27 14:18:40.958 INFO [main] [] net.jjjerp.config.Swagger2Config 149 : swagger scan basePackages:null +2024-06-27 14:18:41.096 INFO [main] [] o.s.s.concurrent.ThreadPoolTaskExecutor 181 : Initializing ExecutorService 'applicationTaskExecutor' +2024-06-27 14:18:41.179 INFO [main] [] o.s.b.a.w.s.WelcomePageHandlerMapping 53 : Adding welcome page: class path resource [static/index.html] +2024-06-27 14:18:41.363 INFO [main] [] o.s.s.c.ThreadPoolTaskScheduler 181 : Initializing ExecutorService 'taskScheduler' +2024-06-27 14:18:41.460 INFO [main] [] o.a.coyote.http11.Http11NioProtocol 173 : Starting ProtocolHandler ["http-nio-8892"] +2024-06-27 14:18:41.483 INFO [main] [] o.s.b.w.embedded.tomcat.TomcatWebServer 220 : Tomcat started on port(s): 8892 (http) with context path '/api' +2024-06-27 14:18:41.484 INFO [main] [] d.s.w.p.DocumentationPluginsBootstrapper 160 : Context refreshed +2024-06-27 14:18:41.491 INFO [main] [] d.s.w.p.DocumentationPluginsBootstrapper 163 : Found 1 custom documentation plugin(s) +2024-06-27 14:18:41.535 INFO [main] [] s.d.s.w.s.ApiListingReferenceScanner 41 : Scanning for api listing references +2024-06-27 14:18:41.690 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_1 +2024-06-27 14:18:41.691 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_1 +2024-06-27 14:18:41.692 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_1 +2024-06-27 14:18:41.710 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_1 +2024-06-27 14:18:41.746 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_2 +2024-06-27 14:18:41.748 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_2 +2024-06-27 14:18:41.750 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_3 +2024-06-27 14:18:41.751 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_3 +2024-06-27 14:18:41.753 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_4 +2024-06-27 14:18:41.754 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_4 +2024-06-27 14:18:41.755 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexOutUsingPOST_1 +2024-06-27 14:18:41.758 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_5 +2024-06-27 14:18:41.764 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_5 +2024-06-27 14:18:41.765 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_2 +2024-06-27 14:18:41.765 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_2 +2024-06-27 14:18:41.780 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_6 +2024-06-27 14:18:41.781 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_7 +2024-06-27 14:18:41.787 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_8 +2024-06-27 14:18:41.794 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_6 +2024-06-27 14:18:41.795 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_3 +2024-06-27 14:18:41.796 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_3 +2024-06-27 14:18:41.803 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_9 +2024-06-27 14:18:41.829 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_10 +2024-06-27 14:18:41.831 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_7 +2024-06-27 14:18:41.832 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_4 +2024-06-27 14:18:41.832 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_4 +2024-06-27 14:18:41.835 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_11 +2024-06-27 14:18:41.842 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_8 +2024-06-27 14:18:41.843 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_5 +2024-06-27 14:18:41.843 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_5 +2024-06-27 14:18:41.846 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_12 +2024-06-27 14:18:41.850 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_9 +2024-06-27 14:18:41.850 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_6 +2024-06-27 14:18:41.851 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_6 +2024-06-27 14:18:41.854 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_13 +2024-06-27 14:18:41.855 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_1 +2024-06-27 14:18:41.857 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_10 +2024-06-27 14:18:41.857 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_7 +2024-06-27 14:18:41.858 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_7 +2024-06-27 14:18:41.859 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_14 +2024-06-27 14:18:41.860 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_11 +2024-06-27 14:18:41.861 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_8 +2024-06-27 14:18:41.861 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_8 +2024-06-27 14:18:41.862 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_15 +2024-06-27 14:18:41.863 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_12 +2024-06-27 14:18:41.866 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_9 +2024-06-27 14:18:41.867 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_9 +2024-06-27 14:18:41.870 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_16 +2024-06-27 14:18:41.872 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_17 +2024-06-27 14:18:41.877 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_13 +2024-06-27 14:18:41.878 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_10 +2024-06-27 14:18:41.881 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_18 +2024-06-27 14:18:41.882 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_1 +2024-06-27 14:18:41.896 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addGroupUsingPOST_1 +2024-06-27 14:18:41.897 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: categoryUsingPOST_1 +2024-06-27 14:18:41.897 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteFilesUsingPOST_1 +2024-06-27 14:18:41.898 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteGroupUsingPOST_1 +2024-06-27 14:18:41.898 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editGroupUsingPOST_1 +2024-06-27 14:18:41.902 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: listsUsingPOST_1 +2024-06-27 14:18:41.903 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: moveFilesUsingPOST_1 +2024-06-27 14:18:41.904 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_19 +2024-06-27 14:18:41.909 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_20 +2024-06-27 14:18:41.913 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_14 +2024-06-27 14:18:41.914 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_10 +2024-06-27 14:18:41.914 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteFilesUsingPOST_2 +2024-06-27 14:18:41.915 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_11 +2024-06-27 14:18:41.915 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_21 +2024-06-27 14:18:41.916 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: listUsingPOST_1 +2024-06-27 14:18:41.916 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: moveFilesUsingPOST_2 +2024-06-27 14:18:41.922 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_22 +2024-06-27 14:18:41.925 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_23 +2024-06-27 14:18:41.928 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_24 +2024-06-27 14:18:41.929 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_25 +2024-06-27 14:18:41.932 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_15 +2024-06-27 14:18:41.933 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_1 +2024-06-27 14:18:41.933 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_12 +2024-06-27 14:18:41.935 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_26 +2024-06-27 14:18:41.935 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: repulseAuditUsingPOST_1 +2024-06-27 14:18:41.937 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_16 +2024-06-27 14:18:41.938 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_11 +2024-06-27 14:18:41.938 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_13 +2024-06-27 14:18:41.941 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_27 +2024-06-27 14:18:41.944 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_17 +2024-06-27 14:18:41.945 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_12 +2024-06-27 14:18:41.945 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_14 +2024-06-27 14:18:41.948 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_28 +2024-06-27 14:18:41.950 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_18 +2024-06-27 14:18:41.950 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_29 +2024-06-27 14:18:41.955 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_30 +2024-06-27 14:18:41.956 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_19 +2024-06-27 14:18:41.957 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_1 +2024-06-27 14:18:41.957 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_31 +2024-06-27 14:18:41.959 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_1 +2024-06-27 14:18:41.960 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_32 +2024-06-27 14:18:41.961 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_20 +2024-06-27 14:18:41.962 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_2 +2024-06-27 14:18:41.962 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_33 +2024-06-27 14:18:41.970 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: loginUsingPOST_1 +2024-06-27 14:18:41.971 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: logoutUsingPOST_1 +2024-06-27 14:18:41.972 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_34 +2024-06-27 14:18:41.974 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_21 +2024-06-27 14:18:41.975 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_13 +2024-06-27 14:18:41.975 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_15 +2024-06-27 14:18:41.976 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_35 +2024-06-27 14:18:41.977 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_2 +2024-06-27 14:18:41.981 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_22 +2024-06-27 14:18:41.981 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_14 +2024-06-27 14:18:41.982 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_16 +2024-06-27 14:18:41.986 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_36 +2024-06-27 14:18:41.987 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: stateUsingPOST_1 +2024-06-27 14:18:41.987 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_1 +2024-06-27 14:18:41.988 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_3 +2024-06-27 14:18:41.989 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_23 +2024-06-27 14:18:41.990 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_2 +2024-06-27 14:18:41.990 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_2 +2024-06-27 14:18:41.991 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_17 +2024-06-27 14:18:41.992 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_37 +2024-06-27 14:18:41.994 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_3 +2024-06-27 14:18:41.995 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_18 +2024-06-27 14:18:41.995 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_38 +2024-06-27 14:18:41.996 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addStorageUsingPOST_1 +2024-06-27 14:18:41.997 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_4 +2024-06-27 14:18:41.998 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_3 +2024-06-27 14:18:41.998 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_19 +2024-06-27 14:18:41.999 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_39 +2024-06-27 14:18:42.000 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_40 +2024-06-27 14:18:42.001 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_24 +2024-06-27 14:18:42.002 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_20 +2024-06-27 14:18:42.002 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_3 +2024-06-27 14:18:42.005 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_25 +2024-06-27 14:18:42.005 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_15 +2024-06-27 14:18:42.005 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_21 +2024-06-27 14:18:42.007 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_41 +2024-06-27 14:18:42.008 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_2 +2024-06-27 14:18:42.009 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_4 +2024-06-27 14:18:42.012 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: scanIndexUsingPOST_1 +2024-06-27 14:18:42.013 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_42 +2024-06-27 14:18:42.014 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_1 +2024-06-27 14:18:42.016 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_26 +2024-06-27 14:18:42.016 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_16 +2024-06-27 14:18:42.017 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_22 +2024-06-27 14:18:42.021 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_43 +2024-06-27 14:18:42.025 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_27 +2024-06-27 14:18:42.025 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_17 +2024-06-27 14:18:42.026 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_23 +2024-06-27 14:18:42.027 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_44 +2024-06-27 14:18:42.027 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_3 +2024-06-27 14:18:42.028 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_5 +2024-06-27 14:18:42.030 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_28 +2024-06-27 14:18:42.030 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_18 +2024-06-27 14:18:42.031 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_24 +2024-06-27 14:18:42.033 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_45 +2024-06-27 14:18:42.034 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_46 +2024-06-27 14:18:42.034 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_2 +2024-06-27 14:18:42.054 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_29 +2024-06-27 14:18:42.054 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_47 +2024-06-27 14:18:42.055 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_48 +2024-06-27 14:18:42.056 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_49 +2024-06-27 14:18:42.056 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_3 +2024-06-27 14:18:42.059 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_30 +2024-06-27 14:18:42.060 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_19 +2024-06-27 14:18:42.060 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_25 +2024-06-27 14:18:42.064 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_50 +2024-06-27 14:18:42.065 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_2 +2024-06-27 14:18:42.065 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_4 +2024-06-27 14:18:42.065 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_6 +2024-06-27 14:18:42.069 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_31 +2024-06-27 14:18:42.069 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_20 +2024-06-27 14:18:42.070 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_26 +2024-06-27 14:18:42.074 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_51 +2024-06-27 14:18:42.074 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_3 +2024-06-27 14:18:42.075 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_7 +2024-06-27 14:18:42.075 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_52 +2024-06-27 14:18:42.076 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_4 +2024-06-27 14:18:42.078 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_32 +2024-06-27 14:18:42.078 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_21 +2024-06-27 14:18:42.079 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_27 +2024-06-27 14:18:42.080 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_53 +2024-06-27 14:18:42.087 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: uploadUsingPOST_1 +2024-06-27 14:18:42.105 INFO [main] [] net.jjjerp.SpringBootJjjApplication 61 : Started SpringBootJjjApplication in 10.605 seconds (JVM running for 11.174) +2024-06-27 14:18:42.110 INFO [main] [] n.j.framework.util.PrintApplicationInfo 61 : projectFinalName : jjj-erp-1.0 +2024-06-27 14:18:42.110 INFO [main] [] n.j.framework.util.PrintApplicationInfo 62 : projectVersion : 1.0 +2024-06-27 14:18:42.110 INFO [main] [] n.j.framework.util.PrintApplicationInfo 63 : profileActive : prod +2024-06-27 14:18:42.110 INFO [main] [] n.j.framework.util.PrintApplicationInfo 64 : contextPath : /api +2024-06-27 14:18:42.110 INFO [main] [] n.j.framework.util.PrintApplicationInfo 65 : serverIp : http://erp3.huadeng.fun +2024-06-27 14:18:42.110 INFO [main] [] n.j.framework.util.PrintApplicationInfo 66 : port : 8892 +2024-06-27 14:18:42.110 INFO [main] [] n.j.framework.util.PrintApplicationInfo 81 : Home: http://erp3.huadeng.fun/api +2024-06-27 14:18:42.110 INFO [main] [] n.j.framework.util.PrintApplicationInfo 82 : Knife4j: http://erp3.huadeng.fun/api/doc.html +2024-06-27 14:18:42.110 INFO [main] [] n.j.framework.util.PrintApplicationInfo 83 : Swagger: http://erp3.huadeng.fun/api/swagger-ui.html +2024-06-27 14:18:42.110 INFO [main] [] n.j.framework.util.PrintApplicationInfo 84 : jjj-erp 启动成功........... + ____ __ __ ____ +/\ _`\ /\ \__ /\ \__ /\ _`\ +\ \,\L\_\ \ ,_\ __ _ __\ \ ,_\ \ \,\L\_\ __ __ ___ ___ __ ____ ____ + \/_\__ \\ \ \/ /'__`\ /\`'__\ \ \/ \/_\__ \ /\ \/\ \ /'___\ /'___\ /'__`\ /',__\ /',__\ + /\ \L\ \ \ \_/\ \L\.\_\ \ \/ \ \ \_ /\ \L\ \ \ \_\ \/\ \__//\ \__//\ __//\__, `\/\__, `\ + \ `\____\ \__\ \__/.\_\\ \_\ \ \__\ \ `\____\ \____/\ \____\ \____\ \____\/\____/\/\____/ + \/_____/\/__/\/__/\/_/ \/_/ \/__/ \/_____/\/___/ \/____/\/____/\/____/\/___/ \/___/ + + +2024-06-27 14:19:38.383 INFO [http-nio-8892-exec-2] [] o.a.c.c.C.[Tomcat].[localhost].[/api] 173 : Initializing Spring DispatcherServlet 'dispatcherServlet' +2024-06-27 14:19:38.384 INFO [http-nio-8892-exec-2] [] o.s.web.servlet.DispatcherServlet 525 : Initializing Servlet 'dispatcherServlet' +2024-06-27 14:19:38.393 INFO [http-nio-8892-exec-2] [] o.s.web.servlet.DispatcherServlet 547 : Completed initialization in 9 ms +2024-06-27 14:19:39.393 INFO [http-nio-8892-exec-2] [1806210767165501441] com.zaxxer.hikari.HikariDataSource 110 : HikariPool-1 - Starting... +2024-06-27 14:19:39.751 INFO [http-nio-8892-exec-2] [1806210767165501441] com.zaxxer.hikari.HikariDataSource 123 : HikariPool-1 - Start completed. +2024-06-27 14:38:41.820 ERROR [http-nio-8892-exec-5] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy405.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-27 14:38:41.820 ERROR [http-nio-8892-exec-4] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy405.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-27 14:38:51.116 INFO [lettuce-eventExecutorLoop-1-5] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was /101.34.74.68:6379 +2024-06-27 14:38:51.145 INFO [lettuce-nioEventLoop-4-2] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to 101.34.74.68:6379 +2024-06-27 14:38:56.850 WARN [http-nio-8892-exec-6] [1806215601138610178] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@54c9ef5c (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-27 14:38:56.880 WARN [http-nio-8892-exec-7] [1806215601268633601] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@58f63e87 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-27 14:38:57.007 WARN [http-nio-8892-exec-8] [1806215600874369025] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@3ec098ae (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-27 14:39:01.867 WARN [http-nio-8892-exec-6] [1806215601138610178] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@62718348 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-27 14:39:01.883 WARN [http-nio-8892-exec-7] [1806215601268633601] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@1da56de6 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-27 14:39:01.894 WARN [http-nio-8892-exec-6] [1806215601138610178] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@567596d (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-27 14:39:02.008 WARN [http-nio-8892-exec-8] [1806215600874369025] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@5605d2ca (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-27 14:39:06.888 WARN [http-nio-8892-exec-7] [1806215601268633601] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@394395f1 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-27 14:39:06.904 WARN [http-nio-8892-exec-6] [1806215601138610178] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@6be2f14a (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-27 14:39:07.014 WARN [http-nio-8892-exec-8] [1806215600874369025] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@33c30e83 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-27 14:52:07.067 INFO [http-nio-8892-exec-20] [] o.apache.tomcat.util.http.parser.Cookie 173 : A cookie header was received [1714290253] that contained an invalid cookie. That cookie will be ignored. + Note: further occurrences of this error will be logged at DEBUG level. +2024-06-27 14:52:13.353 WARN [http-nio-8892-exec-12] [1806218941956272129] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@5d1108da (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-27 14:52:17.087 ERROR [http-nio-8892-exec-20] [] n.jjjerp.handler.GlobalExceptionHandler 233 : 异常来源:ip: 192.168.31.226, path: /api/admin/index/base +2024-06-27 14:52:17.087 ERROR [http-nio-8892-exec-20] [] n.jjjerp.handler.GlobalExceptionHandler 257 : errorCode: 5000, errorMessage: 系统异常 + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.common.util.SettingUtils.getSetting(SettingUtils.java:39) + at net.jjjerp.admin.controller.IndexController.base(IndexController.java:38) + at net.jjjerp.admin.controller.IndexController$$FastClassBySpringCGLIB$$55d4079f.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.AspectJAfterThrowingAdvice.invoke(AspectJAfterThrowingAdvice.java:62) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:88) + at net.jjjerp.framework.log.aop.BaseLogAop.handle(BaseLogAop.java:303) + at net.jjjerp.aop.LogAop.doAround(LogAop.java:35) + at net.jjjerp.aop.LogAop$$FastClassBySpringCGLIB$$189c4aae.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.aop.LogAop$$EnhancerBySpringCGLIB$$883a2a7f.doAround() + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:644) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:633) + at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:95) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at net.jjjerp.admin.controller.IndexController$$EnhancerBySpringCGLIB$$1884e565.base() + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:652) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:112) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) + at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy405.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 123 common frames omitted + +2024-06-27 14:52:18.367 WARN [http-nio-8892-exec-12] [1806218941956272129] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@47ca9de8 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-27 14:52:23.369 WARN [http-nio-8892-exec-12] [1806218941956272129] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@4700eaa2 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-27 14:52:26.408 INFO [lettuce-eventExecutorLoop-1-1] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was /101.34.74.68:6379 +2024-06-27 14:52:26.432 INFO [lettuce-nioEventLoop-4-3] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to 101.34.74.68:6379 +2024-06-27 14:52:28.377 WARN [http-nio-8892-exec-12] [1806218941956272129] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@7fd5b3b4 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-27 14:52:33.392 WARN [http-nio-8892-exec-12] [1806218941956272129] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@734c86ee (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-27 14:52:38.404 WARN [http-nio-8892-exec-12] [1806218941956272129] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@1b00a474 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-27 14:52:38.409 ERROR [http-nio-8892-exec-12] [] n.jjjerp.handler.GlobalExceptionHandler 233 : 异常来源:ip: 192.168.31.226, path: /api/admin/passport/login +2024-06-27 14:52:38.410 ERROR [http-nio-8892-exec-12] [] n.jjjerp.handler.GlobalExceptionHandler 257 : errorCode: 5000, errorMessage: 系统异常 + +org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is java.sql.SQLTransientConnectionException: HikariPool-1 - Connection is not available, request timed out after 30052ms. +### The error may exist in net/jjjerp/admin/mapper/shop/ShopUserMapper.java (best guess) +### The error may involve net.jjjerp.admin.mapper.shop.ShopUserMapper.selectOne +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is java.sql.SQLTransientConnectionException: HikariPool-1 - Connection is not available, request timed out after 30052ms. + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:440) + at com.sun.proxy.$Proxy114.selectOne(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectOne(SqlSessionTemplate.java:159) + at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:90) + at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:148) + at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89) + at com.sun.proxy.$Proxy310.selectOne(Unknown Source) + at sun.reflect.GeneratedMethodAccessor390.invoke(Unknown Source) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:344) + at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:198) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:139) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:212) + at com.sun.proxy.$Proxy311.selectOne(Unknown Source) + at com.baomidou.mybatisplus.extension.service.impl.ServiceImpl.getOne(ServiceImpl.java:201) + at com.baomidou.mybatisplus.extension.service.IService.getOne(IService.java:229) + at net.jjjerp.admin.service.shop.impl.ShopUserServiceImpl.login(ShopUserServiceImpl.java:116) + at net.jjjerp.admin.service.shop.impl.ShopUserServiceImpl$$FastClassBySpringCGLIB$$4f5aed82.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.admin.service.shop.impl.ShopUserServiceImpl$$EnhancerBySpringCGLIB$$a1546005.login() + at net.jjjerp.admin.controller.PassportController.login(PassportController.java:36) + at net.jjjerp.admin.controller.PassportController$$FastClassBySpringCGLIB$$a5512a1d.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.AspectJAfterThrowingAdvice.invoke(AspectJAfterThrowingAdvice.java:62) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:88) + at net.jjjerp.framework.log.aop.BaseLogAop.handle(BaseLogAop.java:303) + at net.jjjerp.aop.LogAop.doAround(LogAop.java:35) + at net.jjjerp.aop.LogAop$$FastClassBySpringCGLIB$$189c4aae.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.aop.LogAop$$EnhancerBySpringCGLIB$$883a2a7f.doAround() + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:644) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:633) + at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:95) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at net.jjjerp.admin.controller.PassportController$$EnhancerBySpringCGLIB$$6bcecb9f.login() + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:652) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:112) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) + at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is java.sql.SQLTransientConnectionException: HikariPool-1 - Connection is not available, request timed out after 30052ms. +### The error may exist in net/jjjerp/admin/mapper/shop/ShopUserMapper.java (best guess) +### The error may involve net.jjjerp.admin.mapper.shop.ShopUserMapper.selectOne +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is java.sql.SQLTransientConnectionException: HikariPool-1 - Connection is not available, request timed out after 30052ms. + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:149) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:140) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectOne(DefaultSqlSession.java:76) + at sun.reflect.GeneratedMethodAccessor214.invoke(Unknown Source) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:426) + ... 138 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is java.sql.SQLTransientConnectionException: HikariPool-1 - Connection is not available, request timed out after 30052ms. + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:82) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:337) + at com.baomidou.mybatisplus.core.executor.MybatisSimpleExecutor.prepareStatement(MybatisSimpleExecutor.java:93) + at com.baomidou.mybatisplus.core.executor.MybatisSimpleExecutor.doQuery(MybatisSimpleExecutor.java:68) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:325) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:156) + at com.baomidou.mybatisplus.core.executor.MybatisCachingExecutor.query(MybatisCachingExecutor.java:165) + at com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor.intercept(MybatisPlusInterceptor.java:65) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:61) + at com.sun.proxy.$Proxy409.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + ... 144 common frames omitted +Caused by: java.sql.SQLTransientConnectionException: HikariPool-1 - Connection is not available, request timed out after 30052ms. + at com.zaxxer.hikari.pool.HikariPool.createTimeoutException(HikariPool.java:695) + at com.zaxxer.hikari.pool.HikariPool.getConnection(HikariPool.java:197) + at com.zaxxer.hikari.pool.HikariPool.getConnection(HikariPool.java:162) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:128) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:158) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:116) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:79) + ... 156 common frames omitted +Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: No operations allowed after connection closed. + at sun.reflect.GeneratedConstructorAccessor89.newInstance(Unknown Source) + at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) + at java.lang.reflect.Constructor.newInstance(Constructor.java:423) + at com.mysql.jdbc.Util.handleNewInstance(Util.java:425) + at com.mysql.jdbc.Util.getInstance(Util.java:408) + at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:919) + at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:898) + at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:887) + at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:861) + at com.mysql.jdbc.ConnectionImpl.throwConnectionClosedException(ConnectionImpl.java:1192) + at com.mysql.jdbc.ConnectionImpl.checkClosed(ConnectionImpl.java:1187) + at com.mysql.jdbc.ConnectionImpl.setNetworkTimeout(ConnectionImpl.java:5494) + at com.zaxxer.hikari.pool.PoolBase.setNetworkTimeout(PoolBase.java:560) + at com.zaxxer.hikari.pool.PoolBase.isConnectionAlive(PoolBase.java:173) + at com.zaxxer.hikari.pool.HikariPool.getConnection(HikariPool.java:186) + ... 161 common frames omitted + +2024-06-27 15:18:16.297 WARN [http-nio-8892-exec-22] [1806225497317879810] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@4a0f1d4e (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-27 15:18:21.307 WARN [http-nio-8892-exec-22] [1806225497317879810] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@1060ba33 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-27 15:18:26.308 WARN [http-nio-8892-exec-22] [1806225497317879810] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@19531990 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-27 15:18:31.323 WARN [http-nio-8892-exec-22] [1806225497317879810] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@3bd2375f (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-27 15:18:36.336 WARN [http-nio-8892-exec-22] [1806225497317879810] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@21db88b5 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-27 15:18:41.344 WARN [http-nio-8892-exec-22] [1806225497317879810] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@a87291f (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-27 15:18:41.503 ERROR [http-nio-8892-exec-22] [] n.jjjerp.handler.GlobalExceptionHandler 233 : 异常来源:ip: 192.168.31.226, path: /api/admin/purchase/purchase/order/index +2024-06-27 15:18:41.504 ERROR [http-nio-8892-exec-22] [] n.jjjerp.handler.GlobalExceptionHandler 257 : errorCode: 5000, errorMessage: 系统异常 + +org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is java.sql.SQLTransientConnectionException: HikariPool-1 - Connection is not available, request timed out after 30060ms. +### The error may exist in net/jjjerp/admin/mapper/bill/BillHeadMapper.java (best guess) +### The error may involve net.jjjerp.admin.mapper.bill.BillHeadMapper.selectPage_mpCount +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is java.sql.SQLTransientConnectionException: HikariPool-1 - Connection is not available, request timed out after 30060ms. + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:440) + at com.sun.proxy.$Proxy114.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:223) + at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.executeForIPage(MybatisMapperMethod.java:122) + at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:87) + at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:148) + at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89) + at com.sun.proxy.$Proxy304.selectPage(Unknown Source) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:344) + at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:198) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:139) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:212) + at com.sun.proxy.$Proxy305.selectPage(Unknown Source) + at com.baomidou.mybatisplus.extension.service.IService.page(IService.java:298) + at net.jjjerp.admin.service.bill.impl.BillHeadServiceImpl.indexOrder(BillHeadServiceImpl.java:145) + at net.jjjerp.admin.service.bill.impl.BillHeadServiceImpl$$FastClassBySpringCGLIB$$62790b2b.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.admin.service.bill.impl.BillHeadServiceImpl$$EnhancerBySpringCGLIB$$4d960aa0.indexOrder() + at net.jjjerp.admin.controller.purchase.purchase.PurchaseOrderController.index(PurchaseOrderController.java:37) + at net.jjjerp.admin.controller.purchase.purchase.PurchaseOrderController$$FastClassBySpringCGLIB$$11e005fa.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.AspectJAfterThrowingAdvice.invoke(AspectJAfterThrowingAdvice.java:62) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:88) + at net.jjjerp.framework.log.aop.BaseLogAop.handle(BaseLogAop.java:303) + at net.jjjerp.aop.LogAop.doAround(LogAop.java:35) + at net.jjjerp.aop.LogAop$$FastClassBySpringCGLIB$$189c4aae.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.aop.LogAop$$EnhancerBySpringCGLIB$$883a2a7f.doAround() + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:644) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:633) + at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.apache.shiro.spring.security.interceptor.AopAllianceAnnotationsAuthorizingMethodInterceptor$1.proceed(AopAllianceAnnotationsAuthorizingMethodInterceptor.java:82) + at org.apache.shiro.authz.aop.AuthorizingMethodInterceptor.invoke(AuthorizingMethodInterceptor.java:39) + at org.apache.shiro.spring.security.interceptor.AopAllianceAnnotationsAuthorizingMethodInterceptor.invoke(AopAllianceAnnotationsAuthorizingMethodInterceptor.java:115) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:95) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at net.jjjerp.admin.controller.purchase.purchase.PurchaseOrderController$$EnhancerBySpringCGLIB$$8f0cf003.index() + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:652) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:112) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) + at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is java.sql.SQLTransientConnectionException: HikariPool-1 - Connection is not available, request timed out after 30060ms. +### The error may exist in net/jjjerp/admin/mapper/bill/BillHeadMapper.java (best guess) +### The error may involve net.jjjerp.admin.mapper.bill.BillHeadMapper.selectPage_mpCount +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is java.sql.SQLTransientConnectionException: HikariPool-1 - Connection is not available, request timed out after 30060ms. + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:149) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:140) + at sun.reflect.GeneratedMethodAccessor212.invoke(Unknown Source) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:426) + ... 144 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is java.sql.SQLTransientConnectionException: HikariPool-1 - Connection is not available, request timed out after 30060ms. + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:82) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:337) + at com.baomidou.mybatisplus.core.executor.MybatisSimpleExecutor.prepareStatement(MybatisSimpleExecutor.java:93) + at com.baomidou.mybatisplus.core.executor.MybatisSimpleExecutor.doQuery(MybatisSimpleExecutor.java:68) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:325) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:156) + at com.baomidou.mybatisplus.core.executor.MybatisCachingExecutor.query(MybatisCachingExecutor.java:165) + at com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor.willDoQuery(PaginationInnerInterceptor.java:134) + at com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor.intercept(MybatisPlusInterceptor.java:59) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:61) + at com.sun.proxy.$Proxy409.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + ... 149 common frames omitted +Caused by: java.sql.SQLTransientConnectionException: HikariPool-1 - Connection is not available, request timed out after 30060ms. + at com.zaxxer.hikari.pool.HikariPool.createTimeoutException(HikariPool.java:695) + at com.zaxxer.hikari.pool.HikariPool.getConnection(HikariPool.java:197) + at com.zaxxer.hikari.pool.HikariPool.getConnection(HikariPool.java:162) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:128) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:158) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:116) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:79) + ... 162 common frames omitted +Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: No operations allowed after connection closed. + at sun.reflect.GeneratedConstructorAccessor89.newInstance(Unknown Source) + at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) + at java.lang.reflect.Constructor.newInstance(Constructor.java:423) + at com.mysql.jdbc.Util.handleNewInstance(Util.java:425) + at com.mysql.jdbc.Util.getInstance(Util.java:408) + at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:919) + at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:898) + at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:887) + at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:861) + at com.mysql.jdbc.ConnectionImpl.throwConnectionClosedException(ConnectionImpl.java:1192) + at com.mysql.jdbc.ConnectionImpl.checkClosed(ConnectionImpl.java:1187) + at com.mysql.jdbc.ConnectionImpl.setNetworkTimeout(ConnectionImpl.java:5494) + at com.zaxxer.hikari.pool.PoolBase.setNetworkTimeout(PoolBase.java:560) + at com.zaxxer.hikari.pool.PoolBase.isConnectionAlive(PoolBase.java:173) + at com.zaxxer.hikari.pool.HikariPool.getConnection(HikariPool.java:186) + ... 167 common frames omitted + +2024-06-27 15:19:24.222 WARN [http-nio-8892-exec-27] [1806225782257922050] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@50e668ac (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-27 15:19:24.349 WARN [http-nio-8892-exec-15] [1806225782320836609] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@7363735b (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-27 15:19:29.237 WARN [http-nio-8892-exec-27] [1806225782257922050] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@43e54524 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-27 15:19:29.360 WARN [http-nio-8892-exec-15] [1806225782320836609] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@25b72827 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-27 15:32:26.463 ERROR [http-nio-8892-exec-9] [] n.jjjerp.handler.GlobalExceptionHandler 233 : 异常来源:ip: 192.168.31.226, path: /api/admin/purchase/purchase/order/edit +2024-06-27 15:32:26.464 ERROR [http-nio-8892-exec-9] [] n.jjjerp.handler.GlobalExceptionHandler 257 : errorCode: 5001, errorMessage: 请求参数校验异常 + +org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: 不能解析日期:NaN-NaN-NaN NaN:NaN:NaN; nested exception is com.fasterxml.jackson.databind.JsonMappingException: 不能解析日期:NaN-NaN-NaN NaN:NaN:NaN (through reference chain: net.jjjerp.common.entity.bill.BillHead["billItemList"]->java.util.ArrayList[0]->net.jjjerp.common.entity.bill.BillItem["arrivalDate"]) + at org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.readJavaType(AbstractJackson2HttpMessageConverter.java:285) + at org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.read(AbstractJackson2HttpMessageConverter.java:243) + at org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodArgumentResolver.readWithMessageConverters(AbstractMessageConverterMethodArgumentResolver.java:205) + at org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.readWithMessageConverters(RequestResponseBodyMethodProcessor.java:158) + at org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.resolveArgument(RequestResponseBodyMethodProcessor.java:131) + at org.springframework.web.method.support.HandlerMethodArgumentResolverComposite.resolveArgument(HandlerMethodArgumentResolverComposite.java:121) + at org.springframework.web.method.support.InvocableHandlerMethod.getMethodArgumentValues(InvocableHandlerMethod.java:167) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:134) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:652) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:112) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) + at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: com.fasterxml.jackson.databind.JsonMappingException: 不能解析日期:NaN-NaN-NaN NaN:NaN:NaN (through reference chain: net.jjjerp.common.entity.bill.BillHead["billItemList"]->java.util.ArrayList[0]->net.jjjerp.common.entity.bill.BillItem["arrivalDate"]) + at com.fasterxml.jackson.databind.JsonMappingException.wrapWithPath(JsonMappingException.java:397) + at com.fasterxml.jackson.databind.JsonMappingException.wrapWithPath(JsonMappingException.java:356) + at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.wrapAndThrow(BeanDeserializerBase.java:1726) + at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:373) + at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:164) + at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:290) + at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:249) + at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:26) + at com.fasterxml.jackson.databind.deser.impl.MethodProperty.deserializeAndSet(MethodProperty.java:129) + at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:371) + at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:164) + at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:4526) + at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3521) + at org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.readJavaType(AbstractJackson2HttpMessageConverter.java:274) + ... 86 common frames omitted +Caused by: java.lang.IllegalArgumentException: 不能解析日期:NaN-NaN-NaN NaN:NaN:NaN + at net.jjjerp.framework.config.converter.StringToDateUtil.convert(StringToDateUtil.java:84) + at net.jjjerp.framework.config.jackson.deserializer.JacksonDateDeserializer.deserialize(JacksonDateDeserializer.java:21) + at net.jjjerp.framework.config.jackson.deserializer.JacksonDateDeserializer.deserialize(JacksonDateDeserializer.java:17) + at com.fasterxml.jackson.databind.deser.impl.MethodProperty.deserializeAndSet(MethodProperty.java:129) + at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:371) + ... 96 common frames omitted + +2024-06-27 15:36:48.165 ERROR [http-nio-8892-exec-11] [] n.jjjerp.handler.GlobalExceptionHandler 233 : 异常来源:ip: 192.168.31.226, path: /api/admin/purchase/purchase/order/edit +2024-06-27 15:36:48.165 ERROR [http-nio-8892-exec-11] [] n.jjjerp.handler.GlobalExceptionHandler 257 : errorCode: 5001, errorMessage: 请求参数校验异常 + +org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: 不能解析日期:NaN-NaN-NaN NaN:NaN:NaN; nested exception is com.fasterxml.jackson.databind.JsonMappingException: 不能解析日期:NaN-NaN-NaN NaN:NaN:NaN (through reference chain: net.jjjerp.common.entity.bill.BillHead["billItemList"]->java.util.ArrayList[0]->net.jjjerp.common.entity.bill.BillItem["arrivalDate"]) + at org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.readJavaType(AbstractJackson2HttpMessageConverter.java:285) + at org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.read(AbstractJackson2HttpMessageConverter.java:243) + at org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodArgumentResolver.readWithMessageConverters(AbstractMessageConverterMethodArgumentResolver.java:205) + at org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.readWithMessageConverters(RequestResponseBodyMethodProcessor.java:158) + at org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.resolveArgument(RequestResponseBodyMethodProcessor.java:131) + at org.springframework.web.method.support.HandlerMethodArgumentResolverComposite.resolveArgument(HandlerMethodArgumentResolverComposite.java:121) + at org.springframework.web.method.support.InvocableHandlerMethod.getMethodArgumentValues(InvocableHandlerMethod.java:167) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:134) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:652) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:112) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) + at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: com.fasterxml.jackson.databind.JsonMappingException: 不能解析日期:NaN-NaN-NaN NaN:NaN:NaN (through reference chain: net.jjjerp.common.entity.bill.BillHead["billItemList"]->java.util.ArrayList[0]->net.jjjerp.common.entity.bill.BillItem["arrivalDate"]) + at com.fasterxml.jackson.databind.JsonMappingException.wrapWithPath(JsonMappingException.java:397) + at com.fasterxml.jackson.databind.JsonMappingException.wrapWithPath(JsonMappingException.java:356) + at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.wrapAndThrow(BeanDeserializerBase.java:1726) + at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:373) + at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:164) + at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:290) + at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:249) + at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:26) + at com.fasterxml.jackson.databind.deser.impl.MethodProperty.deserializeAndSet(MethodProperty.java:129) + at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:371) + at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:164) + at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:4526) + at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3521) + at org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.readJavaType(AbstractJackson2HttpMessageConverter.java:274) + ... 86 common frames omitted +Caused by: java.lang.IllegalArgumentException: 不能解析日期:NaN-NaN-NaN NaN:NaN:NaN + at net.jjjerp.framework.config.converter.StringToDateUtil.convert(StringToDateUtil.java:84) + at net.jjjerp.framework.config.jackson.deserializer.JacksonDateDeserializer.deserialize(JacksonDateDeserializer.java:21) + at net.jjjerp.framework.config.jackson.deserializer.JacksonDateDeserializer.deserialize(JacksonDateDeserializer.java:17) + at com.fasterxml.jackson.databind.deser.impl.MethodProperty.deserializeAndSet(MethodProperty.java:129) + at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:371) + ... 96 common frames omitted + +2024-06-27 15:37:02.960 ERROR [http-nio-8892-exec-20] [] n.jjjerp.handler.GlobalExceptionHandler 233 : 异常来源:ip: 192.168.31.226, path: /api/admin/purchase/purchase/order/edit +2024-06-27 15:37:02.961 ERROR [http-nio-8892-exec-20] [] n.jjjerp.handler.GlobalExceptionHandler 257 : errorCode: 5001, errorMessage: 请求参数校验异常 + +org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: 不能解析日期:NaN-NaN-NaN NaN:NaN:NaN; nested exception is com.fasterxml.jackson.databind.JsonMappingException: 不能解析日期:NaN-NaN-NaN NaN:NaN:NaN (through reference chain: net.jjjerp.common.entity.bill.BillHead["billItemList"]->java.util.ArrayList[0]->net.jjjerp.common.entity.bill.BillItem["arrivalDate"]) + at org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.readJavaType(AbstractJackson2HttpMessageConverter.java:285) + at org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.read(AbstractJackson2HttpMessageConverter.java:243) + at org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodArgumentResolver.readWithMessageConverters(AbstractMessageConverterMethodArgumentResolver.java:205) + at org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.readWithMessageConverters(RequestResponseBodyMethodProcessor.java:158) + at org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.resolveArgument(RequestResponseBodyMethodProcessor.java:131) + at org.springframework.web.method.support.HandlerMethodArgumentResolverComposite.resolveArgument(HandlerMethodArgumentResolverComposite.java:121) + at org.springframework.web.method.support.InvocableHandlerMethod.getMethodArgumentValues(InvocableHandlerMethod.java:167) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:134) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:652) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:112) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) + at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: com.fasterxml.jackson.databind.JsonMappingException: 不能解析日期:NaN-NaN-NaN NaN:NaN:NaN (through reference chain: net.jjjerp.common.entity.bill.BillHead["billItemList"]->java.util.ArrayList[0]->net.jjjerp.common.entity.bill.BillItem["arrivalDate"]) + at com.fasterxml.jackson.databind.JsonMappingException.wrapWithPath(JsonMappingException.java:397) + at com.fasterxml.jackson.databind.JsonMappingException.wrapWithPath(JsonMappingException.java:356) + at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.wrapAndThrow(BeanDeserializerBase.java:1726) + at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:373) + at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:164) + at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:290) + at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:249) + at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:26) + at com.fasterxml.jackson.databind.deser.impl.MethodProperty.deserializeAndSet(MethodProperty.java:129) + at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:371) + at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:164) + at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:4526) + at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3521) + at org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.readJavaType(AbstractJackson2HttpMessageConverter.java:274) + ... 86 common frames omitted +Caused by: java.lang.IllegalArgumentException: 不能解析日期:NaN-NaN-NaN NaN:NaN:NaN + at net.jjjerp.framework.config.converter.StringToDateUtil.convert(StringToDateUtil.java:84) + at net.jjjerp.framework.config.jackson.deserializer.JacksonDateDeserializer.deserialize(JacksonDateDeserializer.java:21) + at net.jjjerp.framework.config.jackson.deserializer.JacksonDateDeserializer.deserialize(JacksonDateDeserializer.java:17) + at com.fasterxml.jackson.databind.deser.impl.MethodProperty.deserializeAndSet(MethodProperty.java:129) + at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:371) + ... 96 common frames omitted + +2024-06-27 15:38:47.550 WARN [http-nio-8892-exec-12] [1806230661617594369] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@3467e2b0 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-27 15:38:48.872 WARN [http-nio-8892-exec-22] [1806230667162464257] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@4bde59d5 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-27 15:38:52.557 WARN [http-nio-8892-exec-12] [1806230661617594369] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@78ba4e5f (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-27 15:38:53.876 WARN [http-nio-8892-exec-22] [1806230667162464257] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@52b2ffa5 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-27 15:38:57.564 WARN [http-nio-8892-exec-12] [1806230661617594369] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@e932e6 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-27 15:38:58.886 WARN [http-nio-8892-exec-22] [1806230667162464257] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@2b0c5de (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-27 15:39:02.566 WARN [http-nio-8892-exec-12] [1806230661617594369] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@463622aa (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-27 15:39:03.889 WARN [http-nio-8892-exec-22] [1806230667162464257] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@1d988c7f (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-27 15:39:07.570 WARN [http-nio-8892-exec-12] [1806230661617594369] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@2b530c55 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-27 15:39:08.903 WARN [http-nio-8892-exec-22] [1806230667162464257] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@2e5fd930 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-27 15:44:57.320 INFO [SpringContextShutdownHook] [] net.jjjerp.framework.core.xss.XssFilter 30 : XssFilter destroy +2024-06-27 15:44:57.320 INFO [SpringContextShutdownHook] [] n.j.f.core.filter.RequestDetailFilter 116 : RequestDetailFilter destroy +2024-06-27 15:44:57.327 INFO [SpringContextShutdownHook] [] o.s.s.c.ThreadPoolTaskScheduler 218 : Shutting down ExecutorService 'taskScheduler' +2024-06-27 15:44:57.328 INFO [SpringContextShutdownHook] [] o.s.s.concurrent.ThreadPoolTaskExecutor 218 : Shutting down ExecutorService 'applicationTaskExecutor' +2024-06-27 15:44:57.333 INFO [SpringContextShutdownHook] [] com.zaxxer.hikari.HikariDataSource 350 : HikariPool-1 - Shutdown initiated... +2024-06-27 15:44:57.335 INFO [SpringContextShutdownHook] [] com.zaxxer.hikari.HikariDataSource 352 : HikariPool-1 - Shutdown completed. +2024-06-27 15:45:06.559 INFO [background-preinit] [] o.h.validator.internal.util.Version 21 : HV000001: Hibernate Validator 6.1.7.Final +2024-06-27 15:45:06.566 INFO [main] [] net.jjjerp.SpringBootJjjApplication 55 : Starting SpringBootJjjApplication on OS-20230506YKNI with PID 11736 (D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\bootstrap\target\classes started by Administrator in D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp) +2024-06-27 15:45:06.567 INFO [main] [] net.jjjerp.SpringBootJjjApplication 652 : The following profiles are active: prod +2024-06-27 15:45:07.579 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 249 : Multiple Spring Data modules found, entering strict repository configuration mode! +2024-06-27 15:45:07.581 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 127 : Bootstrapping Spring Data Redis repositories in DEFAULT mode. +2024-06-27 15:45:07.687 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 187 : Finished Spring Data repository scanning in 98ms. Found 0 Redis repository interfaces. +2024-06-27 15:45:07.952 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.ShiroConfig' of type [net.jjjerp.config.ShiroConfig$$EnhancerBySpringCGLIB$$1f3491c5] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 15:45:08.040 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.properties.JwtProperties' of type [net.jjjerp.config.properties.JwtProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 15:45:08.042 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.RedisTemplateConfig' of type [net.jjjerp.config.RedisTemplateConfig$$EnhancerBySpringCGLIB$$ee999c69] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 15:45:08.051 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'spring.redis-org.springframework.boot.autoconfigure.data.redis.RedisProperties' of type [org.springframework.boot.autoconfigure.data.redis.RedisProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 15:45:08.054 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration' of type [org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 15:45:08.108 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'lettuceClientResources' of type [io.lettuce.core.resource.DefaultClientResources] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 15:45:08.195 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'redisConnectionFactory' of type [org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 15:45:08.239 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'redisTemplate' of type [org.springframework.data.redis.core.RedisTemplate] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 15:45:08.239 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.cache.impl.AdminLoginRedisServiceImpl' of type [net.jjjerp.framework.shiro.cache.impl.AdminLoginRedisServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 15:45:08.243 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.cache.impl.ShopLoginRedisServiceImpl' of type [net.jjjerp.framework.shiro.cache.impl.ShopLoginRedisServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 15:45:08.349 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'credentialsMatcher' of type [net.jjjerp.framework.shiro.jwt.JwtCredentialsMatcher] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 15:45:08.356 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'jwtRealm' of type [net.jjjerp.framework.shiro.jwt.JwtRealm] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 15:45:08.356 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'sessionStorageEvaluator' of type [org.apache.shiro.web.mgt.DefaultWebSessionStorageEvaluator] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 15:45:08.357 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'subjectDAO' of type [org.apache.shiro.mgt.DefaultSubjectDAO] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 15:45:08.359 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'securityManager' of type [org.apache.shiro.web.mgt.DefaultWebSecurityManager] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 15:45:08.377 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.service.impl.ShiroLoginServiceImpl' of type [net.jjjerp.framework.shiro.service.impl.ShiroLoginServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 15:45:08.384 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'spring-boot-jjj.shiro-net.jjjerp.config.properties.ShiroProperties' of type [net.jjjerp.config.properties.ShiroProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 15:45:08.465 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'authorizationAttributeSourceAdvisor' of type [org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 15:45:08.595 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.RedisCacheConfig' of type [net.jjjerp.config.RedisCacheConfig$$EnhancerBySpringCGLIB$$a3d6736b] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 15:45:08.853 INFO [main] [] o.s.b.w.embedded.tomcat.TomcatWebServer 108 : Tomcat initialized with port(s): 8892 (http) +2024-06-27 15:45:08.861 INFO [main] [] o.a.coyote.http11.Http11NioProtocol 173 : Initializing ProtocolHandler ["http-nio-8892"] +2024-06-27 15:45:08.862 INFO [main] [] o.apache.catalina.core.StandardService 173 : Starting service [Tomcat] +2024-06-27 15:45:08.862 INFO [main] [] org.apache.catalina.core.StandardEngine 173 : Starting Servlet engine: [Apache Tomcat/9.0.46] +2024-06-27 15:45:08.952 INFO [main] [] o.a.c.c.C.[Tomcat].[localhost].[/api] 173 : Initializing Spring embedded WebApplicationContext +2024-06-27 15:45:08.952 INFO [main] [] w.s.c.ServletWebServerApplicationContext 285 : Root WebApplicationContext: initialization completed in 2321 ms +2024-06-27 15:45:09.104 INFO [main] [] net.jjjerp.framework.core.xss.XssFilter 18 : XssFilter init +2024-06-27 15:45:09.104 INFO [main] [] n.j.f.core.filter.RequestDetailFilter 30 : RequestDetailFilter init +2024-06-27 15:45:12.446 INFO [main] [] org.reflections.Reflections 228 : Reflections took 37 ms to scan 1 urls, producing 0 keys and 0 values +2024-06-27 15:45:12.540 INFO [main] [] net.jjjerp.framework.shiro.util.JwtUtil 33 : {"audience":"web","expireSecond":36000,"issuer":"spring-boot-jjj","redisCheck":true,"refreshToken":true,"refreshTokenCountdown":600,"saltCheck":true,"secret":"888888","singleLogin":false,"tokenName":"token"} +2024-06-27 15:45:15.540 INFO [main] [] pertySourcedRequestMappingHandlerMapping 69 : Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2Controller#getDocumentation(String, HttpServletRequest)] +2024-06-27 15:45:15.557 INFO [main] [] net.jjjerp.config.Swagger2Config 149 : swagger scan basePackages:null +2024-06-27 15:45:15.677 INFO [main] [] o.s.s.concurrent.ThreadPoolTaskExecutor 181 : Initializing ExecutorService 'applicationTaskExecutor' +2024-06-27 15:45:15.786 INFO [main] [] o.s.b.a.w.s.WelcomePageHandlerMapping 53 : Adding welcome page: class path resource [static/index.html] +2024-06-27 15:45:15.976 INFO [main] [] o.s.s.c.ThreadPoolTaskScheduler 181 : Initializing ExecutorService 'taskScheduler' +2024-06-27 15:45:16.074 INFO [main] [] o.a.coyote.http11.Http11NioProtocol 173 : Starting ProtocolHandler ["http-nio-8892"] +2024-06-27 15:45:16.092 INFO [main] [] o.s.b.w.embedded.tomcat.TomcatWebServer 220 : Tomcat started on port(s): 8892 (http) with context path '/api' +2024-06-27 15:45:16.093 INFO [main] [] d.s.w.p.DocumentationPluginsBootstrapper 160 : Context refreshed +2024-06-27 15:45:16.099 INFO [main] [] d.s.w.p.DocumentationPluginsBootstrapper 163 : Found 1 custom documentation plugin(s) +2024-06-27 15:45:16.133 INFO [main] [] s.d.s.w.s.ApiListingReferenceScanner 41 : Scanning for api listing references +2024-06-27 15:45:16.249 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_1 +2024-06-27 15:45:16.251 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_1 +2024-06-27 15:45:16.251 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_1 +2024-06-27 15:45:16.268 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_1 +2024-06-27 15:45:16.302 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_2 +2024-06-27 15:45:16.304 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_2 +2024-06-27 15:45:16.306 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_3 +2024-06-27 15:45:16.308 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_3 +2024-06-27 15:45:16.310 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_4 +2024-06-27 15:45:16.311 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_4 +2024-06-27 15:45:16.311 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexOutUsingPOST_1 +2024-06-27 15:45:16.315 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_5 +2024-06-27 15:45:16.321 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_5 +2024-06-27 15:45:16.321 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_2 +2024-06-27 15:45:16.322 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_2 +2024-06-27 15:45:16.338 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_6 +2024-06-27 15:45:16.339 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_7 +2024-06-27 15:45:16.344 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_8 +2024-06-27 15:45:16.351 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_6 +2024-06-27 15:45:16.352 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_3 +2024-06-27 15:45:16.353 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_3 +2024-06-27 15:45:16.360 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_9 +2024-06-27 15:45:16.386 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_10 +2024-06-27 15:45:16.388 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_7 +2024-06-27 15:45:16.388 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_4 +2024-06-27 15:45:16.389 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_4 +2024-06-27 15:45:16.391 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_11 +2024-06-27 15:45:16.396 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_8 +2024-06-27 15:45:16.397 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_5 +2024-06-27 15:45:16.397 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_5 +2024-06-27 15:45:16.401 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_12 +2024-06-27 15:45:16.404 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_9 +2024-06-27 15:45:16.404 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_6 +2024-06-27 15:45:16.405 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_6 +2024-06-27 15:45:16.408 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_13 +2024-06-27 15:45:16.408 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_1 +2024-06-27 15:45:16.411 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_10 +2024-06-27 15:45:16.411 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_7 +2024-06-27 15:45:16.412 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_7 +2024-06-27 15:45:16.414 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_14 +2024-06-27 15:45:16.416 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_11 +2024-06-27 15:45:16.417 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_8 +2024-06-27 15:45:16.417 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_8 +2024-06-27 15:45:16.419 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_15 +2024-06-27 15:45:16.420 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_12 +2024-06-27 15:45:16.423 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_9 +2024-06-27 15:45:16.424 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_9 +2024-06-27 15:45:16.428 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_16 +2024-06-27 15:45:16.429 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_17 +2024-06-27 15:45:16.435 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_13 +2024-06-27 15:45:16.436 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_10 +2024-06-27 15:45:16.439 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_18 +2024-06-27 15:45:16.440 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_1 +2024-06-27 15:45:16.451 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addGroupUsingPOST_1 +2024-06-27 15:45:16.452 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: categoryUsingPOST_1 +2024-06-27 15:45:16.452 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteFilesUsingPOST_1 +2024-06-27 15:45:16.453 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteGroupUsingPOST_1 +2024-06-27 15:45:16.453 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editGroupUsingPOST_1 +2024-06-27 15:45:16.457 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: listsUsingPOST_1 +2024-06-27 15:45:16.457 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: moveFilesUsingPOST_1 +2024-06-27 15:45:16.459 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_19 +2024-06-27 15:45:16.463 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_14 +2024-06-27 15:45:16.464 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_10 +2024-06-27 15:45:16.464 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteFilesUsingPOST_2 +2024-06-27 15:45:16.464 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_11 +2024-06-27 15:45:16.466 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_20 +2024-06-27 15:45:16.469 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: moveFilesUsingPOST_2 +2024-06-27 15:45:16.469 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_21 +2024-06-27 15:45:16.470 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: listUsingPOST_1 +2024-06-27 15:45:16.476 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_22 +2024-06-27 15:45:16.478 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_23 +2024-06-27 15:45:16.481 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_24 +2024-06-27 15:45:16.482 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_25 +2024-06-27 15:45:16.484 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_15 +2024-06-27 15:45:16.485 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_1 +2024-06-27 15:45:16.486 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_12 +2024-06-27 15:45:16.487 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_26 +2024-06-27 15:45:16.487 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: repulseAuditUsingPOST_1 +2024-06-27 15:45:16.489 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_16 +2024-06-27 15:45:16.490 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_11 +2024-06-27 15:45:16.491 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_13 +2024-06-27 15:45:16.497 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_27 +2024-06-27 15:45:16.500 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_17 +2024-06-27 15:45:16.500 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_12 +2024-06-27 15:45:16.501 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_14 +2024-06-27 15:45:16.503 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_28 +2024-06-27 15:45:16.504 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_18 +2024-06-27 15:45:16.505 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_29 +2024-06-27 15:45:16.510 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_30 +2024-06-27 15:45:16.511 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_19 +2024-06-27 15:45:16.512 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_1 +2024-06-27 15:45:16.512 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_31 +2024-06-27 15:45:16.514 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_1 +2024-06-27 15:45:16.515 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_32 +2024-06-27 15:45:16.516 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_20 +2024-06-27 15:45:16.517 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_2 +2024-06-27 15:45:16.517 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_33 +2024-06-27 15:45:16.527 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: loginUsingPOST_1 +2024-06-27 15:45:16.527 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: logoutUsingPOST_1 +2024-06-27 15:45:16.529 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_34 +2024-06-27 15:45:16.531 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_21 +2024-06-27 15:45:16.532 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_13 +2024-06-27 15:45:16.533 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_15 +2024-06-27 15:45:16.533 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_35 +2024-06-27 15:45:16.535 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_2 +2024-06-27 15:45:16.539 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_22 +2024-06-27 15:45:16.540 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_14 +2024-06-27 15:45:16.540 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_16 +2024-06-27 15:45:16.544 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_36 +2024-06-27 15:45:16.545 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: stateUsingPOST_1 +2024-06-27 15:45:16.545 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_1 +2024-06-27 15:45:16.546 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_3 +2024-06-27 15:45:16.547 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_23 +2024-06-27 15:45:16.548 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_2 +2024-06-27 15:45:16.548 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_2 +2024-06-27 15:45:16.550 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_17 +2024-06-27 15:45:16.550 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_37 +2024-06-27 15:45:16.553 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_3 +2024-06-27 15:45:16.554 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_18 +2024-06-27 15:45:16.555 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_38 +2024-06-27 15:45:16.556 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addStorageUsingPOST_1 +2024-06-27 15:45:16.557 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_4 +2024-06-27 15:45:16.557 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_3 +2024-06-27 15:45:16.558 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_19 +2024-06-27 15:45:16.559 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_39 +2024-06-27 15:45:16.560 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_40 +2024-06-27 15:45:16.562 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_24 +2024-06-27 15:45:16.563 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_20 +2024-06-27 15:45:16.564 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_3 +2024-06-27 15:45:16.570 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_25 +2024-06-27 15:45:16.571 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_15 +2024-06-27 15:45:16.571 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_21 +2024-06-27 15:45:16.573 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_41 +2024-06-27 15:45:16.573 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_2 +2024-06-27 15:45:16.574 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_4 +2024-06-27 15:45:16.576 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: scanIndexUsingPOST_1 +2024-06-27 15:45:16.577 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_42 +2024-06-27 15:45:16.578 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_1 +2024-06-27 15:45:16.580 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_26 +2024-06-27 15:45:16.580 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_16 +2024-06-27 15:45:16.581 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_22 +2024-06-27 15:45:16.587 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_43 +2024-06-27 15:45:16.591 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_27 +2024-06-27 15:45:16.592 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_17 +2024-06-27 15:45:16.593 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_23 +2024-06-27 15:45:16.594 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_44 +2024-06-27 15:45:16.595 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_3 +2024-06-27 15:45:16.595 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_5 +2024-06-27 15:45:16.598 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_28 +2024-06-27 15:45:16.598 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_18 +2024-06-27 15:45:16.599 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_24 +2024-06-27 15:45:16.602 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_45 +2024-06-27 15:45:16.603 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_46 +2024-06-27 15:45:16.604 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_2 +2024-06-27 15:45:16.606 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_29 +2024-06-27 15:45:16.606 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_47 +2024-06-27 15:45:16.608 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_48 +2024-06-27 15:45:16.608 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_49 +2024-06-27 15:45:16.609 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_3 +2024-06-27 15:45:16.612 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_30 +2024-06-27 15:45:16.613 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_19 +2024-06-27 15:45:16.613 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_25 +2024-06-27 15:45:16.617 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_50 +2024-06-27 15:45:16.618 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_2 +2024-06-27 15:45:16.618 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_4 +2024-06-27 15:45:16.619 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_6 +2024-06-27 15:45:16.626 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_31 +2024-06-27 15:45:16.626 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_20 +2024-06-27 15:45:16.627 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_26 +2024-06-27 15:45:16.634 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_51 +2024-06-27 15:45:16.635 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_3 +2024-06-27 15:45:16.636 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_7 +2024-06-27 15:45:16.636 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_52 +2024-06-27 15:45:16.637 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_4 +2024-06-27 15:45:16.639 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_32 +2024-06-27 15:45:16.640 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_21 +2024-06-27 15:45:16.641 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_27 +2024-06-27 15:45:16.643 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_53 +2024-06-27 15:45:16.647 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: uploadUsingPOST_1 +2024-06-27 15:45:16.672 INFO [main] [] net.jjjerp.SpringBootJjjApplication 61 : Started SpringBootJjjApplication in 10.577 seconds (JVM running for 11.133) +2024-06-27 15:45:16.675 INFO [main] [] n.j.framework.util.PrintApplicationInfo 61 : projectFinalName : jjj-erp-1.0 +2024-06-27 15:45:16.675 INFO [main] [] n.j.framework.util.PrintApplicationInfo 62 : projectVersion : 1.0 +2024-06-27 15:45:16.675 INFO [main] [] n.j.framework.util.PrintApplicationInfo 63 : profileActive : prod +2024-06-27 15:45:16.675 INFO [main] [] n.j.framework.util.PrintApplicationInfo 64 : contextPath : /api +2024-06-27 15:45:16.675 INFO [main] [] n.j.framework.util.PrintApplicationInfo 65 : serverIp : http://erp3.huadeng.fun +2024-06-27 15:45:16.675 INFO [main] [] n.j.framework.util.PrintApplicationInfo 66 : port : 8892 +2024-06-27 15:45:16.675 INFO [main] [] n.j.framework.util.PrintApplicationInfo 81 : Home: http://erp3.huadeng.fun/api +2024-06-27 15:45:16.675 INFO [main] [] n.j.framework.util.PrintApplicationInfo 82 : Knife4j: http://erp3.huadeng.fun/api/doc.html +2024-06-27 15:45:16.675 INFO [main] [] n.j.framework.util.PrintApplicationInfo 83 : Swagger: http://erp3.huadeng.fun/api/swagger-ui.html +2024-06-27 15:45:16.675 INFO [main] [] n.j.framework.util.PrintApplicationInfo 84 : jjj-erp 启动成功........... + ____ __ __ ____ +/\ _`\ /\ \__ /\ \__ /\ _`\ +\ \,\L\_\ \ ,_\ __ _ __\ \ ,_\ \ \,\L\_\ __ __ ___ ___ __ ____ ____ + \/_\__ \\ \ \/ /'__`\ /\`'__\ \ \/ \/_\__ \ /\ \/\ \ /'___\ /'___\ /'__`\ /',__\ /',__\ + /\ \L\ \ \ \_/\ \L\.\_\ \ \/ \ \ \_ /\ \L\ \ \ \_\ \/\ \__//\ \__//\ __//\__, `\/\__, `\ + \ `\____\ \__\ \__/.\_\\ \_\ \ \__\ \ `\____\ \____/\ \____\ \____\ \____\/\____/\/\____/ + \/_____/\/__/\/__/\/_/ \/_/ \/__/ \/_____/\/___/ \/____/\/____/\/____/\/___/ \/___/ + + +2024-06-27 15:45:32.779 INFO [http-nio-8892-exec-1] [] o.a.c.c.C.[Tomcat].[localhost].[/api] 173 : Initializing Spring DispatcherServlet 'dispatcherServlet' +2024-06-27 15:45:32.779 INFO [http-nio-8892-exec-1] [] o.s.web.servlet.DispatcherServlet 525 : Initializing Servlet 'dispatcherServlet' +2024-06-27 15:45:32.793 INFO [http-nio-8892-exec-1] [] o.s.web.servlet.DispatcherServlet 547 : Completed initialization in 14 ms +2024-06-27 15:45:33.711 INFO [http-nio-8892-exec-1] [1806232385937948673] com.zaxxer.hikari.HikariDataSource 110 : HikariPool-1 - Starting... +2024-06-27 15:45:34.086 INFO [http-nio-8892-exec-1] [1806232385937948673] com.zaxxer.hikari.HikariDataSource 123 : HikariPool-1 - Start completed. +2024-06-27 15:48:11.663 WARN [HikariPool-1 housekeeper] [] com.zaxxer.hikari.pool.HikariPool 787 : HikariPool-1 - Thread starvation or clock leap detected (housekeeper delta=2m7s468ms640µs900ns). +2024-06-27 15:58:22.623 ERROR [http-nio-8892-exec-20] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy405.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-27 15:58:22.623 ERROR [http-nio-8892-exec-19] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy405.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-27 15:58:30.881 ERROR [http-nio-8892-exec-18] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy405.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-27 15:58:31.901 INFO [lettuce-eventExecutorLoop-1-3] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was /101.34.74.68:6379 +2024-06-27 15:58:31.929 INFO [lettuce-nioEventLoop-4-2] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to 101.34.74.68:6379 +2024-06-27 15:58:39.465 WARN [http-nio-8892-exec-21] [1806235660909232130] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@23b83acf (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-27 15:58:39.651 WARN [http-nio-8892-exec-22] [1806235660909232131] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@766259b0 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-27 15:58:44.477 WARN [http-nio-8892-exec-21] [1806235660909232130] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@45a5bda1 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-27 15:58:44.664 WARN [http-nio-8892-exec-22] [1806235660909232131] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@7cf3569f (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-27 15:58:49.492 WARN [http-nio-8892-exec-21] [1806235660909232130] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@5464798e (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-27 15:58:49.677 WARN [http-nio-8892-exec-22] [1806235660909232131] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@2a8e449c (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-27 15:58:54.493 WARN [http-nio-8892-exec-21] [1806235660909232130] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@582f49b6 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-27 15:58:54.679 WARN [http-nio-8892-exec-22] [1806235660909232131] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@19afc91 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-27 15:58:59.494 WARN [http-nio-8892-exec-21] [1806235660909232130] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@60a79217 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-27 15:58:59.682 WARN [http-nio-8892-exec-22] [1806235660909232131] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@2bc1ba7 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-27 16:05:32.581 WARN [http-nio-8892-exec-8] [1806237393639129090] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@3182c6d8 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-27 16:06:21.040 INFO [SpringContextShutdownHook] [] net.jjjerp.framework.core.xss.XssFilter 30 : XssFilter destroy +2024-06-27 16:06:21.040 INFO [SpringContextShutdownHook] [] n.j.f.core.filter.RequestDetailFilter 116 : RequestDetailFilter destroy +2024-06-27 16:06:21.049 INFO [SpringContextShutdownHook] [] o.s.s.c.ThreadPoolTaskScheduler 218 : Shutting down ExecutorService 'taskScheduler' +2024-06-27 16:06:21.050 INFO [SpringContextShutdownHook] [] o.s.s.concurrent.ThreadPoolTaskExecutor 218 : Shutting down ExecutorService 'applicationTaskExecutor' +2024-06-27 16:06:21.056 INFO [SpringContextShutdownHook] [] com.zaxxer.hikari.HikariDataSource 350 : HikariPool-1 - Shutdown initiated... +2024-06-27 16:06:21.057 INFO [SpringContextShutdownHook] [] com.zaxxer.hikari.HikariDataSource 352 : HikariPool-1 - Shutdown completed. +2024-06-27 16:06:31.913 INFO [background-preinit] [] o.h.validator.internal.util.Version 21 : HV000001: Hibernate Validator 6.1.7.Final +2024-06-27 16:06:31.921 INFO [main] [] net.jjjerp.SpringBootJjjApplication 55 : Starting SpringBootJjjApplication on OS-20230506YKNI with PID 3348 (D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\bootstrap\target\classes started by Administrator in D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp) +2024-06-27 16:06:31.922 INFO [main] [] net.jjjerp.SpringBootJjjApplication 652 : The following profiles are active: prod +2024-06-27 16:06:32.907 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 249 : Multiple Spring Data modules found, entering strict repository configuration mode! +2024-06-27 16:06:32.908 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 127 : Bootstrapping Spring Data Redis repositories in DEFAULT mode. +2024-06-27 16:06:33.032 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 187 : Finished Spring Data repository scanning in 115ms. Found 0 Redis repository interfaces. +2024-06-27 16:06:33.284 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.ShiroConfig' of type [net.jjjerp.config.ShiroConfig$$EnhancerBySpringCGLIB$$86b684f1] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 16:06:33.366 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.properties.JwtProperties' of type [net.jjjerp.config.properties.JwtProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 16:06:33.368 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.RedisTemplateConfig' of type [net.jjjerp.config.RedisTemplateConfig$$EnhancerBySpringCGLIB$$561b8f95] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 16:06:33.376 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'spring.redis-org.springframework.boot.autoconfigure.data.redis.RedisProperties' of type [org.springframework.boot.autoconfigure.data.redis.RedisProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 16:06:33.379 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration' of type [org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 16:06:33.434 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'lettuceClientResources' of type [io.lettuce.core.resource.DefaultClientResources] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 16:06:33.531 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'redisConnectionFactory' of type [org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 16:06:33.578 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'redisTemplate' of type [org.springframework.data.redis.core.RedisTemplate] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 16:06:33.579 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.cache.impl.AdminLoginRedisServiceImpl' of type [net.jjjerp.framework.shiro.cache.impl.AdminLoginRedisServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 16:06:33.582 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.cache.impl.ShopLoginRedisServiceImpl' of type [net.jjjerp.framework.shiro.cache.impl.ShopLoginRedisServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 16:06:33.692 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'credentialsMatcher' of type [net.jjjerp.framework.shiro.jwt.JwtCredentialsMatcher] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 16:06:33.698 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'jwtRealm' of type [net.jjjerp.framework.shiro.jwt.JwtRealm] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 16:06:33.699 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'sessionStorageEvaluator' of type [org.apache.shiro.web.mgt.DefaultWebSessionStorageEvaluator] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 16:06:33.700 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'subjectDAO' of type [org.apache.shiro.mgt.DefaultSubjectDAO] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 16:06:33.702 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'securityManager' of type [org.apache.shiro.web.mgt.DefaultWebSecurityManager] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 16:06:33.721 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.service.impl.ShiroLoginServiceImpl' of type [net.jjjerp.framework.shiro.service.impl.ShiroLoginServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 16:06:33.728 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'spring-boot-jjj.shiro-net.jjjerp.config.properties.ShiroProperties' of type [net.jjjerp.config.properties.ShiroProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 16:06:33.812 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'authorizationAttributeSourceAdvisor' of type [org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 16:06:33.938 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.RedisCacheConfig' of type [net.jjjerp.config.RedisCacheConfig$$EnhancerBySpringCGLIB$$b586697] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 16:06:34.182 INFO [main] [] o.s.b.w.embedded.tomcat.TomcatWebServer 108 : Tomcat initialized with port(s): 8892 (http) +2024-06-27 16:06:34.191 INFO [main] [] o.a.coyote.http11.Http11NioProtocol 173 : Initializing ProtocolHandler ["http-nio-8892"] +2024-06-27 16:06:34.192 INFO [main] [] o.apache.catalina.core.StandardService 173 : Starting service [Tomcat] +2024-06-27 16:06:34.192 INFO [main] [] org.apache.catalina.core.StandardEngine 173 : Starting Servlet engine: [Apache Tomcat/9.0.46] +2024-06-27 16:06:34.296 INFO [main] [] o.a.c.c.C.[Tomcat].[localhost].[/api] 173 : Initializing Spring embedded WebApplicationContext +2024-06-27 16:06:34.296 INFO [main] [] w.s.c.ServletWebServerApplicationContext 285 : Root WebApplicationContext: initialization completed in 2325 ms +2024-06-27 16:06:34.462 INFO [main] [] net.jjjerp.framework.core.xss.XssFilter 18 : XssFilter init +2024-06-27 16:06:34.462 INFO [main] [] n.j.f.core.filter.RequestDetailFilter 30 : RequestDetailFilter init +2024-06-27 16:06:38.163 INFO [main] [] org.reflections.Reflections 228 : Reflections took 44 ms to scan 1 urls, producing 0 keys and 0 values +2024-06-27 16:06:38.275 INFO [main] [] net.jjjerp.framework.shiro.util.JwtUtil 33 : {"audience":"web","expireSecond":36000,"issuer":"spring-boot-jjj","redisCheck":true,"refreshToken":true,"refreshTokenCountdown":600,"saltCheck":true,"secret":"888888","singleLogin":false,"tokenName":"token"} +2024-06-27 16:06:41.808 INFO [main] [] pertySourcedRequestMappingHandlerMapping 69 : Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2Controller#getDocumentation(String, HttpServletRequest)] +2024-06-27 16:06:41.825 INFO [main] [] net.jjjerp.config.Swagger2Config 149 : swagger scan basePackages:null +2024-06-27 16:06:41.947 INFO [main] [] o.s.s.concurrent.ThreadPoolTaskExecutor 181 : Initializing ExecutorService 'applicationTaskExecutor' +2024-06-27 16:06:42.031 INFO [main] [] o.s.b.a.w.s.WelcomePageHandlerMapping 53 : Adding welcome page: class path resource [static/index.html] +2024-06-27 16:06:42.258 INFO [main] [] o.s.s.c.ThreadPoolTaskScheduler 181 : Initializing ExecutorService 'taskScheduler' +2024-06-27 16:06:42.362 INFO [main] [] o.a.coyote.http11.Http11NioProtocol 173 : Starting ProtocolHandler ["http-nio-8892"] +2024-06-27 16:06:42.380 INFO [main] [] o.s.b.w.embedded.tomcat.TomcatWebServer 220 : Tomcat started on port(s): 8892 (http) with context path '/api' +2024-06-27 16:06:42.381 INFO [main] [] d.s.w.p.DocumentationPluginsBootstrapper 160 : Context refreshed +2024-06-27 16:06:42.387 INFO [main] [] d.s.w.p.DocumentationPluginsBootstrapper 163 : Found 1 custom documentation plugin(s) +2024-06-27 16:06:42.424 INFO [main] [] s.d.s.w.s.ApiListingReferenceScanner 41 : Scanning for api listing references +2024-06-27 16:06:42.549 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_1 +2024-06-27 16:06:42.551 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_1 +2024-06-27 16:06:42.552 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_1 +2024-06-27 16:06:42.569 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_1 +2024-06-27 16:06:42.605 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_2 +2024-06-27 16:06:42.607 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_2 +2024-06-27 16:06:42.609 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_3 +2024-06-27 16:06:42.610 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_3 +2024-06-27 16:06:42.613 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_4 +2024-06-27 16:06:42.614 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_4 +2024-06-27 16:06:42.615 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexOutUsingPOST_1 +2024-06-27 16:06:42.618 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_5 +2024-06-27 16:06:42.624 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_5 +2024-06-27 16:06:42.624 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_2 +2024-06-27 16:06:42.625 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_2 +2024-06-27 16:06:42.639 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_6 +2024-06-27 16:06:42.641 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_7 +2024-06-27 16:06:42.646 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_8 +2024-06-27 16:06:42.677 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_6 +2024-06-27 16:06:42.678 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_3 +2024-06-27 16:06:42.679 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_3 +2024-06-27 16:06:42.701 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_9 +2024-06-27 16:06:42.706 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_10 +2024-06-27 16:06:42.708 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_7 +2024-06-27 16:06:42.709 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_4 +2024-06-27 16:06:42.709 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_4 +2024-06-27 16:06:42.712 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_11 +2024-06-27 16:06:42.717 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_8 +2024-06-27 16:06:42.717 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_5 +2024-06-27 16:06:42.718 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_5 +2024-06-27 16:06:42.722 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_12 +2024-06-27 16:06:42.726 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_9 +2024-06-27 16:06:42.726 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_6 +2024-06-27 16:06:42.727 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_6 +2024-06-27 16:06:42.730 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_13 +2024-06-27 16:06:42.731 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_1 +2024-06-27 16:06:42.732 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_10 +2024-06-27 16:06:42.733 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_7 +2024-06-27 16:06:42.733 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_7 +2024-06-27 16:06:42.734 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_14 +2024-06-27 16:06:42.736 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_11 +2024-06-27 16:06:42.736 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_8 +2024-06-27 16:06:42.737 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_8 +2024-06-27 16:06:42.738 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_15 +2024-06-27 16:06:42.740 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_12 +2024-06-27 16:06:42.743 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_9 +2024-06-27 16:06:42.744 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_9 +2024-06-27 16:06:42.747 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_16 +2024-06-27 16:06:42.748 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_17 +2024-06-27 16:06:42.754 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_13 +2024-06-27 16:06:42.755 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_10 +2024-06-27 16:06:42.759 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_18 +2024-06-27 16:06:42.761 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_1 +2024-06-27 16:06:42.772 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addGroupUsingPOST_1 +2024-06-27 16:06:42.773 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: categoryUsingPOST_1 +2024-06-27 16:06:42.773 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteFilesUsingPOST_1 +2024-06-27 16:06:42.774 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteGroupUsingPOST_1 +2024-06-27 16:06:42.774 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editGroupUsingPOST_1 +2024-06-27 16:06:42.777 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: listsUsingPOST_1 +2024-06-27 16:06:42.778 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: moveFilesUsingPOST_1 +2024-06-27 16:06:42.779 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_19 +2024-06-27 16:06:42.783 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_20 +2024-06-27 16:06:42.789 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_14 +2024-06-27 16:06:42.790 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_10 +2024-06-27 16:06:42.790 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteFilesUsingPOST_2 +2024-06-27 16:06:42.791 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_11 +2024-06-27 16:06:42.791 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_21 +2024-06-27 16:06:42.792 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: listUsingPOST_1 +2024-06-27 16:06:42.792 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: moveFilesUsingPOST_2 +2024-06-27 16:06:42.797 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_22 +2024-06-27 16:06:42.800 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_23 +2024-06-27 16:06:42.805 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_24 +2024-06-27 16:06:42.806 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_25 +2024-06-27 16:06:42.809 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_15 +2024-06-27 16:06:42.810 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_1 +2024-06-27 16:06:42.811 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_12 +2024-06-27 16:06:42.812 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_26 +2024-06-27 16:06:42.812 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: repulseAuditUsingPOST_1 +2024-06-27 16:06:42.814 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_16 +2024-06-27 16:06:42.814 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_11 +2024-06-27 16:06:42.815 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_13 +2024-06-27 16:06:42.819 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_27 +2024-06-27 16:06:42.823 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_17 +2024-06-27 16:06:42.823 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_12 +2024-06-27 16:06:42.824 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_14 +2024-06-27 16:06:42.826 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_28 +2024-06-27 16:06:42.828 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_18 +2024-06-27 16:06:42.828 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_29 +2024-06-27 16:06:42.832 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_30 +2024-06-27 16:06:42.834 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_19 +2024-06-27 16:06:42.834 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_1 +2024-06-27 16:06:42.835 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_31 +2024-06-27 16:06:42.837 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_1 +2024-06-27 16:06:42.838 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_32 +2024-06-27 16:06:42.839 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_20 +2024-06-27 16:06:42.840 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_2 +2024-06-27 16:06:42.840 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_33 +2024-06-27 16:06:42.848 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: loginUsingPOST_1 +2024-06-27 16:06:42.849 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: logoutUsingPOST_1 +2024-06-27 16:06:42.850 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_34 +2024-06-27 16:06:42.853 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_21 +2024-06-27 16:06:42.854 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_13 +2024-06-27 16:06:42.854 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_15 +2024-06-27 16:06:42.855 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_35 +2024-06-27 16:06:42.856 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_2 +2024-06-27 16:06:42.860 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_22 +2024-06-27 16:06:42.860 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_14 +2024-06-27 16:06:42.860 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_16 +2024-06-27 16:06:42.865 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_36 +2024-06-27 16:06:42.866 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: stateUsingPOST_1 +2024-06-27 16:06:42.866 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_1 +2024-06-27 16:06:42.866 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_3 +2024-06-27 16:06:42.868 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_23 +2024-06-27 16:06:42.868 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_2 +2024-06-27 16:06:42.869 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_2 +2024-06-27 16:06:42.870 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_17 +2024-06-27 16:06:42.870 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_37 +2024-06-27 16:06:42.872 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_3 +2024-06-27 16:06:42.873 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_18 +2024-06-27 16:06:42.873 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_38 +2024-06-27 16:06:42.874 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addStorageUsingPOST_1 +2024-06-27 16:06:42.875 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_4 +2024-06-27 16:06:42.876 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_3 +2024-06-27 16:06:42.876 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_19 +2024-06-27 16:06:42.877 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_39 +2024-06-27 16:06:42.878 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_40 +2024-06-27 16:06:42.879 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_24 +2024-06-27 16:06:42.880 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_20 +2024-06-27 16:06:42.881 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_3 +2024-06-27 16:06:42.885 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_25 +2024-06-27 16:06:42.886 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_15 +2024-06-27 16:06:42.886 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_21 +2024-06-27 16:06:42.888 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_41 +2024-06-27 16:06:42.888 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_2 +2024-06-27 16:06:42.888 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_4 +2024-06-27 16:06:42.890 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: scanIndexUsingPOST_1 +2024-06-27 16:06:42.892 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_42 +2024-06-27 16:06:42.892 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_1 +2024-06-27 16:06:42.894 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_26 +2024-06-27 16:06:42.895 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_16 +2024-06-27 16:06:42.895 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_22 +2024-06-27 16:06:42.900 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_43 +2024-06-27 16:06:42.903 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_27 +2024-06-27 16:06:42.903 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_17 +2024-06-27 16:06:42.904 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_23 +2024-06-27 16:06:42.905 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_44 +2024-06-27 16:06:42.905 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_3 +2024-06-27 16:06:42.906 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_5 +2024-06-27 16:06:42.908 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_28 +2024-06-27 16:06:42.908 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_18 +2024-06-27 16:06:42.908 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_24 +2024-06-27 16:06:42.910 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_45 +2024-06-27 16:06:42.911 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_46 +2024-06-27 16:06:42.912 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_2 +2024-06-27 16:06:42.932 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_29 +2024-06-27 16:06:42.933 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_47 +2024-06-27 16:06:42.934 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_48 +2024-06-27 16:06:42.935 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_49 +2024-06-27 16:06:42.935 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_3 +2024-06-27 16:06:42.938 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_30 +2024-06-27 16:06:42.939 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_19 +2024-06-27 16:06:42.939 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_25 +2024-06-27 16:06:42.942 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_50 +2024-06-27 16:06:42.943 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_2 +2024-06-27 16:06:42.943 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_4 +2024-06-27 16:06:42.943 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_6 +2024-06-27 16:06:42.947 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_31 +2024-06-27 16:06:42.948 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_20 +2024-06-27 16:06:42.948 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_26 +2024-06-27 16:06:42.953 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_51 +2024-06-27 16:06:42.953 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_3 +2024-06-27 16:06:42.954 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_7 +2024-06-27 16:06:42.954 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_52 +2024-06-27 16:06:42.955 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_4 +2024-06-27 16:06:42.957 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_32 +2024-06-27 16:06:42.957 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_21 +2024-06-27 16:06:42.958 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_27 +2024-06-27 16:06:42.959 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_53 +2024-06-27 16:06:42.962 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: uploadUsingPOST_1 +2024-06-27 16:06:42.981 INFO [main] [] net.jjjerp.SpringBootJjjApplication 61 : Started SpringBootJjjApplication in 11.698 seconds (JVM running for 12.364) +2024-06-27 16:06:42.984 INFO [main] [] n.j.framework.util.PrintApplicationInfo 61 : projectFinalName : jjj-erp-1.0 +2024-06-27 16:06:42.984 INFO [main] [] n.j.framework.util.PrintApplicationInfo 62 : projectVersion : 1.0 +2024-06-27 16:06:42.984 INFO [main] [] n.j.framework.util.PrintApplicationInfo 63 : profileActive : prod +2024-06-27 16:06:42.984 INFO [main] [] n.j.framework.util.PrintApplicationInfo 64 : contextPath : /api +2024-06-27 16:06:42.984 INFO [main] [] n.j.framework.util.PrintApplicationInfo 65 : serverIp : http://erp3.huadeng.fun +2024-06-27 16:06:42.984 INFO [main] [] n.j.framework.util.PrintApplicationInfo 66 : port : 8892 +2024-06-27 16:06:42.984 INFO [main] [] n.j.framework.util.PrintApplicationInfo 81 : Home: http://erp3.huadeng.fun/api +2024-06-27 16:06:42.984 INFO [main] [] n.j.framework.util.PrintApplicationInfo 82 : Knife4j: http://erp3.huadeng.fun/api/doc.html +2024-06-27 16:06:42.984 INFO [main] [] n.j.framework.util.PrintApplicationInfo 83 : Swagger: http://erp3.huadeng.fun/api/swagger-ui.html +2024-06-27 16:06:42.984 INFO [main] [] n.j.framework.util.PrintApplicationInfo 84 : jjj-erp 启动成功........... + ____ __ __ ____ +/\ _`\ /\ \__ /\ \__ /\ _`\ +\ \,\L\_\ \ ,_\ __ _ __\ \ ,_\ \ \,\L\_\ __ __ ___ ___ __ ____ ____ + \/_\__ \\ \ \/ /'__`\ /\`'__\ \ \/ \/_\__ \ /\ \/\ \ /'___\ /'___\ /'__`\ /',__\ /',__\ + /\ \L\ \ \ \_/\ \L\.\_\ \ \/ \ \ \_ /\ \L\ \ \ \_\ \/\ \__//\ \__//\ __//\__, `\/\__, `\ + \ `\____\ \__\ \__/.\_\\ \_\ \ \__\ \ `\____\ \____/\ \____\ \____\ \____\/\____/\/\____/ + \/_____/\/__/\/__/\/_/ \/_/ \/__/ \/_____/\/___/ \/____/\/____/\/____/\/___/ \/___/ + + +2024-06-27 16:06:50.710 INFO [http-nio-8892-exec-1] [] o.a.c.c.C.[Tomcat].[localhost].[/api] 173 : Initializing Spring DispatcherServlet 'dispatcherServlet' +2024-06-27 16:06:50.711 INFO [http-nio-8892-exec-1] [] o.s.web.servlet.DispatcherServlet 525 : Initializing Servlet 'dispatcherServlet' +2024-06-27 16:06:50.719 INFO [http-nio-8892-exec-1] [] o.s.web.servlet.DispatcherServlet 547 : Completed initialization in 8 ms +2024-06-27 16:06:51.773 INFO [http-nio-8892-exec-1] [1806237745763491842] com.zaxxer.hikari.HikariDataSource 110 : HikariPool-1 - Starting... +2024-06-27 16:06:52.209 INFO [http-nio-8892-exec-1] [1806237745763491842] com.zaxxer.hikari.HikariDataSource 123 : HikariPool-1 - Start completed. +2024-06-27 16:09:55.589 ERROR [http-nio-8892-exec-5] [] n.jjjerp.handler.GlobalExceptionHandler 233 : 异常来源:ip: 192.168.31.208, path: /api/admin/product/base/unit/add +2024-06-27 16:09:55.591 ERROR [http-nio-8892-exec-5] [] n.jjjerp.handler.GlobalExceptionHandler 257 : errorCode: 5000, errorMessage: 系统异常 + +java.lang.NullPointerException: null + at java.util.Comparator.lambda$comparingInt$7b0bb60$1(Comparator.java:490) + at java.util.TimSort.countRunAndMakeAscending(TimSort.java:360) + at java.util.TimSort.sort(TimSort.java:220) + at java.util.Arrays.sort(Arrays.java:1512) + at java.util.stream.SortedOps$SizedRefSortingSink.end(SortedOps.java:348) + at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:483) + at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472) + at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708) + at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) + at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:499) + at net.jjjerp.admin.service.product.impl.ProductUnitServiceImpl.parseNameByUnit(ProductUnitServiceImpl.java:149) + at net.jjjerp.admin.service.product.impl.ProductUnitServiceImpl.add(ProductUnitServiceImpl.java:109) + at net.jjjerp.admin.service.product.impl.ProductUnitServiceImpl$$FastClassBySpringCGLIB$$c1afc35.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:367) + at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:118) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at net.jjjerp.admin.service.product.impl.ProductUnitServiceImpl$$EnhancerBySpringCGLIB$$8fabaa28.add() + at net.jjjerp.admin.controller.product.base.UnitController.add(UnitController.java:46) + at net.jjjerp.admin.controller.product.base.UnitController$$FastClassBySpringCGLIB$$e31e0dcf.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.AspectJAfterThrowingAdvice.invoke(AspectJAfterThrowingAdvice.java:62) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:88) + at net.jjjerp.framework.log.aop.BaseLogAop.handle(BaseLogAop.java:303) + at net.jjjerp.aop.LogAop.doAround(LogAop.java:35) + at net.jjjerp.aop.LogAop$$FastClassBySpringCGLIB$$189c4aae.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.aop.LogAop$$EnhancerBySpringCGLIB$$496ca606.doAround() + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:644) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:633) + at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.apache.shiro.spring.security.interceptor.AopAllianceAnnotationsAuthorizingMethodInterceptor$1.proceed(AopAllianceAnnotationsAuthorizingMethodInterceptor.java:82) + at org.apache.shiro.authz.aop.AuthorizingMethodInterceptor.invoke(AuthorizingMethodInterceptor.java:39) + at org.apache.shiro.spring.security.interceptor.AopAllianceAnnotationsAuthorizingMethodInterceptor.invoke(AopAllianceAnnotationsAuthorizingMethodInterceptor.java:115) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:95) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at net.jjjerp.admin.controller.product.base.UnitController$$EnhancerBySpringCGLIB$$ef6db98c.add() + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:652) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:112) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) + at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) + +2024-06-27 16:11:03.616 ERROR [http-nio-8892-exec-8] [] n.jjjerp.handler.GlobalExceptionHandler 233 : 异常来源:ip: 192.168.31.208, path: /api/admin/product/base/unit/edit +2024-06-27 16:11:03.617 ERROR [http-nio-8892-exec-8] [] n.jjjerp.handler.GlobalExceptionHandler 257 : errorCode: 5000, errorMessage: 系统异常 + +java.lang.NullPointerException: null + at java.util.Comparator.lambda$comparingInt$7b0bb60$1(Comparator.java:490) + at java.util.TimSort.countRunAndMakeAscending(TimSort.java:360) + at java.util.TimSort.sort(TimSort.java:220) + at java.util.Arrays.sort(Arrays.java:1512) + at java.util.stream.SortedOps$SizedRefSortingSink.end(SortedOps.java:348) + at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:483) + at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472) + at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708) + at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) + at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:499) + at net.jjjerp.admin.service.product.impl.ProductUnitServiceImpl.parseNameByUnit(ProductUnitServiceImpl.java:149) + at net.jjjerp.admin.service.product.impl.ProductUnitServiceImpl.edit(ProductUnitServiceImpl.java:120) + at net.jjjerp.admin.service.product.impl.ProductUnitServiceImpl$$FastClassBySpringCGLIB$$c1afc35.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:367) + at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:118) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at net.jjjerp.admin.service.product.impl.ProductUnitServiceImpl$$EnhancerBySpringCGLIB$$8fabaa28.edit() + at net.jjjerp.admin.controller.product.base.UnitController.edit(UnitController.java:58) + at net.jjjerp.admin.controller.product.base.UnitController$$FastClassBySpringCGLIB$$e31e0dcf.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.AspectJAfterThrowingAdvice.invoke(AspectJAfterThrowingAdvice.java:62) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:88) + at net.jjjerp.framework.log.aop.BaseLogAop.handle(BaseLogAop.java:303) + at net.jjjerp.aop.LogAop.doAround(LogAop.java:35) + at net.jjjerp.aop.LogAop$$FastClassBySpringCGLIB$$189c4aae.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.aop.LogAop$$EnhancerBySpringCGLIB$$496ca606.doAround() + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:644) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:633) + at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.apache.shiro.spring.security.interceptor.AopAllianceAnnotationsAuthorizingMethodInterceptor$1.proceed(AopAllianceAnnotationsAuthorizingMethodInterceptor.java:82) + at org.apache.shiro.authz.aop.AuthorizingMethodInterceptor.invoke(AuthorizingMethodInterceptor.java:39) + at org.apache.shiro.spring.security.interceptor.AopAllianceAnnotationsAuthorizingMethodInterceptor.invoke(AopAllianceAnnotationsAuthorizingMethodInterceptor.java:115) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:95) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at net.jjjerp.admin.controller.product.base.UnitController$$EnhancerBySpringCGLIB$$ef6db98c.edit() + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:652) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:112) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) + at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) + +2024-06-27 16:13:35.649 ERROR [http-nio-8892-exec-11] [] n.jjjerp.handler.GlobalExceptionHandler 233 : 异常来源:ip: 192.168.31.208, path: /api/admin/product/base/unit/delete +2024-06-27 16:13:35.650 ERROR [http-nio-8892-exec-11] [] n.jjjerp.handler.GlobalExceptionHandler 257 : errorCode: 5000, errorMessage: 系统异常 + +java.lang.NumberFormatException: For input string: "" + at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65) + at java.lang.Long.parseLong(Long.java:601) + at java.lang.Long.parseLong(Long.java:631) + at net.jjjerp.common.util.StringUtil.strToLongList(StringUtil.java:199) + at net.jjjerp.admin.service.product.impl.ProductUnitServiceImpl.delById(ProductUnitServiceImpl.java:174) + at net.jjjerp.admin.service.product.impl.ProductUnitServiceImpl$$FastClassBySpringCGLIB$$c1afc35.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.admin.service.product.impl.ProductUnitServiceImpl$$EnhancerBySpringCGLIB$$8fabaa28.delById() + at net.jjjerp.admin.controller.product.base.UnitController.delete(UnitController.java:70) + at net.jjjerp.admin.controller.product.base.UnitController$$FastClassBySpringCGLIB$$e31e0dcf.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.AspectJAfterThrowingAdvice.invoke(AspectJAfterThrowingAdvice.java:62) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:88) + at net.jjjerp.framework.log.aop.BaseLogAop.handle(BaseLogAop.java:303) + at net.jjjerp.aop.LogAop.doAround(LogAop.java:35) + at net.jjjerp.aop.LogAop$$FastClassBySpringCGLIB$$189c4aae.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.aop.LogAop$$EnhancerBySpringCGLIB$$496ca606.doAround() + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:644) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:633) + at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.apache.shiro.spring.security.interceptor.AopAllianceAnnotationsAuthorizingMethodInterceptor$1.proceed(AopAllianceAnnotationsAuthorizingMethodInterceptor.java:82) + at org.apache.shiro.authz.aop.AuthorizingMethodInterceptor.invoke(AuthorizingMethodInterceptor.java:39) + at org.apache.shiro.spring.security.interceptor.AopAllianceAnnotationsAuthorizingMethodInterceptor.invoke(AopAllianceAnnotationsAuthorizingMethodInterceptor.java:115) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:95) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at net.jjjerp.admin.controller.product.base.UnitController$$EnhancerBySpringCGLIB$$ef6db98c.delete() + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:652) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:112) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) + at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) + +2024-06-27 16:14:17.015 WARN [http-nio-8892-exec-13] [1806239592863670274] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@21f9e0ea (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-27 16:16:40.308 WARN [http-nio-8892-exec-17] [1806240193865490434] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@6efc1587 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-27 16:17:15.785 INFO [SpringContextShutdownHook] [] net.jjjerp.framework.core.xss.XssFilter 30 : XssFilter destroy +2024-06-27 16:17:15.785 INFO [SpringContextShutdownHook] [] n.j.f.core.filter.RequestDetailFilter 116 : RequestDetailFilter destroy +2024-06-27 16:17:15.792 INFO [SpringContextShutdownHook] [] o.s.s.c.ThreadPoolTaskScheduler 218 : Shutting down ExecutorService 'taskScheduler' +2024-06-27 16:17:15.793 INFO [SpringContextShutdownHook] [] o.s.s.concurrent.ThreadPoolTaskExecutor 218 : Shutting down ExecutorService 'applicationTaskExecutor' +2024-06-27 16:17:15.797 INFO [SpringContextShutdownHook] [] com.zaxxer.hikari.HikariDataSource 350 : HikariPool-1 - Shutdown initiated... +2024-06-27 16:17:15.800 INFO [SpringContextShutdownHook] [] com.zaxxer.hikari.HikariDataSource 352 : HikariPool-1 - Shutdown completed. +2024-06-27 16:17:23.651 INFO [main] [] net.jjjerp.SpringBootJjjApplication 55 : Starting SpringBootJjjApplication on OS-20230506YKNI with PID 1324 (D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\bootstrap\target\classes started by Administrator in D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp) +2024-06-27 16:17:23.647 INFO [background-preinit] [] o.h.validator.internal.util.Version 21 : HV000001: Hibernate Validator 6.1.7.Final +2024-06-27 16:17:23.652 INFO [main] [] net.jjjerp.SpringBootJjjApplication 652 : The following profiles are active: prod +2024-06-27 16:17:24.641 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 249 : Multiple Spring Data modules found, entering strict repository configuration mode! +2024-06-27 16:17:24.643 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 127 : Bootstrapping Spring Data Redis repositories in DEFAULT mode. +2024-06-27 16:17:24.751 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 187 : Finished Spring Data repository scanning in 100ms. Found 0 Redis repository interfaces. +2024-06-27 16:17:24.996 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.ShiroConfig' of type [net.jjjerp.config.ShiroConfig$$EnhancerBySpringCGLIB$$7e4ccb80] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 16:17:25.080 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.properties.JwtProperties' of type [net.jjjerp.config.properties.JwtProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 16:17:25.083 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.RedisTemplateConfig' of type [net.jjjerp.config.RedisTemplateConfig$$EnhancerBySpringCGLIB$$4db1d624] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 16:17:25.091 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'spring.redis-org.springframework.boot.autoconfigure.data.redis.RedisProperties' of type [org.springframework.boot.autoconfigure.data.redis.RedisProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 16:17:25.094 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration' of type [org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 16:17:25.149 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'lettuceClientResources' of type [io.lettuce.core.resource.DefaultClientResources] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 16:17:25.240 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'redisConnectionFactory' of type [org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 16:17:25.285 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'redisTemplate' of type [org.springframework.data.redis.core.RedisTemplate] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 16:17:25.285 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.cache.impl.AdminLoginRedisServiceImpl' of type [net.jjjerp.framework.shiro.cache.impl.AdminLoginRedisServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 16:17:25.289 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.cache.impl.ShopLoginRedisServiceImpl' of type [net.jjjerp.framework.shiro.cache.impl.ShopLoginRedisServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 16:17:25.396 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'credentialsMatcher' of type [net.jjjerp.framework.shiro.jwt.JwtCredentialsMatcher] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 16:17:25.404 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'jwtRealm' of type [net.jjjerp.framework.shiro.jwt.JwtRealm] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 16:17:25.405 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'sessionStorageEvaluator' of type [org.apache.shiro.web.mgt.DefaultWebSessionStorageEvaluator] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 16:17:25.405 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'subjectDAO' of type [org.apache.shiro.mgt.DefaultSubjectDAO] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 16:17:25.408 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'securityManager' of type [org.apache.shiro.web.mgt.DefaultWebSecurityManager] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 16:17:25.426 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.service.impl.ShiroLoginServiceImpl' of type [net.jjjerp.framework.shiro.service.impl.ShiroLoginServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 16:17:25.433 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'spring-boot-jjj.shiro-net.jjjerp.config.properties.ShiroProperties' of type [net.jjjerp.config.properties.ShiroProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 16:17:25.516 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'authorizationAttributeSourceAdvisor' of type [org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 16:17:25.645 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.RedisCacheConfig' of type [net.jjjerp.config.RedisCacheConfig$$EnhancerBySpringCGLIB$$2eead26] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 16:17:25.910 INFO [main] [] o.s.b.w.embedded.tomcat.TomcatWebServer 108 : Tomcat initialized with port(s): 8892 (http) +2024-06-27 16:17:25.917 INFO [main] [] o.a.coyote.http11.Http11NioProtocol 173 : Initializing ProtocolHandler ["http-nio-8892"] +2024-06-27 16:17:25.918 INFO [main] [] o.apache.catalina.core.StandardService 173 : Starting service [Tomcat] +2024-06-27 16:17:25.918 INFO [main] [] org.apache.catalina.core.StandardEngine 173 : Starting Servlet engine: [Apache Tomcat/9.0.46] +2024-06-27 16:17:26.011 INFO [main] [] o.a.c.c.C.[Tomcat].[localhost].[/api] 173 : Initializing Spring embedded WebApplicationContext +2024-06-27 16:17:26.011 INFO [main] [] w.s.c.ServletWebServerApplicationContext 285 : Root WebApplicationContext: initialization completed in 2313 ms +2024-06-27 16:17:26.171 INFO [main] [] net.jjjerp.framework.core.xss.XssFilter 18 : XssFilter init +2024-06-27 16:17:26.171 INFO [main] [] n.j.f.core.filter.RequestDetailFilter 30 : RequestDetailFilter init +2024-06-27 16:17:29.702 INFO [main] [] org.reflections.Reflections 228 : Reflections took 37 ms to scan 1 urls, producing 0 keys and 0 values +2024-06-27 16:17:29.797 INFO [main] [] net.jjjerp.framework.shiro.util.JwtUtil 33 : {"audience":"web","expireSecond":36000,"issuer":"spring-boot-jjj","redisCheck":true,"refreshToken":true,"refreshTokenCountdown":600,"saltCheck":true,"secret":"888888","singleLogin":false,"tokenName":"token"} +2024-06-27 16:17:32.712 INFO [main] [] pertySourcedRequestMappingHandlerMapping 69 : Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2Controller#getDocumentation(String, HttpServletRequest)] +2024-06-27 16:17:32.730 INFO [main] [] net.jjjerp.config.Swagger2Config 149 : swagger scan basePackages:null +2024-06-27 16:17:32.876 INFO [main] [] o.s.s.concurrent.ThreadPoolTaskExecutor 181 : Initializing ExecutorService 'applicationTaskExecutor' +2024-06-27 16:17:32.960 INFO [main] [] o.s.b.a.w.s.WelcomePageHandlerMapping 53 : Adding welcome page: class path resource [static/index.html] +2024-06-27 16:17:33.136 INFO [main] [] o.s.s.c.ThreadPoolTaskScheduler 181 : Initializing ExecutorService 'taskScheduler' +2024-06-27 16:17:33.248 INFO [main] [] o.a.coyote.http11.Http11NioProtocol 173 : Starting ProtocolHandler ["http-nio-8892"] +2024-06-27 16:17:33.272 INFO [main] [] o.s.b.w.embedded.tomcat.TomcatWebServer 220 : Tomcat started on port(s): 8892 (http) with context path '/api' +2024-06-27 16:17:33.273 INFO [main] [] d.s.w.p.DocumentationPluginsBootstrapper 160 : Context refreshed +2024-06-27 16:17:33.279 INFO [main] [] d.s.w.p.DocumentationPluginsBootstrapper 163 : Found 1 custom documentation plugin(s) +2024-06-27 16:17:33.316 INFO [main] [] s.d.s.w.s.ApiListingReferenceScanner 41 : Scanning for api listing references +2024-06-27 16:17:33.437 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_1 +2024-06-27 16:17:33.438 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_1 +2024-06-27 16:17:33.439 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_1 +2024-06-27 16:17:33.455 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_1 +2024-06-27 16:17:33.491 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_2 +2024-06-27 16:17:33.492 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_2 +2024-06-27 16:17:33.495 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_3 +2024-06-27 16:17:33.496 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_3 +2024-06-27 16:17:33.498 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_4 +2024-06-27 16:17:33.499 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_4 +2024-06-27 16:17:33.500 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexOutUsingPOST_1 +2024-06-27 16:17:33.503 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_5 +2024-06-27 16:17:33.509 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_5 +2024-06-27 16:17:33.509 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_2 +2024-06-27 16:17:33.510 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_2 +2024-06-27 16:17:33.524 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_6 +2024-06-27 16:17:33.526 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_7 +2024-06-27 16:17:33.531 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_8 +2024-06-27 16:17:33.538 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_6 +2024-06-27 16:17:33.539 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_3 +2024-06-27 16:17:33.540 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_3 +2024-06-27 16:17:33.547 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_9 +2024-06-27 16:17:33.574 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_10 +2024-06-27 16:17:33.576 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_7 +2024-06-27 16:17:33.576 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_4 +2024-06-27 16:17:33.577 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_4 +2024-06-27 16:17:33.580 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_11 +2024-06-27 16:17:33.585 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_8 +2024-06-27 16:17:33.586 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_5 +2024-06-27 16:17:33.586 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_5 +2024-06-27 16:17:33.590 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_12 +2024-06-27 16:17:33.593 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_9 +2024-06-27 16:17:33.594 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_6 +2024-06-27 16:17:33.595 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_6 +2024-06-27 16:17:33.600 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_13 +2024-06-27 16:17:33.600 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_1 +2024-06-27 16:17:33.602 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_10 +2024-06-27 16:17:33.603 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_7 +2024-06-27 16:17:33.604 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_7 +2024-06-27 16:17:33.605 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_14 +2024-06-27 16:17:33.606 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_11 +2024-06-27 16:17:33.607 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_8 +2024-06-27 16:17:33.607 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_8 +2024-06-27 16:17:33.609 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_15 +2024-06-27 16:17:33.610 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_12 +2024-06-27 16:17:33.613 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_9 +2024-06-27 16:17:33.613 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_9 +2024-06-27 16:17:33.616 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_16 +2024-06-27 16:17:33.617 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_17 +2024-06-27 16:17:33.623 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_13 +2024-06-27 16:17:33.624 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_10 +2024-06-27 16:17:33.628 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_18 +2024-06-27 16:17:33.629 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_1 +2024-06-27 16:17:33.640 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addGroupUsingPOST_1 +2024-06-27 16:17:33.641 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: categoryUsingPOST_1 +2024-06-27 16:17:33.642 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteFilesUsingPOST_1 +2024-06-27 16:17:33.642 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteGroupUsingPOST_1 +2024-06-27 16:17:33.643 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editGroupUsingPOST_1 +2024-06-27 16:17:33.647 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: listsUsingPOST_1 +2024-06-27 16:17:33.648 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: moveFilesUsingPOST_1 +2024-06-27 16:17:33.649 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_19 +2024-06-27 16:17:33.653 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_14 +2024-06-27 16:17:33.653 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_10 +2024-06-27 16:17:33.654 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteFilesUsingPOST_2 +2024-06-27 16:17:33.654 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_11 +2024-06-27 16:17:33.656 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_20 +2024-06-27 16:17:33.658 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: moveFilesUsingPOST_2 +2024-06-27 16:17:33.659 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_21 +2024-06-27 16:17:33.660 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: listUsingPOST_1 +2024-06-27 16:17:33.665 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_22 +2024-06-27 16:17:33.668 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_23 +2024-06-27 16:17:33.671 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_24 +2024-06-27 16:17:33.673 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_25 +2024-06-27 16:17:33.676 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_15 +2024-06-27 16:17:33.677 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_1 +2024-06-27 16:17:33.678 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_12 +2024-06-27 16:17:33.680 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_26 +2024-06-27 16:17:33.681 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: repulseAuditUsingPOST_1 +2024-06-27 16:17:33.684 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_16 +2024-06-27 16:17:33.685 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_11 +2024-06-27 16:17:33.686 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_13 +2024-06-27 16:17:33.692 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_27 +2024-06-27 16:17:33.696 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_17 +2024-06-27 16:17:33.696 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_12 +2024-06-27 16:17:33.697 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_14 +2024-06-27 16:17:33.699 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_28 +2024-06-27 16:17:33.700 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_18 +2024-06-27 16:17:33.701 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_29 +2024-06-27 16:17:33.706 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_30 +2024-06-27 16:17:33.708 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_19 +2024-06-27 16:17:33.709 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_1 +2024-06-27 16:17:33.709 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_31 +2024-06-27 16:17:33.711 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_1 +2024-06-27 16:17:33.712 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_32 +2024-06-27 16:17:33.714 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_20 +2024-06-27 16:17:33.714 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_2 +2024-06-27 16:17:33.715 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_33 +2024-06-27 16:17:33.728 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: loginUsingPOST_1 +2024-06-27 16:17:33.728 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: logoutUsingPOST_1 +2024-06-27 16:17:33.730 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_34 +2024-06-27 16:17:33.734 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_21 +2024-06-27 16:17:33.734 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_13 +2024-06-27 16:17:33.735 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_15 +2024-06-27 16:17:33.737 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_35 +2024-06-27 16:17:33.738 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_2 +2024-06-27 16:17:33.742 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_22 +2024-06-27 16:17:33.743 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_14 +2024-06-27 16:17:33.743 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_16 +2024-06-27 16:17:33.748 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_36 +2024-06-27 16:17:33.749 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: stateUsingPOST_1 +2024-06-27 16:17:33.749 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_1 +2024-06-27 16:17:33.750 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_3 +2024-06-27 16:17:33.753 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_23 +2024-06-27 16:17:33.754 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_2 +2024-06-27 16:17:33.755 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_2 +2024-06-27 16:17:33.757 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_17 +2024-06-27 16:17:33.758 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_37 +2024-06-27 16:17:33.761 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_3 +2024-06-27 16:17:33.762 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_18 +2024-06-27 16:17:33.762 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_38 +2024-06-27 16:17:33.764 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addStorageUsingPOST_1 +2024-06-27 16:17:33.765 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_4 +2024-06-27 16:17:33.766 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_3 +2024-06-27 16:17:33.767 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_19 +2024-06-27 16:17:33.767 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_39 +2024-06-27 16:17:33.770 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_40 +2024-06-27 16:17:33.771 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_24 +2024-06-27 16:17:33.772 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_20 +2024-06-27 16:17:33.773 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_3 +2024-06-27 16:17:33.777 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_25 +2024-06-27 16:17:33.778 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_15 +2024-06-27 16:17:33.778 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_21 +2024-06-27 16:17:33.779 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_41 +2024-06-27 16:17:33.780 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_2 +2024-06-27 16:17:33.780 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_4 +2024-06-27 16:17:33.782 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: scanIndexUsingPOST_1 +2024-06-27 16:17:33.784 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_42 +2024-06-27 16:17:33.784 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_1 +2024-06-27 16:17:33.788 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_26 +2024-06-27 16:17:33.789 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_16 +2024-06-27 16:17:33.789 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_22 +2024-06-27 16:17:33.795 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_43 +2024-06-27 16:17:33.798 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_27 +2024-06-27 16:17:33.799 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_17 +2024-06-27 16:17:33.799 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_23 +2024-06-27 16:17:33.801 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_44 +2024-06-27 16:17:33.802 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_3 +2024-06-27 16:17:33.803 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_5 +2024-06-27 16:17:33.805 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_28 +2024-06-27 16:17:33.806 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_18 +2024-06-27 16:17:33.806 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_24 +2024-06-27 16:17:33.808 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_45 +2024-06-27 16:17:33.809 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_46 +2024-06-27 16:17:33.810 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_2 +2024-06-27 16:17:33.811 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_29 +2024-06-27 16:17:33.811 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_47 +2024-06-27 16:17:33.812 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_48 +2024-06-27 16:17:33.813 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_49 +2024-06-27 16:17:33.813 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_3 +2024-06-27 16:17:33.818 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_30 +2024-06-27 16:17:33.818 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_19 +2024-06-27 16:17:33.819 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_25 +2024-06-27 16:17:33.823 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_50 +2024-06-27 16:17:33.823 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_2 +2024-06-27 16:17:33.824 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_4 +2024-06-27 16:17:33.824 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_6 +2024-06-27 16:17:33.828 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_31 +2024-06-27 16:17:33.828 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_20 +2024-06-27 16:17:33.829 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_26 +2024-06-27 16:17:33.834 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_51 +2024-06-27 16:17:33.834 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_3 +2024-06-27 16:17:33.835 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_7 +2024-06-27 16:17:33.835 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_52 +2024-06-27 16:17:33.836 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_4 +2024-06-27 16:17:33.839 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_32 +2024-06-27 16:17:33.840 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_21 +2024-06-27 16:17:33.841 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_27 +2024-06-27 16:17:33.843 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_53 +2024-06-27 16:17:33.847 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: uploadUsingPOST_1 +2024-06-27 16:17:33.868 INFO [main] [] net.jjjerp.SpringBootJjjApplication 61 : Started SpringBootJjjApplication in 10.698 seconds (JVM running for 11.29) +2024-06-27 16:17:33.873 INFO [main] [] n.j.framework.util.PrintApplicationInfo 61 : projectFinalName : jjj-erp-1.0 +2024-06-27 16:17:33.873 INFO [main] [] n.j.framework.util.PrintApplicationInfo 62 : projectVersion : 1.0 +2024-06-27 16:17:33.873 INFO [main] [] n.j.framework.util.PrintApplicationInfo 63 : profileActive : prod +2024-06-27 16:17:33.873 INFO [main] [] n.j.framework.util.PrintApplicationInfo 64 : contextPath : /api +2024-06-27 16:17:33.873 INFO [main] [] n.j.framework.util.PrintApplicationInfo 65 : serverIp : http://erp3.huadeng.fun +2024-06-27 16:17:33.873 INFO [main] [] n.j.framework.util.PrintApplicationInfo 66 : port : 8892 +2024-06-27 16:17:33.873 INFO [main] [] n.j.framework.util.PrintApplicationInfo 81 : Home: http://erp3.huadeng.fun/api +2024-06-27 16:17:33.873 INFO [main] [] n.j.framework.util.PrintApplicationInfo 82 : Knife4j: http://erp3.huadeng.fun/api/doc.html +2024-06-27 16:17:33.873 INFO [main] [] n.j.framework.util.PrintApplicationInfo 83 : Swagger: http://erp3.huadeng.fun/api/swagger-ui.html +2024-06-27 16:17:33.873 INFO [main] [] n.j.framework.util.PrintApplicationInfo 84 : jjj-erp 启动成功........... + ____ __ __ ____ +/\ _`\ /\ \__ /\ \__ /\ _`\ +\ \,\L\_\ \ ,_\ __ _ __\ \ ,_\ \ \,\L\_\ __ __ ___ ___ __ ____ ____ + \/_\__ \\ \ \/ /'__`\ /\`'__\ \ \/ \/_\__ \ /\ \/\ \ /'___\ /'___\ /'__`\ /',__\ /',__\ + /\ \L\ \ \ \_/\ \L\.\_\ \ \/ \ \ \_ /\ \L\ \ \ \_\ \/\ \__//\ \__//\ __//\__, `\/\__, `\ + \ `\____\ \__\ \__/.\_\\ \_\ \ \__\ \ `\____\ \____/\ \____\ \____\ \____\/\____/\/\____/ + \/_____/\/__/\/__/\/_/ \/_/ \/__/ \/_____/\/___/ \/____/\/____/\/____/\/___/ \/___/ + + +2024-06-27 16:17:55.108 INFO [http-nio-8892-exec-1] [] o.a.c.c.C.[Tomcat].[localhost].[/api] 173 : Initializing Spring DispatcherServlet 'dispatcherServlet' +2024-06-27 16:17:55.108 INFO [http-nio-8892-exec-1] [] o.s.web.servlet.DispatcherServlet 525 : Initializing Servlet 'dispatcherServlet' +2024-06-27 16:17:55.133 INFO [http-nio-8892-exec-1] [] o.s.web.servlet.DispatcherServlet 547 : Completed initialization in 25 ms +2024-06-27 16:17:56.207 INFO [http-nio-8892-exec-2] [1806240533365039105] com.zaxxer.hikari.HikariDataSource 110 : HikariPool-1 - Starting... +2024-06-27 16:17:56.544 INFO [http-nio-8892-exec-2] [1806240533365039105] com.zaxxer.hikari.HikariDataSource 123 : HikariPool-1 - Start completed. +2024-06-27 16:28:37.229 INFO [SpringContextShutdownHook] [] net.jjjerp.framework.core.xss.XssFilter 30 : XssFilter destroy +2024-06-27 16:28:37.229 INFO [SpringContextShutdownHook] [] n.j.f.core.filter.RequestDetailFilter 116 : RequestDetailFilter destroy +2024-06-27 16:28:37.237 INFO [SpringContextShutdownHook] [] o.s.s.c.ThreadPoolTaskScheduler 218 : Shutting down ExecutorService 'taskScheduler' +2024-06-27 16:28:37.238 INFO [SpringContextShutdownHook] [] o.s.s.concurrent.ThreadPoolTaskExecutor 218 : Shutting down ExecutorService 'applicationTaskExecutor' +2024-06-27 16:28:37.242 INFO [SpringContextShutdownHook] [] com.zaxxer.hikari.HikariDataSource 350 : HikariPool-1 - Shutdown initiated... +2024-06-27 16:28:37.244 INFO [SpringContextShutdownHook] [] com.zaxxer.hikari.HikariDataSource 352 : HikariPool-1 - Shutdown completed. +2024-06-27 16:28:44.643 INFO [background-preinit] [] o.h.validator.internal.util.Version 21 : HV000001: Hibernate Validator 6.1.7.Final +2024-06-27 16:28:44.647 INFO [main] [] net.jjjerp.SpringBootJjjApplication 55 : Starting SpringBootJjjApplication on OS-20230506YKNI with PID 3252 (D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\bootstrap\target\classes started by Administrator in D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp) +2024-06-27 16:28:44.647 INFO [main] [] net.jjjerp.SpringBootJjjApplication 652 : The following profiles are active: prod +2024-06-27 16:28:45.653 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 249 : Multiple Spring Data modules found, entering strict repository configuration mode! +2024-06-27 16:28:45.655 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 127 : Bootstrapping Spring Data Redis repositories in DEFAULT mode. +2024-06-27 16:28:45.761 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 187 : Finished Spring Data repository scanning in 98ms. Found 0 Redis repository interfaces. +2024-06-27 16:28:46.012 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.ShiroConfig' of type [net.jjjerp.config.ShiroConfig$$EnhancerBySpringCGLIB$$2e8e227b] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 16:28:46.097 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.properties.JwtProperties' of type [net.jjjerp.config.properties.JwtProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 16:28:46.099 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.RedisTemplateConfig' of type [net.jjjerp.config.RedisTemplateConfig$$EnhancerBySpringCGLIB$$fdf32d1f] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 16:28:46.107 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'spring.redis-org.springframework.boot.autoconfigure.data.redis.RedisProperties' of type [org.springframework.boot.autoconfigure.data.redis.RedisProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 16:28:46.110 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration' of type [org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 16:28:46.164 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'lettuceClientResources' of type [io.lettuce.core.resource.DefaultClientResources] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 16:28:46.263 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'redisConnectionFactory' of type [org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 16:28:46.310 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'redisTemplate' of type [org.springframework.data.redis.core.RedisTemplate] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 16:28:46.311 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.cache.impl.AdminLoginRedisServiceImpl' of type [net.jjjerp.framework.shiro.cache.impl.AdminLoginRedisServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 16:28:46.314 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.cache.impl.ShopLoginRedisServiceImpl' of type [net.jjjerp.framework.shiro.cache.impl.ShopLoginRedisServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 16:28:46.426 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'credentialsMatcher' of type [net.jjjerp.framework.shiro.jwt.JwtCredentialsMatcher] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 16:28:46.433 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'jwtRealm' of type [net.jjjerp.framework.shiro.jwt.JwtRealm] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 16:28:46.433 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'sessionStorageEvaluator' of type [org.apache.shiro.web.mgt.DefaultWebSessionStorageEvaluator] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 16:28:46.434 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'subjectDAO' of type [org.apache.shiro.mgt.DefaultSubjectDAO] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 16:28:46.436 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'securityManager' of type [org.apache.shiro.web.mgt.DefaultWebSecurityManager] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 16:28:46.457 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.service.impl.ShiroLoginServiceImpl' of type [net.jjjerp.framework.shiro.service.impl.ShiroLoginServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 16:28:46.464 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'spring-boot-jjj.shiro-net.jjjerp.config.properties.ShiroProperties' of type [net.jjjerp.config.properties.ShiroProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 16:28:46.554 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'authorizationAttributeSourceAdvisor' of type [org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 16:28:46.728 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.RedisCacheConfig' of type [net.jjjerp.config.RedisCacheConfig$$EnhancerBySpringCGLIB$$b3300421] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 16:28:46.978 INFO [main] [] o.s.b.w.embedded.tomcat.TomcatWebServer 108 : Tomcat initialized with port(s): 8892 (http) +2024-06-27 16:28:46.985 INFO [main] [] o.a.coyote.http11.Http11NioProtocol 173 : Initializing ProtocolHandler ["http-nio-8892"] +2024-06-27 16:28:46.986 INFO [main] [] o.apache.catalina.core.StandardService 173 : Starting service [Tomcat] +2024-06-27 16:28:46.986 INFO [main] [] org.apache.catalina.core.StandardEngine 173 : Starting Servlet engine: [Apache Tomcat/9.0.46] +2024-06-27 16:28:47.076 INFO [main] [] o.a.c.c.C.[Tomcat].[localhost].[/api] 173 : Initializing Spring embedded WebApplicationContext +2024-06-27 16:28:47.077 INFO [main] [] w.s.c.ServletWebServerApplicationContext 285 : Root WebApplicationContext: initialization completed in 2380 ms +2024-06-27 16:28:47.218 INFO [main] [] net.jjjerp.framework.core.xss.XssFilter 18 : XssFilter init +2024-06-27 16:28:47.218 INFO [main] [] n.j.f.core.filter.RequestDetailFilter 30 : RequestDetailFilter init +2024-06-27 16:28:50.665 INFO [main] [] org.reflections.Reflections 228 : Reflections took 37 ms to scan 1 urls, producing 0 keys and 0 values +2024-06-27 16:28:50.760 INFO [main] [] net.jjjerp.framework.shiro.util.JwtUtil 33 : {"audience":"web","expireSecond":36000,"issuer":"spring-boot-jjj","redisCheck":true,"refreshToken":true,"refreshTokenCountdown":600,"saltCheck":true,"secret":"888888","singleLogin":false,"tokenName":"token"} +2024-06-27 16:28:53.706 INFO [main] [] pertySourcedRequestMappingHandlerMapping 69 : Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2Controller#getDocumentation(String, HttpServletRequest)] +2024-06-27 16:28:53.739 INFO [main] [] net.jjjerp.config.Swagger2Config 149 : swagger scan basePackages:null +2024-06-27 16:28:53.857 INFO [main] [] o.s.s.concurrent.ThreadPoolTaskExecutor 181 : Initializing ExecutorService 'applicationTaskExecutor' +2024-06-27 16:28:53.940 INFO [main] [] o.s.b.a.w.s.WelcomePageHandlerMapping 53 : Adding welcome page: class path resource [static/index.html] +2024-06-27 16:28:54.124 INFO [main] [] o.s.s.c.ThreadPoolTaskScheduler 181 : Initializing ExecutorService 'taskScheduler' +2024-06-27 16:28:54.237 INFO [main] [] o.a.coyote.http11.Http11NioProtocol 173 : Starting ProtocolHandler ["http-nio-8892"] +2024-06-27 16:28:54.261 INFO [main] [] o.s.b.w.embedded.tomcat.TomcatWebServer 220 : Tomcat started on port(s): 8892 (http) with context path '/api' +2024-06-27 16:28:54.262 INFO [main] [] d.s.w.p.DocumentationPluginsBootstrapper 160 : Context refreshed +2024-06-27 16:28:54.268 INFO [main] [] d.s.w.p.DocumentationPluginsBootstrapper 163 : Found 1 custom documentation plugin(s) +2024-06-27 16:28:54.303 INFO [main] [] s.d.s.w.s.ApiListingReferenceScanner 41 : Scanning for api listing references +2024-06-27 16:28:54.429 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_1 +2024-06-27 16:28:54.430 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_1 +2024-06-27 16:28:54.431 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_1 +2024-06-27 16:28:54.448 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_1 +2024-06-27 16:28:54.484 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_2 +2024-06-27 16:28:54.486 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_2 +2024-06-27 16:28:54.488 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_3 +2024-06-27 16:28:54.489 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_3 +2024-06-27 16:28:54.492 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_4 +2024-06-27 16:28:54.493 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_4 +2024-06-27 16:28:54.493 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexOutUsingPOST_1 +2024-06-27 16:28:54.496 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_5 +2024-06-27 16:28:54.502 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_5 +2024-06-27 16:28:54.503 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_2 +2024-06-27 16:28:54.504 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_2 +2024-06-27 16:28:54.518 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_6 +2024-06-27 16:28:54.519 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_7 +2024-06-27 16:28:54.524 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_8 +2024-06-27 16:28:54.556 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_6 +2024-06-27 16:28:54.557 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_3 +2024-06-27 16:28:54.557 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_3 +2024-06-27 16:28:54.564 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_9 +2024-06-27 16:28:54.568 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_10 +2024-06-27 16:28:54.570 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_7 +2024-06-27 16:28:54.572 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_4 +2024-06-27 16:28:54.572 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_4 +2024-06-27 16:28:54.575 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_11 +2024-06-27 16:28:54.580 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_8 +2024-06-27 16:28:54.580 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_5 +2024-06-27 16:28:54.581 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_5 +2024-06-27 16:28:54.584 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_12 +2024-06-27 16:28:54.587 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_9 +2024-06-27 16:28:54.588 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_6 +2024-06-27 16:28:54.589 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_6 +2024-06-27 16:28:54.592 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_13 +2024-06-27 16:28:54.592 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_1 +2024-06-27 16:28:54.594 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_10 +2024-06-27 16:28:54.594 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_7 +2024-06-27 16:28:54.595 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_7 +2024-06-27 16:28:54.596 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_14 +2024-06-27 16:28:54.597 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_11 +2024-06-27 16:28:54.598 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_8 +2024-06-27 16:28:54.599 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_8 +2024-06-27 16:28:54.600 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_15 +2024-06-27 16:28:54.601 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_12 +2024-06-27 16:28:54.605 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_9 +2024-06-27 16:28:54.605 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_9 +2024-06-27 16:28:54.608 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_16 +2024-06-27 16:28:54.610 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_17 +2024-06-27 16:28:54.615 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_13 +2024-06-27 16:28:54.616 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_10 +2024-06-27 16:28:54.619 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_18 +2024-06-27 16:28:54.621 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_1 +2024-06-27 16:28:54.631 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addGroupUsingPOST_1 +2024-06-27 16:28:54.632 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: categoryUsingPOST_1 +2024-06-27 16:28:54.632 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteFilesUsingPOST_1 +2024-06-27 16:28:54.633 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteGroupUsingPOST_1 +2024-06-27 16:28:54.634 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editGroupUsingPOST_1 +2024-06-27 16:28:54.638 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: listsUsingPOST_1 +2024-06-27 16:28:54.638 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: moveFilesUsingPOST_1 +2024-06-27 16:28:54.640 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_19 +2024-06-27 16:28:54.643 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_20 +2024-06-27 16:28:54.648 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_14 +2024-06-27 16:28:54.648 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_10 +2024-06-27 16:28:54.649 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteFilesUsingPOST_2 +2024-06-27 16:28:54.649 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_11 +2024-06-27 16:28:54.650 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_21 +2024-06-27 16:28:54.650 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: listUsingPOST_1 +2024-06-27 16:28:54.650 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: moveFilesUsingPOST_2 +2024-06-27 16:28:54.651 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_22 +2024-06-27 16:28:54.660 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_23 +2024-06-27 16:28:54.663 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_24 +2024-06-27 16:28:54.664 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_25 +2024-06-27 16:28:54.666 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_15 +2024-06-27 16:28:54.667 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_1 +2024-06-27 16:28:54.668 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_12 +2024-06-27 16:28:54.670 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_26 +2024-06-27 16:28:54.670 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: repulseAuditUsingPOST_1 +2024-06-27 16:28:54.672 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_16 +2024-06-27 16:28:54.673 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_11 +2024-06-27 16:28:54.673 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_13 +2024-06-27 16:28:54.676 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_27 +2024-06-27 16:28:54.680 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_17 +2024-06-27 16:28:54.680 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_12 +2024-06-27 16:28:54.681 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_14 +2024-06-27 16:28:54.683 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_28 +2024-06-27 16:28:54.684 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_18 +2024-06-27 16:28:54.685 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_29 +2024-06-27 16:28:54.690 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_30 +2024-06-27 16:28:54.691 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_19 +2024-06-27 16:28:54.692 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_1 +2024-06-27 16:28:54.692 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_31 +2024-06-27 16:28:54.694 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_1 +2024-06-27 16:28:54.694 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_32 +2024-06-27 16:28:54.696 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_20 +2024-06-27 16:28:54.696 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_2 +2024-06-27 16:28:54.697 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_33 +2024-06-27 16:28:54.705 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: loginUsingPOST_1 +2024-06-27 16:28:54.706 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: logoutUsingPOST_1 +2024-06-27 16:28:54.707 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_34 +2024-06-27 16:28:54.709 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_21 +2024-06-27 16:28:54.710 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_13 +2024-06-27 16:28:54.710 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_15 +2024-06-27 16:28:54.711 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_35 +2024-06-27 16:28:54.712 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_2 +2024-06-27 16:28:54.717 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_22 +2024-06-27 16:28:54.717 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_14 +2024-06-27 16:28:54.718 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_16 +2024-06-27 16:28:54.722 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_36 +2024-06-27 16:28:54.723 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: stateUsingPOST_1 +2024-06-27 16:28:54.723 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_1 +2024-06-27 16:28:54.724 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_3 +2024-06-27 16:28:54.725 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_23 +2024-06-27 16:28:54.726 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_2 +2024-06-27 16:28:54.726 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_2 +2024-06-27 16:28:54.727 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_17 +2024-06-27 16:28:54.728 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_37 +2024-06-27 16:28:54.730 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_3 +2024-06-27 16:28:54.731 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_18 +2024-06-27 16:28:54.731 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_38 +2024-06-27 16:28:54.732 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addStorageUsingPOST_1 +2024-06-27 16:28:54.733 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_4 +2024-06-27 16:28:54.734 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_3 +2024-06-27 16:28:54.734 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_19 +2024-06-27 16:28:54.735 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_39 +2024-06-27 16:28:54.736 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_40 +2024-06-27 16:28:54.738 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_24 +2024-06-27 16:28:54.738 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_20 +2024-06-27 16:28:54.739 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_3 +2024-06-27 16:28:54.741 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_25 +2024-06-27 16:28:54.742 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_15 +2024-06-27 16:28:54.742 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_21 +2024-06-27 16:28:54.743 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_41 +2024-06-27 16:28:54.745 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_2 +2024-06-27 16:28:54.746 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_4 +2024-06-27 16:28:54.748 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: scanIndexUsingPOST_1 +2024-06-27 16:28:54.749 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_42 +2024-06-27 16:28:54.750 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_1 +2024-06-27 16:28:54.752 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_26 +2024-06-27 16:28:54.752 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_16 +2024-06-27 16:28:54.753 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_22 +2024-06-27 16:28:54.757 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_43 +2024-06-27 16:28:54.760 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_27 +2024-06-27 16:28:54.760 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_17 +2024-06-27 16:28:54.761 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_23 +2024-06-27 16:28:54.762 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_44 +2024-06-27 16:28:54.762 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_3 +2024-06-27 16:28:54.763 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_5 +2024-06-27 16:28:54.765 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_28 +2024-06-27 16:28:54.765 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_18 +2024-06-27 16:28:54.766 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_24 +2024-06-27 16:28:54.767 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_45 +2024-06-27 16:28:54.768 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_46 +2024-06-27 16:28:54.768 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_2 +2024-06-27 16:28:54.770 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_29 +2024-06-27 16:28:54.771 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_47 +2024-06-27 16:28:54.772 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_48 +2024-06-27 16:28:54.772 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_49 +2024-06-27 16:28:54.773 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_3 +2024-06-27 16:28:54.775 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_30 +2024-06-27 16:28:54.776 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_19 +2024-06-27 16:28:54.776 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_25 +2024-06-27 16:28:54.780 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_50 +2024-06-27 16:28:54.780 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_2 +2024-06-27 16:28:54.781 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_4 +2024-06-27 16:28:54.781 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_6 +2024-06-27 16:28:54.787 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_31 +2024-06-27 16:28:54.787 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_20 +2024-06-27 16:28:54.788 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_26 +2024-06-27 16:28:54.792 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_51 +2024-06-27 16:28:54.793 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_3 +2024-06-27 16:28:54.793 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_7 +2024-06-27 16:28:54.794 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_52 +2024-06-27 16:28:54.794 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_4 +2024-06-27 16:28:54.796 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_32 +2024-06-27 16:28:54.796 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_21 +2024-06-27 16:28:54.797 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_27 +2024-06-27 16:28:54.798 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_53 +2024-06-27 16:28:54.801 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: uploadUsingPOST_1 +2024-06-27 16:28:54.820 INFO [main] [] net.jjjerp.SpringBootJjjApplication 61 : Started SpringBootJjjApplication in 10.672 seconds (JVM running for 11.225) +2024-06-27 16:28:54.823 INFO [main] [] n.j.framework.util.PrintApplicationInfo 61 : projectFinalName : jjj-erp-1.0 +2024-06-27 16:28:54.823 INFO [main] [] n.j.framework.util.PrintApplicationInfo 62 : projectVersion : 1.0 +2024-06-27 16:28:54.823 INFO [main] [] n.j.framework.util.PrintApplicationInfo 63 : profileActive : prod +2024-06-27 16:28:54.823 INFO [main] [] n.j.framework.util.PrintApplicationInfo 64 : contextPath : /api +2024-06-27 16:28:54.823 INFO [main] [] n.j.framework.util.PrintApplicationInfo 65 : serverIp : http://erp3.huadeng.fun +2024-06-27 16:28:54.823 INFO [main] [] n.j.framework.util.PrintApplicationInfo 66 : port : 8892 +2024-06-27 16:28:54.823 INFO [main] [] n.j.framework.util.PrintApplicationInfo 81 : Home: http://erp3.huadeng.fun/api +2024-06-27 16:28:54.823 INFO [main] [] n.j.framework.util.PrintApplicationInfo 82 : Knife4j: http://erp3.huadeng.fun/api/doc.html +2024-06-27 16:28:54.823 INFO [main] [] n.j.framework.util.PrintApplicationInfo 83 : Swagger: http://erp3.huadeng.fun/api/swagger-ui.html +2024-06-27 16:28:54.823 INFO [main] [] n.j.framework.util.PrintApplicationInfo 84 : jjj-erp 启动成功........... + ____ __ __ ____ +/\ _`\ /\ \__ /\ \__ /\ _`\ +\ \,\L\_\ \ ,_\ __ _ __\ \ ,_\ \ \,\L\_\ __ __ ___ ___ __ ____ ____ + \/_\__ \\ \ \/ /'__`\ /\`'__\ \ \/ \/_\__ \ /\ \/\ \ /'___\ /'___\ /'__`\ /',__\ /',__\ + /\ \L\ \ \ \_/\ \L\.\_\ \ \/ \ \ \_ /\ \L\ \ \ \_\ \/\ \__//\ \__//\ __//\__, `\/\__, `\ + \ `\____\ \__\ \__/.\_\\ \_\ \ \__\ \ `\____\ \____/\ \____\ \____\ \____\/\____/\/\____/ + \/_____/\/__/\/__/\/_/ \/_/ \/__/ \/_____/\/___/ \/____/\/____/\/____/\/___/ \/___/ + + +2024-06-27 16:28:58.087 INFO [http-nio-8892-exec-2] [] o.a.c.c.C.[Tomcat].[localhost].[/api] 173 : Initializing Spring DispatcherServlet 'dispatcherServlet' +2024-06-27 16:28:58.087 INFO [http-nio-8892-exec-2] [] o.s.web.servlet.DispatcherServlet 525 : Initializing Servlet 'dispatcherServlet' +2024-06-27 16:28:58.097 INFO [http-nio-8892-exec-2] [] o.s.web.servlet.DispatcherServlet 547 : Completed initialization in 10 ms +2024-06-27 16:28:58.997 INFO [http-nio-8892-exec-2] [1806243313584578561] com.zaxxer.hikari.HikariDataSource 110 : HikariPool-1 - Starting... +2024-06-27 16:28:59.338 INFO [http-nio-8892-exec-2] [1806243313584578561] com.zaxxer.hikari.HikariDataSource 123 : HikariPool-1 - Start completed. +2024-06-27 16:46:48.590 ERROR [http-nio-8892-exec-23] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy405.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-27 16:46:57.902 INFO [lettuce-eventExecutorLoop-1-8] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was /101.34.74.68:6379 +2024-06-27 16:46:57.929 INFO [lettuce-nioEventLoop-4-2] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to 101.34.74.68:6379 +2024-06-27 16:49:28.201 WARN [http-nio-8892-exec-24] [1806248448209592322] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@66c1c98 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-27 16:49:28.372 WARN [http-nio-8892-exec-26] [1806248448209592323] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@70d2dc6e (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-27 16:49:33.205 WARN [http-nio-8892-exec-24] [1806248448209592322] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@66bab424 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-27 16:49:33.378 WARN [http-nio-8892-exec-26] [1806248448209592323] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@3e4b3d71 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-27 16:49:38.208 WARN [http-nio-8892-exec-24] [1806248448209592322] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@12033e48 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-27 16:49:38.382 WARN [http-nio-8892-exec-26] [1806248448209592323] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@67b5c85 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-27 16:49:43.212 WARN [http-nio-8892-exec-24] [1806248448209592322] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@72dbb07b (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-27 16:49:43.385 WARN [http-nio-8892-exec-26] [1806248448209592323] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@7d44e61f (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-27 16:49:48.221 WARN [http-nio-8892-exec-24] [1806248448209592322] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@3032ca5d (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-27 16:49:48.395 WARN [http-nio-8892-exec-26] [1806248448209592323] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@11bad00e (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-27 16:53:28.357 INFO [SpringContextShutdownHook] [] net.jjjerp.framework.core.xss.XssFilter 30 : XssFilter destroy +2024-06-27 16:53:28.357 INFO [SpringContextShutdownHook] [] n.j.f.core.filter.RequestDetailFilter 116 : RequestDetailFilter destroy +2024-06-27 16:53:28.364 INFO [SpringContextShutdownHook] [] o.s.s.c.ThreadPoolTaskScheduler 218 : Shutting down ExecutorService 'taskScheduler' +2024-06-27 16:53:28.365 INFO [SpringContextShutdownHook] [] o.s.s.concurrent.ThreadPoolTaskExecutor 218 : Shutting down ExecutorService 'applicationTaskExecutor' +2024-06-27 16:53:28.370 INFO [SpringContextShutdownHook] [] com.zaxxer.hikari.HikariDataSource 350 : HikariPool-1 - Shutdown initiated... +2024-06-27 16:53:28.372 INFO [SpringContextShutdownHook] [] com.zaxxer.hikari.HikariDataSource 352 : HikariPool-1 - Shutdown completed. +2024-06-27 16:53:38.203 INFO [background-preinit] [] o.h.validator.internal.util.Version 21 : HV000001: Hibernate Validator 6.1.7.Final +2024-06-27 16:53:38.208 INFO [main] [] net.jjjerp.SpringBootJjjApplication 55 : Starting SpringBootJjjApplication on OS-20230506YKNI with PID 5344 (D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\bootstrap\target\classes started by Administrator in D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp) +2024-06-27 16:53:38.209 INFO [main] [] net.jjjerp.SpringBootJjjApplication 652 : The following profiles are active: prod +2024-06-27 16:53:39.463 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 249 : Multiple Spring Data modules found, entering strict repository configuration mode! +2024-06-27 16:53:39.465 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 127 : Bootstrapping Spring Data Redis repositories in DEFAULT mode. +2024-06-27 16:53:39.575 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 187 : Finished Spring Data repository scanning in 101ms. Found 0 Redis repository interfaces. +2024-06-27 16:53:39.838 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.ShiroConfig' of type [net.jjjerp.config.ShiroConfig$$EnhancerBySpringCGLIB$$15cb0f2a] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 16:53:39.927 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.properties.JwtProperties' of type [net.jjjerp.config.properties.JwtProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 16:53:39.929 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.RedisTemplateConfig' of type [net.jjjerp.config.RedisTemplateConfig$$EnhancerBySpringCGLIB$$e53019ce] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 16:53:39.937 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'spring.redis-org.springframework.boot.autoconfigure.data.redis.RedisProperties' of type [org.springframework.boot.autoconfigure.data.redis.RedisProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 16:53:39.940 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration' of type [org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 16:53:40.001 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'lettuceClientResources' of type [io.lettuce.core.resource.DefaultClientResources] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 16:53:40.091 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'redisConnectionFactory' of type [org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 16:53:40.135 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'redisTemplate' of type [org.springframework.data.redis.core.RedisTemplate] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 16:53:40.136 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.cache.impl.AdminLoginRedisServiceImpl' of type [net.jjjerp.framework.shiro.cache.impl.AdminLoginRedisServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 16:53:40.139 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.cache.impl.ShopLoginRedisServiceImpl' of type [net.jjjerp.framework.shiro.cache.impl.ShopLoginRedisServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 16:53:40.248 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'credentialsMatcher' of type [net.jjjerp.framework.shiro.jwt.JwtCredentialsMatcher] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 16:53:40.254 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'jwtRealm' of type [net.jjjerp.framework.shiro.jwt.JwtRealm] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 16:53:40.255 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'sessionStorageEvaluator' of type [org.apache.shiro.web.mgt.DefaultWebSessionStorageEvaluator] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 16:53:40.256 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'subjectDAO' of type [org.apache.shiro.mgt.DefaultSubjectDAO] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 16:53:40.258 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'securityManager' of type [org.apache.shiro.web.mgt.DefaultWebSecurityManager] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 16:53:40.276 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.service.impl.ShiroLoginServiceImpl' of type [net.jjjerp.framework.shiro.service.impl.ShiroLoginServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 16:53:40.283 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'spring-boot-jjj.shiro-net.jjjerp.config.properties.ShiroProperties' of type [net.jjjerp.config.properties.ShiroProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 16:53:40.385 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'authorizationAttributeSourceAdvisor' of type [org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 16:53:40.529 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.RedisCacheConfig' of type [net.jjjerp.config.RedisCacheConfig$$EnhancerBySpringCGLIB$$9a6cf0d0] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 16:53:40.773 INFO [main] [] o.s.b.w.embedded.tomcat.TomcatWebServer 108 : Tomcat initialized with port(s): 8892 (http) +2024-06-27 16:53:40.780 INFO [main] [] o.a.coyote.http11.Http11NioProtocol 173 : Initializing ProtocolHandler ["http-nio-8892"] +2024-06-27 16:53:40.781 INFO [main] [] o.apache.catalina.core.StandardService 173 : Starting service [Tomcat] +2024-06-27 16:53:40.781 INFO [main] [] org.apache.catalina.core.StandardEngine 173 : Starting Servlet engine: [Apache Tomcat/9.0.46] +2024-06-27 16:53:40.877 INFO [main] [] o.a.c.c.C.[Tomcat].[localhost].[/api] 173 : Initializing Spring embedded WebApplicationContext +2024-06-27 16:53:40.877 INFO [main] [] w.s.c.ServletWebServerApplicationContext 285 : Root WebApplicationContext: initialization completed in 2549 ms +2024-06-27 16:53:41.005 INFO [main] [] net.jjjerp.framework.core.xss.XssFilter 18 : XssFilter init +2024-06-27 16:53:41.005 INFO [main] [] n.j.f.core.filter.RequestDetailFilter 30 : RequestDetailFilter init +2024-06-27 16:53:44.343 INFO [main] [] org.reflections.Reflections 228 : Reflections took 37 ms to scan 1 urls, producing 0 keys and 0 values +2024-06-27 16:53:44.435 INFO [main] [] net.jjjerp.framework.shiro.util.JwtUtil 33 : {"audience":"web","expireSecond":36000,"issuer":"spring-boot-jjj","redisCheck":true,"refreshToken":true,"refreshTokenCountdown":600,"saltCheck":true,"secret":"888888","singleLogin":false,"tokenName":"token"} +2024-06-27 16:53:47.107 INFO [main] [] pertySourcedRequestMappingHandlerMapping 69 : Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2Controller#getDocumentation(String, HttpServletRequest)] +2024-06-27 16:53:47.125 INFO [main] [] net.jjjerp.config.Swagger2Config 149 : swagger scan basePackages:null +2024-06-27 16:53:47.255 INFO [main] [] o.s.s.concurrent.ThreadPoolTaskExecutor 181 : Initializing ExecutorService 'applicationTaskExecutor' +2024-06-27 16:53:47.344 INFO [main] [] o.s.b.a.w.s.WelcomePageHandlerMapping 53 : Adding welcome page: class path resource [static/index.html] +2024-06-27 16:53:47.529 INFO [main] [] o.s.s.c.ThreadPoolTaskScheduler 181 : Initializing ExecutorService 'taskScheduler' +2024-06-27 16:53:47.639 INFO [main] [] o.a.coyote.http11.Http11NioProtocol 173 : Starting ProtocolHandler ["http-nio-8892"] +2024-06-27 16:53:47.660 INFO [main] [] o.s.b.w.embedded.tomcat.TomcatWebServer 220 : Tomcat started on port(s): 8892 (http) with context path '/api' +2024-06-27 16:53:47.661 INFO [main] [] d.s.w.p.DocumentationPluginsBootstrapper 160 : Context refreshed +2024-06-27 16:53:47.666 INFO [main] [] d.s.w.p.DocumentationPluginsBootstrapper 163 : Found 1 custom documentation plugin(s) +2024-06-27 16:53:47.705 INFO [main] [] s.d.s.w.s.ApiListingReferenceScanner 41 : Scanning for api listing references +2024-06-27 16:53:47.834 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_1 +2024-06-27 16:53:47.837 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_1 +2024-06-27 16:53:47.838 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_1 +2024-06-27 16:53:47.859 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_1 +2024-06-27 16:53:47.896 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_2 +2024-06-27 16:53:47.898 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_2 +2024-06-27 16:53:47.901 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_3 +2024-06-27 16:53:47.902 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_3 +2024-06-27 16:53:47.906 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_4 +2024-06-27 16:53:47.907 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_4 +2024-06-27 16:53:47.908 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexOutUsingPOST_1 +2024-06-27 16:53:47.911 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_5 +2024-06-27 16:53:47.919 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_5 +2024-06-27 16:53:47.919 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_2 +2024-06-27 16:53:47.920 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_2 +2024-06-27 16:53:47.937 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_6 +2024-06-27 16:53:47.938 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_7 +2024-06-27 16:53:47.943 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_8 +2024-06-27 16:53:47.952 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_6 +2024-06-27 16:53:47.953 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_3 +2024-06-27 16:53:47.953 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_3 +2024-06-27 16:53:47.961 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_9 +2024-06-27 16:53:48.016 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_10 +2024-06-27 16:53:48.022 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_7 +2024-06-27 16:53:48.023 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_4 +2024-06-27 16:53:48.023 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_4 +2024-06-27 16:53:48.027 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_11 +2024-06-27 16:53:48.032 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_8 +2024-06-27 16:53:48.033 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_5 +2024-06-27 16:53:48.033 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_5 +2024-06-27 16:53:48.037 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_12 +2024-06-27 16:53:48.040 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_9 +2024-06-27 16:53:48.040 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_6 +2024-06-27 16:53:48.041 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_6 +2024-06-27 16:53:48.044 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_13 +2024-06-27 16:53:48.045 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_1 +2024-06-27 16:53:48.046 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_10 +2024-06-27 16:53:48.047 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_7 +2024-06-27 16:53:48.048 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_7 +2024-06-27 16:53:48.049 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_14 +2024-06-27 16:53:48.051 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_11 +2024-06-27 16:53:48.051 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_8 +2024-06-27 16:53:48.051 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_8 +2024-06-27 16:53:48.053 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_15 +2024-06-27 16:53:48.054 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_12 +2024-06-27 16:53:48.057 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_9 +2024-06-27 16:53:48.057 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_9 +2024-06-27 16:53:48.060 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_16 +2024-06-27 16:53:48.061 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_17 +2024-06-27 16:53:48.067 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_13 +2024-06-27 16:53:48.068 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_10 +2024-06-27 16:53:48.070 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_18 +2024-06-27 16:53:48.072 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_1 +2024-06-27 16:53:48.082 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addGroupUsingPOST_1 +2024-06-27 16:53:48.083 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: categoryUsingPOST_1 +2024-06-27 16:53:48.083 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteFilesUsingPOST_1 +2024-06-27 16:53:48.083 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteGroupUsingPOST_1 +2024-06-27 16:53:48.084 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editGroupUsingPOST_1 +2024-06-27 16:53:48.087 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: listsUsingPOST_1 +2024-06-27 16:53:48.088 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: moveFilesUsingPOST_1 +2024-06-27 16:53:48.090 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_19 +2024-06-27 16:53:48.094 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_14 +2024-06-27 16:53:48.095 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_10 +2024-06-27 16:53:48.095 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteFilesUsingPOST_2 +2024-06-27 16:53:48.096 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_11 +2024-06-27 16:53:48.098 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_20 +2024-06-27 16:53:48.100 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: moveFilesUsingPOST_2 +2024-06-27 16:53:48.101 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_21 +2024-06-27 16:53:48.102 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: listUsingPOST_1 +2024-06-27 16:53:48.103 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_22 +2024-06-27 16:53:48.110 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_23 +2024-06-27 16:53:48.113 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_24 +2024-06-27 16:53:48.114 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_25 +2024-06-27 16:53:48.116 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_15 +2024-06-27 16:53:48.116 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_1 +2024-06-27 16:53:48.117 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_12 +2024-06-27 16:53:48.118 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_26 +2024-06-27 16:53:48.118 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: repulseAuditUsingPOST_1 +2024-06-27 16:53:48.120 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_16 +2024-06-27 16:53:48.121 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_11 +2024-06-27 16:53:48.121 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_13 +2024-06-27 16:53:48.124 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_27 +2024-06-27 16:53:48.128 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_17 +2024-06-27 16:53:48.128 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_12 +2024-06-27 16:53:48.128 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_14 +2024-06-27 16:53:48.130 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_28 +2024-06-27 16:53:48.131 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_18 +2024-06-27 16:53:48.132 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_29 +2024-06-27 16:53:48.135 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_30 +2024-06-27 16:53:48.137 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_19 +2024-06-27 16:53:48.138 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_1 +2024-06-27 16:53:48.138 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_31 +2024-06-27 16:53:48.140 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_1 +2024-06-27 16:53:48.140 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_32 +2024-06-27 16:53:48.142 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_20 +2024-06-27 16:53:48.142 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_2 +2024-06-27 16:53:48.143 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_33 +2024-06-27 16:53:48.150 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: loginUsingPOST_1 +2024-06-27 16:53:48.151 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: logoutUsingPOST_1 +2024-06-27 16:53:48.152 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_34 +2024-06-27 16:53:48.154 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_21 +2024-06-27 16:53:48.154 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_13 +2024-06-27 16:53:48.155 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_15 +2024-06-27 16:53:48.155 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_35 +2024-06-27 16:53:48.157 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_2 +2024-06-27 16:53:48.160 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_22 +2024-06-27 16:53:48.161 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_14 +2024-06-27 16:53:48.162 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_16 +2024-06-27 16:53:48.166 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_36 +2024-06-27 16:53:48.166 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: stateUsingPOST_1 +2024-06-27 16:53:48.166 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_1 +2024-06-27 16:53:48.167 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_3 +2024-06-27 16:53:48.168 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_23 +2024-06-27 16:53:48.169 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_2 +2024-06-27 16:53:48.169 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_2 +2024-06-27 16:53:48.170 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_17 +2024-06-27 16:53:48.171 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_37 +2024-06-27 16:53:48.173 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_3 +2024-06-27 16:53:48.173 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_18 +2024-06-27 16:53:48.174 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_38 +2024-06-27 16:53:48.175 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addStorageUsingPOST_1 +2024-06-27 16:53:48.175 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_4 +2024-06-27 16:53:48.176 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_3 +2024-06-27 16:53:48.177 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_19 +2024-06-27 16:53:48.177 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_39 +2024-06-27 16:53:48.178 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_40 +2024-06-27 16:53:48.179 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_24 +2024-06-27 16:53:48.180 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_20 +2024-06-27 16:53:48.180 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_3 +2024-06-27 16:53:48.184 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_25 +2024-06-27 16:53:48.185 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_15 +2024-06-27 16:53:48.185 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_21 +2024-06-27 16:53:48.186 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_41 +2024-06-27 16:53:48.187 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_2 +2024-06-27 16:53:48.187 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_4 +2024-06-27 16:53:48.189 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: scanIndexUsingPOST_1 +2024-06-27 16:53:48.190 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_42 +2024-06-27 16:53:48.191 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_1 +2024-06-27 16:53:48.192 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_26 +2024-06-27 16:53:48.193 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_16 +2024-06-27 16:53:48.193 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_22 +2024-06-27 16:53:48.197 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_43 +2024-06-27 16:53:48.200 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_27 +2024-06-27 16:53:48.200 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_17 +2024-06-27 16:53:48.201 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_23 +2024-06-27 16:53:48.202 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_44 +2024-06-27 16:53:48.203 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_3 +2024-06-27 16:53:48.203 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_5 +2024-06-27 16:53:48.205 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_28 +2024-06-27 16:53:48.205 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_18 +2024-06-27 16:53:48.206 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_24 +2024-06-27 16:53:48.208 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_45 +2024-06-27 16:53:48.208 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_46 +2024-06-27 16:53:48.209 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_2 +2024-06-27 16:53:48.210 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_29 +2024-06-27 16:53:48.210 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_47 +2024-06-27 16:53:48.211 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_48 +2024-06-27 16:53:48.212 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_49 +2024-06-27 16:53:48.212 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_3 +2024-06-27 16:53:48.215 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_30 +2024-06-27 16:53:48.215 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_19 +2024-06-27 16:53:48.216 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_25 +2024-06-27 16:53:48.220 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_50 +2024-06-27 16:53:48.220 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_2 +2024-06-27 16:53:48.221 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_4 +2024-06-27 16:53:48.221 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_6 +2024-06-27 16:53:48.225 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_31 +2024-06-27 16:53:48.225 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_20 +2024-06-27 16:53:48.225 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_26 +2024-06-27 16:53:48.229 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_51 +2024-06-27 16:53:48.230 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_3 +2024-06-27 16:53:48.230 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_7 +2024-06-27 16:53:48.231 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_52 +2024-06-27 16:53:48.231 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_4 +2024-06-27 16:53:48.233 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_32 +2024-06-27 16:53:48.234 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_21 +2024-06-27 16:53:48.235 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_27 +2024-06-27 16:53:48.236 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_53 +2024-06-27 16:53:48.239 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: uploadUsingPOST_1 +2024-06-27 16:53:48.261 INFO [main] [] net.jjjerp.SpringBootJjjApplication 61 : Started SpringBootJjjApplication in 10.564 seconds (JVM running for 11.099) +2024-06-27 16:53:48.263 INFO [main] [] n.j.framework.util.PrintApplicationInfo 61 : projectFinalName : jjj-erp-1.0 +2024-06-27 16:53:48.264 INFO [main] [] n.j.framework.util.PrintApplicationInfo 62 : projectVersion : 1.0 +2024-06-27 16:53:48.264 INFO [main] [] n.j.framework.util.PrintApplicationInfo 63 : profileActive : prod +2024-06-27 16:53:48.264 INFO [main] [] n.j.framework.util.PrintApplicationInfo 64 : contextPath : /api +2024-06-27 16:53:48.264 INFO [main] [] n.j.framework.util.PrintApplicationInfo 65 : serverIp : http://erp3.huadeng.fun +2024-06-27 16:53:48.264 INFO [main] [] n.j.framework.util.PrintApplicationInfo 66 : port : 8892 +2024-06-27 16:53:48.264 INFO [main] [] n.j.framework.util.PrintApplicationInfo 81 : Home: http://erp3.huadeng.fun/api +2024-06-27 16:53:48.264 INFO [main] [] n.j.framework.util.PrintApplicationInfo 82 : Knife4j: http://erp3.huadeng.fun/api/doc.html +2024-06-27 16:53:48.264 INFO [main] [] n.j.framework.util.PrintApplicationInfo 83 : Swagger: http://erp3.huadeng.fun/api/swagger-ui.html +2024-06-27 16:53:48.264 INFO [main] [] n.j.framework.util.PrintApplicationInfo 84 : jjj-erp 启动成功........... + ____ __ __ ____ +/\ _`\ /\ \__ /\ \__ /\ _`\ +\ \,\L\_\ \ ,_\ __ _ __\ \ ,_\ \ \,\L\_\ __ __ ___ ___ __ ____ ____ + \/_\__ \\ \ \/ /'__`\ /\`'__\ \ \/ \/_\__ \ /\ \/\ \ /'___\ /'___\ /'__`\ /',__\ /',__\ + /\ \L\ \ \ \_/\ \L\.\_\ \ \/ \ \ \_ /\ \L\ \ \ \_\ \/\ \__//\ \__//\ __//\__, `\/\__, `\ + \ `\____\ \__\ \__/.\_\\ \_\ \ \__\ \ `\____\ \____/\ \____\ \____\ \____\/\____/\/\____/ + \/_____/\/__/\/__/\/_/ \/_/ \/__/ \/_____/\/___/ \/____/\/____/\/____/\/___/ \/___/ + + +2024-06-27 16:54:16.839 INFO [http-nio-8892-exec-1] [] o.a.c.c.C.[Tomcat].[localhost].[/api] 173 : Initializing Spring DispatcherServlet 'dispatcherServlet' +2024-06-27 16:54:16.839 INFO [http-nio-8892-exec-1] [] o.s.web.servlet.DispatcherServlet 525 : Initializing Servlet 'dispatcherServlet' +2024-06-27 16:54:16.850 INFO [http-nio-8892-exec-1] [] o.s.web.servlet.DispatcherServlet 547 : Completed initialization in 11 ms +2024-06-27 16:54:18.341 INFO [http-nio-8892-exec-1] [1806249686166814721] com.zaxxer.hikari.HikariDataSource 110 : HikariPool-1 - Starting... +2024-06-27 16:54:18.713 INFO [http-nio-8892-exec-1] [1806249686166814721] com.zaxxer.hikari.HikariDataSource 123 : HikariPool-1 - Start completed. +2024-06-27 16:55:52.773 ERROR [http-nio-8892-exec-7] [] n.jjjerp.handler.GlobalExceptionHandler 233 : 异常来源:ip: 192.168.31.208, path: /api/admin/product/base/unit/edit +2024-06-27 16:55:52.775 ERROR [http-nio-8892-exec-7] [] n.jjjerp.handler.GlobalExceptionHandler 257 : errorCode: 5001, errorMessage: 请求参数校验异常 + +org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: Cannot deserialize instance of `java.util.ArrayList` out of VALUE_NUMBER_INT token; nested exception is com.fasterxml.jackson.databind.exc.MismatchedInputException: Cannot deserialize instance of `java.util.ArrayList` out of VALUE_NUMBER_INT token + at [Source: (PushbackInputStream); line: 1, column: 33] (through reference chain: net.jjjerp.common.entity.product.ProductUnit["deleteList"]) + at org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.readJavaType(AbstractJackson2HttpMessageConverter.java:285) + at org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.read(AbstractJackson2HttpMessageConverter.java:243) + at org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodArgumentResolver.readWithMessageConverters(AbstractMessageConverterMethodArgumentResolver.java:205) + at org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.readWithMessageConverters(RequestResponseBodyMethodProcessor.java:158) + at org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.resolveArgument(RequestResponseBodyMethodProcessor.java:131) + at org.springframework.web.method.support.HandlerMethodArgumentResolverComposite.resolveArgument(HandlerMethodArgumentResolverComposite.java:121) + at org.springframework.web.method.support.InvocableHandlerMethod.getMethodArgumentValues(InvocableHandlerMethod.java:167) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:134) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:652) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:112) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) + at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: com.fasterxml.jackson.databind.exc.MismatchedInputException: Cannot deserialize instance of `java.util.ArrayList` out of VALUE_NUMBER_INT token + at [Source: (PushbackInputStream); line: 1, column: 33] (through reference chain: net.jjjerp.common.entity.product.ProductUnit["deleteList"]) + at com.fasterxml.jackson.databind.exc.MismatchedInputException.from(MismatchedInputException.java:59) + at com.fasterxml.jackson.databind.DeserializationContext.reportInputMismatch(DeserializationContext.java:1468) + at com.fasterxml.jackson.databind.DeserializationContext.handleUnexpectedToken(DeserializationContext.java:1242) + at com.fasterxml.jackson.databind.DeserializationContext.handleUnexpectedToken(DeserializationContext.java:1190) + at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.handleNonArray(CollectionDeserializer.java:336) + at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:269) + at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:249) + at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:26) + at com.fasterxml.jackson.databind.deser.impl.MethodProperty.deserializeAndSet(MethodProperty.java:129) + at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:371) + at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:164) + at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:4526) + at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3521) + at org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.readJavaType(AbstractJackson2HttpMessageConverter.java:274) + ... 86 common frames omitted + +2024-06-27 16:56:52.783 INFO [SpringContextShutdownHook] [] net.jjjerp.framework.core.xss.XssFilter 30 : XssFilter destroy +2024-06-27 16:56:52.783 INFO [SpringContextShutdownHook] [] n.j.f.core.filter.RequestDetailFilter 116 : RequestDetailFilter destroy +2024-06-27 16:56:52.790 INFO [SpringContextShutdownHook] [] o.s.s.c.ThreadPoolTaskScheduler 218 : Shutting down ExecutorService 'taskScheduler' +2024-06-27 16:56:52.791 INFO [SpringContextShutdownHook] [] o.s.s.concurrent.ThreadPoolTaskExecutor 218 : Shutting down ExecutorService 'applicationTaskExecutor' +2024-06-27 16:56:52.796 INFO [SpringContextShutdownHook] [] com.zaxxer.hikari.HikariDataSource 350 : HikariPool-1 - Shutdown initiated... +2024-06-27 16:56:52.799 INFO [SpringContextShutdownHook] [] com.zaxxer.hikari.HikariDataSource 352 : HikariPool-1 - Shutdown completed. +2024-06-27 16:57:01.705 INFO [main] [] net.jjjerp.SpringBootJjjApplication 55 : Starting SpringBootJjjApplication on OS-20230506YKNI with PID 13164 (D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\bootstrap\target\classes started by Administrator in D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp) +2024-06-27 16:57:01.707 INFO [background-preinit] [] o.h.validator.internal.util.Version 21 : HV000001: Hibernate Validator 6.1.7.Final +2024-06-27 16:57:01.709 INFO [main] [] net.jjjerp.SpringBootJjjApplication 652 : The following profiles are active: prod +2024-06-27 16:57:03.365 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 249 : Multiple Spring Data modules found, entering strict repository configuration mode! +2024-06-27 16:57:03.368 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 127 : Bootstrapping Spring Data Redis repositories in DEFAULT mode. +2024-06-27 16:57:03.526 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 187 : Finished Spring Data repository scanning in 143ms. Found 0 Redis repository interfaces. +2024-06-27 16:57:03.888 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.ShiroConfig' of type [net.jjjerp.config.ShiroConfig$$EnhancerBySpringCGLIB$$957b840a] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 16:57:03.980 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.properties.JwtProperties' of type [net.jjjerp.config.properties.JwtProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 16:57:03.982 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.RedisTemplateConfig' of type [net.jjjerp.config.RedisTemplateConfig$$EnhancerBySpringCGLIB$$64e08eae] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 16:57:03.990 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'spring.redis-org.springframework.boot.autoconfigure.data.redis.RedisProperties' of type [org.springframework.boot.autoconfigure.data.redis.RedisProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 16:57:03.993 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration' of type [org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 16:57:04.053 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'lettuceClientResources' of type [io.lettuce.core.resource.DefaultClientResources] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 16:57:04.142 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'redisConnectionFactory' of type [org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 16:57:04.190 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'redisTemplate' of type [org.springframework.data.redis.core.RedisTemplate] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 16:57:04.190 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.cache.impl.AdminLoginRedisServiceImpl' of type [net.jjjerp.framework.shiro.cache.impl.AdminLoginRedisServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 16:57:04.194 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.cache.impl.ShopLoginRedisServiceImpl' of type [net.jjjerp.framework.shiro.cache.impl.ShopLoginRedisServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 16:57:04.320 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'credentialsMatcher' of type [net.jjjerp.framework.shiro.jwt.JwtCredentialsMatcher] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 16:57:04.327 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'jwtRealm' of type [net.jjjerp.framework.shiro.jwt.JwtRealm] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 16:57:04.328 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'sessionStorageEvaluator' of type [org.apache.shiro.web.mgt.DefaultWebSessionStorageEvaluator] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 16:57:04.328 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'subjectDAO' of type [org.apache.shiro.mgt.DefaultSubjectDAO] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 16:57:04.331 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'securityManager' of type [org.apache.shiro.web.mgt.DefaultWebSecurityManager] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 16:57:04.352 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.service.impl.ShiroLoginServiceImpl' of type [net.jjjerp.framework.shiro.service.impl.ShiroLoginServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 16:57:04.362 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'spring-boot-jjj.shiro-net.jjjerp.config.properties.ShiroProperties' of type [net.jjjerp.config.properties.ShiroProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 16:57:04.459 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'authorizationAttributeSourceAdvisor' of type [org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 16:57:04.606 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.RedisCacheConfig' of type [net.jjjerp.config.RedisCacheConfig$$EnhancerBySpringCGLIB$$1a1d65b0] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 16:57:04.916 INFO [main] [] o.s.b.w.embedded.tomcat.TomcatWebServer 108 : Tomcat initialized with port(s): 8892 (http) +2024-06-27 16:57:04.928 INFO [main] [] o.a.coyote.http11.Http11NioProtocol 173 : Initializing ProtocolHandler ["http-nio-8892"] +2024-06-27 16:57:04.929 INFO [main] [] o.apache.catalina.core.StandardService 173 : Starting service [Tomcat] +2024-06-27 16:57:04.929 INFO [main] [] org.apache.catalina.core.StandardEngine 173 : Starting Servlet engine: [Apache Tomcat/9.0.46] +2024-06-27 16:57:05.088 INFO [main] [] o.a.c.c.C.[Tomcat].[localhost].[/api] 173 : Initializing Spring embedded WebApplicationContext +2024-06-27 16:57:05.088 INFO [main] [] w.s.c.ServletWebServerApplicationContext 285 : Root WebApplicationContext: initialization completed in 3299 ms +2024-06-27 16:57:05.290 INFO [main] [] net.jjjerp.framework.core.xss.XssFilter 18 : XssFilter init +2024-06-27 16:57:05.291 INFO [main] [] n.j.f.core.filter.RequestDetailFilter 30 : RequestDetailFilter init +2024-06-27 16:57:11.134 INFO [main] [] org.reflections.Reflections 228 : Reflections took 48 ms to scan 1 urls, producing 0 keys and 0 values +2024-06-27 16:57:11.261 INFO [main] [] net.jjjerp.framework.shiro.util.JwtUtil 33 : {"audience":"web","expireSecond":36000,"issuer":"spring-boot-jjj","redisCheck":true,"refreshToken":true,"refreshTokenCountdown":600,"saltCheck":true,"secret":"888888","singleLogin":false,"tokenName":"token"} +2024-06-27 16:57:14.793 INFO [main] [] pertySourcedRequestMappingHandlerMapping 69 : Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2Controller#getDocumentation(String, HttpServletRequest)] +2024-06-27 16:57:14.809 INFO [main] [] net.jjjerp.config.Swagger2Config 149 : swagger scan basePackages:null +2024-06-27 16:57:15.031 INFO [main] [] o.s.s.concurrent.ThreadPoolTaskExecutor 181 : Initializing ExecutorService 'applicationTaskExecutor' +2024-06-27 16:57:15.170 INFO [main] [] o.s.b.a.w.s.WelcomePageHandlerMapping 53 : Adding welcome page: class path resource [static/index.html] +2024-06-27 16:57:15.499 INFO [main] [] o.s.s.c.ThreadPoolTaskScheduler 181 : Initializing ExecutorService 'taskScheduler' +2024-06-27 16:57:15.640 INFO [main] [] o.a.coyote.http11.Http11NioProtocol 173 : Starting ProtocolHandler ["http-nio-8892"] +2024-06-27 16:57:15.670 INFO [main] [] o.s.b.w.embedded.tomcat.TomcatWebServer 220 : Tomcat started on port(s): 8892 (http) with context path '/api' +2024-06-27 16:57:15.671 INFO [main] [] d.s.w.p.DocumentationPluginsBootstrapper 160 : Context refreshed +2024-06-27 16:57:15.680 INFO [main] [] d.s.w.p.DocumentationPluginsBootstrapper 163 : Found 1 custom documentation plugin(s) +2024-06-27 16:57:15.732 INFO [main] [] s.d.s.w.s.ApiListingReferenceScanner 41 : Scanning for api listing references +2024-06-27 16:57:15.907 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_1 +2024-06-27 16:57:15.909 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_1 +2024-06-27 16:57:15.910 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_1 +2024-06-27 16:57:15.928 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_1 +2024-06-27 16:57:15.972 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_2 +2024-06-27 16:57:15.974 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_2 +2024-06-27 16:57:15.977 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_3 +2024-06-27 16:57:15.978 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_3 +2024-06-27 16:57:15.981 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_4 +2024-06-27 16:57:15.982 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_4 +2024-06-27 16:57:15.983 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexOutUsingPOST_1 +2024-06-27 16:57:15.986 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_5 +2024-06-27 16:57:15.995 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_5 +2024-06-27 16:57:15.995 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_2 +2024-06-27 16:57:15.996 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_2 +2024-06-27 16:57:16.018 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_6 +2024-06-27 16:57:16.020 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_7 +2024-06-27 16:57:16.025 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_8 +2024-06-27 16:57:16.069 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_6 +2024-06-27 16:57:16.071 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_3 +2024-06-27 16:57:16.072 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_3 +2024-06-27 16:57:16.083 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_9 +2024-06-27 16:57:16.088 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_10 +2024-06-27 16:57:16.091 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_7 +2024-06-27 16:57:16.092 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_4 +2024-06-27 16:57:16.093 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_4 +2024-06-27 16:57:16.096 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_11 +2024-06-27 16:57:16.104 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_8 +2024-06-27 16:57:16.105 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_5 +2024-06-27 16:57:16.107 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_5 +2024-06-27 16:57:16.113 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_12 +2024-06-27 16:57:16.117 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_9 +2024-06-27 16:57:16.118 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_6 +2024-06-27 16:57:16.119 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_6 +2024-06-27 16:57:16.125 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_13 +2024-06-27 16:57:16.126 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_1 +2024-06-27 16:57:16.129 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_10 +2024-06-27 16:57:16.130 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_7 +2024-06-27 16:57:16.131 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_7 +2024-06-27 16:57:16.133 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_14 +2024-06-27 16:57:16.136 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_11 +2024-06-27 16:57:16.137 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_8 +2024-06-27 16:57:16.138 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_8 +2024-06-27 16:57:16.140 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_15 +2024-06-27 16:57:16.142 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_12 +2024-06-27 16:57:16.147 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_9 +2024-06-27 16:57:16.148 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_9 +2024-06-27 16:57:16.153 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_16 +2024-06-27 16:57:16.156 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_17 +2024-06-27 16:57:16.165 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_13 +2024-06-27 16:57:16.167 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_10 +2024-06-27 16:57:16.170 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_18 +2024-06-27 16:57:16.172 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_1 +2024-06-27 16:57:16.187 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addGroupUsingPOST_1 +2024-06-27 16:57:16.189 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: categoryUsingPOST_1 +2024-06-27 16:57:16.190 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteFilesUsingPOST_1 +2024-06-27 16:57:16.191 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteGroupUsingPOST_1 +2024-06-27 16:57:16.192 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editGroupUsingPOST_1 +2024-06-27 16:57:16.197 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: listsUsingPOST_1 +2024-06-27 16:57:16.198 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: moveFilesUsingPOST_1 +2024-06-27 16:57:16.200 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_19 +2024-06-27 16:57:16.208 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_20 +2024-06-27 16:57:16.214 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_14 +2024-06-27 16:57:16.215 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_10 +2024-06-27 16:57:16.216 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteFilesUsingPOST_2 +2024-06-27 16:57:16.217 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_11 +2024-06-27 16:57:16.218 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_21 +2024-06-27 16:57:16.219 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: listUsingPOST_1 +2024-06-27 16:57:16.221 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: moveFilesUsingPOST_2 +2024-06-27 16:57:16.222 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_22 +2024-06-27 16:57:16.234 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_23 +2024-06-27 16:57:16.240 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_24 +2024-06-27 16:57:16.243 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_25 +2024-06-27 16:57:16.246 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_15 +2024-06-27 16:57:16.248 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_1 +2024-06-27 16:57:16.249 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_12 +2024-06-27 16:57:16.251 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_26 +2024-06-27 16:57:16.251 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: repulseAuditUsingPOST_1 +2024-06-27 16:57:16.254 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_16 +2024-06-27 16:57:16.255 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_11 +2024-06-27 16:57:16.255 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_13 +2024-06-27 16:57:16.260 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_27 +2024-06-27 16:57:16.264 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_17 +2024-06-27 16:57:16.265 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_12 +2024-06-27 16:57:16.266 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_14 +2024-06-27 16:57:16.270 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_28 +2024-06-27 16:57:16.272 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_18 +2024-06-27 16:57:16.273 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_29 +2024-06-27 16:57:16.279 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_30 +2024-06-27 16:57:16.280 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_19 +2024-06-27 16:57:16.281 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_1 +2024-06-27 16:57:16.282 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_31 +2024-06-27 16:57:16.284 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_1 +2024-06-27 16:57:16.286 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_32 +2024-06-27 16:57:16.288 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_20 +2024-06-27 16:57:16.289 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_2 +2024-06-27 16:57:16.289 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_33 +2024-06-27 16:57:16.298 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: loginUsingPOST_1 +2024-06-27 16:57:16.298 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: logoutUsingPOST_1 +2024-06-27 16:57:16.300 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_34 +2024-06-27 16:57:16.303 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_21 +2024-06-27 16:57:16.304 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_13 +2024-06-27 16:57:16.304 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_15 +2024-06-27 16:57:16.305 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_35 +2024-06-27 16:57:16.306 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_2 +2024-06-27 16:57:16.310 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_22 +2024-06-27 16:57:16.310 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_14 +2024-06-27 16:57:16.311 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_16 +2024-06-27 16:57:16.316 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_36 +2024-06-27 16:57:16.316 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: stateUsingPOST_1 +2024-06-27 16:57:16.317 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_1 +2024-06-27 16:57:16.317 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_3 +2024-06-27 16:57:16.319 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_23 +2024-06-27 16:57:16.320 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_2 +2024-06-27 16:57:16.320 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_2 +2024-06-27 16:57:16.321 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_17 +2024-06-27 16:57:16.322 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_37 +2024-06-27 16:57:16.324 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_3 +2024-06-27 16:57:16.325 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_18 +2024-06-27 16:57:16.325 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_38 +2024-06-27 16:57:16.327 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addStorageUsingPOST_1 +2024-06-27 16:57:16.327 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_4 +2024-06-27 16:57:16.328 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_3 +2024-06-27 16:57:16.329 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_19 +2024-06-27 16:57:16.330 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_39 +2024-06-27 16:57:16.331 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_40 +2024-06-27 16:57:16.332 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_24 +2024-06-27 16:57:16.333 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_20 +2024-06-27 16:57:16.333 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_3 +2024-06-27 16:57:16.336 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_25 +2024-06-27 16:57:16.337 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_15 +2024-06-27 16:57:16.337 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_21 +2024-06-27 16:57:16.339 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_41 +2024-06-27 16:57:16.342 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_2 +2024-06-27 16:57:16.342 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_4 +2024-06-27 16:57:16.345 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: scanIndexUsingPOST_1 +2024-06-27 16:57:16.346 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_42 +2024-06-27 16:57:16.347 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_1 +2024-06-27 16:57:16.349 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_26 +2024-06-27 16:57:16.349 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_16 +2024-06-27 16:57:16.350 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_22 +2024-06-27 16:57:16.354 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_43 +2024-06-27 16:57:16.358 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_27 +2024-06-27 16:57:16.358 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_17 +2024-06-27 16:57:16.359 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_23 +2024-06-27 16:57:16.360 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_44 +2024-06-27 16:57:16.361 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_3 +2024-06-27 16:57:16.361 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_5 +2024-06-27 16:57:16.364 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_28 +2024-06-27 16:57:16.365 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_18 +2024-06-27 16:57:16.366 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_24 +2024-06-27 16:57:16.369 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_45 +2024-06-27 16:57:16.370 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_46 +2024-06-27 16:57:16.370 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_2 +2024-06-27 16:57:16.371 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_29 +2024-06-27 16:57:16.372 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_47 +2024-06-27 16:57:16.373 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_48 +2024-06-27 16:57:16.373 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_49 +2024-06-27 16:57:16.374 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_3 +2024-06-27 16:57:16.377 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_30 +2024-06-27 16:57:16.378 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_19 +2024-06-27 16:57:16.379 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_25 +2024-06-27 16:57:16.384 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_50 +2024-06-27 16:57:16.384 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_2 +2024-06-27 16:57:16.385 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_4 +2024-06-27 16:57:16.385 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_6 +2024-06-27 16:57:16.389 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_31 +2024-06-27 16:57:16.390 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_20 +2024-06-27 16:57:16.390 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_26 +2024-06-27 16:57:16.395 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_51 +2024-06-27 16:57:16.396 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_3 +2024-06-27 16:57:16.396 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_7 +2024-06-27 16:57:16.397 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_52 +2024-06-27 16:57:16.397 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_4 +2024-06-27 16:57:16.399 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_32 +2024-06-27 16:57:16.400 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_21 +2024-06-27 16:57:16.401 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_27 +2024-06-27 16:57:16.402 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_53 +2024-06-27 16:57:16.406 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: uploadUsingPOST_1 +2024-06-27 16:57:16.428 INFO [main] [] net.jjjerp.SpringBootJjjApplication 61 : Started SpringBootJjjApplication in 16.597 seconds (JVM running for 17.89) +2024-06-27 16:57:16.431 INFO [main] [] n.j.framework.util.PrintApplicationInfo 61 : projectFinalName : jjj-erp-1.0 +2024-06-27 16:57:16.431 INFO [main] [] n.j.framework.util.PrintApplicationInfo 62 : projectVersion : 1.0 +2024-06-27 16:57:16.431 INFO [main] [] n.j.framework.util.PrintApplicationInfo 63 : profileActive : prod +2024-06-27 16:57:16.431 INFO [main] [] n.j.framework.util.PrintApplicationInfo 64 : contextPath : /api +2024-06-27 16:57:16.431 INFO [main] [] n.j.framework.util.PrintApplicationInfo 65 : serverIp : http://erp3.huadeng.fun +2024-06-27 16:57:16.431 INFO [main] [] n.j.framework.util.PrintApplicationInfo 66 : port : 8892 +2024-06-27 16:57:16.431 INFO [main] [] n.j.framework.util.PrintApplicationInfo 81 : Home: http://erp3.huadeng.fun/api +2024-06-27 16:57:16.431 INFO [main] [] n.j.framework.util.PrintApplicationInfo 82 : Knife4j: http://erp3.huadeng.fun/api/doc.html +2024-06-27 16:57:16.431 INFO [main] [] n.j.framework.util.PrintApplicationInfo 83 : Swagger: http://erp3.huadeng.fun/api/swagger-ui.html +2024-06-27 16:57:16.431 INFO [main] [] n.j.framework.util.PrintApplicationInfo 84 : jjj-erp 启动成功........... + ____ __ __ ____ +/\ _`\ /\ \__ /\ \__ /\ _`\ +\ \,\L\_\ \ ,_\ __ _ __\ \ ,_\ \ \,\L\_\ __ __ ___ ___ __ ____ ____ + \/_\__ \\ \ \/ /'__`\ /\`'__\ \ \/ \/_\__ \ /\ \/\ \ /'___\ /'___\ /'__`\ /',__\ /',__\ + /\ \L\ \ \ \_/\ \L\.\_\ \ \/ \ \ \_ /\ \L\ \ \ \_\ \/\ \__//\ \__//\ __//\__, `\/\__, `\ + \ `\____\ \__\ \__/.\_\\ \_\ \ \__\ \ `\____\ \____/\ \____\ \____\ \____\/\____/\/\____/ + \/_____/\/__/\/__/\/_/ \/_/ \/__/ \/_____/\/___/ \/____/\/____/\/____/\/___/ \/___/ + + +2024-06-27 16:57:21.378 INFO [http-nio-8892-exec-2] [] o.a.c.c.C.[Tomcat].[localhost].[/api] 173 : Initializing Spring DispatcherServlet 'dispatcherServlet' +2024-06-27 16:57:21.378 INFO [http-nio-8892-exec-2] [] o.s.web.servlet.DispatcherServlet 525 : Initializing Servlet 'dispatcherServlet' +2024-06-27 16:57:21.390 INFO [http-nio-8892-exec-2] [] o.s.web.servlet.DispatcherServlet 547 : Completed initialization in 12 ms +2024-06-27 16:57:23.196 INFO [http-nio-8892-exec-2] [1806250459973971969] com.zaxxer.hikari.HikariDataSource 110 : HikariPool-1 - Starting... +2024-06-27 16:57:23.686 INFO [http-nio-8892-exec-2] [1806250459973971969] com.zaxxer.hikari.HikariDataSource 123 : HikariPool-1 - Start completed. +2024-06-27 16:57:23.996 ERROR [http-nio-8892-exec-1] [] n.jjjerp.handler.GlobalExceptionHandler 233 : 异常来源:ip: 192.168.31.226, path: /api/admin/product/base/unit/index +2024-06-27 16:57:24.000 ERROR [http-nio-8892-exec-1] [] n.jjjerp.handler.GlobalExceptionHandler 257 : errorCode: 5000, errorMessage: 系统异常 + +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'basic_unit_id' in 'field list' +### The error may exist in net/jjjerp/common/mapper/product/ProductUnitMapper.java (best guess) +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT basic_unit_id, name, basic_unit, enabled, app_id, delete_flag, create_time, update_time FROM jjjerp_product_unit WHERE (delete_flag = ?) AND app_id = 10001 ORDER BY create_time DESC LIMIT ? +### Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'basic_unit_id' in 'field list' +; bad SQL grammar []; nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'basic_unit_id' in 'field list' + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:239) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:72) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:88) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:440) + at com.sun.proxy.$Proxy114.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:223) + at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.executeForIPage(MybatisMapperMethod.java:122) + at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:87) + at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:148) + at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89) + at com.sun.proxy.$Proxy229.selectPage(Unknown Source) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:344) + at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:198) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:139) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:212) + at com.sun.proxy.$Proxy230.selectPage(Unknown Source) + at com.baomidou.mybatisplus.extension.service.IService.page(IService.java:298) + at net.jjjerp.admin.service.product.impl.ProductUnitServiceImpl.index(ProductUnitServiceImpl.java:80) + at net.jjjerp.admin.service.product.impl.ProductUnitServiceImpl$$FastClassBySpringCGLIB$$c1afc35.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.admin.service.product.impl.ProductUnitServiceImpl$$EnhancerBySpringCGLIB$$f6176bc.index() + at net.jjjerp.admin.controller.product.base.UnitController.index(UnitController.java:38) + at net.jjjerp.admin.controller.product.base.UnitController$$FastClassBySpringCGLIB$$e31e0dcf.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.AspectJAfterThrowingAdvice.invoke(AspectJAfterThrowingAdvice.java:62) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:88) + at net.jjjerp.framework.log.aop.BaseLogAop.handle(BaseLogAop.java:303) + at net.jjjerp.aop.LogAop.doAround(LogAop.java:35) + at net.jjjerp.aop.LogAop$$FastClassBySpringCGLIB$$189c4aae.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.aop.LogAop$$EnhancerBySpringCGLIB$$5c5051e0.doAround() + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:644) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:633) + at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.apache.shiro.spring.security.interceptor.AopAllianceAnnotationsAuthorizingMethodInterceptor$1.proceed(AopAllianceAnnotationsAuthorizingMethodInterceptor.java:82) + at org.apache.shiro.authz.aop.AuthorizingMethodInterceptor.invoke(AuthorizingMethodInterceptor.java:39) + at org.apache.shiro.spring.security.interceptor.AopAllianceAnnotationsAuthorizingMethodInterceptor.invoke(AopAllianceAnnotationsAuthorizingMethodInterceptor.java:115) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:95) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at net.jjjerp.admin.controller.product.base.UnitController$$EnhancerBySpringCGLIB$$539a4824.index() + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:652) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:112) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) + at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'basic_unit_id' in 'field list' + at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) + at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) + at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) + at java.lang.reflect.Constructor.newInstance(Constructor.java:423) + at com.mysql.jdbc.Util.handleNewInstance(Util.java:425) + at com.mysql.jdbc.Util.getInstance(Util.java:408) + at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:944) + at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3978) + at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3914) + at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2530) + at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2683) + at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2495) + at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1903) + at com.mysql.jdbc.PreparedStatement.execute(PreparedStatement.java:1242) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:59) + at com.sun.proxy.$Proxy412.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:64) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:79) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:63) + at com.sun.proxy.$Proxy410.query(Unknown Source) + at com.baomidou.mybatisplus.core.executor.MybatisSimpleExecutor.doQuery(MybatisSimpleExecutor.java:69) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:325) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:156) + at com.baomidou.mybatisplus.core.executor.MybatisCachingExecutor.query(MybatisCachingExecutor.java:165) + at com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor.intercept(MybatisPlusInterceptor.java:65) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:61) + at com.sun.proxy.$Proxy409.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:140) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:426) + ... 144 common frames omitted + +2024-06-27 16:57:29.627 ERROR [http-nio-8892-exec-5] [] n.jjjerp.handler.GlobalExceptionHandler 233 : 异常来源:ip: 192.168.31.226, path: /api/admin/product/base/unit/index +2024-06-27 16:57:29.628 ERROR [http-nio-8892-exec-5] [] n.jjjerp.handler.GlobalExceptionHandler 257 : errorCode: 5000, errorMessage: 系统异常 + +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'basic_unit_id' in 'field list' +### The error may exist in net/jjjerp/common/mapper/product/ProductUnitMapper.java (best guess) +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT basic_unit_id, name, basic_unit, enabled, app_id, delete_flag, create_time, update_time FROM jjjerp_product_unit WHERE (delete_flag = ?) AND app_id = 10001 ORDER BY create_time DESC LIMIT ? +### Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'basic_unit_id' in 'field list' +; bad SQL grammar []; nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'basic_unit_id' in 'field list' + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:239) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:72) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:88) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:440) + at com.sun.proxy.$Proxy114.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:223) + at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.executeForIPage(MybatisMapperMethod.java:122) + at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:87) + at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:148) + at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89) + at com.sun.proxy.$Proxy229.selectPage(Unknown Source) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:344) + at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:198) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:139) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:212) + at com.sun.proxy.$Proxy230.selectPage(Unknown Source) + at com.baomidou.mybatisplus.extension.service.IService.page(IService.java:298) + at net.jjjerp.admin.service.product.impl.ProductUnitServiceImpl.index(ProductUnitServiceImpl.java:80) + at net.jjjerp.admin.service.product.impl.ProductUnitServiceImpl$$FastClassBySpringCGLIB$$c1afc35.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.admin.service.product.impl.ProductUnitServiceImpl$$EnhancerBySpringCGLIB$$f6176bc.index() + at net.jjjerp.admin.controller.product.base.UnitController.index(UnitController.java:38) + at net.jjjerp.admin.controller.product.base.UnitController$$FastClassBySpringCGLIB$$e31e0dcf.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.AspectJAfterThrowingAdvice.invoke(AspectJAfterThrowingAdvice.java:62) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:88) + at net.jjjerp.framework.log.aop.BaseLogAop.handle(BaseLogAop.java:303) + at net.jjjerp.aop.LogAop.doAround(LogAop.java:35) + at net.jjjerp.aop.LogAop$$FastClassBySpringCGLIB$$189c4aae.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.aop.LogAop$$EnhancerBySpringCGLIB$$5c5051e0.doAround() + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:644) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:633) + at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.apache.shiro.spring.security.interceptor.AopAllianceAnnotationsAuthorizingMethodInterceptor$1.proceed(AopAllianceAnnotationsAuthorizingMethodInterceptor.java:82) + at org.apache.shiro.authz.aop.AuthorizingMethodInterceptor.invoke(AuthorizingMethodInterceptor.java:39) + at org.apache.shiro.spring.security.interceptor.AopAllianceAnnotationsAuthorizingMethodInterceptor.invoke(AopAllianceAnnotationsAuthorizingMethodInterceptor.java:115) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:95) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at net.jjjerp.admin.controller.product.base.UnitController$$EnhancerBySpringCGLIB$$539a4824.index() + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:652) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:112) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) + at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'basic_unit_id' in 'field list' + at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) + at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) + at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) + at java.lang.reflect.Constructor.newInstance(Constructor.java:423) + at com.mysql.jdbc.Util.handleNewInstance(Util.java:425) + at com.mysql.jdbc.Util.getInstance(Util.java:408) + at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:944) + at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3978) + at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3914) + at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2530) + at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2683) + at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2495) + at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1903) + at com.mysql.jdbc.PreparedStatement.execute(PreparedStatement.java:1242) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:59) + at com.sun.proxy.$Proxy412.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:64) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:79) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:63) + at com.sun.proxy.$Proxy410.query(Unknown Source) + at com.baomidou.mybatisplus.core.executor.MybatisSimpleExecutor.doQuery(MybatisSimpleExecutor.java:69) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:325) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:156) + at com.baomidou.mybatisplus.core.executor.MybatisCachingExecutor.query(MybatisCachingExecutor.java:165) + at com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor.intercept(MybatisPlusInterceptor.java:65) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:61) + at com.sun.proxy.$Proxy409.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:140) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:426) + ... 144 common frames omitted + +2024-06-27 16:58:46.991 ERROR [http-nio-8892-exec-4] [] n.jjjerp.handler.GlobalExceptionHandler 233 : 异常来源:ip: 192.168.31.208, path: /api/admin/product/base/unit/index +2024-06-27 16:58:46.993 ERROR [http-nio-8892-exec-4] [] n.jjjerp.handler.GlobalExceptionHandler 257 : errorCode: 5000, errorMessage: 系统异常 + +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'basic_unit_id' in 'field list' +### The error may exist in net/jjjerp/common/mapper/product/ProductUnitMapper.java (best guess) +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT basic_unit_id, name, basic_unit, enabled, app_id, delete_flag, create_time, update_time FROM jjjerp_product_unit WHERE (delete_flag = ?) AND app_id = 10001 ORDER BY create_time DESC LIMIT ? +### Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'basic_unit_id' in 'field list' +; bad SQL grammar []; nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'basic_unit_id' in 'field list' + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:239) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:72) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:88) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:440) + at com.sun.proxy.$Proxy114.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:223) + at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.executeForIPage(MybatisMapperMethod.java:122) + at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:87) + at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:148) + at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89) + at com.sun.proxy.$Proxy229.selectPage(Unknown Source) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:344) + at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:198) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:139) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:212) + at com.sun.proxy.$Proxy230.selectPage(Unknown Source) + at com.baomidou.mybatisplus.extension.service.IService.page(IService.java:298) + at net.jjjerp.admin.service.product.impl.ProductUnitServiceImpl.index(ProductUnitServiceImpl.java:80) + at net.jjjerp.admin.service.product.impl.ProductUnitServiceImpl$$FastClassBySpringCGLIB$$c1afc35.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.admin.service.product.impl.ProductUnitServiceImpl$$EnhancerBySpringCGLIB$$f6176bc.index() + at net.jjjerp.admin.controller.product.base.UnitController.index(UnitController.java:38) + at net.jjjerp.admin.controller.product.base.UnitController$$FastClassBySpringCGLIB$$e31e0dcf.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.AspectJAfterThrowingAdvice.invoke(AspectJAfterThrowingAdvice.java:62) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:88) + at net.jjjerp.framework.log.aop.BaseLogAop.handle(BaseLogAop.java:303) + at net.jjjerp.aop.LogAop.doAround(LogAop.java:35) + at net.jjjerp.aop.LogAop$$FastClassBySpringCGLIB$$189c4aae.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.aop.LogAop$$EnhancerBySpringCGLIB$$5c5051e0.doAround() + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:644) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:633) + at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.apache.shiro.spring.security.interceptor.AopAllianceAnnotationsAuthorizingMethodInterceptor$1.proceed(AopAllianceAnnotationsAuthorizingMethodInterceptor.java:82) + at org.apache.shiro.authz.aop.AuthorizingMethodInterceptor.invoke(AuthorizingMethodInterceptor.java:39) + at org.apache.shiro.spring.security.interceptor.AopAllianceAnnotationsAuthorizingMethodInterceptor.invoke(AopAllianceAnnotationsAuthorizingMethodInterceptor.java:115) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:95) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at net.jjjerp.admin.controller.product.base.UnitController$$EnhancerBySpringCGLIB$$539a4824.index() + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:652) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:112) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) + at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'basic_unit_id' in 'field list' + at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) + at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) + at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) + at java.lang.reflect.Constructor.newInstance(Constructor.java:423) + at com.mysql.jdbc.Util.handleNewInstance(Util.java:425) + at com.mysql.jdbc.Util.getInstance(Util.java:408) + at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:944) + at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3978) + at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3914) + at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2530) + at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2683) + at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2495) + at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1903) + at com.mysql.jdbc.PreparedStatement.execute(PreparedStatement.java:1242) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:59) + at com.sun.proxy.$Proxy412.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:64) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:79) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:63) + at com.sun.proxy.$Proxy410.query(Unknown Source) + at com.baomidou.mybatisplus.core.executor.MybatisSimpleExecutor.doQuery(MybatisSimpleExecutor.java:69) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:325) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:156) + at com.baomidou.mybatisplus.core.executor.MybatisCachingExecutor.query(MybatisCachingExecutor.java:165) + at com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor.intercept(MybatisPlusInterceptor.java:65) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:61) + at com.sun.proxy.$Proxy409.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:140) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:426) + ... 144 common frames omitted + +2024-06-27 16:58:55.229 ERROR [http-nio-8892-exec-7] [] n.jjjerp.handler.GlobalExceptionHandler 233 : 异常来源:ip: 192.168.31.208, path: /api/admin/product/base/unit/index +2024-06-27 16:58:55.230 ERROR [http-nio-8892-exec-7] [] n.jjjerp.handler.GlobalExceptionHandler 257 : errorCode: 5000, errorMessage: 系统异常 + +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'basic_unit_id' in 'field list' +### The error may exist in net/jjjerp/common/mapper/product/ProductUnitMapper.java (best guess) +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT basic_unit_id, name, basic_unit, enabled, app_id, delete_flag, create_time, update_time FROM jjjerp_product_unit WHERE (delete_flag = ?) AND app_id = 10001 ORDER BY create_time DESC LIMIT ? +### Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'basic_unit_id' in 'field list' +; bad SQL grammar []; nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'basic_unit_id' in 'field list' + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:239) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:72) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:88) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:440) + at com.sun.proxy.$Proxy114.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:223) + at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.executeForIPage(MybatisMapperMethod.java:122) + at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:87) + at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:148) + at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89) + at com.sun.proxy.$Proxy229.selectPage(Unknown Source) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:344) + at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:198) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:139) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:212) + at com.sun.proxy.$Proxy230.selectPage(Unknown Source) + at com.baomidou.mybatisplus.extension.service.IService.page(IService.java:298) + at net.jjjerp.admin.service.product.impl.ProductUnitServiceImpl.index(ProductUnitServiceImpl.java:80) + at net.jjjerp.admin.service.product.impl.ProductUnitServiceImpl$$FastClassBySpringCGLIB$$c1afc35.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.admin.service.product.impl.ProductUnitServiceImpl$$EnhancerBySpringCGLIB$$f6176bc.index() + at net.jjjerp.admin.controller.product.base.UnitController.index(UnitController.java:38) + at net.jjjerp.admin.controller.product.base.UnitController$$FastClassBySpringCGLIB$$e31e0dcf.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.AspectJAfterThrowingAdvice.invoke(AspectJAfterThrowingAdvice.java:62) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:88) + at net.jjjerp.framework.log.aop.BaseLogAop.handle(BaseLogAop.java:303) + at net.jjjerp.aop.LogAop.doAround(LogAop.java:35) + at net.jjjerp.aop.LogAop$$FastClassBySpringCGLIB$$189c4aae.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.aop.LogAop$$EnhancerBySpringCGLIB$$5c5051e0.doAround() + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:644) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:633) + at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.apache.shiro.spring.security.interceptor.AopAllianceAnnotationsAuthorizingMethodInterceptor$1.proceed(AopAllianceAnnotationsAuthorizingMethodInterceptor.java:82) + at org.apache.shiro.authz.aop.AuthorizingMethodInterceptor.invoke(AuthorizingMethodInterceptor.java:39) + at org.apache.shiro.spring.security.interceptor.AopAllianceAnnotationsAuthorizingMethodInterceptor.invoke(AopAllianceAnnotationsAuthorizingMethodInterceptor.java:115) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:95) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at net.jjjerp.admin.controller.product.base.UnitController$$EnhancerBySpringCGLIB$$539a4824.index() + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:652) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:112) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) + at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'basic_unit_id' in 'field list' + at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) + at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) + at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) + at java.lang.reflect.Constructor.newInstance(Constructor.java:423) + at com.mysql.jdbc.Util.handleNewInstance(Util.java:425) + at com.mysql.jdbc.Util.getInstance(Util.java:408) + at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:944) + at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3978) + at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3914) + at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2530) + at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2683) + at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2495) + at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1903) + at com.mysql.jdbc.PreparedStatement.execute(PreparedStatement.java:1242) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:59) + at com.sun.proxy.$Proxy412.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:64) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:79) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:63) + at com.sun.proxy.$Proxy410.query(Unknown Source) + at com.baomidou.mybatisplus.core.executor.MybatisSimpleExecutor.doQuery(MybatisSimpleExecutor.java:69) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:325) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:156) + at com.baomidou.mybatisplus.core.executor.MybatisCachingExecutor.query(MybatisCachingExecutor.java:165) + at com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor.intercept(MybatisPlusInterceptor.java:65) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:61) + at com.sun.proxy.$Proxy409.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:140) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:426) + ... 144 common frames omitted + +2024-06-27 16:59:08.934 ERROR [http-nio-8892-exec-9] [] n.jjjerp.handler.GlobalExceptionHandler 233 : 异常来源:ip: 192.168.31.208, path: /api/admin/product/base/product/add +2024-06-27 16:59:08.934 ERROR [http-nio-8892-exec-9] [] n.jjjerp.handler.GlobalExceptionHandler 257 : errorCode: 5000, errorMessage: 系统异常 + +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'basic_unit_id' in 'field list' +### The error may exist in net/jjjerp/common/mapper/product/ProductUnitMapper.java (best guess) +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT basic_unit_id, name, basic_unit, enabled, app_id, delete_flag, create_time, update_time FROM jjjerp_product_unit WHERE (delete_flag = ?) AND app_id = 10001 ORDER BY create_time DESC +### Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'basic_unit_id' in 'field list' +; bad SQL grammar []; nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'basic_unit_id' in 'field list' + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:239) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:72) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:88) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:440) + at com.sun.proxy.$Proxy114.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:223) + at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.executeForMany(MybatisMapperMethod.java:173) + at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:78) + at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:148) + at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89) + at com.sun.proxy.$Proxy229.selectList(Unknown Source) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:344) + at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:198) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:139) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:212) + at com.sun.proxy.$Proxy230.selectList(Unknown Source) + at com.baomidou.mybatisplus.extension.service.IService.list(IService.java:279) + at net.jjjerp.admin.service.product.impl.ProductUnitServiceImpl.getAll(ProductUnitServiceImpl.java:206) + at net.jjjerp.admin.service.product.impl.ProductUnitServiceImpl$$FastClassBySpringCGLIB$$c1afc35.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.admin.service.product.impl.ProductUnitServiceImpl$$EnhancerBySpringCGLIB$$f6176bc.getAll() + at net.jjjerp.admin.service.product.impl.ProductServiceImpl.getBaseData(ProductServiceImpl.java:172) + at net.jjjerp.admin.service.product.impl.ProductServiceImpl$$FastClassBySpringCGLIB$$4edb1a59.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.admin.service.product.impl.ProductServiceImpl$$EnhancerBySpringCGLIB$$8b83c7a8.getBaseData() + at net.jjjerp.admin.controller.product.base.ProductController.toAdd(ProductController.java:50) + at net.jjjerp.admin.controller.product.base.ProductController$$FastClassBySpringCGLIB$$588445fc.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.AspectJAfterThrowingAdvice.invoke(AspectJAfterThrowingAdvice.java:62) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:88) + at net.jjjerp.framework.log.aop.BaseLogAop.handle(BaseLogAop.java:303) + at net.jjjerp.aop.LogAop.doAround(LogAop.java:35) + at net.jjjerp.aop.LogAop$$FastClassBySpringCGLIB$$189c4aae.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.aop.LogAop$$EnhancerBySpringCGLIB$$5c5051e0.doAround() + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:644) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:633) + at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.apache.shiro.spring.security.interceptor.AopAllianceAnnotationsAuthorizingMethodInterceptor$1.proceed(AopAllianceAnnotationsAuthorizingMethodInterceptor.java:82) + at org.apache.shiro.authz.aop.AuthorizingMethodInterceptor.invoke(AuthorizingMethodInterceptor.java:39) + at org.apache.shiro.spring.security.interceptor.AopAllianceAnnotationsAuthorizingMethodInterceptor.invoke(AopAllianceAnnotationsAuthorizingMethodInterceptor.java:115) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:95) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at net.jjjerp.admin.controller.product.base.ProductController$$EnhancerBySpringCGLIB$$bbc6f4cb.toAdd() + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:626) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:112) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) + at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'basic_unit_id' in 'field list' + at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) + at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) + at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) + at java.lang.reflect.Constructor.newInstance(Constructor.java:423) + at com.mysql.jdbc.Util.handleNewInstance(Util.java:425) + at com.mysql.jdbc.Util.getInstance(Util.java:408) + at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:944) + at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3978) + at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3914) + at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2530) + at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2683) + at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2495) + at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1903) + at com.mysql.jdbc.PreparedStatement.execute(PreparedStatement.java:1242) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at sun.reflect.GeneratedMethodAccessor192.invoke(Unknown Source) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:59) + at com.sun.proxy.$Proxy412.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:64) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:79) + at sun.reflect.GeneratedMethodAccessor191.invoke(Unknown Source) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:63) + at com.sun.proxy.$Proxy410.query(Unknown Source) + at com.baomidou.mybatisplus.core.executor.MybatisSimpleExecutor.doQuery(MybatisSimpleExecutor.java:69) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:325) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:156) + at com.baomidou.mybatisplus.core.executor.MybatisCachingExecutor.query(MybatisCachingExecutor.java:165) + at com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor.intercept(MybatisPlusInterceptor.java:65) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:61) + at com.sun.proxy.$Proxy409.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:140) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:426) + ... 149 common frames omitted + +2024-06-27 16:59:08.957 ERROR [http-nio-8892-exec-10] [] n.jjjerp.handler.GlobalExceptionHandler 233 : 异常来源:ip: 192.168.31.208, path: /api/admin/product/base/product/index +2024-06-27 16:59:08.958 ERROR [http-nio-8892-exec-10] [] n.jjjerp.handler.GlobalExceptionHandler 257 : errorCode: 5000, errorMessage: 系统异常 + +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'basic_unit_id' in 'field list' +### The error may exist in net/jjjerp/common/mapper/product/ProductUnitMapper.java (best guess) +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT basic_unit_id, name, basic_unit, enabled, app_id, delete_flag, create_time, update_time FROM jjjerp_product_unit WHERE basic_unit_id = ? AND app_id = 10001 +### Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'basic_unit_id' in 'field list' +; bad SQL grammar []; nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'basic_unit_id' in 'field list' + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:239) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:72) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:88) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:440) + at com.sun.proxy.$Proxy114.selectOne(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectOne(SqlSessionTemplate.java:159) + at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:90) + at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:148) + at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89) + at com.sun.proxy.$Proxy229.selectById(Unknown Source) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:344) + at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:198) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:139) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:212) + at com.sun.proxy.$Proxy230.selectById(Unknown Source) + at com.baomidou.mybatisplus.extension.service.IService.getById(IService.java:201) + at com.baomidou.mybatisplus.extension.service.IService$$FastClassBySpringCGLIB$$f8525d18.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.admin.service.product.impl.ProductUnitServiceImpl$$EnhancerBySpringCGLIB$$f6176bc.getById() + at net.jjjerp.admin.service.product.impl.ProductServiceImpl.transVo(ProductServiceImpl.java:136) + at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193) + at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1384) + at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:482) + at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472) + at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708) + at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) + at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:499) + at com.baomidou.mybatisplus.core.metadata.IPage.convert(IPage.java:196) + at net.jjjerp.admin.service.product.impl.ProductServiceImpl.getList(ProductServiceImpl.java:118) + at net.jjjerp.admin.service.product.impl.ProductServiceImpl$$FastClassBySpringCGLIB$$4edb1a59.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.admin.service.product.impl.ProductServiceImpl$$EnhancerBySpringCGLIB$$8b83c7a8.getList() + at net.jjjerp.admin.controller.product.base.ProductController.index(ProductController.java:42) + at net.jjjerp.admin.controller.product.base.ProductController$$FastClassBySpringCGLIB$$588445fc.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.AspectJAfterThrowingAdvice.invoke(AspectJAfterThrowingAdvice.java:62) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:88) + at net.jjjerp.framework.log.aop.BaseLogAop.handle(BaseLogAop.java:303) + at net.jjjerp.aop.LogAop.doAround(LogAop.java:35) + at net.jjjerp.aop.LogAop$$FastClassBySpringCGLIB$$189c4aae.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.aop.LogAop$$EnhancerBySpringCGLIB$$5c5051e0.doAround() + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:644) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:633) + at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.apache.shiro.spring.security.interceptor.AopAllianceAnnotationsAuthorizingMethodInterceptor$1.proceed(AopAllianceAnnotationsAuthorizingMethodInterceptor.java:82) + at org.apache.shiro.authz.aop.AuthorizingMethodInterceptor.invoke(AuthorizingMethodInterceptor.java:39) + at org.apache.shiro.spring.security.interceptor.AopAllianceAnnotationsAuthorizingMethodInterceptor.invoke(AopAllianceAnnotationsAuthorizingMethodInterceptor.java:115) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:95) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at net.jjjerp.admin.controller.product.base.ProductController$$EnhancerBySpringCGLIB$$bbc6f4cb.index() + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:652) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:112) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) + at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'basic_unit_id' in 'field list' + at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) + at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) + at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) + at java.lang.reflect.Constructor.newInstance(Constructor.java:423) + at com.mysql.jdbc.Util.handleNewInstance(Util.java:425) + at com.mysql.jdbc.Util.getInstance(Util.java:408) + at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:944) + at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3978) + at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3914) + at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2530) + at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2683) + at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2495) + at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1903) + at com.mysql.jdbc.PreparedStatement.execute(PreparedStatement.java:1242) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at sun.reflect.GeneratedMethodAccessor192.invoke(Unknown Source) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:59) + at com.sun.proxy.$Proxy412.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:64) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:79) + at sun.reflect.GeneratedMethodAccessor191.invoke(Unknown Source) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:63) + at com.sun.proxy.$Proxy410.query(Unknown Source) + at com.baomidou.mybatisplus.core.executor.MybatisSimpleExecutor.doQuery(MybatisSimpleExecutor.java:69) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:325) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:156) + at com.baomidou.mybatisplus.core.executor.MybatisCachingExecutor.query(MybatisCachingExecutor.java:165) + at com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor.intercept(MybatisPlusInterceptor.java:65) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:61) + at com.sun.proxy.$Proxy409.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:140) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectOne(DefaultSqlSession.java:76) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:426) + ... 156 common frames omitted + +2024-06-27 16:59:15.313 ERROR [http-nio-8892-exec-11] [] n.jjjerp.handler.GlobalExceptionHandler 233 : 异常来源:ip: 192.168.31.208, path: /api/admin/product/base/unit/index +2024-06-27 16:59:15.314 ERROR [http-nio-8892-exec-11] [] n.jjjerp.handler.GlobalExceptionHandler 257 : errorCode: 5000, errorMessage: 系统异常 + +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'basic_unit_id' in 'field list' +### The error may exist in net/jjjerp/common/mapper/product/ProductUnitMapper.java (best guess) +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT basic_unit_id, name, basic_unit, enabled, app_id, delete_flag, create_time, update_time FROM jjjerp_product_unit WHERE (delete_flag = ?) AND app_id = 10001 ORDER BY create_time DESC LIMIT ? +### Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'basic_unit_id' in 'field list' +; bad SQL grammar []; nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'basic_unit_id' in 'field list' + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:239) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:72) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:88) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:440) + at com.sun.proxy.$Proxy114.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:223) + at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.executeForIPage(MybatisMapperMethod.java:122) + at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:87) + at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:148) + at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89) + at com.sun.proxy.$Proxy229.selectPage(Unknown Source) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:344) + at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:198) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:139) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:212) + at com.sun.proxy.$Proxy230.selectPage(Unknown Source) + at com.baomidou.mybatisplus.extension.service.IService.page(IService.java:298) + at net.jjjerp.admin.service.product.impl.ProductUnitServiceImpl.index(ProductUnitServiceImpl.java:80) + at net.jjjerp.admin.service.product.impl.ProductUnitServiceImpl$$FastClassBySpringCGLIB$$c1afc35.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.admin.service.product.impl.ProductUnitServiceImpl$$EnhancerBySpringCGLIB$$f6176bc.index() + at net.jjjerp.admin.controller.product.base.UnitController.index(UnitController.java:38) + at net.jjjerp.admin.controller.product.base.UnitController$$FastClassBySpringCGLIB$$e31e0dcf.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.AspectJAfterThrowingAdvice.invoke(AspectJAfterThrowingAdvice.java:62) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:88) + at net.jjjerp.framework.log.aop.BaseLogAop.handle(BaseLogAop.java:303) + at net.jjjerp.aop.LogAop.doAround(LogAop.java:35) + at net.jjjerp.aop.LogAop$$FastClassBySpringCGLIB$$189c4aae.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.aop.LogAop$$EnhancerBySpringCGLIB$$5c5051e0.doAround() + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:644) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:633) + at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.apache.shiro.spring.security.interceptor.AopAllianceAnnotationsAuthorizingMethodInterceptor$1.proceed(AopAllianceAnnotationsAuthorizingMethodInterceptor.java:82) + at org.apache.shiro.authz.aop.AuthorizingMethodInterceptor.invoke(AuthorizingMethodInterceptor.java:39) + at org.apache.shiro.spring.security.interceptor.AopAllianceAnnotationsAuthorizingMethodInterceptor.invoke(AopAllianceAnnotationsAuthorizingMethodInterceptor.java:115) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:95) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at net.jjjerp.admin.controller.product.base.UnitController$$EnhancerBySpringCGLIB$$539a4824.index() + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:652) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:112) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) + at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'basic_unit_id' in 'field list' + at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) + at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) + at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) + at java.lang.reflect.Constructor.newInstance(Constructor.java:423) + at com.mysql.jdbc.Util.handleNewInstance(Util.java:425) + at com.mysql.jdbc.Util.getInstance(Util.java:408) + at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:944) + at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3978) + at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3914) + at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2530) + at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2683) + at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2495) + at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1903) + at com.mysql.jdbc.PreparedStatement.execute(PreparedStatement.java:1242) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at sun.reflect.GeneratedMethodAccessor192.invoke(Unknown Source) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:59) + at com.sun.proxy.$Proxy412.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:64) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:79) + at sun.reflect.GeneratedMethodAccessor191.invoke(Unknown Source) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:63) + at com.sun.proxy.$Proxy410.query(Unknown Source) + at com.baomidou.mybatisplus.core.executor.MybatisSimpleExecutor.doQuery(MybatisSimpleExecutor.java:69) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:325) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:156) + at com.baomidou.mybatisplus.core.executor.MybatisCachingExecutor.query(MybatisCachingExecutor.java:165) + at com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor.intercept(MybatisPlusInterceptor.java:65) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:61) + at com.sun.proxy.$Proxy409.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:140) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:426) + ... 144 common frames omitted + +2024-06-27 17:12:42.596 INFO [SpringContextShutdownHook] [] net.jjjerp.framework.core.xss.XssFilter 30 : XssFilter destroy +2024-06-27 17:12:42.597 INFO [SpringContextShutdownHook] [] n.j.f.core.filter.RequestDetailFilter 116 : RequestDetailFilter destroy +2024-06-27 17:12:42.631 INFO [SpringContextShutdownHook] [] o.s.s.c.ThreadPoolTaskScheduler 218 : Shutting down ExecutorService 'taskScheduler' +2024-06-27 17:12:42.632 INFO [SpringContextShutdownHook] [] o.s.s.concurrent.ThreadPoolTaskExecutor 218 : Shutting down ExecutorService 'applicationTaskExecutor' +2024-06-27 17:12:42.637 INFO [SpringContextShutdownHook] [] com.zaxxer.hikari.HikariDataSource 350 : HikariPool-1 - Shutdown initiated... +2024-06-27 17:12:42.640 INFO [SpringContextShutdownHook] [] com.zaxxer.hikari.HikariDataSource 352 : HikariPool-1 - Shutdown completed. +2024-06-27 17:12:51.918 INFO [background-preinit] [] o.h.validator.internal.util.Version 21 : HV000001: Hibernate Validator 6.1.7.Final +2024-06-27 17:12:51.921 INFO [main] [] net.jjjerp.SpringBootJjjApplication 55 : Starting SpringBootJjjApplication on OS-20230506YKNI with PID 11560 (D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\bootstrap\target\classes started by Administrator in D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp) +2024-06-27 17:12:51.922 INFO [main] [] net.jjjerp.SpringBootJjjApplication 652 : The following profiles are active: prod +2024-06-27 17:12:52.938 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 249 : Multiple Spring Data modules found, entering strict repository configuration mode! +2024-06-27 17:12:52.939 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 127 : Bootstrapping Spring Data Redis repositories in DEFAULT mode. +2024-06-27 17:12:53.045 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 187 : Finished Spring Data repository scanning in 98ms. Found 0 Redis repository interfaces. +2024-06-27 17:12:53.308 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.ShiroConfig' of type [net.jjjerp.config.ShiroConfig$$EnhancerBySpringCGLIB$$944a7eb1] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 17:12:53.392 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.properties.JwtProperties' of type [net.jjjerp.config.properties.JwtProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 17:12:53.394 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.RedisTemplateConfig' of type [net.jjjerp.config.RedisTemplateConfig$$EnhancerBySpringCGLIB$$63af8955] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 17:12:53.401 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'spring.redis-org.springframework.boot.autoconfigure.data.redis.RedisProperties' of type [org.springframework.boot.autoconfigure.data.redis.RedisProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 17:12:53.404 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration' of type [org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 17:12:53.456 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'lettuceClientResources' of type [io.lettuce.core.resource.DefaultClientResources] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 17:12:53.542 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'redisConnectionFactory' of type [org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 17:12:53.586 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'redisTemplate' of type [org.springframework.data.redis.core.RedisTemplate] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 17:12:53.587 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.cache.impl.AdminLoginRedisServiceImpl' of type [net.jjjerp.framework.shiro.cache.impl.AdminLoginRedisServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 17:12:53.591 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.cache.impl.ShopLoginRedisServiceImpl' of type [net.jjjerp.framework.shiro.cache.impl.ShopLoginRedisServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 17:12:53.714 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'credentialsMatcher' of type [net.jjjerp.framework.shiro.jwt.JwtCredentialsMatcher] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 17:12:53.721 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'jwtRealm' of type [net.jjjerp.framework.shiro.jwt.JwtRealm] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 17:12:53.722 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'sessionStorageEvaluator' of type [org.apache.shiro.web.mgt.DefaultWebSessionStorageEvaluator] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 17:12:53.722 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'subjectDAO' of type [org.apache.shiro.mgt.DefaultSubjectDAO] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 17:12:53.724 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'securityManager' of type [org.apache.shiro.web.mgt.DefaultWebSecurityManager] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 17:12:53.744 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.service.impl.ShiroLoginServiceImpl' of type [net.jjjerp.framework.shiro.service.impl.ShiroLoginServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 17:12:53.750 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'spring-boot-jjj.shiro-net.jjjerp.config.properties.ShiroProperties' of type [net.jjjerp.config.properties.ShiroProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 17:12:53.832 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'authorizationAttributeSourceAdvisor' of type [org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 17:12:53.956 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.RedisCacheConfig' of type [net.jjjerp.config.RedisCacheConfig$$EnhancerBySpringCGLIB$$18ec6057] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 17:12:54.198 INFO [main] [] o.s.b.w.embedded.tomcat.TomcatWebServer 108 : Tomcat initialized with port(s): 8892 (http) +2024-06-27 17:12:54.205 INFO [main] [] o.a.coyote.http11.Http11NioProtocol 173 : Initializing ProtocolHandler ["http-nio-8892"] +2024-06-27 17:12:54.205 INFO [main] [] o.apache.catalina.core.StandardService 173 : Starting service [Tomcat] +2024-06-27 17:12:54.205 INFO [main] [] org.apache.catalina.core.StandardEngine 173 : Starting Servlet engine: [Apache Tomcat/9.0.46] +2024-06-27 17:12:54.294 INFO [main] [] o.a.c.c.C.[Tomcat].[localhost].[/api] 173 : Initializing Spring embedded WebApplicationContext +2024-06-27 17:12:54.294 INFO [main] [] w.s.c.ServletWebServerApplicationContext 285 : Root WebApplicationContext: initialization completed in 2326 ms +2024-06-27 17:12:54.436 INFO [main] [] net.jjjerp.framework.core.xss.XssFilter 18 : XssFilter init +2024-06-27 17:12:54.436 INFO [main] [] n.j.f.core.filter.RequestDetailFilter 30 : RequestDetailFilter init +2024-06-27 17:12:57.825 INFO [main] [] org.reflections.Reflections 228 : Reflections took 37 ms to scan 1 urls, producing 0 keys and 0 values +2024-06-27 17:12:57.918 INFO [main] [] net.jjjerp.framework.shiro.util.JwtUtil 33 : {"audience":"web","expireSecond":36000,"issuer":"spring-boot-jjj","redisCheck":true,"refreshToken":true,"refreshTokenCountdown":600,"saltCheck":true,"secret":"888888","singleLogin":false,"tokenName":"token"} +2024-06-27 17:13:00.877 INFO [main] [] pertySourcedRequestMappingHandlerMapping 69 : Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2Controller#getDocumentation(String, HttpServletRequest)] +2024-06-27 17:13:00.894 INFO [main] [] net.jjjerp.config.Swagger2Config 149 : swagger scan basePackages:null +2024-06-27 17:13:01.034 INFO [main] [] o.s.s.concurrent.ThreadPoolTaskExecutor 181 : Initializing ExecutorService 'applicationTaskExecutor' +2024-06-27 17:13:01.146 INFO [main] [] o.s.b.a.w.s.WelcomePageHandlerMapping 53 : Adding welcome page: class path resource [static/index.html] +2024-06-27 17:13:01.364 INFO [main] [] o.s.s.c.ThreadPoolTaskScheduler 181 : Initializing ExecutorService 'taskScheduler' +2024-06-27 17:13:01.462 INFO [main] [] o.a.coyote.http11.Http11NioProtocol 173 : Starting ProtocolHandler ["http-nio-8892"] +2024-06-27 17:13:01.480 INFO [main] [] o.s.b.w.embedded.tomcat.TomcatWebServer 220 : Tomcat started on port(s): 8892 (http) with context path '/api' +2024-06-27 17:13:01.482 INFO [main] [] d.s.w.p.DocumentationPluginsBootstrapper 160 : Context refreshed +2024-06-27 17:13:01.487 INFO [main] [] d.s.w.p.DocumentationPluginsBootstrapper 163 : Found 1 custom documentation plugin(s) +2024-06-27 17:13:01.522 INFO [main] [] s.d.s.w.s.ApiListingReferenceScanner 41 : Scanning for api listing references +2024-06-27 17:13:01.644 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_1 +2024-06-27 17:13:01.645 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_1 +2024-06-27 17:13:01.646 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_1 +2024-06-27 17:13:01.664 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_1 +2024-06-27 17:13:01.699 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_2 +2024-06-27 17:13:01.701 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_2 +2024-06-27 17:13:01.704 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_3 +2024-06-27 17:13:01.705 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_3 +2024-06-27 17:13:01.708 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_4 +2024-06-27 17:13:01.708 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_4 +2024-06-27 17:13:01.709 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexOutUsingPOST_1 +2024-06-27 17:13:01.712 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_5 +2024-06-27 17:13:01.719 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_5 +2024-06-27 17:13:01.719 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_2 +2024-06-27 17:13:01.720 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_2 +2024-06-27 17:13:01.739 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_6 +2024-06-27 17:13:01.740 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_7 +2024-06-27 17:13:01.745 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_8 +2024-06-27 17:13:01.753 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_6 +2024-06-27 17:13:01.754 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_3 +2024-06-27 17:13:01.755 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_3 +2024-06-27 17:13:01.764 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_9 +2024-06-27 17:13:01.793 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_10 +2024-06-27 17:13:01.795 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_7 +2024-06-27 17:13:01.796 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_4 +2024-06-27 17:13:01.796 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_4 +2024-06-27 17:13:01.799 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_11 +2024-06-27 17:13:01.804 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_8 +2024-06-27 17:13:01.805 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_5 +2024-06-27 17:13:01.806 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_5 +2024-06-27 17:13:01.810 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_12 +2024-06-27 17:13:01.813 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_9 +2024-06-27 17:13:01.813 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_6 +2024-06-27 17:13:01.814 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_6 +2024-06-27 17:13:01.819 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_13 +2024-06-27 17:13:01.820 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_1 +2024-06-27 17:13:01.822 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_10 +2024-06-27 17:13:01.823 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_7 +2024-06-27 17:13:01.824 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_7 +2024-06-27 17:13:01.826 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_14 +2024-06-27 17:13:01.828 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_11 +2024-06-27 17:13:01.829 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_8 +2024-06-27 17:13:01.830 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_8 +2024-06-27 17:13:01.831 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_15 +2024-06-27 17:13:01.832 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_12 +2024-06-27 17:13:01.835 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_9 +2024-06-27 17:13:01.836 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_9 +2024-06-27 17:13:01.839 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_16 +2024-06-27 17:13:01.841 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_17 +2024-06-27 17:13:01.847 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_13 +2024-06-27 17:13:01.848 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_10 +2024-06-27 17:13:01.851 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_18 +2024-06-27 17:13:01.854 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_1 +2024-06-27 17:13:01.866 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addGroupUsingPOST_1 +2024-06-27 17:13:01.867 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: categoryUsingPOST_1 +2024-06-27 17:13:01.868 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteFilesUsingPOST_1 +2024-06-27 17:13:01.868 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteGroupUsingPOST_1 +2024-06-27 17:13:01.869 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editGroupUsingPOST_1 +2024-06-27 17:13:01.874 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: listsUsingPOST_1 +2024-06-27 17:13:01.875 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: moveFilesUsingPOST_1 +2024-06-27 17:13:01.876 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_19 +2024-06-27 17:13:01.882 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_14 +2024-06-27 17:13:01.883 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_10 +2024-06-27 17:13:01.884 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteFilesUsingPOST_2 +2024-06-27 17:13:01.884 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_11 +2024-06-27 17:13:01.888 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_20 +2024-06-27 17:13:01.892 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: moveFilesUsingPOST_2 +2024-06-27 17:13:01.893 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_21 +2024-06-27 17:13:01.894 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: listUsingPOST_1 +2024-06-27 17:13:01.901 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_22 +2024-06-27 17:13:01.905 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_23 +2024-06-27 17:13:01.910 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_24 +2024-06-27 17:13:01.912 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_25 +2024-06-27 17:13:01.915 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_15 +2024-06-27 17:13:01.916 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_1 +2024-06-27 17:13:01.917 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_12 +2024-06-27 17:13:01.918 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_26 +2024-06-27 17:13:01.918 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: repulseAuditUsingPOST_1 +2024-06-27 17:13:01.921 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_16 +2024-06-27 17:13:01.922 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_11 +2024-06-27 17:13:01.923 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_13 +2024-06-27 17:13:01.929 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_27 +2024-06-27 17:13:01.933 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_17 +2024-06-27 17:13:01.934 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_12 +2024-06-27 17:13:01.935 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_14 +2024-06-27 17:13:01.937 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_28 +2024-06-27 17:13:01.938 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_18 +2024-06-27 17:13:01.939 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_29 +2024-06-27 17:13:01.943 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_30 +2024-06-27 17:13:01.945 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_19 +2024-06-27 17:13:01.945 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_1 +2024-06-27 17:13:01.946 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_31 +2024-06-27 17:13:01.947 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_1 +2024-06-27 17:13:01.948 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_32 +2024-06-27 17:13:01.950 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_20 +2024-06-27 17:13:01.950 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_2 +2024-06-27 17:13:01.950 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_33 +2024-06-27 17:13:01.959 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: loginUsingPOST_1 +2024-06-27 17:13:01.959 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: logoutUsingPOST_1 +2024-06-27 17:13:01.961 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_34 +2024-06-27 17:13:01.963 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_21 +2024-06-27 17:13:01.964 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_13 +2024-06-27 17:13:01.964 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_15 +2024-06-27 17:13:01.965 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_35 +2024-06-27 17:13:01.967 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_2 +2024-06-27 17:13:01.972 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_22 +2024-06-27 17:13:01.972 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_14 +2024-06-27 17:13:01.973 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_16 +2024-06-27 17:13:01.978 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_36 +2024-06-27 17:13:01.978 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: stateUsingPOST_1 +2024-06-27 17:13:01.979 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_1 +2024-06-27 17:13:01.979 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_3 +2024-06-27 17:13:01.980 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_23 +2024-06-27 17:13:01.981 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_2 +2024-06-27 17:13:01.981 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_2 +2024-06-27 17:13:01.983 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_17 +2024-06-27 17:13:01.983 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_37 +2024-06-27 17:13:01.985 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_3 +2024-06-27 17:13:01.986 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_18 +2024-06-27 17:13:01.986 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_38 +2024-06-27 17:13:01.988 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addStorageUsingPOST_1 +2024-06-27 17:13:01.989 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_4 +2024-06-27 17:13:01.989 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_3 +2024-06-27 17:13:01.990 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_19 +2024-06-27 17:13:01.990 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_39 +2024-06-27 17:13:01.992 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_40 +2024-06-27 17:13:01.993 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_24 +2024-06-27 17:13:01.994 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_20 +2024-06-27 17:13:01.994 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_3 +2024-06-27 17:13:01.998 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_25 +2024-06-27 17:13:01.999 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_15 +2024-06-27 17:13:01.999 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_21 +2024-06-27 17:13:02.000 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_41 +2024-06-27 17:13:02.001 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_2 +2024-06-27 17:13:02.001 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_4 +2024-06-27 17:13:02.003 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: scanIndexUsingPOST_1 +2024-06-27 17:13:02.004 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_42 +2024-06-27 17:13:02.005 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_1 +2024-06-27 17:13:02.007 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_26 +2024-06-27 17:13:02.008 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_16 +2024-06-27 17:13:02.008 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_22 +2024-06-27 17:13:02.014 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_43 +2024-06-27 17:13:02.017 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_27 +2024-06-27 17:13:02.017 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_17 +2024-06-27 17:13:02.018 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_23 +2024-06-27 17:13:02.019 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_44 +2024-06-27 17:13:02.019 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_3 +2024-06-27 17:13:02.020 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_5 +2024-06-27 17:13:02.022 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_28 +2024-06-27 17:13:02.022 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_18 +2024-06-27 17:13:02.023 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_24 +2024-06-27 17:13:02.025 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_45 +2024-06-27 17:13:02.026 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_46 +2024-06-27 17:13:02.026 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_2 +2024-06-27 17:13:02.028 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_29 +2024-06-27 17:13:02.028 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_47 +2024-06-27 17:13:02.029 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_48 +2024-06-27 17:13:02.030 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_49 +2024-06-27 17:13:02.030 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_3 +2024-06-27 17:13:02.033 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_30 +2024-06-27 17:13:02.033 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_19 +2024-06-27 17:13:02.034 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_25 +2024-06-27 17:13:02.038 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_50 +2024-06-27 17:13:02.038 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_2 +2024-06-27 17:13:02.039 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_4 +2024-06-27 17:13:02.039 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_6 +2024-06-27 17:13:02.043 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_31 +2024-06-27 17:13:02.043 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_20 +2024-06-27 17:13:02.044 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_26 +2024-06-27 17:13:02.048 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_51 +2024-06-27 17:13:02.048 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_3 +2024-06-27 17:13:02.049 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_7 +2024-06-27 17:13:02.049 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_52 +2024-06-27 17:13:02.049 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_4 +2024-06-27 17:13:02.051 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_32 +2024-06-27 17:13:02.052 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_21 +2024-06-27 17:13:02.052 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_27 +2024-06-27 17:13:02.054 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_53 +2024-06-27 17:13:02.058 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: uploadUsingPOST_1 +2024-06-27 17:13:02.078 INFO [main] [] net.jjjerp.SpringBootJjjApplication 61 : Started SpringBootJjjApplication in 10.652 seconds (JVM running for 11.223) +2024-06-27 17:13:02.081 INFO [main] [] n.j.framework.util.PrintApplicationInfo 61 : projectFinalName : jjj-erp-1.0 +2024-06-27 17:13:02.081 INFO [main] [] n.j.framework.util.PrintApplicationInfo 62 : projectVersion : 1.0 +2024-06-27 17:13:02.081 INFO [main] [] n.j.framework.util.PrintApplicationInfo 63 : profileActive : prod +2024-06-27 17:13:02.081 INFO [main] [] n.j.framework.util.PrintApplicationInfo 64 : contextPath : /api +2024-06-27 17:13:02.081 INFO [main] [] n.j.framework.util.PrintApplicationInfo 65 : serverIp : http://erp3.huadeng.fun +2024-06-27 17:13:02.081 INFO [main] [] n.j.framework.util.PrintApplicationInfo 66 : port : 8892 +2024-06-27 17:13:02.081 INFO [main] [] n.j.framework.util.PrintApplicationInfo 81 : Home: http://erp3.huadeng.fun/api +2024-06-27 17:13:02.081 INFO [main] [] n.j.framework.util.PrintApplicationInfo 82 : Knife4j: http://erp3.huadeng.fun/api/doc.html +2024-06-27 17:13:02.081 INFO [main] [] n.j.framework.util.PrintApplicationInfo 83 : Swagger: http://erp3.huadeng.fun/api/swagger-ui.html +2024-06-27 17:13:02.081 INFO [main] [] n.j.framework.util.PrintApplicationInfo 84 : jjj-erp 启动成功........... + ____ __ __ ____ +/\ _`\ /\ \__ /\ \__ /\ _`\ +\ \,\L\_\ \ ,_\ __ _ __\ \ ,_\ \ \,\L\_\ __ __ ___ ___ __ ____ ____ + \/_\__ \\ \ \/ /'__`\ /\`'__\ \ \/ \/_\__ \ /\ \/\ \ /'___\ /'___\ /'__`\ /',__\ /',__\ + /\ \L\ \ \ \_/\ \L\.\_\ \ \/ \ \ \_ /\ \L\ \ \ \_\ \/\ \__//\ \__//\ __//\__, `\/\__, `\ + \ `\____\ \__\ \__/.\_\\ \_\ \ \__\ \ `\____\ \____/\ \____\ \____\ \____\/\____/\/\____/ + \/_____/\/__/\/__/\/_/ \/_/ \/__/ \/_____/\/___/ \/____/\/____/\/____/\/___/ \/___/ + + +2024-06-27 17:16:34.171 INFO [SpringContextShutdownHook] [] net.jjjerp.framework.core.xss.XssFilter 30 : XssFilter destroy +2024-06-27 17:16:34.171 INFO [SpringContextShutdownHook] [] n.j.f.core.filter.RequestDetailFilter 116 : RequestDetailFilter destroy +2024-06-27 17:16:34.175 INFO [SpringContextShutdownHook] [] o.s.s.c.ThreadPoolTaskScheduler 218 : Shutting down ExecutorService 'taskScheduler' +2024-06-27 17:16:34.176 INFO [SpringContextShutdownHook] [] o.s.s.concurrent.ThreadPoolTaskExecutor 218 : Shutting down ExecutorService 'applicationTaskExecutor' +2024-06-27 17:16:38.038 INFO [background-preinit] [] o.h.validator.internal.util.Version 21 : HV000001: Hibernate Validator 6.1.7.Final +2024-06-27 17:16:38.044 INFO [main] [] net.jjjerp.SpringBootJjjApplication 55 : Starting SpringBootJjjApplication on OS-20230506YKNI with PID 1376 (D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\bootstrap\target\classes started by Administrator in D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp) +2024-06-27 17:16:38.044 INFO [main] [] net.jjjerp.SpringBootJjjApplication 652 : The following profiles are active: prod +2024-06-27 17:16:39.973 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 249 : Multiple Spring Data modules found, entering strict repository configuration mode! +2024-06-27 17:16:39.975 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 127 : Bootstrapping Spring Data Redis repositories in DEFAULT mode. +2024-06-27 17:16:40.160 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 187 : Finished Spring Data repository scanning in 170ms. Found 0 Redis repository interfaces. +2024-06-27 17:16:40.537 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.ShiroConfig' of type [net.jjjerp.config.ShiroConfig$$EnhancerBySpringCGLIB$$750db2cf] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 17:16:40.622 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.properties.JwtProperties' of type [net.jjjerp.config.properties.JwtProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 17:16:40.624 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.RedisTemplateConfig' of type [net.jjjerp.config.RedisTemplateConfig$$EnhancerBySpringCGLIB$$4472bd73] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 17:16:40.632 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'spring.redis-org.springframework.boot.autoconfigure.data.redis.RedisProperties' of type [org.springframework.boot.autoconfigure.data.redis.RedisProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 17:16:40.634 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration' of type [org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 17:16:40.689 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'lettuceClientResources' of type [io.lettuce.core.resource.DefaultClientResources] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 17:16:40.780 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'redisConnectionFactory' of type [org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 17:16:40.828 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'redisTemplate' of type [org.springframework.data.redis.core.RedisTemplate] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 17:16:40.829 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.cache.impl.AdminLoginRedisServiceImpl' of type [net.jjjerp.framework.shiro.cache.impl.AdminLoginRedisServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 17:16:40.833 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.cache.impl.ShopLoginRedisServiceImpl' of type [net.jjjerp.framework.shiro.cache.impl.ShopLoginRedisServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 17:16:40.942 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'credentialsMatcher' of type [net.jjjerp.framework.shiro.jwt.JwtCredentialsMatcher] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 17:16:40.949 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'jwtRealm' of type [net.jjjerp.framework.shiro.jwt.JwtRealm] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 17:16:40.950 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'sessionStorageEvaluator' of type [org.apache.shiro.web.mgt.DefaultWebSessionStorageEvaluator] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 17:16:40.950 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'subjectDAO' of type [org.apache.shiro.mgt.DefaultSubjectDAO] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 17:16:40.952 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'securityManager' of type [org.apache.shiro.web.mgt.DefaultWebSecurityManager] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 17:16:40.971 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.service.impl.ShiroLoginServiceImpl' of type [net.jjjerp.framework.shiro.service.impl.ShiroLoginServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 17:16:40.978 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'spring-boot-jjj.shiro-net.jjjerp.config.properties.ShiroProperties' of type [net.jjjerp.config.properties.ShiroProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 17:16:41.063 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'authorizationAttributeSourceAdvisor' of type [org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 17:16:41.225 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.RedisCacheConfig' of type [net.jjjerp.config.RedisCacheConfig$$EnhancerBySpringCGLIB$$f9af9475] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 17:16:41.662 INFO [main] [] o.s.b.w.embedded.tomcat.TomcatWebServer 108 : Tomcat initialized with port(s): 8892 (http) +2024-06-27 17:16:41.675 INFO [main] [] o.a.coyote.http11.Http11NioProtocol 173 : Initializing ProtocolHandler ["http-nio-8892"] +2024-06-27 17:16:41.675 INFO [main] [] o.apache.catalina.core.StandardService 173 : Starting service [Tomcat] +2024-06-27 17:16:41.675 INFO [main] [] org.apache.catalina.core.StandardEngine 173 : Starting Servlet engine: [Apache Tomcat/9.0.46] +2024-06-27 17:16:41.778 INFO [main] [] o.a.c.c.C.[Tomcat].[localhost].[/api] 173 : Initializing Spring embedded WebApplicationContext +2024-06-27 17:16:41.778 INFO [main] [] w.s.c.ServletWebServerApplicationContext 285 : Root WebApplicationContext: initialization completed in 3666 ms +2024-06-27 17:16:41.964 INFO [main] [] net.jjjerp.framework.core.xss.XssFilter 18 : XssFilter init +2024-06-27 17:16:41.964 INFO [main] [] n.j.f.core.filter.RequestDetailFilter 30 : RequestDetailFilter init +2024-06-27 17:16:45.849 INFO [main] [] org.reflections.Reflections 228 : Reflections took 40 ms to scan 1 urls, producing 0 keys and 0 values +2024-06-27 17:16:45.949 INFO [main] [] net.jjjerp.framework.shiro.util.JwtUtil 33 : {"audience":"web","expireSecond":36000,"issuer":"spring-boot-jjj","redisCheck":true,"refreshToken":true,"refreshTokenCountdown":600,"saltCheck":true,"secret":"888888","singleLogin":false,"tokenName":"token"} +2024-06-27 17:16:48.995 INFO [main] [] pertySourcedRequestMappingHandlerMapping 69 : Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2Controller#getDocumentation(String, HttpServletRequest)] +2024-06-27 17:16:49.018 INFO [main] [] net.jjjerp.config.Swagger2Config 149 : swagger scan basePackages:null +2024-06-27 17:16:49.164 INFO [main] [] o.s.s.concurrent.ThreadPoolTaskExecutor 181 : Initializing ExecutorService 'applicationTaskExecutor' +2024-06-27 17:16:49.262 INFO [main] [] o.s.b.a.w.s.WelcomePageHandlerMapping 53 : Adding welcome page: class path resource [static/index.html] +2024-06-27 17:16:49.473 INFO [main] [] o.s.s.c.ThreadPoolTaskScheduler 181 : Initializing ExecutorService 'taskScheduler' +2024-06-27 17:16:49.593 INFO [main] [] o.a.coyote.http11.Http11NioProtocol 173 : Starting ProtocolHandler ["http-nio-8892"] +2024-06-27 17:16:49.613 INFO [main] [] o.s.b.w.embedded.tomcat.TomcatWebServer 220 : Tomcat started on port(s): 8892 (http) with context path '/api' +2024-06-27 17:16:49.614 INFO [main] [] d.s.w.p.DocumentationPluginsBootstrapper 160 : Context refreshed +2024-06-27 17:16:49.622 INFO [main] [] d.s.w.p.DocumentationPluginsBootstrapper 163 : Found 1 custom documentation plugin(s) +2024-06-27 17:16:49.670 INFO [main] [] s.d.s.w.s.ApiListingReferenceScanner 41 : Scanning for api listing references +2024-06-27 17:16:49.791 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_1 +2024-06-27 17:16:49.793 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_1 +2024-06-27 17:16:49.794 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_1 +2024-06-27 17:16:49.810 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_1 +2024-06-27 17:16:49.845 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_2 +2024-06-27 17:16:49.847 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_2 +2024-06-27 17:16:49.849 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_3 +2024-06-27 17:16:49.850 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_3 +2024-06-27 17:16:49.853 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_4 +2024-06-27 17:16:49.854 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_4 +2024-06-27 17:16:49.855 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexOutUsingPOST_1 +2024-06-27 17:16:49.857 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_5 +2024-06-27 17:16:49.864 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_5 +2024-06-27 17:16:49.865 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_2 +2024-06-27 17:16:49.865 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_2 +2024-06-27 17:16:49.880 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_6 +2024-06-27 17:16:49.881 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_7 +2024-06-27 17:16:49.885 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_8 +2024-06-27 17:16:49.918 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_6 +2024-06-27 17:16:49.918 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_3 +2024-06-27 17:16:49.919 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_3 +2024-06-27 17:16:49.926 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_9 +2024-06-27 17:16:49.929 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_10 +2024-06-27 17:16:49.932 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_7 +2024-06-27 17:16:49.932 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_4 +2024-06-27 17:16:49.933 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_4 +2024-06-27 17:16:49.935 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_11 +2024-06-27 17:16:49.942 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_8 +2024-06-27 17:16:49.943 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_5 +2024-06-27 17:16:49.943 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_5 +2024-06-27 17:16:49.946 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_12 +2024-06-27 17:16:49.950 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_9 +2024-06-27 17:16:49.950 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_6 +2024-06-27 17:16:49.951 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_6 +2024-06-27 17:16:49.956 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_13 +2024-06-27 17:16:49.957 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_1 +2024-06-27 17:16:49.959 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_10 +2024-06-27 17:16:49.959 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_7 +2024-06-27 17:16:49.960 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_7 +2024-06-27 17:16:49.961 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_14 +2024-06-27 17:16:49.962 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_11 +2024-06-27 17:16:49.963 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_8 +2024-06-27 17:16:49.963 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_8 +2024-06-27 17:16:49.964 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_15 +2024-06-27 17:16:49.965 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_12 +2024-06-27 17:16:49.968 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_9 +2024-06-27 17:16:49.968 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_9 +2024-06-27 17:16:49.972 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_16 +2024-06-27 17:16:49.974 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_17 +2024-06-27 17:16:49.979 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_13 +2024-06-27 17:16:49.980 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_10 +2024-06-27 17:16:49.983 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_18 +2024-06-27 17:16:49.984 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_1 +2024-06-27 17:16:49.995 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addGroupUsingPOST_1 +2024-06-27 17:16:49.995 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: categoryUsingPOST_1 +2024-06-27 17:16:49.996 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteFilesUsingPOST_1 +2024-06-27 17:16:49.997 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteGroupUsingPOST_1 +2024-06-27 17:16:49.997 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editGroupUsingPOST_1 +2024-06-27 17:16:50.002 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: listsUsingPOST_1 +2024-06-27 17:16:50.003 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: moveFilesUsingPOST_1 +2024-06-27 17:16:50.004 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_19 +2024-06-27 17:16:50.009 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_20 +2024-06-27 17:16:50.013 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_14 +2024-06-27 17:16:50.014 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_10 +2024-06-27 17:16:50.015 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteFilesUsingPOST_2 +2024-06-27 17:16:50.015 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_11 +2024-06-27 17:16:50.016 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_21 +2024-06-27 17:16:50.016 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: listUsingPOST_1 +2024-06-27 17:16:50.017 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: moveFilesUsingPOST_2 +2024-06-27 17:16:50.023 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_22 +2024-06-27 17:16:50.026 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_23 +2024-06-27 17:16:50.029 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_24 +2024-06-27 17:16:50.030 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_25 +2024-06-27 17:16:50.033 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_15 +2024-06-27 17:16:50.034 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_1 +2024-06-27 17:16:50.035 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_12 +2024-06-27 17:16:50.036 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_26 +2024-06-27 17:16:50.037 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: repulseAuditUsingPOST_1 +2024-06-27 17:16:50.039 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_16 +2024-06-27 17:16:50.040 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_11 +2024-06-27 17:16:50.041 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_13 +2024-06-27 17:16:50.044 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_27 +2024-06-27 17:16:50.048 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_17 +2024-06-27 17:16:50.048 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_12 +2024-06-27 17:16:50.049 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_14 +2024-06-27 17:16:50.051 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_28 +2024-06-27 17:16:50.053 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_18 +2024-06-27 17:16:50.054 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_29 +2024-06-27 17:16:50.058 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_30 +2024-06-27 17:16:50.059 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_19 +2024-06-27 17:16:50.060 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_1 +2024-06-27 17:16:50.060 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_31 +2024-06-27 17:16:50.062 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_1 +2024-06-27 17:16:50.063 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_32 +2024-06-27 17:16:50.064 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_20 +2024-06-27 17:16:50.065 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_2 +2024-06-27 17:16:50.065 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_33 +2024-06-27 17:16:50.074 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: loginUsingPOST_1 +2024-06-27 17:16:50.075 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: logoutUsingPOST_1 +2024-06-27 17:16:50.076 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_34 +2024-06-27 17:16:50.079 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_21 +2024-06-27 17:16:50.079 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_13 +2024-06-27 17:16:50.080 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_15 +2024-06-27 17:16:50.080 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_35 +2024-06-27 17:16:50.082 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_2 +2024-06-27 17:16:50.085 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_22 +2024-06-27 17:16:50.086 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_14 +2024-06-27 17:16:50.087 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_16 +2024-06-27 17:16:50.091 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_36 +2024-06-27 17:16:50.092 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: stateUsingPOST_1 +2024-06-27 17:16:50.092 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_1 +2024-06-27 17:16:50.092 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_3 +2024-06-27 17:16:50.095 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_23 +2024-06-27 17:16:50.096 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_2 +2024-06-27 17:16:50.097 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_2 +2024-06-27 17:16:50.098 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_17 +2024-06-27 17:16:50.099 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_37 +2024-06-27 17:16:50.101 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_3 +2024-06-27 17:16:50.102 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_18 +2024-06-27 17:16:50.102 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_38 +2024-06-27 17:16:50.104 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addStorageUsingPOST_1 +2024-06-27 17:16:50.105 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_4 +2024-06-27 17:16:50.106 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_3 +2024-06-27 17:16:50.106 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_19 +2024-06-27 17:16:50.107 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_39 +2024-06-27 17:16:50.108 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_40 +2024-06-27 17:16:50.109 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_24 +2024-06-27 17:16:50.110 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_20 +2024-06-27 17:16:50.110 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_3 +2024-06-27 17:16:50.114 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_25 +2024-06-27 17:16:50.115 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_15 +2024-06-27 17:16:50.115 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_21 +2024-06-27 17:16:50.116 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_41 +2024-06-27 17:16:50.117 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_2 +2024-06-27 17:16:50.117 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_4 +2024-06-27 17:16:50.119 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: scanIndexUsingPOST_1 +2024-06-27 17:16:50.121 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_42 +2024-06-27 17:16:50.121 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_1 +2024-06-27 17:16:50.124 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_26 +2024-06-27 17:16:50.124 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_16 +2024-06-27 17:16:50.125 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_22 +2024-06-27 17:16:50.128 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_43 +2024-06-27 17:16:50.131 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_27 +2024-06-27 17:16:50.132 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_17 +2024-06-27 17:16:50.132 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_23 +2024-06-27 17:16:50.133 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_44 +2024-06-27 17:16:50.134 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_3 +2024-06-27 17:16:50.134 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_5 +2024-06-27 17:16:50.136 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_28 +2024-06-27 17:16:50.137 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_18 +2024-06-27 17:16:50.137 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_24 +2024-06-27 17:16:50.140 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_45 +2024-06-27 17:16:50.141 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_46 +2024-06-27 17:16:50.142 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_2 +2024-06-27 17:16:50.143 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_29 +2024-06-27 17:16:50.144 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_47 +2024-06-27 17:16:50.145 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_48 +2024-06-27 17:16:50.145 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_49 +2024-06-27 17:16:50.146 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_3 +2024-06-27 17:16:50.148 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_30 +2024-06-27 17:16:50.149 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_19 +2024-06-27 17:16:50.149 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_25 +2024-06-27 17:16:50.153 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_50 +2024-06-27 17:16:50.154 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_2 +2024-06-27 17:16:50.154 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_4 +2024-06-27 17:16:50.155 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_6 +2024-06-27 17:16:50.159 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_31 +2024-06-27 17:16:50.159 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_20 +2024-06-27 17:16:50.160 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_26 +2024-06-27 17:16:50.165 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_51 +2024-06-27 17:16:50.165 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_3 +2024-06-27 17:16:50.166 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_7 +2024-06-27 17:16:50.166 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_52 +2024-06-27 17:16:50.167 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_4 +2024-06-27 17:16:50.169 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_32 +2024-06-27 17:16:50.170 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_21 +2024-06-27 17:16:50.171 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_27 +2024-06-27 17:16:50.173 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_53 +2024-06-27 17:16:50.178 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: uploadUsingPOST_1 +2024-06-27 17:16:50.197 INFO [main] [] net.jjjerp.SpringBootJjjApplication 61 : Started SpringBootJjjApplication in 13.323 seconds (JVM running for 13.958) +2024-06-27 17:16:50.200 INFO [main] [] n.j.framework.util.PrintApplicationInfo 61 : projectFinalName : jjj-erp-1.0 +2024-06-27 17:16:50.200 INFO [main] [] n.j.framework.util.PrintApplicationInfo 62 : projectVersion : 1.0 +2024-06-27 17:16:50.200 INFO [main] [] n.j.framework.util.PrintApplicationInfo 63 : profileActive : prod +2024-06-27 17:16:50.200 INFO [main] [] n.j.framework.util.PrintApplicationInfo 64 : contextPath : /api +2024-06-27 17:16:50.200 INFO [main] [] n.j.framework.util.PrintApplicationInfo 65 : serverIp : http://erp3.huadeng.fun +2024-06-27 17:16:50.200 INFO [main] [] n.j.framework.util.PrintApplicationInfo 66 : port : 8892 +2024-06-27 17:16:50.200 INFO [main] [] n.j.framework.util.PrintApplicationInfo 81 : Home: http://erp3.huadeng.fun/api +2024-06-27 17:16:50.200 INFO [main] [] n.j.framework.util.PrintApplicationInfo 82 : Knife4j: http://erp3.huadeng.fun/api/doc.html +2024-06-27 17:16:50.200 INFO [main] [] n.j.framework.util.PrintApplicationInfo 83 : Swagger: http://erp3.huadeng.fun/api/swagger-ui.html +2024-06-27 17:16:50.200 INFO [main] [] n.j.framework.util.PrintApplicationInfo 84 : jjj-erp 启动成功........... + ____ __ __ ____ +/\ _`\ /\ \__ /\ \__ /\ _`\ +\ \,\L\_\ \ ,_\ __ _ __\ \ ,_\ \ \,\L\_\ __ __ ___ ___ __ ____ ____ + \/_\__ \\ \ \/ /'__`\ /\`'__\ \ \/ \/_\__ \ /\ \/\ \ /'___\ /'___\ /'__`\ /',__\ /',__\ + /\ \L\ \ \ \_/\ \L\.\_\ \ \/ \ \ \_ /\ \L\ \ \ \_\ \/\ \__//\ \__//\ __//\__, `\/\__, `\ + \ `\____\ \__\ \__/.\_\\ \_\ \ \__\ \ `\____\ \____/\ \____\ \____\ \____\/\____/\/\____/ + \/_____/\/__/\/__/\/_/ \/_/ \/__/ \/_____/\/___/ \/____/\/____/\/____/\/___/ \/___/ + + +2024-06-27 17:18:17.522 INFO [http-nio-8892-exec-2] [] o.a.c.c.C.[Tomcat].[localhost].[/api] 173 : Initializing Spring DispatcherServlet 'dispatcherServlet' +2024-06-27 17:18:17.523 INFO [http-nio-8892-exec-2] [] o.s.web.servlet.DispatcherServlet 525 : Initializing Servlet 'dispatcherServlet' +2024-06-27 17:18:17.532 INFO [http-nio-8892-exec-2] [] o.s.web.servlet.DispatcherServlet 547 : Completed initialization in 9 ms +2024-06-27 17:18:18.470 INFO [http-nio-8892-exec-1] [1806255726216245249] com.zaxxer.hikari.HikariDataSource 110 : HikariPool-1 - Starting... +2024-06-27 17:18:18.897 INFO [http-nio-8892-exec-1] [1806255726216245249] com.zaxxer.hikari.HikariDataSource 123 : HikariPool-1 - Start completed. +2024-06-27 17:26:07.479 WARN [http-nio-8892-exec-20] [1806257671249227778] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@41c291d5 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-27 17:30:47.789 WARN [http-nio-8892-exec-26] [1806258847806025730] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@320f467c (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-27 17:38:13.632 INFO [SpringContextShutdownHook] [] net.jjjerp.framework.core.xss.XssFilter 30 : XssFilter destroy +2024-06-27 17:38:13.632 INFO [SpringContextShutdownHook] [] n.j.f.core.filter.RequestDetailFilter 116 : RequestDetailFilter destroy +2024-06-27 17:38:13.640 INFO [SpringContextShutdownHook] [] o.s.s.c.ThreadPoolTaskScheduler 218 : Shutting down ExecutorService 'taskScheduler' +2024-06-27 17:38:13.641 INFO [SpringContextShutdownHook] [] o.s.s.concurrent.ThreadPoolTaskExecutor 218 : Shutting down ExecutorService 'applicationTaskExecutor' +2024-06-27 17:38:13.645 INFO [SpringContextShutdownHook] [] com.zaxxer.hikari.HikariDataSource 350 : HikariPool-1 - Shutdown initiated... +2024-06-27 17:38:13.647 INFO [SpringContextShutdownHook] [] com.zaxxer.hikari.HikariDataSource 352 : HikariPool-1 - Shutdown completed. +2024-06-27 17:38:25.164 INFO [background-preinit] [] o.h.validator.internal.util.Version 21 : HV000001: Hibernate Validator 6.1.7.Final +2024-06-27 17:38:25.168 INFO [main] [] net.jjjerp.SpringBootJjjApplication 55 : Starting SpringBootJjjApplication on OS-20230506YKNI with PID 9948 (D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\bootstrap\target\classes started by Administrator in D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp) +2024-06-27 17:38:25.168 INFO [main] [] net.jjjerp.SpringBootJjjApplication 652 : The following profiles are active: prod +2024-06-27 17:38:26.182 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 249 : Multiple Spring Data modules found, entering strict repository configuration mode! +2024-06-27 17:38:26.183 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 127 : Bootstrapping Spring Data Redis repositories in DEFAULT mode. +2024-06-27 17:38:26.307 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 187 : Finished Spring Data repository scanning in 112ms. Found 0 Redis repository interfaces. +2024-06-27 17:38:26.567 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.ShiroConfig' of type [net.jjjerp.config.ShiroConfig$$EnhancerBySpringCGLIB$$18c1f4b9] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 17:38:26.651 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.properties.JwtProperties' of type [net.jjjerp.config.properties.JwtProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 17:38:26.653 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.RedisTemplateConfig' of type [net.jjjerp.config.RedisTemplateConfig$$EnhancerBySpringCGLIB$$e826ff5d] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 17:38:26.661 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'spring.redis-org.springframework.boot.autoconfigure.data.redis.RedisProperties' of type [org.springframework.boot.autoconfigure.data.redis.RedisProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 17:38:26.664 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration' of type [org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 17:38:26.720 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'lettuceClientResources' of type [io.lettuce.core.resource.DefaultClientResources] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 17:38:26.825 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'redisConnectionFactory' of type [org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 17:38:26.871 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'redisTemplate' of type [org.springframework.data.redis.core.RedisTemplate] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 17:38:26.871 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.cache.impl.AdminLoginRedisServiceImpl' of type [net.jjjerp.framework.shiro.cache.impl.AdminLoginRedisServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 17:38:26.875 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.cache.impl.ShopLoginRedisServiceImpl' of type [net.jjjerp.framework.shiro.cache.impl.ShopLoginRedisServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 17:38:26.986 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'credentialsMatcher' of type [net.jjjerp.framework.shiro.jwt.JwtCredentialsMatcher] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 17:38:26.993 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'jwtRealm' of type [net.jjjerp.framework.shiro.jwt.JwtRealm] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 17:38:26.994 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'sessionStorageEvaluator' of type [org.apache.shiro.web.mgt.DefaultWebSessionStorageEvaluator] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 17:38:26.994 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'subjectDAO' of type [org.apache.shiro.mgt.DefaultSubjectDAO] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 17:38:26.996 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'securityManager' of type [org.apache.shiro.web.mgt.DefaultWebSecurityManager] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 17:38:27.016 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.service.impl.ShiroLoginServiceImpl' of type [net.jjjerp.framework.shiro.service.impl.ShiroLoginServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 17:38:27.023 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'spring-boot-jjj.shiro-net.jjjerp.config.properties.ShiroProperties' of type [net.jjjerp.config.properties.ShiroProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 17:38:27.104 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'authorizationAttributeSourceAdvisor' of type [org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 17:38:27.230 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.RedisCacheConfig' of type [net.jjjerp.config.RedisCacheConfig$$EnhancerBySpringCGLIB$$9d63d65f] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 17:38:27.500 INFO [main] [] o.s.b.w.embedded.tomcat.TomcatWebServer 108 : Tomcat initialized with port(s): 8892 (http) +2024-06-27 17:38:27.508 INFO [main] [] o.a.coyote.http11.Http11NioProtocol 173 : Initializing ProtocolHandler ["http-nio-8892"] +2024-06-27 17:38:27.508 INFO [main] [] o.apache.catalina.core.StandardService 173 : Starting service [Tomcat] +2024-06-27 17:38:27.508 INFO [main] [] org.apache.catalina.core.StandardEngine 173 : Starting Servlet engine: [Apache Tomcat/9.0.46] +2024-06-27 17:38:27.599 INFO [main] [] o.a.c.c.C.[Tomcat].[localhost].[/api] 173 : Initializing Spring embedded WebApplicationContext +2024-06-27 17:38:27.599 INFO [main] [] w.s.c.ServletWebServerApplicationContext 285 : Root WebApplicationContext: initialization completed in 2385 ms +2024-06-27 17:38:27.741 INFO [main] [] net.jjjerp.framework.core.xss.XssFilter 18 : XssFilter init +2024-06-27 17:38:27.742 INFO [main] [] n.j.f.core.filter.RequestDetailFilter 30 : RequestDetailFilter init +2024-06-27 17:38:31.123 INFO [main] [] org.reflections.Reflections 228 : Reflections took 47 ms to scan 1 urls, producing 0 keys and 0 values +2024-06-27 17:38:31.236 INFO [main] [] net.jjjerp.framework.shiro.util.JwtUtil 33 : {"audience":"web","expireSecond":36000,"issuer":"spring-boot-jjj","redisCheck":true,"refreshToken":true,"refreshTokenCountdown":600,"saltCheck":true,"secret":"888888","singleLogin":false,"tokenName":"token"} +2024-06-27 17:38:34.155 INFO [main] [] pertySourcedRequestMappingHandlerMapping 69 : Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2Controller#getDocumentation(String, HttpServletRequest)] +2024-06-27 17:38:34.171 INFO [main] [] net.jjjerp.config.Swagger2Config 149 : swagger scan basePackages:null +2024-06-27 17:38:34.292 INFO [main] [] o.s.s.concurrent.ThreadPoolTaskExecutor 181 : Initializing ExecutorService 'applicationTaskExecutor' +2024-06-27 17:38:34.376 INFO [main] [] o.s.b.a.w.s.WelcomePageHandlerMapping 53 : Adding welcome page: class path resource [static/index.html] +2024-06-27 17:38:34.564 INFO [main] [] o.s.s.c.ThreadPoolTaskScheduler 181 : Initializing ExecutorService 'taskScheduler' +2024-06-27 17:38:34.660 INFO [main] [] o.a.coyote.http11.Http11NioProtocol 173 : Starting ProtocolHandler ["http-nio-8892"] +2024-06-27 17:38:34.678 INFO [main] [] o.s.b.w.embedded.tomcat.TomcatWebServer 220 : Tomcat started on port(s): 8892 (http) with context path '/api' +2024-06-27 17:38:34.679 INFO [main] [] d.s.w.p.DocumentationPluginsBootstrapper 160 : Context refreshed +2024-06-27 17:38:34.684 INFO [main] [] d.s.w.p.DocumentationPluginsBootstrapper 163 : Found 1 custom documentation plugin(s) +2024-06-27 17:38:34.718 INFO [main] [] s.d.s.w.s.ApiListingReferenceScanner 41 : Scanning for api listing references +2024-06-27 17:38:34.864 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_1 +2024-06-27 17:38:34.866 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_1 +2024-06-27 17:38:34.867 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_1 +2024-06-27 17:38:34.885 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_1 +2024-06-27 17:38:34.929 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_2 +2024-06-27 17:38:34.930 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_2 +2024-06-27 17:38:34.933 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_3 +2024-06-27 17:38:34.934 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_3 +2024-06-27 17:38:34.937 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_4 +2024-06-27 17:38:34.938 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_4 +2024-06-27 17:38:34.938 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexOutUsingPOST_1 +2024-06-27 17:38:34.941 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_5 +2024-06-27 17:38:34.948 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_5 +2024-06-27 17:38:34.949 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_2 +2024-06-27 17:38:34.949 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_2 +2024-06-27 17:38:34.965 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_6 +2024-06-27 17:38:34.966 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_7 +2024-06-27 17:38:34.972 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_8 +2024-06-27 17:38:34.980 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_6 +2024-06-27 17:38:34.981 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_3 +2024-06-27 17:38:34.982 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_3 +2024-06-27 17:38:34.992 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_9 +2024-06-27 17:38:35.020 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_10 +2024-06-27 17:38:35.023 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_7 +2024-06-27 17:38:35.023 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_4 +2024-06-27 17:38:35.024 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_4 +2024-06-27 17:38:35.027 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_11 +2024-06-27 17:38:35.031 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_8 +2024-06-27 17:38:35.032 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_5 +2024-06-27 17:38:35.033 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_5 +2024-06-27 17:38:35.037 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_12 +2024-06-27 17:38:35.043 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_9 +2024-06-27 17:38:35.044 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_6 +2024-06-27 17:38:35.045 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_6 +2024-06-27 17:38:35.051 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_13 +2024-06-27 17:38:35.052 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_1 +2024-06-27 17:38:35.054 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_10 +2024-06-27 17:38:35.055 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_7 +2024-06-27 17:38:35.056 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_7 +2024-06-27 17:38:35.057 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_14 +2024-06-27 17:38:35.058 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_11 +2024-06-27 17:38:35.059 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_8 +2024-06-27 17:38:35.059 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_8 +2024-06-27 17:38:35.061 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_15 +2024-06-27 17:38:35.062 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_12 +2024-06-27 17:38:35.065 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_9 +2024-06-27 17:38:35.066 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_9 +2024-06-27 17:38:35.072 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_16 +2024-06-27 17:38:35.074 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_17 +2024-06-27 17:38:35.082 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_13 +2024-06-27 17:38:35.083 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_10 +2024-06-27 17:38:35.087 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_18 +2024-06-27 17:38:35.089 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_1 +2024-06-27 17:38:35.100 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addGroupUsingPOST_1 +2024-06-27 17:38:35.101 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: categoryUsingPOST_1 +2024-06-27 17:38:35.102 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteFilesUsingPOST_1 +2024-06-27 17:38:35.102 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteGroupUsingPOST_1 +2024-06-27 17:38:35.103 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editGroupUsingPOST_1 +2024-06-27 17:38:35.109 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: listsUsingPOST_1 +2024-06-27 17:38:35.110 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: moveFilesUsingPOST_1 +2024-06-27 17:38:35.112 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_19 +2024-06-27 17:38:35.119 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_14 +2024-06-27 17:38:35.121 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_10 +2024-06-27 17:38:35.121 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteFilesUsingPOST_2 +2024-06-27 17:38:35.122 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_11 +2024-06-27 17:38:35.124 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_20 +2024-06-27 17:38:35.127 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: moveFilesUsingPOST_2 +2024-06-27 17:38:35.127 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_21 +2024-06-27 17:38:35.128 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: listUsingPOST_1 +2024-06-27 17:38:35.136 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_22 +2024-06-27 17:38:35.140 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_23 +2024-06-27 17:38:35.144 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_24 +2024-06-27 17:38:35.146 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_25 +2024-06-27 17:38:35.149 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_15 +2024-06-27 17:38:35.150 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_1 +2024-06-27 17:38:35.151 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_12 +2024-06-27 17:38:35.152 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_26 +2024-06-27 17:38:35.152 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: repulseAuditUsingPOST_1 +2024-06-27 17:38:35.155 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_16 +2024-06-27 17:38:35.156 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_11 +2024-06-27 17:38:35.156 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_13 +2024-06-27 17:38:35.159 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_27 +2024-06-27 17:38:35.163 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_17 +2024-06-27 17:38:35.164 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_12 +2024-06-27 17:38:35.164 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_14 +2024-06-27 17:38:35.166 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_28 +2024-06-27 17:38:35.167 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_18 +2024-06-27 17:38:35.168 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_29 +2024-06-27 17:38:35.172 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_30 +2024-06-27 17:38:35.173 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_19 +2024-06-27 17:38:35.174 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_1 +2024-06-27 17:38:35.174 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_31 +2024-06-27 17:38:35.176 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_1 +2024-06-27 17:38:35.177 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_32 +2024-06-27 17:38:35.178 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_20 +2024-06-27 17:38:35.179 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_2 +2024-06-27 17:38:35.179 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_33 +2024-06-27 17:38:35.187 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: loginUsingPOST_1 +2024-06-27 17:38:35.188 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: logoutUsingPOST_1 +2024-06-27 17:38:35.189 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_34 +2024-06-27 17:38:35.192 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_21 +2024-06-27 17:38:35.193 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_13 +2024-06-27 17:38:35.193 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_15 +2024-06-27 17:38:35.194 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_35 +2024-06-27 17:38:35.195 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_2 +2024-06-27 17:38:35.199 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_22 +2024-06-27 17:38:35.199 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_14 +2024-06-27 17:38:35.200 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_16 +2024-06-27 17:38:35.203 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_36 +2024-06-27 17:38:35.204 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: stateUsingPOST_1 +2024-06-27 17:38:35.204 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_1 +2024-06-27 17:38:35.205 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_3 +2024-06-27 17:38:35.206 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_23 +2024-06-27 17:38:35.207 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_2 +2024-06-27 17:38:35.207 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_2 +2024-06-27 17:38:35.209 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_17 +2024-06-27 17:38:35.209 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_37 +2024-06-27 17:38:35.211 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_3 +2024-06-27 17:38:35.211 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_18 +2024-06-27 17:38:35.212 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_38 +2024-06-27 17:38:35.213 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addStorageUsingPOST_1 +2024-06-27 17:38:35.214 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_4 +2024-06-27 17:38:35.214 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_3 +2024-06-27 17:38:35.215 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_19 +2024-06-27 17:38:35.216 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_39 +2024-06-27 17:38:35.217 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_40 +2024-06-27 17:38:35.218 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_24 +2024-06-27 17:38:35.218 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_20 +2024-06-27 17:38:35.219 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_3 +2024-06-27 17:38:35.223 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_25 +2024-06-27 17:38:35.223 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_15 +2024-06-27 17:38:35.224 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_21 +2024-06-27 17:38:35.225 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_41 +2024-06-27 17:38:35.226 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_2 +2024-06-27 17:38:35.226 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_4 +2024-06-27 17:38:35.228 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: scanIndexUsingPOST_1 +2024-06-27 17:38:35.229 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_42 +2024-06-27 17:38:35.230 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_1 +2024-06-27 17:38:35.231 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_26 +2024-06-27 17:38:35.232 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_16 +2024-06-27 17:38:35.232 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_22 +2024-06-27 17:38:35.236 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_43 +2024-06-27 17:38:35.239 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_27 +2024-06-27 17:38:35.239 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_17 +2024-06-27 17:38:35.240 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_23 +2024-06-27 17:38:35.242 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_44 +2024-06-27 17:38:35.242 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_3 +2024-06-27 17:38:35.242 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_5 +2024-06-27 17:38:35.244 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_28 +2024-06-27 17:38:35.245 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_18 +2024-06-27 17:38:35.245 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_24 +2024-06-27 17:38:35.247 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_45 +2024-06-27 17:38:35.247 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_46 +2024-06-27 17:38:35.248 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_2 +2024-06-27 17:38:35.249 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_29 +2024-06-27 17:38:35.249 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_47 +2024-06-27 17:38:35.250 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_48 +2024-06-27 17:38:35.251 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_49 +2024-06-27 17:38:35.251 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_3 +2024-06-27 17:38:35.254 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_30 +2024-06-27 17:38:35.255 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_19 +2024-06-27 17:38:35.255 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_25 +2024-06-27 17:38:35.259 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_50 +2024-06-27 17:38:35.260 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_2 +2024-06-27 17:38:35.260 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_4 +2024-06-27 17:38:35.261 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_6 +2024-06-27 17:38:35.266 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_31 +2024-06-27 17:38:35.267 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_20 +2024-06-27 17:38:35.267 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_26 +2024-06-27 17:38:35.272 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_51 +2024-06-27 17:38:35.272 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_3 +2024-06-27 17:38:35.273 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_7 +2024-06-27 17:38:35.273 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_52 +2024-06-27 17:38:35.274 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_4 +2024-06-27 17:38:35.276 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_32 +2024-06-27 17:38:35.276 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_21 +2024-06-27 17:38:35.277 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_27 +2024-06-27 17:38:35.278 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_53 +2024-06-27 17:38:35.282 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: uploadUsingPOST_1 +2024-06-27 17:38:35.300 INFO [main] [] net.jjjerp.SpringBootJjjApplication 61 : Started SpringBootJjjApplication in 10.61 seconds (JVM running for 11.198) +2024-06-27 17:38:35.304 INFO [main] [] n.j.framework.util.PrintApplicationInfo 61 : projectFinalName : jjj-erp-1.0 +2024-06-27 17:38:35.304 INFO [main] [] n.j.framework.util.PrintApplicationInfo 62 : projectVersion : 1.0 +2024-06-27 17:38:35.304 INFO [main] [] n.j.framework.util.PrintApplicationInfo 63 : profileActive : prod +2024-06-27 17:38:35.304 INFO [main] [] n.j.framework.util.PrintApplicationInfo 64 : contextPath : /api +2024-06-27 17:38:35.304 INFO [main] [] n.j.framework.util.PrintApplicationInfo 65 : serverIp : http://erp3.huadeng.fun +2024-06-27 17:38:35.304 INFO [main] [] n.j.framework.util.PrintApplicationInfo 66 : port : 8892 +2024-06-27 17:38:35.304 INFO [main] [] n.j.framework.util.PrintApplicationInfo 81 : Home: http://erp3.huadeng.fun/api +2024-06-27 17:38:35.304 INFO [main] [] n.j.framework.util.PrintApplicationInfo 82 : Knife4j: http://erp3.huadeng.fun/api/doc.html +2024-06-27 17:38:35.304 INFO [main] [] n.j.framework.util.PrintApplicationInfo 83 : Swagger: http://erp3.huadeng.fun/api/swagger-ui.html +2024-06-27 17:38:35.304 INFO [main] [] n.j.framework.util.PrintApplicationInfo 84 : jjj-erp 启动成功........... + ____ __ __ ____ +/\ _`\ /\ \__ /\ \__ /\ _`\ +\ \,\L\_\ \ ,_\ __ _ __\ \ ,_\ \ \,\L\_\ __ __ ___ ___ __ ____ ____ + \/_\__ \\ \ \/ /'__`\ /\`'__\ \ \/ \/_\__ \ /\ \/\ \ /'___\ /'___\ /'__`\ /',__\ /',__\ + /\ \L\ \ \ \_/\ \L\.\_\ \ \/ \ \ \_ /\ \L\ \ \ \_\ \/\ \__//\ \__//\ __//\__, `\/\__, `\ + \ `\____\ \__\ \__/.\_\\ \_\ \ \__\ \ `\____\ \____/\ \____\ \____\ \____\/\____/\/\____/ + \/_____/\/__/\/__/\/_/ \/_/ \/__/ \/_____/\/___/ \/____/\/____/\/____/\/___/ \/___/ + + +2024-06-27 17:38:42.411 INFO [http-nio-8892-exec-3] [] o.a.c.c.C.[Tomcat].[localhost].[/api] 173 : Initializing Spring DispatcherServlet 'dispatcherServlet' +2024-06-27 17:38:42.411 INFO [http-nio-8892-exec-3] [] o.s.web.servlet.DispatcherServlet 525 : Initializing Servlet 'dispatcherServlet' +2024-06-27 17:38:42.421 INFO [http-nio-8892-exec-3] [] o.s.web.servlet.DispatcherServlet 547 : Completed initialization in 10 ms +2024-06-27 17:38:43.255 INFO [http-nio-8892-exec-3] [1806260863500460033] com.zaxxer.hikari.HikariDataSource 110 : HikariPool-1 - Starting... +2024-06-27 17:38:43.610 INFO [http-nio-8892-exec-3] [1806260863500460033] com.zaxxer.hikari.HikariDataSource 123 : HikariPool-1 - Start completed. +2024-06-27 17:41:24.278 ERROR [http-nio-8892-exec-16] [] n.jjjerp.handler.GlobalExceptionHandler 233 : 异常来源:ip: 192.168.31.226, path: /api/admin/bill/editAddress +2024-06-27 17:41:24.280 ERROR [http-nio-8892-exec-16] [] n.jjjerp.handler.GlobalExceptionHandler 257 : errorCode: 5003, errorMessage: HTTP内容类型异常 + +org.springframework.web.HttpMediaTypeNotSupportedException: Content type 'application/x-www-form-urlencoded;charset=UTF-8' not supported + at org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodArgumentResolver.readWithMessageConverters(AbstractMessageConverterMethodArgumentResolver.java:225) + at org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.readWithMessageConverters(RequestResponseBodyMethodProcessor.java:158) + at org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.resolveArgument(RequestResponseBodyMethodProcessor.java:131) + at org.springframework.web.method.support.HandlerMethodArgumentResolverComposite.resolveArgument(HandlerMethodArgumentResolverComposite.java:121) + at org.springframework.web.method.support.InvocableHandlerMethod.getMethodArgumentValues(InvocableHandlerMethod.java:167) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:134) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:652) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:112) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) + at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) + +2024-06-27 18:00:21.110 ERROR [http-nio-8892-exec-11] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy405.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-27 18:00:21.110 ERROR [http-nio-8892-exec-12] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy405.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-27 18:00:21.233 ERROR [http-nio-8892-exec-10] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy405.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-27 18:00:30.403 INFO [lettuce-eventExecutorLoop-1-8] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was /101.34.74.68:6379 +2024-06-27 18:00:30.429 INFO [lettuce-nioEventLoop-4-2] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to 101.34.74.68:6379 +2024-06-27 18:00:37.106 WARN [http-nio-8892-exec-13] [1806266353286553603] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@352a097 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-27 18:00:37.231 WARN [http-nio-8892-exec-15] [1806266353286553602] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@18841257 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-27 18:00:42.120 WARN [http-nio-8892-exec-13] [1806266353286553603] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@29619eec (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-27 18:00:42.244 WARN [http-nio-8892-exec-15] [1806266353286553602] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@2cb05d02 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-27 18:00:47.125 WARN [http-nio-8892-exec-13] [1806266353286553603] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@48b8dd75 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-27 18:00:47.250 WARN [http-nio-8892-exec-15] [1806266353286553602] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@1412e962 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-27 18:00:52.140 WARN [http-nio-8892-exec-13] [1806266353286553603] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@62bdd822 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-27 18:00:52.264 WARN [http-nio-8892-exec-15] [1806266353286553602] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@2d42dbea (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-27 18:00:57.148 WARN [http-nio-8892-exec-13] [1806266353286553603] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@21ed21d0 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-27 18:00:57.272 WARN [http-nio-8892-exec-15] [1806266353286553602] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@1b9496d5 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-27 18:09:15.133 ERROR [http-nio-8892-exec-28] [] n.jjjerp.handler.GlobalExceptionHandler 233 : 异常来源:ip: 192.168.31.226, path: /api/admin/market/audit/order/edit +2024-06-27 18:09:15.133 ERROR [http-nio-8892-exec-28] [] n.jjjerp.handler.GlobalExceptionHandler 257 : errorCode: 5000, errorMessage: 系统异常 + +java.lang.NullPointerException: null + at net.jjjerp.admin.service.bill.impl.BillHeadServiceImpl.editOrder(BillHeadServiceImpl.java:1575) + at net.jjjerp.admin.service.bill.impl.BillHeadServiceImpl$$FastClassBySpringCGLIB$$62790b2b.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.admin.service.bill.impl.BillHeadServiceImpl$$EnhancerBySpringCGLIB$$ec49462b.editOrder() + at net.jjjerp.admin.controller.market.audit.MarketOrderController.edit(MarketOrderController.java:65) + at net.jjjerp.admin.controller.market.audit.MarketOrderController$$FastClassBySpringCGLIB$$908cb7b8.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.AspectJAfterThrowingAdvice.invoke(AspectJAfterThrowingAdvice.java:62) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:88) + at net.jjjerp.framework.log.aop.BaseLogAop.handle(BaseLogAop.java:303) + at net.jjjerp.aop.LogAop.doAround(LogAop.java:35) + at net.jjjerp.aop.LogAop$$FastClassBySpringCGLIB$$189c4aae.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.aop.LogAop$$EnhancerBySpringCGLIB$$49ed1d0e.doAround() + at sun.reflect.GeneratedMethodAccessor777.invoke(Unknown Source) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:644) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:633) + at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.apache.shiro.spring.security.interceptor.AopAllianceAnnotationsAuthorizingMethodInterceptor$1.proceed(AopAllianceAnnotationsAuthorizingMethodInterceptor.java:82) + at org.apache.shiro.authz.aop.AuthorizingMethodInterceptor.invoke(AuthorizingMethodInterceptor.java:39) + at org.apache.shiro.spring.security.interceptor.AopAllianceAnnotationsAuthorizingMethodInterceptor.invoke(AopAllianceAnnotationsAuthorizingMethodInterceptor.java:115) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:95) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at net.jjjerp.admin.controller.market.audit.MarketOrderController$$EnhancerBySpringCGLIB$$839af878.edit() + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:652) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:112) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) + at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) + +2024-06-27 18:15:38.580 INFO [SpringContextShutdownHook] [] net.jjjerp.framework.core.xss.XssFilter 30 : XssFilter destroy +2024-06-27 18:15:38.581 INFO [SpringContextShutdownHook] [] n.j.f.core.filter.RequestDetailFilter 116 : RequestDetailFilter destroy +2024-06-27 18:15:38.587 INFO [SpringContextShutdownHook] [] o.s.s.c.ThreadPoolTaskScheduler 218 : Shutting down ExecutorService 'taskScheduler' +2024-06-27 18:15:38.588 INFO [SpringContextShutdownHook] [] o.s.s.concurrent.ThreadPoolTaskExecutor 218 : Shutting down ExecutorService 'applicationTaskExecutor' +2024-06-27 18:15:38.593 INFO [SpringContextShutdownHook] [] com.zaxxer.hikari.HikariDataSource 350 : HikariPool-1 - Shutdown initiated... +2024-06-27 18:15:38.595 INFO [SpringContextShutdownHook] [] com.zaxxer.hikari.HikariDataSource 352 : HikariPool-1 - Shutdown completed. +2024-06-27 18:15:50.747 INFO [main] [] net.jjjerp.SpringBootJjjApplication 55 : Starting SpringBootJjjApplication on OS-20230506YKNI with PID 12416 (D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\bootstrap\target\classes started by Administrator in D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp) +2024-06-27 18:15:50.752 INFO [main] [] net.jjjerp.SpringBootJjjApplication 652 : The following profiles are active: prod +2024-06-27 18:15:50.943 INFO [background-preinit] [] o.h.validator.internal.util.Version 21 : HV000001: Hibernate Validator 6.1.7.Final +2024-06-27 18:15:52.924 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 249 : Multiple Spring Data modules found, entering strict repository configuration mode! +2024-06-27 18:15:52.926 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 127 : Bootstrapping Spring Data Redis repositories in DEFAULT mode. +2024-06-27 18:15:53.062 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 187 : Finished Spring Data repository scanning in 123ms. Found 0 Redis repository interfaces. +2024-06-27 18:15:53.361 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.ShiroConfig' of type [net.jjjerp.config.ShiroConfig$$EnhancerBySpringCGLIB$$e4f9693] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 18:15:53.460 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.properties.JwtProperties' of type [net.jjjerp.config.properties.JwtProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 18:15:53.463 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.RedisTemplateConfig' of type [net.jjjerp.config.RedisTemplateConfig$$EnhancerBySpringCGLIB$$ddb4a137] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 18:15:53.473 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'spring.redis-org.springframework.boot.autoconfigure.data.redis.RedisProperties' of type [org.springframework.boot.autoconfigure.data.redis.RedisProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 18:15:53.476 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration' of type [org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 18:15:53.539 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'lettuceClientResources' of type [io.lettuce.core.resource.DefaultClientResources] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 18:15:53.635 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'redisConnectionFactory' of type [org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 18:15:53.685 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'redisTemplate' of type [org.springframework.data.redis.core.RedisTemplate] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 18:15:53.685 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.cache.impl.AdminLoginRedisServiceImpl' of type [net.jjjerp.framework.shiro.cache.impl.AdminLoginRedisServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 18:15:53.690 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.cache.impl.ShopLoginRedisServiceImpl' of type [net.jjjerp.framework.shiro.cache.impl.ShopLoginRedisServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 18:15:53.803 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'credentialsMatcher' of type [net.jjjerp.framework.shiro.jwt.JwtCredentialsMatcher] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 18:15:53.810 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'jwtRealm' of type [net.jjjerp.framework.shiro.jwt.JwtRealm] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 18:15:53.811 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'sessionStorageEvaluator' of type [org.apache.shiro.web.mgt.DefaultWebSessionStorageEvaluator] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 18:15:53.811 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'subjectDAO' of type [org.apache.shiro.mgt.DefaultSubjectDAO] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 18:15:53.813 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'securityManager' of type [org.apache.shiro.web.mgt.DefaultWebSecurityManager] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 18:15:53.834 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.service.impl.ShiroLoginServiceImpl' of type [net.jjjerp.framework.shiro.service.impl.ShiroLoginServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 18:15:53.843 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'spring-boot-jjj.shiro-net.jjjerp.config.properties.ShiroProperties' of type [net.jjjerp.config.properties.ShiroProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 18:15:53.928 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'authorizationAttributeSourceAdvisor' of type [org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 18:15:54.062 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.RedisCacheConfig' of type [net.jjjerp.config.RedisCacheConfig$$EnhancerBySpringCGLIB$$92f17839] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 18:15:54.327 INFO [main] [] o.s.b.w.embedded.tomcat.TomcatWebServer 108 : Tomcat initialized with port(s): 8892 (http) +2024-06-27 18:15:54.336 INFO [main] [] o.a.coyote.http11.Http11NioProtocol 173 : Initializing ProtocolHandler ["http-nio-8892"] +2024-06-27 18:15:54.337 INFO [main] [] o.apache.catalina.core.StandardService 173 : Starting service [Tomcat] +2024-06-27 18:15:54.337 INFO [main] [] org.apache.catalina.core.StandardEngine 173 : Starting Servlet engine: [Apache Tomcat/9.0.46] +2024-06-27 18:15:54.438 INFO [main] [] o.a.c.c.C.[Tomcat].[localhost].[/api] 173 : Initializing Spring embedded WebApplicationContext +2024-06-27 18:15:54.438 INFO [main] [] w.s.c.ServletWebServerApplicationContext 285 : Root WebApplicationContext: initialization completed in 3244 ms +2024-06-27 18:15:54.589 INFO [main] [] net.jjjerp.framework.core.xss.XssFilter 18 : XssFilter init +2024-06-27 18:15:54.589 INFO [main] [] n.j.f.core.filter.RequestDetailFilter 30 : RequestDetailFilter init +2024-06-27 18:16:03.063 INFO [main] [] org.reflections.Reflections 228 : Reflections took 47 ms to scan 1 urls, producing 0 keys and 0 values +2024-06-27 18:16:03.191 INFO [main] [] net.jjjerp.framework.shiro.util.JwtUtil 33 : {"audience":"web","expireSecond":36000,"issuer":"spring-boot-jjj","redisCheck":true,"refreshToken":true,"refreshTokenCountdown":600,"saltCheck":true,"secret":"888888","singleLogin":false,"tokenName":"token"} +2024-06-27 18:16:06.099 WARN [main] [] ConfigServletWebServerApplicationContext 559 : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'documentationPluginsBootstrapper' defined in URL [jar:file:/D:/Maven/maven-repository/io/springfox/springfox-spring-web/2.9.2/springfox-spring-web-2.9.2.jar!/springfox/documentation/spring/web/plugins/DocumentationPluginsBootstrapper.class]: Unsatisfied dependency expressed through constructor parameter 1; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'webMvcRequestHandlerProvider' defined in URL [jar:file:/D:/Maven/maven-repository/io/springfox/springfox-spring-web/2.9.2/springfox-spring-web-2.9.2.jar!/springfox/documentation/spring/web/plugins/WebMvcRequestHandlerProvider.class]: Unsatisfied dependency expressed through constructor parameter 1; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'requestMappingHandlerMapping' defined in class path resource [org/springframework/boot/autoconfigure/web/servlet/WebMvcAutoConfiguration$EnableWebMvcConfiguration.class]: Invocation of init method failed; nested exception is java.lang.IllegalStateException: Ambiguous mapping. Cannot map 'net.jjjerp.admin.controller.bill.BillController' method +net.jjjerp.admin.controller.bill.BillController#editRemark(BillHead) +to {POST /admin/bill/editAddress}: There is already 'net.jjjerp.admin.controller.bill.BillController' bean method +net.jjjerp.admin.controller.bill.BillController#editAddress(BillAddress) mapped. +2024-06-27 18:16:06.131 INFO [main] [] o.apache.catalina.core.StandardService 173 : Stopping service [Tomcat] +2024-06-27 18:16:06.133 INFO [main] [] net.jjjerp.framework.core.xss.XssFilter 30 : XssFilter destroy +2024-06-27 18:16:06.133 INFO [main] [] n.j.f.core.filter.RequestDetailFilter 116 : RequestDetailFilter destroy +2024-06-27 18:16:06.142 INFO [main] [] ConditionEvaluationReportLoggingListener 136 : + +Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled. +2024-06-27 18:16:06.161 ERROR [main] [] o.s.boot.SpringApplication 834 : Application run failed + +org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'documentationPluginsBootstrapper' defined in URL [jar:file:/D:/Maven/maven-repository/io/springfox/springfox-spring-web/2.9.2/springfox-spring-web-2.9.2.jar!/springfox/documentation/spring/web/plugins/DocumentationPluginsBootstrapper.class]: Unsatisfied dependency expressed through constructor parameter 1; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'webMvcRequestHandlerProvider' defined in URL [jar:file:/D:/Maven/maven-repository/io/springfox/springfox-spring-web/2.9.2/springfox-spring-web-2.9.2.jar!/springfox/documentation/spring/web/plugins/WebMvcRequestHandlerProvider.class]: Unsatisfied dependency expressed through constructor parameter 1; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'requestMappingHandlerMapping' defined in class path resource [org/springframework/boot/autoconfigure/web/servlet/WebMvcAutoConfiguration$EnableWebMvcConfiguration.class]: Invocation of init method failed; nested exception is java.lang.IllegalStateException: Ambiguous mapping. Cannot map 'net.jjjerp.admin.controller.bill.BillController' method +net.jjjerp.admin.controller.bill.BillController#editRemark(BillHead) +to {POST /admin/bill/editAddress}: There is already 'net.jjjerp.admin.controller.bill.BillController' bean method +net.jjjerp.admin.controller.bill.BillController#editAddress(BillAddress) mapped. + at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:799) + at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:228) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1361) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1208) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:556) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:516) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:324) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:322) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:897) + at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:879) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:551) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:143) + at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:755) + at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:747) + at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:402) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:312) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:1247) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:1236) + at net.jjjerp.SpringBootJjjApplication.main(SpringBootJjjApplication.java:33) +Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'webMvcRequestHandlerProvider' defined in URL [jar:file:/D:/Maven/maven-repository/io/springfox/springfox-spring-web/2.9.2/springfox-spring-web-2.9.2.jar!/springfox/documentation/spring/web/plugins/WebMvcRequestHandlerProvider.class]: Unsatisfied dependency expressed through constructor parameter 1; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'requestMappingHandlerMapping' defined in class path resource [org/springframework/boot/autoconfigure/web/servlet/WebMvcAutoConfiguration$EnableWebMvcConfiguration.class]: Invocation of init method failed; nested exception is java.lang.IllegalStateException: Ambiguous mapping. Cannot map 'net.jjjerp.admin.controller.bill.BillController' method +net.jjjerp.admin.controller.bill.BillController#editRemark(BillHead) +to {POST /admin/bill/editAddress}: There is already 'net.jjjerp.admin.controller.bill.BillController' bean method +net.jjjerp.admin.controller.bill.BillController#editAddress(BillAddress) mapped. + at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:799) + at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:228) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1361) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1208) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:556) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:516) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:324) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:322) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202) + at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.addCandidateEntry(DefaultListableBeanFactory.java:1525) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.findAutowireCandidates(DefaultListableBeanFactory.java:1489) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveMultipleBeans(DefaultListableBeanFactory.java:1378) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1265) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1227) + at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:886) + at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:790) + ... 20 common frames omitted +Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'requestMappingHandlerMapping' defined in class path resource [org/springframework/boot/autoconfigure/web/servlet/WebMvcAutoConfiguration$EnableWebMvcConfiguration.class]: Invocation of init method failed; nested exception is java.lang.IllegalStateException: Ambiguous mapping. Cannot map 'net.jjjerp.admin.controller.bill.BillController' method +net.jjjerp.admin.controller.bill.BillController#editRemark(BillHead) +to {POST /admin/bill/editAddress}: There is already 'net.jjjerp.admin.controller.bill.BillController' bean method +net.jjjerp.admin.controller.bill.BillController#editAddress(BillAddress) mapped. + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1799) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:594) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:516) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:324) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:322) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202) + at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.addCandidateEntry(DefaultListableBeanFactory.java:1525) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.findAutowireCandidates(DefaultListableBeanFactory.java:1489) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveMultipleBeans(DefaultListableBeanFactory.java:1378) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1265) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1227) + at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:886) + at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:790) + ... 37 common frames omitted +Caused by: java.lang.IllegalStateException: Ambiguous mapping. Cannot map 'net.jjjerp.admin.controller.bill.BillController' method +net.jjjerp.admin.controller.bill.BillController#editRemark(BillHead) +to {POST /admin/bill/editAddress}: There is already 'net.jjjerp.admin.controller.bill.BillController' bean method +net.jjjerp.admin.controller.bill.BillController#editAddress(BillAddress) mapped. + at org.springframework.web.servlet.handler.AbstractHandlerMethodMapping$MappingRegistry.validateMethodMapping(AbstractHandlerMethodMapping.java:636) + at org.springframework.web.servlet.handler.AbstractHandlerMethodMapping$MappingRegistry.register(AbstractHandlerMethodMapping.java:603) + at org.springframework.web.servlet.handler.AbstractHandlerMethodMapping.registerHandlerMethod(AbstractHandlerMethodMapping.java:318) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping.registerHandlerMethod(RequestMappingHandlerMapping.java:378) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping.registerHandlerMethod(RequestMappingHandlerMapping.java:75) + at org.springframework.web.servlet.handler.AbstractHandlerMethodMapping.lambda$detectHandlerMethods$1(AbstractHandlerMethodMapping.java:288) + at java.util.LinkedHashMap.forEach(LinkedHashMap.java:684) + at org.springframework.web.servlet.handler.AbstractHandlerMethodMapping.detectHandlerMethods(AbstractHandlerMethodMapping.java:286) + at org.springframework.web.servlet.handler.AbstractHandlerMethodMapping.processCandidateBean(AbstractHandlerMethodMapping.java:258) + at org.springframework.web.servlet.handler.AbstractHandlerMethodMapping.initHandlerMethods(AbstractHandlerMethodMapping.java:217) + at org.springframework.web.servlet.handler.AbstractHandlerMethodMapping.afterPropertiesSet(AbstractHandlerMethodMapping.java:205) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping.afterPropertiesSet(RequestMappingHandlerMapping.java:189) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1858) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1795) + ... 51 common frames omitted + +2024-06-27 18:16:41.252 INFO [background-preinit] [] o.h.validator.internal.util.Version 21 : HV000001: Hibernate Validator 6.1.7.Final +2024-06-27 18:16:41.261 INFO [main] [] net.jjjerp.SpringBootJjjApplication 55 : Starting SpringBootJjjApplication on OS-20230506YKNI with PID 12184 (D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\bootstrap\target\classes started by Administrator in D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp) +2024-06-27 18:16:41.262 INFO [main] [] net.jjjerp.SpringBootJjjApplication 652 : The following profiles are active: prod +2024-06-27 18:16:42.533 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 249 : Multiple Spring Data modules found, entering strict repository configuration mode! +2024-06-27 18:16:42.534 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 127 : Bootstrapping Spring Data Redis repositories in DEFAULT mode. +2024-06-27 18:16:42.650 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 187 : Finished Spring Data repository scanning in 106ms. Found 0 Redis repository interfaces. +2024-06-27 18:16:43.010 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.ShiroConfig' of type [net.jjjerp.config.ShiroConfig$$EnhancerBySpringCGLIB$$8a9baa4d] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 18:16:43.129 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.properties.JwtProperties' of type [net.jjjerp.config.properties.JwtProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 18:16:43.131 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.RedisTemplateConfig' of type [net.jjjerp.config.RedisTemplateConfig$$EnhancerBySpringCGLIB$$5a00b4f1] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 18:16:43.141 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'spring.redis-org.springframework.boot.autoconfigure.data.redis.RedisProperties' of type [org.springframework.boot.autoconfigure.data.redis.RedisProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 18:16:43.145 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration' of type [org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 18:16:43.230 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'lettuceClientResources' of type [io.lettuce.core.resource.DefaultClientResources] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 18:16:43.365 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'redisConnectionFactory' of type [org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 18:16:43.413 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'redisTemplate' of type [org.springframework.data.redis.core.RedisTemplate] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 18:16:43.414 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.cache.impl.AdminLoginRedisServiceImpl' of type [net.jjjerp.framework.shiro.cache.impl.AdminLoginRedisServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 18:16:43.417 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.cache.impl.ShopLoginRedisServiceImpl' of type [net.jjjerp.framework.shiro.cache.impl.ShopLoginRedisServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 18:16:43.584 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'credentialsMatcher' of type [net.jjjerp.framework.shiro.jwt.JwtCredentialsMatcher] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 18:16:43.592 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'jwtRealm' of type [net.jjjerp.framework.shiro.jwt.JwtRealm] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 18:16:43.593 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'sessionStorageEvaluator' of type [org.apache.shiro.web.mgt.DefaultWebSessionStorageEvaluator] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 18:16:43.593 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'subjectDAO' of type [org.apache.shiro.mgt.DefaultSubjectDAO] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 18:16:43.595 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'securityManager' of type [org.apache.shiro.web.mgt.DefaultWebSecurityManager] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 18:16:43.615 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.service.impl.ShiroLoginServiceImpl' of type [net.jjjerp.framework.shiro.service.impl.ShiroLoginServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 18:16:43.621 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'spring-boot-jjj.shiro-net.jjjerp.config.properties.ShiroProperties' of type [net.jjjerp.config.properties.ShiroProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 18:16:43.709 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'authorizationAttributeSourceAdvisor' of type [org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 18:16:43.851 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.RedisCacheConfig' of type [net.jjjerp.config.RedisCacheConfig$$EnhancerBySpringCGLIB$$f3d8bf3] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 18:16:44.113 INFO [main] [] o.s.b.w.embedded.tomcat.TomcatWebServer 108 : Tomcat initialized with port(s): 8892 (http) +2024-06-27 18:16:44.123 INFO [main] [] o.a.coyote.http11.Http11NioProtocol 173 : Initializing ProtocolHandler ["http-nio-8892"] +2024-06-27 18:16:44.124 INFO [main] [] o.apache.catalina.core.StandardService 173 : Starting service [Tomcat] +2024-06-27 18:16:44.124 INFO [main] [] org.apache.catalina.core.StandardEngine 173 : Starting Servlet engine: [Apache Tomcat/9.0.46] +2024-06-27 18:16:44.220 INFO [main] [] o.a.c.c.C.[Tomcat].[localhost].[/api] 173 : Initializing Spring embedded WebApplicationContext +2024-06-27 18:16:44.220 INFO [main] [] w.s.c.ServletWebServerApplicationContext 285 : Root WebApplicationContext: initialization completed in 2896 ms +2024-06-27 18:16:44.374 INFO [main] [] net.jjjerp.framework.core.xss.XssFilter 18 : XssFilter init +2024-06-27 18:16:44.375 INFO [main] [] n.j.f.core.filter.RequestDetailFilter 30 : RequestDetailFilter init +2024-06-27 18:16:47.967 INFO [main] [] org.reflections.Reflections 228 : Reflections took 38 ms to scan 1 urls, producing 0 keys and 0 values +2024-06-27 18:16:48.061 INFO [main] [] net.jjjerp.framework.shiro.util.JwtUtil 33 : {"audience":"web","expireSecond":36000,"issuer":"spring-boot-jjj","redisCheck":true,"refreshToken":true,"refreshTokenCountdown":600,"saltCheck":true,"secret":"888888","singleLogin":false,"tokenName":"token"} +2024-06-27 18:16:51.146 INFO [main] [] pertySourcedRequestMappingHandlerMapping 69 : Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2Controller#getDocumentation(String, HttpServletRequest)] +2024-06-27 18:16:51.162 INFO [main] [] net.jjjerp.config.Swagger2Config 149 : swagger scan basePackages:null +2024-06-27 18:16:51.283 INFO [main] [] o.s.s.concurrent.ThreadPoolTaskExecutor 181 : Initializing ExecutorService 'applicationTaskExecutor' +2024-06-27 18:16:51.371 INFO [main] [] o.s.b.a.w.s.WelcomePageHandlerMapping 53 : Adding welcome page: class path resource [static/index.html] +2024-06-27 18:16:51.579 INFO [main] [] o.s.s.c.ThreadPoolTaskScheduler 181 : Initializing ExecutorService 'taskScheduler' +2024-06-27 18:16:51.693 INFO [main] [] o.a.coyote.http11.Http11NioProtocol 173 : Starting ProtocolHandler ["http-nio-8892"] +2024-06-27 18:16:51.712 INFO [main] [] o.s.b.w.embedded.tomcat.TomcatWebServer 220 : Tomcat started on port(s): 8892 (http) with context path '/api' +2024-06-27 18:16:51.713 INFO [main] [] d.s.w.p.DocumentationPluginsBootstrapper 160 : Context refreshed +2024-06-27 18:16:51.719 INFO [main] [] d.s.w.p.DocumentationPluginsBootstrapper 163 : Found 1 custom documentation plugin(s) +2024-06-27 18:16:51.753 INFO [main] [] s.d.s.w.s.ApiListingReferenceScanner 41 : Scanning for api listing references +2024-06-27 18:16:51.911 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_1 +2024-06-27 18:16:51.912 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_1 +2024-06-27 18:16:51.913 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_1 +2024-06-27 18:16:51.936 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_1 +2024-06-27 18:16:51.982 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_2 +2024-06-27 18:16:51.984 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_2 +2024-06-27 18:16:51.987 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_3 +2024-06-27 18:16:51.988 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_3 +2024-06-27 18:16:51.990 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_4 +2024-06-27 18:16:51.991 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_4 +2024-06-27 18:16:51.992 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexOutUsingPOST_1 +2024-06-27 18:16:51.995 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_5 +2024-06-27 18:16:52.003 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_5 +2024-06-27 18:16:52.004 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_2 +2024-06-27 18:16:52.004 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_2 +2024-06-27 18:16:52.020 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_6 +2024-06-27 18:16:52.021 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_7 +2024-06-27 18:16:52.026 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_8 +2024-06-27 18:16:52.058 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_6 +2024-06-27 18:16:52.058 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_3 +2024-06-27 18:16:52.059 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_3 +2024-06-27 18:16:52.067 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_9 +2024-06-27 18:16:52.074 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_10 +2024-06-27 18:16:52.077 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_7 +2024-06-27 18:16:52.078 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_4 +2024-06-27 18:16:52.079 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_4 +2024-06-27 18:16:52.082 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_11 +2024-06-27 18:16:52.087 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_8 +2024-06-27 18:16:52.088 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_5 +2024-06-27 18:16:52.088 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_5 +2024-06-27 18:16:52.092 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_12 +2024-06-27 18:16:52.095 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_9 +2024-06-27 18:16:52.096 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_6 +2024-06-27 18:16:52.096 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_6 +2024-06-27 18:16:52.103 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_13 +2024-06-27 18:16:52.103 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_1 +2024-06-27 18:16:52.105 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_10 +2024-06-27 18:16:52.105 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_7 +2024-06-27 18:16:52.106 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_7 +2024-06-27 18:16:52.107 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_14 +2024-06-27 18:16:52.109 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_11 +2024-06-27 18:16:52.109 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_8 +2024-06-27 18:16:52.110 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_8 +2024-06-27 18:16:52.111 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_15 +2024-06-27 18:16:52.112 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_12 +2024-06-27 18:16:52.115 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_9 +2024-06-27 18:16:52.115 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_9 +2024-06-27 18:16:52.119 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_16 +2024-06-27 18:16:52.121 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_17 +2024-06-27 18:16:52.127 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_13 +2024-06-27 18:16:52.128 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_10 +2024-06-27 18:16:52.131 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_18 +2024-06-27 18:16:52.132 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_1 +2024-06-27 18:16:52.143 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addGroupUsingPOST_1 +2024-06-27 18:16:52.143 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: categoryUsingPOST_1 +2024-06-27 18:16:52.144 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteFilesUsingPOST_1 +2024-06-27 18:16:52.144 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteGroupUsingPOST_1 +2024-06-27 18:16:52.145 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editGroupUsingPOST_1 +2024-06-27 18:16:52.148 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: listsUsingPOST_1 +2024-06-27 18:16:52.149 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: moveFilesUsingPOST_1 +2024-06-27 18:16:52.150 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_19 +2024-06-27 18:16:52.154 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_20 +2024-06-27 18:16:52.159 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_14 +2024-06-27 18:16:52.160 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_10 +2024-06-27 18:16:52.160 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteFilesUsingPOST_2 +2024-06-27 18:16:52.161 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_11 +2024-06-27 18:16:52.162 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_21 +2024-06-27 18:16:52.162 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: listUsingPOST_1 +2024-06-27 18:16:52.163 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: moveFilesUsingPOST_2 +2024-06-27 18:16:52.168 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_22 +2024-06-27 18:16:52.170 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_23 +2024-06-27 18:16:52.174 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_24 +2024-06-27 18:16:52.175 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_25 +2024-06-27 18:16:52.177 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_15 +2024-06-27 18:16:52.178 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_1 +2024-06-27 18:16:52.179 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_12 +2024-06-27 18:16:52.180 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_26 +2024-06-27 18:16:52.180 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: repulseAuditUsingPOST_1 +2024-06-27 18:16:52.182 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_16 +2024-06-27 18:16:52.183 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_11 +2024-06-27 18:16:52.183 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_13 +2024-06-27 18:16:52.186 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_27 +2024-06-27 18:16:52.189 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_17 +2024-06-27 18:16:52.190 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_12 +2024-06-27 18:16:52.190 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_14 +2024-06-27 18:16:52.193 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_28 +2024-06-27 18:16:52.194 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_18 +2024-06-27 18:16:52.195 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_29 +2024-06-27 18:16:52.198 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_30 +2024-06-27 18:16:52.200 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_19 +2024-06-27 18:16:52.200 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_1 +2024-06-27 18:16:52.201 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_31 +2024-06-27 18:16:52.202 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_1 +2024-06-27 18:16:52.203 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_32 +2024-06-27 18:16:52.204 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_20 +2024-06-27 18:16:52.205 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_2 +2024-06-27 18:16:52.205 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_33 +2024-06-27 18:16:52.214 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: loginUsingPOST_1 +2024-06-27 18:16:52.214 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: logoutUsingPOST_1 +2024-06-27 18:16:52.215 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_34 +2024-06-27 18:16:52.217 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_21 +2024-06-27 18:16:52.218 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_13 +2024-06-27 18:16:52.218 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_15 +2024-06-27 18:16:52.219 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_35 +2024-06-27 18:16:52.220 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_2 +2024-06-27 18:16:52.224 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_22 +2024-06-27 18:16:52.225 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_14 +2024-06-27 18:16:52.225 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_16 +2024-06-27 18:16:52.229 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_36 +2024-06-27 18:16:52.230 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: stateUsingPOST_1 +2024-06-27 18:16:52.230 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_1 +2024-06-27 18:16:52.230 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_3 +2024-06-27 18:16:52.232 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_23 +2024-06-27 18:16:52.232 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_2 +2024-06-27 18:16:52.233 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_2 +2024-06-27 18:16:52.234 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_17 +2024-06-27 18:16:52.234 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_37 +2024-06-27 18:16:52.236 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_3 +2024-06-27 18:16:52.237 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_18 +2024-06-27 18:16:52.237 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_38 +2024-06-27 18:16:52.238 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addStorageUsingPOST_1 +2024-06-27 18:16:52.239 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_4 +2024-06-27 18:16:52.240 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_3 +2024-06-27 18:16:52.241 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_19 +2024-06-27 18:16:52.242 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_39 +2024-06-27 18:16:52.243 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_40 +2024-06-27 18:16:52.244 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_24 +2024-06-27 18:16:52.245 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_20 +2024-06-27 18:16:52.245 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_3 +2024-06-27 18:16:52.249 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_25 +2024-06-27 18:16:52.249 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_15 +2024-06-27 18:16:52.250 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_21 +2024-06-27 18:16:52.251 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_41 +2024-06-27 18:16:52.251 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_2 +2024-06-27 18:16:52.251 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_4 +2024-06-27 18:16:52.253 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: scanIndexUsingPOST_1 +2024-06-27 18:16:52.254 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_42 +2024-06-27 18:16:52.255 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_1 +2024-06-27 18:16:52.258 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_26 +2024-06-27 18:16:52.258 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_16 +2024-06-27 18:16:52.259 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_22 +2024-06-27 18:16:52.263 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_43 +2024-06-27 18:16:52.266 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_27 +2024-06-27 18:16:52.267 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_17 +2024-06-27 18:16:52.267 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_23 +2024-06-27 18:16:52.268 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_44 +2024-06-27 18:16:52.269 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_3 +2024-06-27 18:16:52.269 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_5 +2024-06-27 18:16:52.271 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_28 +2024-06-27 18:16:52.271 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_18 +2024-06-27 18:16:52.272 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_24 +2024-06-27 18:16:52.274 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_45 +2024-06-27 18:16:52.275 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_46 +2024-06-27 18:16:52.275 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_2 +2024-06-27 18:16:52.276 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_29 +2024-06-27 18:16:52.277 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_47 +2024-06-27 18:16:52.278 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_48 +2024-06-27 18:16:52.278 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_49 +2024-06-27 18:16:52.278 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_3 +2024-06-27 18:16:52.281 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_30 +2024-06-27 18:16:52.282 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_19 +2024-06-27 18:16:52.282 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_25 +2024-06-27 18:16:52.286 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_50 +2024-06-27 18:16:52.286 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_2 +2024-06-27 18:16:52.286 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_4 +2024-06-27 18:16:52.287 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_6 +2024-06-27 18:16:52.291 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_31 +2024-06-27 18:16:52.291 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_20 +2024-06-27 18:16:52.291 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_26 +2024-06-27 18:16:52.296 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_51 +2024-06-27 18:16:52.296 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_3 +2024-06-27 18:16:52.296 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_7 +2024-06-27 18:16:52.297 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_52 +2024-06-27 18:16:52.297 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_4 +2024-06-27 18:16:52.299 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_32 +2024-06-27 18:16:52.300 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_21 +2024-06-27 18:16:52.300 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_27 +2024-06-27 18:16:52.302 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_53 +2024-06-27 18:16:52.305 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: uploadUsingPOST_1 +2024-06-27 18:16:52.324 INFO [main] [] net.jjjerp.SpringBootJjjApplication 61 : Started SpringBootJjjApplication in 11.727 seconds (JVM running for 12.505) +2024-06-27 18:16:52.327 INFO [main] [] n.j.framework.util.PrintApplicationInfo 61 : projectFinalName : jjj-erp-1.0 +2024-06-27 18:16:52.327 INFO [main] [] n.j.framework.util.PrintApplicationInfo 62 : projectVersion : 1.0 +2024-06-27 18:16:52.327 INFO [main] [] n.j.framework.util.PrintApplicationInfo 63 : profileActive : prod +2024-06-27 18:16:52.327 INFO [main] [] n.j.framework.util.PrintApplicationInfo 64 : contextPath : /api +2024-06-27 18:16:52.327 INFO [main] [] n.j.framework.util.PrintApplicationInfo 65 : serverIp : http://erp3.huadeng.fun +2024-06-27 18:16:52.327 INFO [main] [] n.j.framework.util.PrintApplicationInfo 66 : port : 8892 +2024-06-27 18:16:52.327 INFO [main] [] n.j.framework.util.PrintApplicationInfo 81 : Home: http://erp3.huadeng.fun/api +2024-06-27 18:16:52.327 INFO [main] [] n.j.framework.util.PrintApplicationInfo 82 : Knife4j: http://erp3.huadeng.fun/api/doc.html +2024-06-27 18:16:52.327 INFO [main] [] n.j.framework.util.PrintApplicationInfo 83 : Swagger: http://erp3.huadeng.fun/api/swagger-ui.html +2024-06-27 18:16:52.327 INFO [main] [] n.j.framework.util.PrintApplicationInfo 84 : jjj-erp 启动成功........... + ____ __ __ ____ +/\ _`\ /\ \__ /\ \__ /\ _`\ +\ \,\L\_\ \ ,_\ __ _ __\ \ ,_\ \ \,\L\_\ __ __ ___ ___ __ ____ ____ + \/_\__ \\ \ \/ /'__`\ /\`'__\ \ \/ \/_\__ \ /\ \/\ \ /'___\ /'___\ /'__`\ /',__\ /',__\ + /\ \L\ \ \ \_/\ \L\.\_\ \ \/ \ \ \_ /\ \L\ \ \ \_\ \/\ \__//\ \__//\ __//\__, `\/\__, `\ + \ `\____\ \__\ \__/.\_\\ \_\ \ \__\ \ `\____\ \____/\ \____\ \____\ \____\/\____/\/\____/ + \/_____/\/__/\/__/\/_/ \/_/ \/__/ \/_____/\/___/ \/____/\/____/\/____/\/___/ \/___/ + + +2024-06-27 18:16:57.699 INFO [http-nio-8892-exec-2] [] o.a.c.c.C.[Tomcat].[localhost].[/api] 173 : Initializing Spring DispatcherServlet 'dispatcherServlet' +2024-06-27 18:16:57.699 INFO [http-nio-8892-exec-2] [] o.s.web.servlet.DispatcherServlet 525 : Initializing Servlet 'dispatcherServlet' +2024-06-27 18:16:57.707 INFO [http-nio-8892-exec-2] [] o.s.web.servlet.DispatcherServlet 547 : Completed initialization in 8 ms +2024-06-27 18:17:01.466 INFO [http-nio-8892-exec-3] [1806270502040395778] com.zaxxer.hikari.HikariDataSource 110 : HikariPool-1 - Starting... +2024-06-27 18:17:01.891 INFO [http-nio-8892-exec-3] [1806270502040395778] com.zaxxer.hikari.HikariDataSource 123 : HikariPool-1 - Start completed. +2024-06-27 18:22:54.285 ERROR [http-nio-8892-exec-8] [] n.jjjerp.handler.GlobalExceptionHandler 233 : 异常来源:ip: 192.168.31.226, path: /api/admin/market/audit/order/edit +2024-06-27 18:22:54.287 ERROR [http-nio-8892-exec-8] [] n.jjjerp.handler.GlobalExceptionHandler 257 : errorCode: 5000, errorMessage: 系统异常 + +java.lang.NullPointerException: null + at net.jjjerp.admin.service.bill.impl.BillHeadServiceImpl.editOrder(BillHeadServiceImpl.java:1592) + at net.jjjerp.admin.service.bill.impl.BillHeadServiceImpl$$FastClassBySpringCGLIB$$62790b2b.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.admin.service.bill.impl.BillHeadServiceImpl$$EnhancerBySpringCGLIB$$ad824443.editOrder() + at net.jjjerp.admin.controller.market.audit.MarketOrderController.edit(MarketOrderController.java:65) + at net.jjjerp.admin.controller.market.audit.MarketOrderController$$FastClassBySpringCGLIB$$908cb7b8.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.AspectJAfterThrowingAdvice.invoke(AspectJAfterThrowingAdvice.java:62) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:88) + at net.jjjerp.framework.log.aop.BaseLogAop.handle(BaseLogAop.java:303) + at net.jjjerp.aop.LogAop.doAround(LogAop.java:35) + at net.jjjerp.aop.LogAop$$FastClassBySpringCGLIB$$189c4aae.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.aop.LogAop$$EnhancerBySpringCGLIB$$a500e9ac.doAround() + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:644) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:633) + at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.apache.shiro.spring.security.interceptor.AopAllianceAnnotationsAuthorizingMethodInterceptor$1.proceed(AopAllianceAnnotationsAuthorizingMethodInterceptor.java:82) + at org.apache.shiro.authz.aop.AuthorizingMethodInterceptor.invoke(AuthorizingMethodInterceptor.java:39) + at org.apache.shiro.spring.security.interceptor.AopAllianceAnnotationsAuthorizingMethodInterceptor.invoke(AopAllianceAnnotationsAuthorizingMethodInterceptor.java:115) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:95) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at net.jjjerp.admin.controller.market.audit.MarketOrderController$$EnhancerBySpringCGLIB$$660a537c.edit() + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:652) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:112) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) + at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) + +2024-06-27 18:23:09.224 ERROR [http-nio-8892-exec-10] [] n.jjjerp.handler.GlobalExceptionHandler 233 : 异常来源:ip: 192.168.31.226, path: /api/admin/market/audit/order/edit +2024-06-27 18:23:09.225 ERROR [http-nio-8892-exec-10] [] n.jjjerp.handler.GlobalExceptionHandler 257 : errorCode: 5000, errorMessage: 系统异常 + +java.lang.NullPointerException: null + at net.jjjerp.admin.service.bill.impl.BillHeadServiceImpl.editOrder(BillHeadServiceImpl.java:1592) + at net.jjjerp.admin.service.bill.impl.BillHeadServiceImpl$$FastClassBySpringCGLIB$$62790b2b.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.admin.service.bill.impl.BillHeadServiceImpl$$EnhancerBySpringCGLIB$$ad824443.editOrder() + at net.jjjerp.admin.controller.market.audit.MarketOrderController.edit(MarketOrderController.java:65) + at net.jjjerp.admin.controller.market.audit.MarketOrderController$$FastClassBySpringCGLIB$$908cb7b8.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.AspectJAfterThrowingAdvice.invoke(AspectJAfterThrowingAdvice.java:62) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:88) + at net.jjjerp.framework.log.aop.BaseLogAop.handle(BaseLogAop.java:303) + at net.jjjerp.aop.LogAop.doAround(LogAop.java:35) + at net.jjjerp.aop.LogAop$$FastClassBySpringCGLIB$$189c4aae.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.aop.LogAop$$EnhancerBySpringCGLIB$$a500e9ac.doAround() + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:644) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:633) + at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.apache.shiro.spring.security.interceptor.AopAllianceAnnotationsAuthorizingMethodInterceptor$1.proceed(AopAllianceAnnotationsAuthorizingMethodInterceptor.java:82) + at org.apache.shiro.authz.aop.AuthorizingMethodInterceptor.invoke(AuthorizingMethodInterceptor.java:39) + at org.apache.shiro.spring.security.interceptor.AopAllianceAnnotationsAuthorizingMethodInterceptor.invoke(AopAllianceAnnotationsAuthorizingMethodInterceptor.java:115) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:95) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at net.jjjerp.admin.controller.market.audit.MarketOrderController$$EnhancerBySpringCGLIB$$660a537c.edit() + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:652) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:112) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) + at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) + +2024-06-27 18:23:20.228 INFO [SpringContextShutdownHook] [] net.jjjerp.framework.core.xss.XssFilter 30 : XssFilter destroy +2024-06-27 18:23:20.229 INFO [SpringContextShutdownHook] [] n.j.f.core.filter.RequestDetailFilter 116 : RequestDetailFilter destroy +2024-06-27 18:23:20.235 INFO [SpringContextShutdownHook] [] o.s.s.c.ThreadPoolTaskScheduler 218 : Shutting down ExecutorService 'taskScheduler' +2024-06-27 18:23:20.236 INFO [SpringContextShutdownHook] [] o.s.s.concurrent.ThreadPoolTaskExecutor 218 : Shutting down ExecutorService 'applicationTaskExecutor' +2024-06-27 18:23:20.240 INFO [SpringContextShutdownHook] [] com.zaxxer.hikari.HikariDataSource 350 : HikariPool-1 - Shutdown initiated... +2024-06-27 18:23:20.242 INFO [SpringContextShutdownHook] [] com.zaxxer.hikari.HikariDataSource 352 : HikariPool-1 - Shutdown completed. +2024-06-27 18:23:28.164 INFO [main] [] net.jjjerp.SpringBootJjjApplication 55 : Starting SpringBootJjjApplication on OS-20230506YKNI with PID 9184 (D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\bootstrap\target\classes started by Administrator in D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp) +2024-06-27 18:23:28.161 INFO [background-preinit] [] o.h.validator.internal.util.Version 21 : HV000001: Hibernate Validator 6.1.7.Final +2024-06-27 18:23:28.166 INFO [main] [] net.jjjerp.SpringBootJjjApplication 652 : The following profiles are active: prod +2024-06-27 18:23:29.192 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 249 : Multiple Spring Data modules found, entering strict repository configuration mode! +2024-06-27 18:23:29.194 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 127 : Bootstrapping Spring Data Redis repositories in DEFAULT mode. +2024-06-27 18:23:29.300 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 187 : Finished Spring Data repository scanning in 98ms. Found 0 Redis repository interfaces. +2024-06-27 18:23:29.562 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.ShiroConfig' of type [net.jjjerp.config.ShiroConfig$$EnhancerBySpringCGLIB$$ad1630ee] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 18:23:29.649 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.properties.JwtProperties' of type [net.jjjerp.config.properties.JwtProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 18:23:29.651 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.RedisTemplateConfig' of type [net.jjjerp.config.RedisTemplateConfig$$EnhancerBySpringCGLIB$$7c7b3b92] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 18:23:29.659 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'spring.redis-org.springframework.boot.autoconfigure.data.redis.RedisProperties' of type [org.springframework.boot.autoconfigure.data.redis.RedisProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 18:23:29.662 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration' of type [org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 18:23:29.716 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'lettuceClientResources' of type [io.lettuce.core.resource.DefaultClientResources] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 18:23:29.815 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'redisConnectionFactory' of type [org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 18:23:29.867 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'redisTemplate' of type [org.springframework.data.redis.core.RedisTemplate] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 18:23:29.867 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.cache.impl.AdminLoginRedisServiceImpl' of type [net.jjjerp.framework.shiro.cache.impl.AdminLoginRedisServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 18:23:29.871 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.cache.impl.ShopLoginRedisServiceImpl' of type [net.jjjerp.framework.shiro.cache.impl.ShopLoginRedisServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 18:23:30.002 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'credentialsMatcher' of type [net.jjjerp.framework.shiro.jwt.JwtCredentialsMatcher] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 18:23:30.012 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'jwtRealm' of type [net.jjjerp.framework.shiro.jwt.JwtRealm] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 18:23:30.013 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'sessionStorageEvaluator' of type [org.apache.shiro.web.mgt.DefaultWebSessionStorageEvaluator] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 18:23:30.014 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'subjectDAO' of type [org.apache.shiro.mgt.DefaultSubjectDAO] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 18:23:30.017 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'securityManager' of type [org.apache.shiro.web.mgt.DefaultWebSecurityManager] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 18:23:30.041 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.service.impl.ShiroLoginServiceImpl' of type [net.jjjerp.framework.shiro.service.impl.ShiroLoginServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 18:23:30.048 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'spring-boot-jjj.shiro-net.jjjerp.config.properties.ShiroProperties' of type [net.jjjerp.config.properties.ShiroProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 18:23:30.147 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'authorizationAttributeSourceAdvisor' of type [org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 18:23:30.277 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.RedisCacheConfig' of type [net.jjjerp.config.RedisCacheConfig$$EnhancerBySpringCGLIB$$31b81294] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-27 18:23:30.521 INFO [main] [] o.s.b.w.embedded.tomcat.TomcatWebServer 108 : Tomcat initialized with port(s): 8892 (http) +2024-06-27 18:23:30.528 INFO [main] [] o.a.coyote.http11.Http11NioProtocol 173 : Initializing ProtocolHandler ["http-nio-8892"] +2024-06-27 18:23:30.529 INFO [main] [] o.apache.catalina.core.StandardService 173 : Starting service [Tomcat] +2024-06-27 18:23:30.529 INFO [main] [] org.apache.catalina.core.StandardEngine 173 : Starting Servlet engine: [Apache Tomcat/9.0.46] +2024-06-27 18:23:30.617 INFO [main] [] o.a.c.c.C.[Tomcat].[localhost].[/api] 173 : Initializing Spring embedded WebApplicationContext +2024-06-27 18:23:30.617 INFO [main] [] w.s.c.ServletWebServerApplicationContext 285 : Root WebApplicationContext: initialization completed in 2402 ms +2024-06-27 18:23:30.760 INFO [main] [] net.jjjerp.framework.core.xss.XssFilter 18 : XssFilter init +2024-06-27 18:23:30.760 INFO [main] [] n.j.f.core.filter.RequestDetailFilter 30 : RequestDetailFilter init +2024-06-27 18:23:34.332 INFO [main] [] org.reflections.Reflections 228 : Reflections took 44 ms to scan 1 urls, producing 0 keys and 0 values +2024-06-27 18:23:34.435 INFO [main] [] net.jjjerp.framework.shiro.util.JwtUtil 33 : {"audience":"web","expireSecond":36000,"issuer":"spring-boot-jjj","redisCheck":true,"refreshToken":true,"refreshTokenCountdown":600,"saltCheck":true,"secret":"888888","singleLogin":false,"tokenName":"token"} +2024-06-27 18:23:39.550 INFO [main] [] pertySourcedRequestMappingHandlerMapping 69 : Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2Controller#getDocumentation(String, HttpServletRequest)] +2024-06-27 18:23:39.615 INFO [main] [] net.jjjerp.config.Swagger2Config 149 : swagger scan basePackages:null +2024-06-27 18:23:39.837 INFO [main] [] o.s.s.concurrent.ThreadPoolTaskExecutor 181 : Initializing ExecutorService 'applicationTaskExecutor' +2024-06-27 18:23:39.988 INFO [main] [] o.s.b.a.w.s.WelcomePageHandlerMapping 53 : Adding welcome page: class path resource [static/index.html] +2024-06-27 18:23:40.308 INFO [main] [] o.s.s.c.ThreadPoolTaskScheduler 181 : Initializing ExecutorService 'taskScheduler' +2024-06-27 18:23:40.482 INFO [main] [] o.a.coyote.http11.Http11NioProtocol 173 : Starting ProtocolHandler ["http-nio-8892"] +2024-06-27 18:23:40.513 INFO [main] [] o.s.b.w.embedded.tomcat.TomcatWebServer 220 : Tomcat started on port(s): 8892 (http) with context path '/api' +2024-06-27 18:23:40.515 INFO [main] [] d.s.w.p.DocumentationPluginsBootstrapper 160 : Context refreshed +2024-06-27 18:23:40.525 INFO [main] [] d.s.w.p.DocumentationPluginsBootstrapper 163 : Found 1 custom documentation plugin(s) +2024-06-27 18:23:40.586 INFO [main] [] s.d.s.w.s.ApiListingReferenceScanner 41 : Scanning for api listing references +2024-06-27 18:23:40.860 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_1 +2024-06-27 18:23:40.862 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_1 +2024-06-27 18:23:40.863 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_1 +2024-06-27 18:23:40.891 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_1 +2024-06-27 18:23:40.941 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_2 +2024-06-27 18:23:40.943 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_2 +2024-06-27 18:23:40.947 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_3 +2024-06-27 18:23:40.948 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_3 +2024-06-27 18:23:40.953 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_4 +2024-06-27 18:23:40.954 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_4 +2024-06-27 18:23:40.955 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexOutUsingPOST_1 +2024-06-27 18:23:40.960 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_5 +2024-06-27 18:23:40.971 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_5 +2024-06-27 18:23:40.972 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_2 +2024-06-27 18:23:40.974 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_2 +2024-06-27 18:23:40.995 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_6 +2024-06-27 18:23:40.997 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_7 +2024-06-27 18:23:41.004 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_8 +2024-06-27 18:23:41.014 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_6 +2024-06-27 18:23:41.015 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_3 +2024-06-27 18:23:41.016 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_3 +2024-06-27 18:23:41.026 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_9 +2024-06-27 18:23:41.059 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_10 +2024-06-27 18:23:41.062 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_7 +2024-06-27 18:23:41.063 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_4 +2024-06-27 18:23:41.063 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_4 +2024-06-27 18:23:41.067 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_11 +2024-06-27 18:23:41.075 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_8 +2024-06-27 18:23:41.076 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_5 +2024-06-27 18:23:41.077 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_5 +2024-06-27 18:23:41.083 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_12 +2024-06-27 18:23:41.088 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_9 +2024-06-27 18:23:41.089 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_6 +2024-06-27 18:23:41.090 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_6 +2024-06-27 18:23:41.096 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_13 +2024-06-27 18:23:41.097 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_1 +2024-06-27 18:23:41.099 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_10 +2024-06-27 18:23:41.100 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_7 +2024-06-27 18:23:41.101 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_7 +2024-06-27 18:23:41.102 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_14 +2024-06-27 18:23:41.104 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_11 +2024-06-27 18:23:41.104 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_8 +2024-06-27 18:23:41.105 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_8 +2024-06-27 18:23:41.107 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_15 +2024-06-27 18:23:41.109 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_12 +2024-06-27 18:23:41.113 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_9 +2024-06-27 18:23:41.113 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_9 +2024-06-27 18:23:41.118 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_16 +2024-06-27 18:23:41.120 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_17 +2024-06-27 18:23:41.129 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_13 +2024-06-27 18:23:41.131 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_10 +2024-06-27 18:23:41.135 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_18 +2024-06-27 18:23:41.137 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_1 +2024-06-27 18:23:41.153 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addGroupUsingPOST_1 +2024-06-27 18:23:41.154 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: categoryUsingPOST_1 +2024-06-27 18:23:41.155 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteFilesUsingPOST_1 +2024-06-27 18:23:41.155 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteGroupUsingPOST_1 +2024-06-27 18:23:41.156 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editGroupUsingPOST_1 +2024-06-27 18:23:41.162 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: listsUsingPOST_1 +2024-06-27 18:23:41.170 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: moveFilesUsingPOST_1 +2024-06-27 18:23:41.176 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_19 +2024-06-27 18:23:41.181 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_20 +2024-06-27 18:23:41.186 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_14 +2024-06-27 18:23:41.187 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_10 +2024-06-27 18:23:41.188 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteFilesUsingPOST_2 +2024-06-27 18:23:41.188 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_11 +2024-06-27 18:23:41.189 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_21 +2024-06-27 18:23:41.189 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: listUsingPOST_1 +2024-06-27 18:23:41.190 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: moveFilesUsingPOST_2 +2024-06-27 18:23:41.196 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_22 +2024-06-27 18:23:41.199 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_23 +2024-06-27 18:23:41.202 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_24 +2024-06-27 18:23:41.203 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_25 +2024-06-27 18:23:41.205 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_15 +2024-06-27 18:23:41.206 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_1 +2024-06-27 18:23:41.207 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_12 +2024-06-27 18:23:41.208 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_26 +2024-06-27 18:23:41.209 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: repulseAuditUsingPOST_1 +2024-06-27 18:23:41.211 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_16 +2024-06-27 18:23:41.211 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_11 +2024-06-27 18:23:41.212 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_13 +2024-06-27 18:23:41.215 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_27 +2024-06-27 18:23:41.218 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_17 +2024-06-27 18:23:41.219 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_12 +2024-06-27 18:23:41.219 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_14 +2024-06-27 18:23:41.221 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_28 +2024-06-27 18:23:41.222 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_18 +2024-06-27 18:23:41.223 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_29 +2024-06-27 18:23:41.227 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_30 +2024-06-27 18:23:41.228 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_19 +2024-06-27 18:23:41.229 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_1 +2024-06-27 18:23:41.229 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_31 +2024-06-27 18:23:41.231 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_1 +2024-06-27 18:23:41.232 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_32 +2024-06-27 18:23:41.234 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_20 +2024-06-27 18:23:41.235 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_2 +2024-06-27 18:23:41.236 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_33 +2024-06-27 18:23:41.246 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: loginUsingPOST_1 +2024-06-27 18:23:41.246 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: logoutUsingPOST_1 +2024-06-27 18:23:41.248 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_34 +2024-06-27 18:23:41.250 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_21 +2024-06-27 18:23:41.250 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_13 +2024-06-27 18:23:41.251 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_15 +2024-06-27 18:23:41.251 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_35 +2024-06-27 18:23:41.253 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_2 +2024-06-27 18:23:41.256 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_22 +2024-06-27 18:23:41.257 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_14 +2024-06-27 18:23:41.258 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_16 +2024-06-27 18:23:41.263 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_36 +2024-06-27 18:23:41.264 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: stateUsingPOST_1 +2024-06-27 18:23:41.264 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_1 +2024-06-27 18:23:41.264 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_3 +2024-06-27 18:23:41.266 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_23 +2024-06-27 18:23:41.266 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_2 +2024-06-27 18:23:41.267 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_2 +2024-06-27 18:23:41.268 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_17 +2024-06-27 18:23:41.269 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_37 +2024-06-27 18:23:41.271 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_3 +2024-06-27 18:23:41.271 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_18 +2024-06-27 18:23:41.272 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_38 +2024-06-27 18:23:41.273 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addStorageUsingPOST_1 +2024-06-27 18:23:41.274 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_4 +2024-06-27 18:23:41.275 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_3 +2024-06-27 18:23:41.276 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_19 +2024-06-27 18:23:41.276 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_39 +2024-06-27 18:23:41.277 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_40 +2024-06-27 18:23:41.278 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_24 +2024-06-27 18:23:41.279 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_20 +2024-06-27 18:23:41.280 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_3 +2024-06-27 18:23:41.284 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_25 +2024-06-27 18:23:41.284 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_15 +2024-06-27 18:23:41.284 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_21 +2024-06-27 18:23:41.286 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_41 +2024-06-27 18:23:41.287 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_2 +2024-06-27 18:23:41.288 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_4 +2024-06-27 18:23:41.290 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: scanIndexUsingPOST_1 +2024-06-27 18:23:41.291 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_1 +2024-06-27 18:23:41.293 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_42 +2024-06-27 18:23:41.296 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_26 +2024-06-27 18:23:41.296 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_16 +2024-06-27 18:23:41.296 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_22 +2024-06-27 18:23:41.301 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_43 +2024-06-27 18:23:41.304 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_27 +2024-06-27 18:23:41.304 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_17 +2024-06-27 18:23:41.305 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_23 +2024-06-27 18:23:41.306 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_44 +2024-06-27 18:23:41.307 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_3 +2024-06-27 18:23:41.307 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_5 +2024-06-27 18:23:41.309 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_28 +2024-06-27 18:23:41.310 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_18 +2024-06-27 18:23:41.310 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_24 +2024-06-27 18:23:41.313 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_45 +2024-06-27 18:23:41.313 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_46 +2024-06-27 18:23:41.314 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_2 +2024-06-27 18:23:41.315 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_29 +2024-06-27 18:23:41.316 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_47 +2024-06-27 18:23:41.317 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_48 +2024-06-27 18:23:41.317 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_49 +2024-06-27 18:23:41.317 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_3 +2024-06-27 18:23:41.320 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_30 +2024-06-27 18:23:41.321 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_19 +2024-06-27 18:23:41.321 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_25 +2024-06-27 18:23:41.325 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_50 +2024-06-27 18:23:41.326 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_2 +2024-06-27 18:23:41.326 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_4 +2024-06-27 18:23:41.326 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_6 +2024-06-27 18:23:41.330 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_31 +2024-06-27 18:23:41.331 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_20 +2024-06-27 18:23:41.331 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_26 +2024-06-27 18:23:41.335 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_51 +2024-06-27 18:23:41.336 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_3 +2024-06-27 18:23:41.336 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_7 +2024-06-27 18:23:41.337 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_52 +2024-06-27 18:23:41.337 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_4 +2024-06-27 18:23:41.339 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_32 +2024-06-27 18:23:41.340 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_21 +2024-06-27 18:23:41.340 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_27 +2024-06-27 18:23:41.343 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_53 +2024-06-27 18:23:41.347 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: uploadUsingPOST_1 +2024-06-27 18:23:41.366 INFO [main] [] net.jjjerp.SpringBootJjjApplication 61 : Started SpringBootJjjApplication in 13.856 seconds (JVM running for 14.515) +2024-06-27 18:23:41.369 INFO [main] [] n.j.framework.util.PrintApplicationInfo 61 : projectFinalName : jjj-erp-1.0 +2024-06-27 18:23:41.369 INFO [main] [] n.j.framework.util.PrintApplicationInfo 62 : projectVersion : 1.0 +2024-06-27 18:23:41.369 INFO [main] [] n.j.framework.util.PrintApplicationInfo 63 : profileActive : prod +2024-06-27 18:23:41.369 INFO [main] [] n.j.framework.util.PrintApplicationInfo 64 : contextPath : /api +2024-06-27 18:23:41.369 INFO [main] [] n.j.framework.util.PrintApplicationInfo 65 : serverIp : http://erp3.huadeng.fun +2024-06-27 18:23:41.369 INFO [main] [] n.j.framework.util.PrintApplicationInfo 66 : port : 8892 +2024-06-27 18:23:41.369 INFO [main] [] n.j.framework.util.PrintApplicationInfo 81 : Home: http://erp3.huadeng.fun/api +2024-06-27 18:23:41.369 INFO [main] [] n.j.framework.util.PrintApplicationInfo 82 : Knife4j: http://erp3.huadeng.fun/api/doc.html +2024-06-27 18:23:41.369 INFO [main] [] n.j.framework.util.PrintApplicationInfo 83 : Swagger: http://erp3.huadeng.fun/api/swagger-ui.html +2024-06-27 18:23:41.369 INFO [main] [] n.j.framework.util.PrintApplicationInfo 84 : jjj-erp 启动成功........... + ____ __ __ ____ +/\ _`\ /\ \__ /\ \__ /\ _`\ +\ \,\L\_\ \ ,_\ __ _ __\ \ ,_\ \ \,\L\_\ __ __ ___ ___ __ ____ ____ + \/_\__ \\ \ \/ /'__`\ /\`'__\ \ \/ \/_\__ \ /\ \/\ \ /'___\ /'___\ /'__`\ /',__\ /',__\ + /\ \L\ \ \ \_/\ \L\.\_\ \ \/ \ \ \_ /\ \L\ \ \ \_\ \/\ \__//\ \__//\ __//\__, `\/\__, `\ + \ `\____\ \__\ \__/.\_\\ \_\ \ \__\ \ `\____\ \____/\ \____\ \____\ \____\/\____/\/\____/ + \/_____/\/__/\/__/\/_/ \/_/ \/__/ \/_____/\/___/ \/____/\/____/\/____/\/___/ \/___/ + + +2024-06-27 18:23:45.153 INFO [http-nio-8892-exec-2] [] o.a.c.c.C.[Tomcat].[localhost].[/api] 173 : Initializing Spring DispatcherServlet 'dispatcherServlet' +2024-06-27 18:23:45.153 INFO [http-nio-8892-exec-2] [] o.s.web.servlet.DispatcherServlet 525 : Initializing Servlet 'dispatcherServlet' +2024-06-27 18:23:45.166 INFO [http-nio-8892-exec-2] [] o.s.web.servlet.DispatcherServlet 547 : Completed initialization in 13 ms +2024-06-27 18:23:46.113 INFO [http-nio-8892-exec-2] [1806272199919902721] com.zaxxer.hikari.HikariDataSource 110 : HikariPool-1 - Starting... +2024-06-27 18:23:46.533 INFO [http-nio-8892-exec-2] [1806272199919902721] com.zaxxer.hikari.HikariDataSource 123 : HikariPool-1 - Start completed. +2024-06-27 18:43:02.652 INFO [SpringContextShutdownHook] [] net.jjjerp.framework.core.xss.XssFilter 30 : XssFilter destroy +2024-06-27 18:43:02.652 INFO [SpringContextShutdownHook] [] n.j.f.core.filter.RequestDetailFilter 116 : RequestDetailFilter destroy +2024-06-27 18:43:02.659 INFO [SpringContextShutdownHook] [] o.s.s.c.ThreadPoolTaskScheduler 218 : Shutting down ExecutorService 'taskScheduler' +2024-06-27 18:43:02.660 INFO [SpringContextShutdownHook] [] o.s.s.concurrent.ThreadPoolTaskExecutor 218 : Shutting down ExecutorService 'applicationTaskExecutor' +2024-06-27 18:43:02.665 INFO [SpringContextShutdownHook] [] com.zaxxer.hikari.HikariDataSource 350 : HikariPool-1 - Shutdown initiated... +2024-06-27 18:43:02.667 INFO [SpringContextShutdownHook] [] com.zaxxer.hikari.HikariDataSource 352 : HikariPool-1 - Shutdown completed. diff --git a/jjj_erp/logs/spring-boot-jjj-2024-06-28.0.log b/jjj_erp/logs/spring-boot-jjj-2024-06-28.0.log new file mode 100644 index 0000000..77dc74a --- /dev/null +++ b/jjj_erp/logs/spring-boot-jjj-2024-06-28.0.log @@ -0,0 +1,8154 @@ +2024-06-28 08:33:12.225 INFO [background-preinit] [] o.h.validator.internal.util.Version 21 : HV000001: Hibernate Validator 6.1.7.Final +2024-06-28 08:33:12.231 INFO [main] [] net.jjjerp.SpringBootJjjApplication 55 : Starting SpringBootJjjApplication on OS-20230506YKNI with PID 8056 (D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\bootstrap\target\classes started by Administrator in D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp) +2024-06-28 08:33:12.232 INFO [main] [] net.jjjerp.SpringBootJjjApplication 652 : The following profiles are active: prod +2024-06-28 08:33:13.644 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 249 : Multiple Spring Data modules found, entering strict repository configuration mode! +2024-06-28 08:33:13.647 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 127 : Bootstrapping Spring Data Redis repositories in DEFAULT mode. +2024-06-28 08:33:13.790 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 187 : Finished Spring Data repository scanning in 130ms. Found 0 Redis repository interfaces. +2024-06-28 08:33:14.083 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.ShiroConfig' of type [net.jjjerp.config.ShiroConfig$$EnhancerBySpringCGLIB$$6d593aa1] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 08:33:14.198 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.properties.JwtProperties' of type [net.jjjerp.config.properties.JwtProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 08:33:14.201 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.RedisTemplateConfig' of type [net.jjjerp.config.RedisTemplateConfig$$EnhancerBySpringCGLIB$$3cbe4545] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 08:33:14.209 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'spring.redis-org.springframework.boot.autoconfigure.data.redis.RedisProperties' of type [org.springframework.boot.autoconfigure.data.redis.RedisProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 08:33:14.213 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration' of type [org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 08:33:14.287 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'lettuceClientResources' of type [io.lettuce.core.resource.DefaultClientResources] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 08:33:14.394 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'redisConnectionFactory' of type [org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 08:33:14.453 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'redisTemplate' of type [org.springframework.data.redis.core.RedisTemplate] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 08:33:14.454 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.cache.impl.AdminLoginRedisServiceImpl' of type [net.jjjerp.framework.shiro.cache.impl.AdminLoginRedisServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 08:33:14.459 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.cache.impl.ShopLoginRedisServiceImpl' of type [net.jjjerp.framework.shiro.cache.impl.ShopLoginRedisServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 08:33:14.615 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'credentialsMatcher' of type [net.jjjerp.framework.shiro.jwt.JwtCredentialsMatcher] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 08:33:14.624 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'jwtRealm' of type [net.jjjerp.framework.shiro.jwt.JwtRealm] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 08:33:14.625 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'sessionStorageEvaluator' of type [org.apache.shiro.web.mgt.DefaultWebSessionStorageEvaluator] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 08:33:14.625 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'subjectDAO' of type [org.apache.shiro.mgt.DefaultSubjectDAO] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 08:33:14.628 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'securityManager' of type [org.apache.shiro.web.mgt.DefaultWebSecurityManager] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 08:33:14.650 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.service.impl.ShiroLoginServiceImpl' of type [net.jjjerp.framework.shiro.service.impl.ShiroLoginServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 08:33:14.657 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'spring-boot-jjj.shiro-net.jjjerp.config.properties.ShiroProperties' of type [net.jjjerp.config.properties.ShiroProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 08:33:14.748 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'authorizationAttributeSourceAdvisor' of type [org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 08:33:14.898 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.RedisCacheConfig' of type [net.jjjerp.config.RedisCacheConfig$$EnhancerBySpringCGLIB$$f1fb1c47] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 08:33:15.167 INFO [main] [] o.s.b.w.embedded.tomcat.TomcatWebServer 108 : Tomcat initialized with port(s): 8892 (http) +2024-06-28 08:33:15.177 INFO [main] [] o.a.coyote.http11.Http11NioProtocol 173 : Initializing ProtocolHandler ["http-nio-8892"] +2024-06-28 08:33:15.177 INFO [main] [] o.apache.catalina.core.StandardService 173 : Starting service [Tomcat] +2024-06-28 08:33:15.178 INFO [main] [] org.apache.catalina.core.StandardEngine 173 : Starting Servlet engine: [Apache Tomcat/9.0.46] +2024-06-28 08:33:15.289 INFO [main] [] o.a.c.c.C.[Tomcat].[localhost].[/api] 173 : Initializing Spring embedded WebApplicationContext +2024-06-28 08:33:15.290 INFO [main] [] w.s.c.ServletWebServerApplicationContext 285 : Root WebApplicationContext: initialization completed in 2992 ms +2024-06-28 08:33:15.448 INFO [main] [] net.jjjerp.framework.core.xss.XssFilter 18 : XssFilter init +2024-06-28 08:33:15.448 INFO [main] [] n.j.f.core.filter.RequestDetailFilter 30 : RequestDetailFilter init +2024-06-28 08:33:18.972 INFO [main] [] org.reflections.Reflections 228 : Reflections took 45 ms to scan 1 urls, producing 0 keys and 0 values +2024-06-28 08:33:19.070 INFO [main] [] net.jjjerp.framework.shiro.util.JwtUtil 33 : {"audience":"web","expireSecond":36000,"issuer":"spring-boot-jjj","redisCheck":true,"refreshToken":true,"refreshTokenCountdown":600,"saltCheck":true,"secret":"888888","singleLogin":false,"tokenName":"token"} +2024-06-28 08:33:21.820 INFO [main] [] pertySourcedRequestMappingHandlerMapping 69 : Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2Controller#getDocumentation(String, HttpServletRequest)] +2024-06-28 08:33:21.836 INFO [main] [] net.jjjerp.config.Swagger2Config 149 : swagger scan basePackages:null +2024-06-28 08:33:21.962 INFO [main] [] o.s.s.concurrent.ThreadPoolTaskExecutor 181 : Initializing ExecutorService 'applicationTaskExecutor' +2024-06-28 08:33:22.051 INFO [main] [] o.s.b.a.w.s.WelcomePageHandlerMapping 53 : Adding welcome page: class path resource [static/index.html] +2024-06-28 08:33:22.278 INFO [main] [] o.s.s.c.ThreadPoolTaskScheduler 181 : Initializing ExecutorService 'taskScheduler' +2024-06-28 08:33:22.386 INFO [main] [] o.a.coyote.http11.Http11NioProtocol 173 : Starting ProtocolHandler ["http-nio-8892"] +2024-06-28 08:33:22.430 INFO [main] [] o.s.b.w.embedded.tomcat.TomcatWebServer 220 : Tomcat started on port(s): 8892 (http) with context path '/api' +2024-06-28 08:33:22.431 INFO [main] [] d.s.w.p.DocumentationPluginsBootstrapper 160 : Context refreshed +2024-06-28 08:33:22.438 INFO [main] [] d.s.w.p.DocumentationPluginsBootstrapper 163 : Found 1 custom documentation plugin(s) +2024-06-28 08:33:22.478 INFO [main] [] s.d.s.w.s.ApiListingReferenceScanner 41 : Scanning for api listing references +2024-06-28 08:33:22.622 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_1 +2024-06-28 08:33:22.624 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_1 +2024-06-28 08:33:22.625 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_1 +2024-06-28 08:33:22.642 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_1 +2024-06-28 08:33:22.678 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_2 +2024-06-28 08:33:22.679 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_2 +2024-06-28 08:33:22.682 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_3 +2024-06-28 08:33:22.683 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_3 +2024-06-28 08:33:22.686 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_4 +2024-06-28 08:33:22.687 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_4 +2024-06-28 08:33:22.688 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexOutUsingPOST_1 +2024-06-28 08:33:22.691 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_5 +2024-06-28 08:33:22.699 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_5 +2024-06-28 08:33:22.700 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_2 +2024-06-28 08:33:22.701 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_2 +2024-06-28 08:33:22.715 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_6 +2024-06-28 08:33:22.717 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_7 +2024-06-28 08:33:22.721 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_8 +2024-06-28 08:33:22.729 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_6 +2024-06-28 08:33:22.730 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_3 +2024-06-28 08:33:22.731 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_3 +2024-06-28 08:33:22.738 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_9 +2024-06-28 08:33:22.764 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_10 +2024-06-28 08:33:22.766 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_7 +2024-06-28 08:33:22.767 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_4 +2024-06-28 08:33:22.767 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_4 +2024-06-28 08:33:22.770 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_11 +2024-06-28 08:33:22.777 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_8 +2024-06-28 08:33:22.778 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_5 +2024-06-28 08:33:22.779 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_5 +2024-06-28 08:33:22.783 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_12 +2024-06-28 08:33:22.787 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_9 +2024-06-28 08:33:22.788 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_6 +2024-06-28 08:33:22.789 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_6 +2024-06-28 08:33:22.796 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_13 +2024-06-28 08:33:22.797 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_1 +2024-06-28 08:33:22.799 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_10 +2024-06-28 08:33:22.799 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_7 +2024-06-28 08:33:22.800 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_7 +2024-06-28 08:33:22.802 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_14 +2024-06-28 08:33:22.804 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_11 +2024-06-28 08:33:22.805 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_8 +2024-06-28 08:33:22.806 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_8 +2024-06-28 08:33:22.808 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_15 +2024-06-28 08:33:22.809 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_12 +2024-06-28 08:33:22.812 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_9 +2024-06-28 08:33:22.813 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_9 +2024-06-28 08:33:22.816 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_16 +2024-06-28 08:33:22.818 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_17 +2024-06-28 08:33:22.825 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_13 +2024-06-28 08:33:22.826 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_10 +2024-06-28 08:33:22.831 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_18 +2024-06-28 08:33:22.833 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_1 +2024-06-28 08:33:22.851 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addGroupUsingPOST_1 +2024-06-28 08:33:22.852 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: categoryUsingPOST_1 +2024-06-28 08:33:22.853 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteFilesUsingPOST_1 +2024-06-28 08:33:22.854 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteGroupUsingPOST_1 +2024-06-28 08:33:22.854 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editGroupUsingPOST_1 +2024-06-28 08:33:22.860 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: listsUsingPOST_1 +2024-06-28 08:33:22.861 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: moveFilesUsingPOST_1 +2024-06-28 08:33:22.862 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_19 +2024-06-28 08:33:22.867 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_14 +2024-06-28 08:33:22.868 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_10 +2024-06-28 08:33:22.868 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteFilesUsingPOST_2 +2024-06-28 08:33:22.869 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_11 +2024-06-28 08:33:22.871 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_20 +2024-06-28 08:33:22.874 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: moveFilesUsingPOST_2 +2024-06-28 08:33:22.875 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_21 +2024-06-28 08:33:22.876 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: listUsingPOST_1 +2024-06-28 08:33:22.882 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_22 +2024-06-28 08:33:22.887 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_23 +2024-06-28 08:33:22.893 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_24 +2024-06-28 08:33:22.895 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_25 +2024-06-28 08:33:22.897 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_15 +2024-06-28 08:33:22.899 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_1 +2024-06-28 08:33:22.900 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_12 +2024-06-28 08:33:22.901 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_26 +2024-06-28 08:33:22.901 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: repulseAuditUsingPOST_1 +2024-06-28 08:33:22.903 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_16 +2024-06-28 08:33:22.904 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_11 +2024-06-28 08:33:22.904 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_13 +2024-06-28 08:33:22.908 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_27 +2024-06-28 08:33:22.913 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_17 +2024-06-28 08:33:22.914 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_12 +2024-06-28 08:33:22.914 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_14 +2024-06-28 08:33:22.917 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_28 +2024-06-28 08:33:22.918 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_18 +2024-06-28 08:33:22.919 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_29 +2024-06-28 08:33:22.923 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_30 +2024-06-28 08:33:22.925 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_19 +2024-06-28 08:33:22.925 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_1 +2024-06-28 08:33:22.926 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_31 +2024-06-28 08:33:22.928 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_1 +2024-06-28 08:33:22.929 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_32 +2024-06-28 08:33:22.931 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_20 +2024-06-28 08:33:22.932 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_2 +2024-06-28 08:33:22.932 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_33 +2024-06-28 08:33:22.943 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: loginUsingPOST_1 +2024-06-28 08:33:22.943 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: logoutUsingPOST_1 +2024-06-28 08:33:22.945 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_34 +2024-06-28 08:33:22.947 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_21 +2024-06-28 08:33:22.948 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_13 +2024-06-28 08:33:22.948 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_15 +2024-06-28 08:33:22.949 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_35 +2024-06-28 08:33:22.950 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_2 +2024-06-28 08:33:22.954 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_22 +2024-06-28 08:33:22.955 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_14 +2024-06-28 08:33:22.955 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_16 +2024-06-28 08:33:22.960 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_36 +2024-06-28 08:33:22.961 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: stateUsingPOST_1 +2024-06-28 08:33:22.961 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_1 +2024-06-28 08:33:22.962 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_3 +2024-06-28 08:33:22.964 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_23 +2024-06-28 08:33:22.965 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_2 +2024-06-28 08:33:22.966 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_2 +2024-06-28 08:33:22.967 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_17 +2024-06-28 08:33:22.967 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_37 +2024-06-28 08:33:22.969 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_3 +2024-06-28 08:33:22.970 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_18 +2024-06-28 08:33:22.971 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_38 +2024-06-28 08:33:22.972 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addStorageUsingPOST_1 +2024-06-28 08:33:22.972 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_4 +2024-06-28 08:33:22.973 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_3 +2024-06-28 08:33:22.974 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_19 +2024-06-28 08:33:22.975 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_39 +2024-06-28 08:33:22.976 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_40 +2024-06-28 08:33:22.978 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_24 +2024-06-28 08:33:22.978 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_20 +2024-06-28 08:33:22.979 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_3 +2024-06-28 08:33:22.981 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_25 +2024-06-28 08:33:22.982 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_15 +2024-06-28 08:33:22.982 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_21 +2024-06-28 08:33:22.983 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_41 +2024-06-28 08:33:22.985 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_2 +2024-06-28 08:33:22.986 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_4 +2024-06-28 08:33:22.988 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: scanIndexUsingPOST_1 +2024-06-28 08:33:22.990 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_42 +2024-06-28 08:33:22.990 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_1 +2024-06-28 08:33:22.992 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_26 +2024-06-28 08:33:22.993 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_16 +2024-06-28 08:33:22.994 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_22 +2024-06-28 08:33:22.998 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_43 +2024-06-28 08:33:23.001 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_27 +2024-06-28 08:33:23.001 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_17 +2024-06-28 08:33:23.002 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_23 +2024-06-28 08:33:23.003 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_44 +2024-06-28 08:33:23.003 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_3 +2024-06-28 08:33:23.004 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_5 +2024-06-28 08:33:23.005 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_28 +2024-06-28 08:33:23.006 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_18 +2024-06-28 08:33:23.006 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_24 +2024-06-28 08:33:23.009 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_45 +2024-06-28 08:33:23.010 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_46 +2024-06-28 08:33:23.011 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_2 +2024-06-28 08:33:23.012 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_29 +2024-06-28 08:33:23.012 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_47 +2024-06-28 08:33:23.013 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_48 +2024-06-28 08:33:23.014 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_49 +2024-06-28 08:33:23.014 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_3 +2024-06-28 08:33:23.017 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_30 +2024-06-28 08:33:23.018 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_19 +2024-06-28 08:33:23.018 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_25 +2024-06-28 08:33:23.022 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_50 +2024-06-28 08:33:23.022 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_2 +2024-06-28 08:33:23.023 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_4 +2024-06-28 08:33:23.023 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_6 +2024-06-28 08:33:23.027 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_31 +2024-06-28 08:33:23.028 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_20 +2024-06-28 08:33:23.028 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_26 +2024-06-28 08:33:23.032 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_51 +2024-06-28 08:33:23.032 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_3 +2024-06-28 08:33:23.033 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_7 +2024-06-28 08:33:23.033 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_52 +2024-06-28 08:33:23.034 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_4 +2024-06-28 08:33:23.036 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_32 +2024-06-28 08:33:23.036 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_21 +2024-06-28 08:33:23.037 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_27 +2024-06-28 08:33:23.038 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_53 +2024-06-28 08:33:23.043 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: uploadUsingPOST_1 +2024-06-28 08:33:23.070 INFO [main] [] net.jjjerp.SpringBootJjjApplication 61 : Started SpringBootJjjApplication in 11.428 seconds (JVM running for 12.817) +2024-06-28 08:33:23.075 INFO [main] [] n.j.framework.util.PrintApplicationInfo 61 : projectFinalName : jjj-erp-1.0 +2024-06-28 08:33:23.075 INFO [main] [] n.j.framework.util.PrintApplicationInfo 62 : projectVersion : 1.0 +2024-06-28 08:33:23.075 INFO [main] [] n.j.framework.util.PrintApplicationInfo 63 : profileActive : prod +2024-06-28 08:33:23.075 INFO [main] [] n.j.framework.util.PrintApplicationInfo 64 : contextPath : /api +2024-06-28 08:33:23.075 INFO [main] [] n.j.framework.util.PrintApplicationInfo 65 : serverIp : http://erp3.huadeng.fun +2024-06-28 08:33:23.075 INFO [main] [] n.j.framework.util.PrintApplicationInfo 66 : port : 8892 +2024-06-28 08:33:23.075 INFO [main] [] n.j.framework.util.PrintApplicationInfo 81 : Home: http://erp3.huadeng.fun/api +2024-06-28 08:33:23.075 INFO [main] [] n.j.framework.util.PrintApplicationInfo 82 : Knife4j: http://erp3.huadeng.fun/api/doc.html +2024-06-28 08:33:23.075 INFO [main] [] n.j.framework.util.PrintApplicationInfo 83 : Swagger: http://erp3.huadeng.fun/api/swagger-ui.html +2024-06-28 08:33:23.075 INFO [main] [] n.j.framework.util.PrintApplicationInfo 84 : jjj-erp 启动成功........... + ____ __ __ ____ +/\ _`\ /\ \__ /\ \__ /\ _`\ +\ \,\L\_\ \ ,_\ __ _ __\ \ ,_\ \ \,\L\_\ __ __ ___ ___ __ ____ ____ + \/_\__ \\ \ \/ /'__`\ /\`'__\ \ \/ \/_\__ \ /\ \/\ \ /'___\ /'___\ /'__`\ /',__\ /',__\ + /\ \L\ \ \ \_/\ \L\.\_\ \ \/ \ \ \_ /\ \L\ \ \ \_\ \/\ \__//\ \__//\ __//\__, `\/\__, `\ + \ `\____\ \__\ \__/.\_\\ \_\ \ \__\ \ `\____\ \____/\ \____\ \____\ \____\/\____/\/\____/ + \/_____/\/__/\/__/\/_/ \/_/ \/__/ \/_____/\/___/ \/____/\/____/\/____/\/___/ \/___/ + + +2024-06-28 08:44:51.148 INFO [http-nio-8892-exec-2] [] o.a.c.c.C.[Tomcat].[localhost].[/api] 173 : Initializing Spring DispatcherServlet 'dispatcherServlet' +2024-06-28 08:44:51.149 INFO [http-nio-8892-exec-2] [] o.s.web.servlet.DispatcherServlet 525 : Initializing Servlet 'dispatcherServlet' +2024-06-28 08:44:51.166 INFO [http-nio-8892-exec-2] [] o.s.web.servlet.DispatcherServlet 547 : Completed initialization in 17 ms +2024-06-28 08:44:52.790 INFO [http-nio-8892-exec-3] [1806488905430855682] com.zaxxer.hikari.HikariDataSource 110 : HikariPool-1 - Starting... +2024-06-28 08:44:53.265 INFO [http-nio-8892-exec-3] [1806488905430855682] com.zaxxer.hikari.HikariDataSource 123 : HikariPool-1 - Start completed. +2024-06-28 08:58:03.510 WARN [http-nio-8892-exec-14] [1806492201453350914] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@69a7ffde (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 09:05:08.647 ERROR [http-nio-8892-exec-21] [] n.jjjerp.handler.GlobalExceptionHandler 233 : 异常来源:ip: 192.168.31.208, path: /api/admin/region/index +2024-06-28 09:05:08.650 ERROR [http-nio-8892-exec-21] [] n.jjjerp.handler.GlobalExceptionHandler 257 : errorCode: 5000, errorMessage: 系统异常 + +org.apache.catalina.connector.ClientAbortException: java.net.SocketTimeoutException + at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:353) + at org.apache.catalina.connector.OutputBuffer.flushByteBuffer(OutputBuffer.java:783) + at org.apache.catalina.connector.OutputBuffer.append(OutputBuffer.java:688) + at org.apache.catalina.connector.OutputBuffer.writeBytes(OutputBuffer.java:388) + at org.apache.catalina.connector.OutputBuffer.write(OutputBuffer.java:366) + at org.apache.catalina.connector.CoyoteOutputStream.write(CoyoteOutputStream.java:96) + at org.springframework.util.StreamUtils$NonClosingOutputStream.write(StreamUtils.java:287) + at com.fasterxml.jackson.core.json.UTF8JsonGenerator._flushBuffer(UTF8JsonGenerator.java:2161) + at com.fasterxml.jackson.core.json.UTF8JsonGenerator._writeStringSegment2(UTF8JsonGenerator.java:1476) + at com.fasterxml.jackson.core.json.UTF8JsonGenerator._writeStringSegment(UTF8JsonGenerator.java:1423) + at com.fasterxml.jackson.core.json.UTF8JsonGenerator.writeString(UTF8JsonGenerator.java:509) + at net.jjjerp.framework.core.xss.XssJacksonSerializer.serialize(XssJacksonSerializer.java:26) + at net.jjjerp.framework.core.xss.XssJacksonSerializer.serialize(XssJacksonSerializer.java:17) + at com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:728) + at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:755) + at com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:178) + at com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serializeContents(IndexedListSerializer.java:119) + at com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serialize(IndexedListSerializer.java:79) + at com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serialize(IndexedListSerializer.java:18) + at com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:728) + at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:755) + at com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:178) + at com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serializeContents(IndexedListSerializer.java:119) + at com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serialize(IndexedListSerializer.java:79) + at com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serialize(IndexedListSerializer.java:18) + at com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:728) + at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:755) + at com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:178) + at com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serializeContents(IndexedListSerializer.java:119) + at com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serialize(IndexedListSerializer.java:79) + at com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serialize(IndexedListSerializer.java:18) + at com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:728) + at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:755) + at com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:178) + at com.fasterxml.jackson.databind.ser.DefaultSerializerProvider._serialize(DefaultSerializerProvider.java:480) + at com.fasterxml.jackson.databind.ser.DefaultSerializerProvider.serializeValue(DefaultSerializerProvider.java:319) + at com.fasterxml.jackson.databind.ObjectWriter$Prefetch.serialize(ObjectWriter.java:1516) + at com.fasterxml.jackson.databind.ObjectWriter.writeValue(ObjectWriter.java:1006) + at org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.writeInternal(AbstractJackson2HttpMessageConverter.java:346) + at org.springframework.http.converter.AbstractGenericHttpMessageConverter.write(AbstractGenericHttpMessageConverter.java:104) + at org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodProcessor.writeWithMessageConverters(AbstractMessageConverterMethodProcessor.java:277) + at org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.handleReturnValue(RequestResponseBodyMethodProcessor.java:181) + at org.springframework.web.method.support.HandlerMethodReturnValueHandlerComposite.handleReturnValue(HandlerMethodReturnValueHandlerComposite.java:82) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:123) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:626) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:112) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) + at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: java.net.SocketTimeoutException: null + at org.apache.tomcat.util.net.NioBlockingSelector.write(NioBlockingSelector.java:151) + at org.apache.tomcat.util.net.NioSelectorPool.write(NioSelectorPool.java:151) + at org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.doWrite(NioEndpoint.java:1367) + at org.apache.tomcat.util.net.SocketWrapperBase.doWrite(SocketWrapperBase.java:766) + at org.apache.tomcat.util.net.SocketWrapperBase.writeBlocking(SocketWrapperBase.java:586) + at org.apache.tomcat.util.net.SocketWrapperBase.write(SocketWrapperBase.java:530) + at org.apache.coyote.http11.Http11OutputBuffer$SocketOutputBuffer.doWrite(Http11OutputBuffer.java:546) + at org.apache.coyote.http11.filters.ChunkedOutputFilter.doWrite(ChunkedOutputFilter.java:112) + at org.apache.coyote.http11.Http11OutputBuffer.doWrite(Http11OutputBuffer.java:193) + at org.apache.coyote.Response.doWrite(Response.java:606) + at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:340) + ... 121 common frames omitted + +2024-06-28 09:05:08.652 WARN [http-nio-8892-exec-21] [] .m.m.a.ExceptionHandlerExceptionResolver 414 : Failure in @ExceptionHandler net.jjjerp.handler.GlobalExceptionHandler#exceptionHandler(Exception) + +org.apache.catalina.connector.ClientAbortException: java.io.IOException: java.net.SocketTimeoutException + at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:353) + at org.apache.catalina.connector.OutputBuffer.flushByteBuffer(OutputBuffer.java:783) + at org.apache.catalina.connector.OutputBuffer.append(OutputBuffer.java:688) + at org.apache.catalina.connector.OutputBuffer.writeBytes(OutputBuffer.java:388) + at org.apache.catalina.connector.OutputBuffer.write(OutputBuffer.java:366) + at org.apache.catalina.connector.CoyoteOutputStream.write(CoyoteOutputStream.java:96) + at org.springframework.util.StreamUtils$NonClosingOutputStream.write(StreamUtils.java:287) + at com.fasterxml.jackson.core.json.UTF8JsonGenerator._flushBuffer(UTF8JsonGenerator.java:2161) + at com.fasterxml.jackson.core.json.UTF8JsonGenerator.flush(UTF8JsonGenerator.java:1175) + at com.fasterxml.jackson.databind.ObjectWriter.writeValue(ObjectWriter.java:1008) + at org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.writeInternal(AbstractJackson2HttpMessageConverter.java:346) + at org.springframework.http.converter.AbstractGenericHttpMessageConverter.write(AbstractGenericHttpMessageConverter.java:104) + at org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodProcessor.writeWithMessageConverters(AbstractMessageConverterMethodProcessor.java:277) + at org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.handleReturnValue(RequestResponseBodyMethodProcessor.java:181) + at org.springframework.web.method.support.HandlerMethodReturnValueHandlerComposite.handleReturnValue(HandlerMethodReturnValueHandlerComposite.java:82) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:123) + at org.springframework.web.servlet.mvc.method.annotation.ExceptionHandlerExceptionResolver.doResolveHandlerMethodException(ExceptionHandlerExceptionResolver.java:403) + at org.springframework.web.servlet.handler.AbstractHandlerMethodExceptionResolver.doResolveException(AbstractHandlerMethodExceptionResolver.java:61) + at org.springframework.web.servlet.handler.AbstractHandlerExceptionResolver.resolveException(AbstractHandlerExceptionResolver.java:141) + at org.springframework.web.servlet.handler.HandlerExceptionResolverComposite.resolveException(HandlerExceptionResolverComposite.java:80) + at org.springframework.web.servlet.DispatcherServlet.processHandlerException(DispatcherServlet.java:1300) + at org.springframework.web.servlet.DispatcherServlet.processDispatchResult(DispatcherServlet.java:1111) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1057) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:626) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:112) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) + at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: java.io.IOException: java.net.SocketTimeoutException + at org.apache.tomcat.util.net.NioBlockingSelector.write(NioBlockingSelector.java:109) + at org.apache.tomcat.util.net.NioSelectorPool.write(NioSelectorPool.java:151) + at org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.doWrite(NioEndpoint.java:1367) + at org.apache.tomcat.util.net.SocketWrapperBase.doWrite(SocketWrapperBase.java:766) + at org.apache.tomcat.util.net.SocketWrapperBase.writeBlocking(SocketWrapperBase.java:586) + at org.apache.tomcat.util.net.SocketWrapperBase.write(SocketWrapperBase.java:530) + at org.apache.coyote.http11.Http11OutputBuffer$SocketOutputBuffer.doWrite(Http11OutputBuffer.java:546) + at org.apache.coyote.http11.filters.ChunkedOutputFilter.doWrite(ChunkedOutputFilter.java:110) + at org.apache.coyote.http11.Http11OutputBuffer.doWrite(Http11OutputBuffer.java:193) + at org.apache.coyote.Response.doWrite(Response.java:606) + at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:340) + ... 96 common frames omitted +Caused by: java.net.SocketTimeoutException: null + at org.apache.tomcat.util.net.NioBlockingSelector.write(NioBlockingSelector.java:151) + at org.apache.tomcat.util.net.NioSelectorPool.write(NioSelectorPool.java:151) + at org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.doWrite(NioEndpoint.java:1367) + at org.apache.tomcat.util.net.SocketWrapperBase.doWrite(SocketWrapperBase.java:766) + at org.apache.tomcat.util.net.SocketWrapperBase.writeBlocking(SocketWrapperBase.java:586) + at org.apache.tomcat.util.net.SocketWrapperBase.write(SocketWrapperBase.java:530) + at org.apache.coyote.http11.Http11OutputBuffer$SocketOutputBuffer.doWrite(Http11OutputBuffer.java:546) + at org.apache.coyote.http11.filters.ChunkedOutputFilter.doWrite(ChunkedOutputFilter.java:112) + at org.apache.coyote.http11.Http11OutputBuffer.doWrite(Http11OutputBuffer.java:193) + at org.apache.coyote.Response.doWrite(Response.java:606) + at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:340) + at org.apache.catalina.connector.OutputBuffer.flushByteBuffer(OutputBuffer.java:783) + at org.apache.catalina.connector.OutputBuffer.append(OutputBuffer.java:688) + at org.apache.catalina.connector.OutputBuffer.writeBytes(OutputBuffer.java:388) + at org.apache.catalina.connector.OutputBuffer.write(OutputBuffer.java:366) + at org.apache.catalina.connector.CoyoteOutputStream.write(CoyoteOutputStream.java:96) + at org.springframework.util.StreamUtils$NonClosingOutputStream.write(StreamUtils.java:287) + at com.fasterxml.jackson.core.json.UTF8JsonGenerator._flushBuffer(UTF8JsonGenerator.java:2161) + at com.fasterxml.jackson.core.json.UTF8JsonGenerator._writeStringSegment2(UTF8JsonGenerator.java:1476) + at com.fasterxml.jackson.core.json.UTF8JsonGenerator._writeStringSegment(UTF8JsonGenerator.java:1423) + at com.fasterxml.jackson.core.json.UTF8JsonGenerator.writeString(UTF8JsonGenerator.java:509) + at net.jjjerp.framework.core.xss.XssJacksonSerializer.serialize(XssJacksonSerializer.java:26) + at net.jjjerp.framework.core.xss.XssJacksonSerializer.serialize(XssJacksonSerializer.java:17) + at com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:728) + at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:755) + at com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:178) + at com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serializeContents(IndexedListSerializer.java:119) + at com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serialize(IndexedListSerializer.java:79) + at com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serialize(IndexedListSerializer.java:18) + at com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:728) + at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:755) + at com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:178) + at com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serializeContents(IndexedListSerializer.java:119) + at com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serialize(IndexedListSerializer.java:79) + at com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serialize(IndexedListSerializer.java:18) + at com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:728) + at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:755) + at com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:178) + at com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serializeContents(IndexedListSerializer.java:119) + at com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serialize(IndexedListSerializer.java:79) + at com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serialize(IndexedListSerializer.java:18) + at com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:728) + at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:755) + at com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:178) + at com.fasterxml.jackson.databind.ser.DefaultSerializerProvider._serialize(DefaultSerializerProvider.java:480) + at com.fasterxml.jackson.databind.ser.DefaultSerializerProvider.serializeValue(DefaultSerializerProvider.java:319) + at com.fasterxml.jackson.databind.ObjectWriter$Prefetch.serialize(ObjectWriter.java:1516) + at com.fasterxml.jackson.databind.ObjectWriter.writeValue(ObjectWriter.java:1006) + at org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.writeInternal(AbstractJackson2HttpMessageConverter.java:346) + at org.springframework.http.converter.AbstractGenericHttpMessageConverter.write(AbstractGenericHttpMessageConverter.java:104) + at org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodProcessor.writeWithMessageConverters(AbstractMessageConverterMethodProcessor.java:277) + at org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.handleReturnValue(RequestResponseBodyMethodProcessor.java:181) + at org.springframework.web.method.support.HandlerMethodReturnValueHandlerComposite.handleReturnValue(HandlerMethodReturnValueHandlerComposite.java:82) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:123) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + ... 74 common frames omitted + +2024-06-28 09:13:05.126 ERROR [http-nio-8892-exec-14] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy404.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-28 09:13:05.126 ERROR [http-nio-8892-exec-25] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy404.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-28 09:13:14.396 INFO [lettuce-eventExecutorLoop-1-5] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was /101.34.74.68:6379 +2024-06-28 09:13:14.429 INFO [lettuce-nioEventLoop-4-2] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to 101.34.74.68:6379 +2024-06-28 09:18:25.976 WARN [http-nio-8892-exec-27] [1806497328847384578] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@329597bb (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 09:44:22.736 ERROR [http-nio-8892-exec-27] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy404.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-28 09:44:22.736 ERROR [http-nio-8892-exec-26] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy404.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-28 09:44:26.901 ERROR [http-nio-8892-exec-28] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy404.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-28 09:44:26.901 ERROR [http-nio-8892-exec-29] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy404.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-28 09:44:27.809 ERROR [http-nio-8892-exec-22] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy404.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-28 09:44:27.809 ERROR [http-nio-8892-exec-2] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy404.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-28 09:44:31.992 INFO [lettuce-eventExecutorLoop-1-3] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was /101.34.74.68:6379 +2024-06-28 09:44:32.014 INFO [lettuce-nioEventLoop-4-3] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to 101.34.74.68:6379 +2024-06-28 09:44:37.812 WARN [http-nio-8892-exec-10] [1806503921584435202] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@13158621 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 09:44:37.859 WARN [http-nio-8892-exec-3] [1806503921848676353] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@705a77b2 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 09:44:38.013 WARN [http-nio-8892-exec-5] [1806503921584435201] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@2727fbe4 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 10:51:17.026 ERROR [http-nio-8892-exec-4] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy404.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-28 10:51:26.300 INFO [lettuce-eventExecutorLoop-1-4] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was /101.34.74.68:6379 +2024-06-28 10:51:26.323 INFO [lettuce-nioEventLoop-4-4] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to 101.34.74.68:6379 +2024-06-28 10:51:34.295 WARN [http-nio-8892-exec-9] [1806520767960313858] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@26918815 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 10:51:34.341 WARN [http-nio-8892-exec-7] [1806520768216166401] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@2e38d50b (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 10:51:34.465 WARN [http-nio-8892-exec-6] [1806520767960313857] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@9e2cacf (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 10:51:39.302 WARN [http-nio-8892-exec-9] [1806520767960313858] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@23ca1439 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 10:51:39.350 WARN [http-nio-8892-exec-7] [1806520768216166401] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@61aeda70 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 10:51:39.477 WARN [http-nio-8892-exec-6] [1806520767960313857] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@65ea5179 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 10:51:44.307 WARN [http-nio-8892-exec-9] [1806520767960313858] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@2573cacc (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 10:51:44.353 WARN [http-nio-8892-exec-7] [1806520768216166401] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@1cbe114 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 10:51:44.494 WARN [http-nio-8892-exec-6] [1806520767960313857] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@58fa92c7 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 10:51:49.321 WARN [http-nio-8892-exec-9] [1806520767960313858] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@f083f57 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 10:55:34.633 INFO [SpringContextShutdownHook] [] net.jjjerp.framework.core.xss.XssFilter 30 : XssFilter destroy +2024-06-28 10:55:34.633 INFO [SpringContextShutdownHook] [] n.j.f.core.filter.RequestDetailFilter 116 : RequestDetailFilter destroy +2024-06-28 10:55:34.642 INFO [SpringContextShutdownHook] [] o.s.s.c.ThreadPoolTaskScheduler 218 : Shutting down ExecutorService 'taskScheduler' +2024-06-28 10:55:34.643 INFO [SpringContextShutdownHook] [] o.s.s.concurrent.ThreadPoolTaskExecutor 218 : Shutting down ExecutorService 'applicationTaskExecutor' +2024-06-28 10:55:34.649 INFO [SpringContextShutdownHook] [] com.zaxxer.hikari.HikariDataSource 350 : HikariPool-1 - Shutdown initiated... +2024-06-28 10:55:34.651 INFO [SpringContextShutdownHook] [] com.zaxxer.hikari.HikariDataSource 352 : HikariPool-1 - Shutdown completed. +2024-06-28 10:55:47.147 INFO [background-preinit] [] o.h.validator.internal.util.Version 21 : HV000001: Hibernate Validator 6.1.7.Final +2024-06-28 10:55:47.153 INFO [main] [] net.jjjerp.SpringBootJjjApplication 55 : Starting SpringBootJjjApplication on OS-20230506YKNI with PID 12500 (D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\bootstrap\target\classes started by Administrator in D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp) +2024-06-28 10:55:47.154 INFO [main] [] net.jjjerp.SpringBootJjjApplication 652 : The following profiles are active: prod +2024-06-28 10:55:48.223 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 249 : Multiple Spring Data modules found, entering strict repository configuration mode! +2024-06-28 10:55:48.233 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 127 : Bootstrapping Spring Data Redis repositories in DEFAULT mode. +2024-06-28 10:55:48.342 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 187 : Finished Spring Data repository scanning in 99ms. Found 0 Redis repository interfaces. +2024-06-28 10:55:48.602 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.ShiroConfig' of type [net.jjjerp.config.ShiroConfig$$EnhancerBySpringCGLIB$$51f1ddf8] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 10:55:48.708 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.properties.JwtProperties' of type [net.jjjerp.config.properties.JwtProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 10:55:48.710 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.RedisTemplateConfig' of type [net.jjjerp.config.RedisTemplateConfig$$EnhancerBySpringCGLIB$$2156e89c] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 10:55:48.722 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'spring.redis-org.springframework.boot.autoconfigure.data.redis.RedisProperties' of type [org.springframework.boot.autoconfigure.data.redis.RedisProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 10:55:48.726 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration' of type [org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 10:55:48.790 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'lettuceClientResources' of type [io.lettuce.core.resource.DefaultClientResources] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 10:55:48.884 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'redisConnectionFactory' of type [org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 10:55:48.933 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'redisTemplate' of type [org.springframework.data.redis.core.RedisTemplate] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 10:55:48.934 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.cache.impl.AdminLoginRedisServiceImpl' of type [net.jjjerp.framework.shiro.cache.impl.AdminLoginRedisServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 10:55:48.938 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.cache.impl.ShopLoginRedisServiceImpl' of type [net.jjjerp.framework.shiro.cache.impl.ShopLoginRedisServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 10:55:49.052 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'credentialsMatcher' of type [net.jjjerp.framework.shiro.jwt.JwtCredentialsMatcher] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 10:55:49.059 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'jwtRealm' of type [net.jjjerp.framework.shiro.jwt.JwtRealm] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 10:55:49.060 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'sessionStorageEvaluator' of type [org.apache.shiro.web.mgt.DefaultWebSessionStorageEvaluator] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 10:55:49.060 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'subjectDAO' of type [org.apache.shiro.mgt.DefaultSubjectDAO] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 10:55:49.062 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'securityManager' of type [org.apache.shiro.web.mgt.DefaultWebSecurityManager] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 10:55:49.083 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.service.impl.ShiroLoginServiceImpl' of type [net.jjjerp.framework.shiro.service.impl.ShiroLoginServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 10:55:49.089 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'spring-boot-jjj.shiro-net.jjjerp.config.properties.ShiroProperties' of type [net.jjjerp.config.properties.ShiroProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 10:55:49.176 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'authorizationAttributeSourceAdvisor' of type [org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 10:55:49.306 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.RedisCacheConfig' of type [net.jjjerp.config.RedisCacheConfig$$EnhancerBySpringCGLIB$$d693bf9e] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 10:55:49.552 INFO [main] [] o.s.b.w.embedded.tomcat.TomcatWebServer 108 : Tomcat initialized with port(s): 8892 (http) +2024-06-28 10:55:49.560 INFO [main] [] o.a.coyote.http11.Http11NioProtocol 173 : Initializing ProtocolHandler ["http-nio-8892"] +2024-06-28 10:55:49.560 INFO [main] [] o.apache.catalina.core.StandardService 173 : Starting service [Tomcat] +2024-06-28 10:55:49.560 INFO [main] [] org.apache.catalina.core.StandardEngine 173 : Starting Servlet engine: [Apache Tomcat/9.0.46] +2024-06-28 10:55:49.652 INFO [main] [] o.a.c.c.C.[Tomcat].[localhost].[/api] 173 : Initializing Spring embedded WebApplicationContext +2024-06-28 10:55:49.653 INFO [main] [] w.s.c.ServletWebServerApplicationContext 285 : Root WebApplicationContext: initialization completed in 2448 ms +2024-06-28 10:55:49.809 INFO [main] [] net.jjjerp.framework.core.xss.XssFilter 18 : XssFilter init +2024-06-28 10:55:49.809 INFO [main] [] n.j.f.core.filter.RequestDetailFilter 30 : RequestDetailFilter init +2024-06-28 10:55:53.361 INFO [main] [] org.reflections.Reflections 228 : Reflections took 38 ms to scan 1 urls, producing 0 keys and 0 values +2024-06-28 10:55:53.458 INFO [main] [] net.jjjerp.framework.shiro.util.JwtUtil 33 : {"audience":"web","expireSecond":36000,"issuer":"spring-boot-jjj","redisCheck":true,"refreshToken":true,"refreshTokenCountdown":600,"saltCheck":true,"secret":"888888","singleLogin":false,"tokenName":"token"} +2024-06-28 10:55:56.403 INFO [main] [] pertySourcedRequestMappingHandlerMapping 69 : Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2Controller#getDocumentation(String, HttpServletRequest)] +2024-06-28 10:55:56.422 INFO [main] [] net.jjjerp.config.Swagger2Config 149 : swagger scan basePackages:null +2024-06-28 10:55:56.572 INFO [main] [] o.s.s.concurrent.ThreadPoolTaskExecutor 181 : Initializing ExecutorService 'applicationTaskExecutor' +2024-06-28 10:55:56.662 INFO [main] [] o.s.b.a.w.s.WelcomePageHandlerMapping 53 : Adding welcome page: class path resource [static/index.html] +2024-06-28 10:55:56.855 INFO [main] [] o.s.s.c.ThreadPoolTaskScheduler 181 : Initializing ExecutorService 'taskScheduler' +2024-06-28 10:55:56.955 INFO [main] [] o.a.coyote.http11.Http11NioProtocol 173 : Starting ProtocolHandler ["http-nio-8892"] +2024-06-28 10:55:56.979 INFO [main] [] o.s.b.w.embedded.tomcat.TomcatWebServer 220 : Tomcat started on port(s): 8892 (http) with context path '/api' +2024-06-28 10:55:56.981 INFO [main] [] d.s.w.p.DocumentationPluginsBootstrapper 160 : Context refreshed +2024-06-28 10:55:56.988 INFO [main] [] d.s.w.p.DocumentationPluginsBootstrapper 163 : Found 1 custom documentation plugin(s) +2024-06-28 10:55:57.028 INFO [main] [] s.d.s.w.s.ApiListingReferenceScanner 41 : Scanning for api listing references +2024-06-28 10:55:57.151 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_1 +2024-06-28 10:55:57.153 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_1 +2024-06-28 10:55:57.153 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_1 +2024-06-28 10:55:57.170 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_1 +2024-06-28 10:55:57.208 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_2 +2024-06-28 10:55:57.210 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_2 +2024-06-28 10:55:57.213 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_3 +2024-06-28 10:55:57.214 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_3 +2024-06-28 10:55:57.217 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_4 +2024-06-28 10:55:57.218 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_4 +2024-06-28 10:55:57.219 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexOutUsingPOST_1 +2024-06-28 10:55:57.223 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_5 +2024-06-28 10:55:57.231 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_5 +2024-06-28 10:55:57.233 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_2 +2024-06-28 10:55:57.234 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_2 +2024-06-28 10:55:57.250 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_6 +2024-06-28 10:55:57.252 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_7 +2024-06-28 10:55:57.257 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_8 +2024-06-28 10:55:57.265 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_6 +2024-06-28 10:55:57.266 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_3 +2024-06-28 10:55:57.267 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_3 +2024-06-28 10:55:57.274 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_9 +2024-06-28 10:55:57.303 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_10 +2024-06-28 10:55:57.305 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_7 +2024-06-28 10:55:57.306 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_4 +2024-06-28 10:55:57.306 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_4 +2024-06-28 10:55:57.309 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_11 +2024-06-28 10:55:57.314 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_8 +2024-06-28 10:55:57.315 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_5 +2024-06-28 10:55:57.315 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_5 +2024-06-28 10:55:57.319 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_12 +2024-06-28 10:55:57.322 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_9 +2024-06-28 10:55:57.323 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_6 +2024-06-28 10:55:57.323 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_6 +2024-06-28 10:55:57.329 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_13 +2024-06-28 10:55:57.330 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_1 +2024-06-28 10:55:57.333 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_10 +2024-06-28 10:55:57.334 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_7 +2024-06-28 10:55:57.335 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_7 +2024-06-28 10:55:57.337 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_14 +2024-06-28 10:55:57.339 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_11 +2024-06-28 10:55:57.339 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_8 +2024-06-28 10:55:57.340 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_8 +2024-06-28 10:55:57.342 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_15 +2024-06-28 10:55:57.343 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_12 +2024-06-28 10:55:57.346 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_9 +2024-06-28 10:55:57.346 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_9 +2024-06-28 10:55:57.350 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_16 +2024-06-28 10:55:57.352 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_17 +2024-06-28 10:55:57.360 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_13 +2024-06-28 10:55:57.362 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_10 +2024-06-28 10:55:57.365 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_18 +2024-06-28 10:55:57.367 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_1 +2024-06-28 10:55:57.382 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addGroupUsingPOST_1 +2024-06-28 10:55:57.383 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: categoryUsingPOST_1 +2024-06-28 10:55:57.383 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteFilesUsingPOST_1 +2024-06-28 10:55:57.384 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteGroupUsingPOST_1 +2024-06-28 10:55:57.384 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editGroupUsingPOST_1 +2024-06-28 10:55:57.389 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: listsUsingPOST_1 +2024-06-28 10:55:57.390 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: moveFilesUsingPOST_1 +2024-06-28 10:55:57.391 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_19 +2024-06-28 10:55:57.396 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_14 +2024-06-28 10:55:57.397 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_10 +2024-06-28 10:55:57.398 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteFilesUsingPOST_2 +2024-06-28 10:55:57.398 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_11 +2024-06-28 10:55:57.401 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_20 +2024-06-28 10:55:57.404 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: moveFilesUsingPOST_2 +2024-06-28 10:55:57.405 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_21 +2024-06-28 10:55:57.407 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: listUsingPOST_1 +2024-06-28 10:55:57.412 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_22 +2024-06-28 10:55:57.415 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_23 +2024-06-28 10:55:57.419 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_24 +2024-06-28 10:55:57.421 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_25 +2024-06-28 10:55:57.424 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_15 +2024-06-28 10:55:57.425 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_1 +2024-06-28 10:55:57.426 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_12 +2024-06-28 10:55:57.427 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_26 +2024-06-28 10:55:57.427 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: repulseAuditUsingPOST_1 +2024-06-28 10:55:57.430 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_16 +2024-06-28 10:55:57.431 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_11 +2024-06-28 10:55:57.431 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_13 +2024-06-28 10:55:57.435 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_27 +2024-06-28 10:55:57.439 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_17 +2024-06-28 10:55:57.439 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_12 +2024-06-28 10:55:57.440 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_14 +2024-06-28 10:55:57.442 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_28 +2024-06-28 10:55:57.443 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_18 +2024-06-28 10:55:57.444 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_29 +2024-06-28 10:55:57.448 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_30 +2024-06-28 10:55:57.450 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_19 +2024-06-28 10:55:57.451 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_1 +2024-06-28 10:55:57.451 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_31 +2024-06-28 10:55:57.453 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_1 +2024-06-28 10:55:57.454 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_32 +2024-06-28 10:55:57.456 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_20 +2024-06-28 10:55:57.456 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_2 +2024-06-28 10:55:57.456 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_33 +2024-06-28 10:55:57.465 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: loginUsingPOST_1 +2024-06-28 10:55:57.466 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: logoutUsingPOST_1 +2024-06-28 10:55:57.467 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_34 +2024-06-28 10:55:57.470 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_21 +2024-06-28 10:55:57.470 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_13 +2024-06-28 10:55:57.471 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_15 +2024-06-28 10:55:57.471 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_35 +2024-06-28 10:55:57.473 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_2 +2024-06-28 10:55:57.476 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_22 +2024-06-28 10:55:57.477 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_14 +2024-06-28 10:55:57.477 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_16 +2024-06-28 10:55:57.482 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_36 +2024-06-28 10:55:57.482 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: stateUsingPOST_1 +2024-06-28 10:55:57.483 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_1 +2024-06-28 10:55:57.483 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_3 +2024-06-28 10:55:57.485 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_23 +2024-06-28 10:55:57.485 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_2 +2024-06-28 10:55:57.486 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_2 +2024-06-28 10:55:57.487 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_17 +2024-06-28 10:55:57.487 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_37 +2024-06-28 10:55:57.489 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_3 +2024-06-28 10:55:57.490 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_18 +2024-06-28 10:55:57.490 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_38 +2024-06-28 10:55:57.492 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addStorageUsingPOST_1 +2024-06-28 10:55:57.492 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_4 +2024-06-28 10:55:57.493 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_3 +2024-06-28 10:55:57.494 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_19 +2024-06-28 10:55:57.494 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_39 +2024-06-28 10:55:57.495 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_40 +2024-06-28 10:55:57.496 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_24 +2024-06-28 10:55:57.497 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_20 +2024-06-28 10:55:57.498 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_3 +2024-06-28 10:55:57.500 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_25 +2024-06-28 10:55:57.501 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_15 +2024-06-28 10:55:57.501 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_21 +2024-06-28 10:55:57.502 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_41 +2024-06-28 10:55:57.504 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_2 +2024-06-28 10:55:57.505 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_4 +2024-06-28 10:55:57.507 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: scanIndexUsingPOST_1 +2024-06-28 10:55:57.508 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_42 +2024-06-28 10:55:57.509 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_1 +2024-06-28 10:55:57.510 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_26 +2024-06-28 10:55:57.511 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_16 +2024-06-28 10:55:57.511 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_22 +2024-06-28 10:55:57.516 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_43 +2024-06-28 10:55:57.519 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_27 +2024-06-28 10:55:57.519 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_17 +2024-06-28 10:55:57.520 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_23 +2024-06-28 10:55:57.521 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_44 +2024-06-28 10:55:57.521 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_3 +2024-06-28 10:55:57.522 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_5 +2024-06-28 10:55:57.523 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_28 +2024-06-28 10:55:57.524 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_18 +2024-06-28 10:55:57.524 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_24 +2024-06-28 10:55:57.526 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_45 +2024-06-28 10:55:57.527 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_46 +2024-06-28 10:55:57.527 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_2 +2024-06-28 10:55:57.528 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_29 +2024-06-28 10:55:57.529 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_47 +2024-06-28 10:55:57.530 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_48 +2024-06-28 10:55:57.530 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_49 +2024-06-28 10:55:57.531 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_3 +2024-06-28 10:55:57.534 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_30 +2024-06-28 10:55:57.535 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_19 +2024-06-28 10:55:57.535 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_25 +2024-06-28 10:55:57.538 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_50 +2024-06-28 10:55:57.539 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_2 +2024-06-28 10:55:57.539 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_4 +2024-06-28 10:55:57.540 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_6 +2024-06-28 10:55:57.543 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_31 +2024-06-28 10:55:57.544 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_20 +2024-06-28 10:55:57.544 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_26 +2024-06-28 10:55:57.549 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_51 +2024-06-28 10:55:57.550 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_3 +2024-06-28 10:55:57.550 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_7 +2024-06-28 10:55:57.551 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_52 +2024-06-28 10:55:57.551 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_4 +2024-06-28 10:55:57.553 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_32 +2024-06-28 10:55:57.554 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_21 +2024-06-28 10:55:57.555 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_27 +2024-06-28 10:55:57.556 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_53 +2024-06-28 10:55:57.559 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: uploadUsingPOST_1 +2024-06-28 10:55:57.579 INFO [main] [] net.jjjerp.SpringBootJjjApplication 61 : Started SpringBootJjjApplication in 10.943 seconds (JVM running for 11.59) +2024-06-28 10:55:57.582 INFO [main] [] n.j.framework.util.PrintApplicationInfo 61 : projectFinalName : jjj-erp-1.0 +2024-06-28 10:55:57.582 INFO [main] [] n.j.framework.util.PrintApplicationInfo 62 : projectVersion : 1.0 +2024-06-28 10:55:57.582 INFO [main] [] n.j.framework.util.PrintApplicationInfo 63 : profileActive : prod +2024-06-28 10:55:57.582 INFO [main] [] n.j.framework.util.PrintApplicationInfo 64 : contextPath : /api +2024-06-28 10:55:57.582 INFO [main] [] n.j.framework.util.PrintApplicationInfo 65 : serverIp : http://erp3.huadeng.fun +2024-06-28 10:55:57.582 INFO [main] [] n.j.framework.util.PrintApplicationInfo 66 : port : 8892 +2024-06-28 10:55:57.582 INFO [main] [] n.j.framework.util.PrintApplicationInfo 81 : Home: http://erp3.huadeng.fun/api +2024-06-28 10:55:57.582 INFO [main] [] n.j.framework.util.PrintApplicationInfo 82 : Knife4j: http://erp3.huadeng.fun/api/doc.html +2024-06-28 10:55:57.582 INFO [main] [] n.j.framework.util.PrintApplicationInfo 83 : Swagger: http://erp3.huadeng.fun/api/swagger-ui.html +2024-06-28 10:55:57.582 INFO [main] [] n.j.framework.util.PrintApplicationInfo 84 : jjj-erp 启动成功........... + ____ __ __ ____ +/\ _`\ /\ \__ /\ \__ /\ _`\ +\ \,\L\_\ \ ,_\ __ _ __\ \ ,_\ \ \,\L\_\ __ __ ___ ___ __ ____ ____ + \/_\__ \\ \ \/ /'__`\ /\`'__\ \ \/ \/_\__ \ /\ \/\ \ /'___\ /'___\ /'__`\ /',__\ /',__\ + /\ \L\ \ \ \_/\ \L\.\_\ \ \/ \ \ \_ /\ \L\ \ \ \_\ \/\ \__//\ \__//\ __//\__, `\/\__, `\ + \ `\____\ \__\ \__/.\_\\ \_\ \ \__\ \ `\____\ \____/\ \____\ \____\ \____\/\____/\/\____/ + \/_____/\/__/\/__/\/_/ \/_/ \/__/ \/_____/\/___/ \/____/\/____/\/____/\/___/ \/___/ + + +2024-06-28 10:56:25.019 INFO [http-nio-8892-exec-2] [] o.a.c.c.C.[Tomcat].[localhost].[/api] 173 : Initializing Spring DispatcherServlet 'dispatcherServlet' +2024-06-28 10:56:25.019 INFO [http-nio-8892-exec-2] [] o.s.web.servlet.DispatcherServlet 525 : Initializing Servlet 'dispatcherServlet' +2024-06-28 10:56:25.027 INFO [http-nio-8892-exec-2] [] o.s.web.servlet.DispatcherServlet 547 : Completed initialization in 8 ms +2024-06-28 10:56:26.047 INFO [http-nio-8892-exec-2] [1806522012414435329] com.zaxxer.hikari.HikariDataSource 110 : HikariPool-1 - Starting... +2024-06-28 10:56:26.421 INFO [http-nio-8892-exec-2] [1806522012414435329] com.zaxxer.hikari.HikariDataSource 123 : HikariPool-1 - Start completed. +2024-06-28 11:10:49.295 ERROR [http-nio-8892-exec-1] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy405.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-28 11:10:49.307 ERROR [http-nio-8892-exec-3] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy405.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-28 11:10:58.585 INFO [lettuce-eventExecutorLoop-1-7] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was /101.34.74.68:6379 +2024-06-28 11:10:58.615 INFO [lettuce-nioEventLoop-4-2] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to 101.34.74.68:6379 +2024-06-28 11:11:04.251 WARN [http-nio-8892-exec-4] [1806525675111374850] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@5c7dd706 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 11:11:04.467 WARN [http-nio-8892-exec-8] [1806525675111374849] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@5df5ff18 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 11:11:09.256 WARN [http-nio-8892-exec-4] [1806525675111374850] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@544340cc (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 11:11:09.474 WARN [http-nio-8892-exec-8] [1806525675111374849] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@6338774d (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 11:11:14.266 WARN [http-nio-8892-exec-4] [1806525675111374850] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@7361a682 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 11:11:14.476 WARN [http-nio-8892-exec-8] [1806525675111374849] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@2568fc40 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 11:11:19.278 WARN [http-nio-8892-exec-4] [1806525675111374850] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@75afb009 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 11:11:19.478 WARN [http-nio-8892-exec-8] [1806525675111374849] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@105d2e07 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 11:11:24.283 WARN [http-nio-8892-exec-4] [1806525675111374850] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@77995efe (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 11:11:24.486 WARN [http-nio-8892-exec-8] [1806525675111374849] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@2e325564 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 11:14:13.177 INFO [SpringContextShutdownHook] [] net.jjjerp.framework.core.xss.XssFilter 30 : XssFilter destroy +2024-06-28 11:14:13.177 INFO [SpringContextShutdownHook] [] n.j.f.core.filter.RequestDetailFilter 116 : RequestDetailFilter destroy +2024-06-28 11:14:13.184 INFO [SpringContextShutdownHook] [] o.s.s.c.ThreadPoolTaskScheduler 218 : Shutting down ExecutorService 'taskScheduler' +2024-06-28 11:14:13.185 INFO [SpringContextShutdownHook] [] o.s.s.concurrent.ThreadPoolTaskExecutor 218 : Shutting down ExecutorService 'applicationTaskExecutor' +2024-06-28 11:14:13.189 INFO [SpringContextShutdownHook] [] com.zaxxer.hikari.HikariDataSource 350 : HikariPool-1 - Shutdown initiated... +2024-06-28 11:14:13.191 INFO [SpringContextShutdownHook] [] com.zaxxer.hikari.HikariDataSource 352 : HikariPool-1 - Shutdown completed. +2024-06-28 11:14:21.997 INFO [background-preinit] [] o.h.validator.internal.util.Version 21 : HV000001: Hibernate Validator 6.1.7.Final +2024-06-28 11:14:22.005 INFO [main] [] net.jjjerp.SpringBootJjjApplication 55 : Starting SpringBootJjjApplication on OS-20230506YKNI with PID 11656 (D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\bootstrap\target\classes started by Administrator in D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp) +2024-06-28 11:14:22.005 INFO [main] [] net.jjjerp.SpringBootJjjApplication 652 : The following profiles are active: prod +2024-06-28 11:14:23.044 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 249 : Multiple Spring Data modules found, entering strict repository configuration mode! +2024-06-28 11:14:23.045 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 127 : Bootstrapping Spring Data Redis repositories in DEFAULT mode. +2024-06-28 11:14:23.158 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 187 : Finished Spring Data repository scanning in 102ms. Found 0 Redis repository interfaces. +2024-06-28 11:14:23.402 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.ShiroConfig' of type [net.jjjerp.config.ShiroConfig$$EnhancerBySpringCGLIB$$86b684f1] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 11:14:23.485 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.properties.JwtProperties' of type [net.jjjerp.config.properties.JwtProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 11:14:23.487 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.RedisTemplateConfig' of type [net.jjjerp.config.RedisTemplateConfig$$EnhancerBySpringCGLIB$$561b8f95] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 11:14:23.494 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'spring.redis-org.springframework.boot.autoconfigure.data.redis.RedisProperties' of type [org.springframework.boot.autoconfigure.data.redis.RedisProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 11:14:23.497 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration' of type [org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 11:14:23.563 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'lettuceClientResources' of type [io.lettuce.core.resource.DefaultClientResources] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 11:14:23.654 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'redisConnectionFactory' of type [org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 11:14:23.699 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'redisTemplate' of type [org.springframework.data.redis.core.RedisTemplate] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 11:14:23.699 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.cache.impl.AdminLoginRedisServiceImpl' of type [net.jjjerp.framework.shiro.cache.impl.AdminLoginRedisServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 11:14:23.703 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.cache.impl.ShopLoginRedisServiceImpl' of type [net.jjjerp.framework.shiro.cache.impl.ShopLoginRedisServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 11:14:23.810 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'credentialsMatcher' of type [net.jjjerp.framework.shiro.jwt.JwtCredentialsMatcher] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 11:14:23.817 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'jwtRealm' of type [net.jjjerp.framework.shiro.jwt.JwtRealm] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 11:14:23.818 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'sessionStorageEvaluator' of type [org.apache.shiro.web.mgt.DefaultWebSessionStorageEvaluator] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 11:14:23.818 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'subjectDAO' of type [org.apache.shiro.mgt.DefaultSubjectDAO] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 11:14:23.820 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'securityManager' of type [org.apache.shiro.web.mgt.DefaultWebSecurityManager] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 11:14:23.839 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.service.impl.ShiroLoginServiceImpl' of type [net.jjjerp.framework.shiro.service.impl.ShiroLoginServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 11:14:23.846 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'spring-boot-jjj.shiro-net.jjjerp.config.properties.ShiroProperties' of type [net.jjjerp.config.properties.ShiroProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 11:14:23.927 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'authorizationAttributeSourceAdvisor' of type [org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 11:14:24.052 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.RedisCacheConfig' of type [net.jjjerp.config.RedisCacheConfig$$EnhancerBySpringCGLIB$$b586697] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 11:14:24.312 INFO [main] [] o.s.b.w.embedded.tomcat.TomcatWebServer 108 : Tomcat initialized with port(s): 8892 (http) +2024-06-28 11:14:24.321 INFO [main] [] o.a.coyote.http11.Http11NioProtocol 173 : Initializing ProtocolHandler ["http-nio-8892"] +2024-06-28 11:14:24.322 INFO [main] [] o.apache.catalina.core.StandardService 173 : Starting service [Tomcat] +2024-06-28 11:14:24.322 INFO [main] [] org.apache.catalina.core.StandardEngine 173 : Starting Servlet engine: [Apache Tomcat/9.0.46] +2024-06-28 11:14:24.428 INFO [main] [] o.a.c.c.C.[Tomcat].[localhost].[/api] 173 : Initializing Spring embedded WebApplicationContext +2024-06-28 11:14:24.428 INFO [main] [] w.s.c.ServletWebServerApplicationContext 285 : Root WebApplicationContext: initialization completed in 2369 ms +2024-06-28 11:14:24.570 INFO [main] [] net.jjjerp.framework.core.xss.XssFilter 18 : XssFilter init +2024-06-28 11:14:24.571 INFO [main] [] n.j.f.core.filter.RequestDetailFilter 30 : RequestDetailFilter init +2024-06-28 11:14:28.059 INFO [main] [] org.reflections.Reflections 228 : Reflections took 56 ms to scan 1 urls, producing 0 keys and 0 values +2024-06-28 11:14:28.159 INFO [main] [] net.jjjerp.framework.shiro.util.JwtUtil 33 : {"audience":"web","expireSecond":36000,"issuer":"spring-boot-jjj","redisCheck":true,"refreshToken":true,"refreshTokenCountdown":600,"saltCheck":true,"secret":"888888","singleLogin":false,"tokenName":"token"} +2024-06-28 11:14:32.216 INFO [main] [] pertySourcedRequestMappingHandlerMapping 69 : Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2Controller#getDocumentation(String, HttpServletRequest)] +2024-06-28 11:14:32.238 INFO [main] [] net.jjjerp.config.Swagger2Config 149 : swagger scan basePackages:null +2024-06-28 11:14:32.425 INFO [main] [] o.s.s.concurrent.ThreadPoolTaskExecutor 181 : Initializing ExecutorService 'applicationTaskExecutor' +2024-06-28 11:14:32.525 INFO [main] [] o.s.b.a.w.s.WelcomePageHandlerMapping 53 : Adding welcome page: class path resource [static/index.html] +2024-06-28 11:14:32.922 INFO [main] [] o.s.s.c.ThreadPoolTaskScheduler 181 : Initializing ExecutorService 'taskScheduler' +2024-06-28 11:14:33.031 INFO [main] [] o.a.coyote.http11.Http11NioProtocol 173 : Starting ProtocolHandler ["http-nio-8892"] +2024-06-28 11:14:33.051 INFO [main] [] o.s.b.w.embedded.tomcat.TomcatWebServer 220 : Tomcat started on port(s): 8892 (http) with context path '/api' +2024-06-28 11:14:33.052 INFO [main] [] d.s.w.p.DocumentationPluginsBootstrapper 160 : Context refreshed +2024-06-28 11:14:33.058 INFO [main] [] d.s.w.p.DocumentationPluginsBootstrapper 163 : Found 1 custom documentation plugin(s) +2024-06-28 11:14:33.093 INFO [main] [] s.d.s.w.s.ApiListingReferenceScanner 41 : Scanning for api listing references +2024-06-28 11:14:33.211 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_1 +2024-06-28 11:14:33.213 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_1 +2024-06-28 11:14:33.214 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_1 +2024-06-28 11:14:33.267 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_1 +2024-06-28 11:14:33.434 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_2 +2024-06-28 11:14:33.438 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_2 +2024-06-28 11:14:33.443 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_3 +2024-06-28 11:14:33.445 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_3 +2024-06-28 11:14:33.450 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_4 +2024-06-28 11:14:33.452 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_4 +2024-06-28 11:14:33.454 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexOutUsingPOST_1 +2024-06-28 11:14:33.464 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_5 +2024-06-28 11:14:33.623 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_5 +2024-06-28 11:14:33.711 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_2 +2024-06-28 11:14:33.712 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_2 +2024-06-28 11:14:33.789 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_6 +2024-06-28 11:14:33.791 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_7 +2024-06-28 11:14:33.805 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_8 +2024-06-28 11:14:33.873 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_6 +2024-06-28 11:14:33.875 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_3 +2024-06-28 11:14:33.876 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_3 +2024-06-28 11:14:33.887 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_9 +2024-06-28 11:14:33.894 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_10 +2024-06-28 11:14:33.898 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_7 +2024-06-28 11:14:33.899 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_4 +2024-06-28 11:14:33.900 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_4 +2024-06-28 11:14:33.905 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_11 +2024-06-28 11:14:33.920 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_8 +2024-06-28 11:14:33.921 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_5 +2024-06-28 11:14:33.922 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_5 +2024-06-28 11:14:33.930 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_12 +2024-06-28 11:14:33.936 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_9 +2024-06-28 11:14:33.937 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_6 +2024-06-28 11:14:33.939 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_6 +2024-06-28 11:14:33.945 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_13 +2024-06-28 11:14:33.946 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_1 +2024-06-28 11:14:33.949 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_10 +2024-06-28 11:14:33.950 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_7 +2024-06-28 11:14:33.951 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_7 +2024-06-28 11:14:33.953 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_14 +2024-06-28 11:14:33.955 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_11 +2024-06-28 11:14:33.956 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_8 +2024-06-28 11:14:33.956 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_8 +2024-06-28 11:14:33.958 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_15 +2024-06-28 11:14:33.962 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_12 +2024-06-28 11:14:33.967 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_9 +2024-06-28 11:14:33.968 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_9 +2024-06-28 11:14:33.973 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_16 +2024-06-28 11:14:33.976 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_17 +2024-06-28 11:14:33.984 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_13 +2024-06-28 11:14:33.986 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_10 +2024-06-28 11:14:33.992 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_18 +2024-06-28 11:14:33.993 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_1 +2024-06-28 11:14:34.012 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addGroupUsingPOST_1 +2024-06-28 11:14:34.012 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: categoryUsingPOST_1 +2024-06-28 11:14:34.013 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteFilesUsingPOST_1 +2024-06-28 11:14:34.014 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteGroupUsingPOST_1 +2024-06-28 11:14:34.015 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editGroupUsingPOST_1 +2024-06-28 11:14:34.022 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: listsUsingPOST_1 +2024-06-28 11:14:34.023 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: moveFilesUsingPOST_1 +2024-06-28 11:14:34.025 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_19 +2024-06-28 11:14:34.033 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_20 +2024-06-28 11:14:34.042 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_14 +2024-06-28 11:14:34.044 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_10 +2024-06-28 11:14:34.045 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteFilesUsingPOST_2 +2024-06-28 11:14:34.045 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_11 +2024-06-28 11:14:34.046 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_21 +2024-06-28 11:14:34.047 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: listUsingPOST_1 +2024-06-28 11:14:34.048 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: moveFilesUsingPOST_2 +2024-06-28 11:14:34.049 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_22 +2024-06-28 11:14:34.062 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_23 +2024-06-28 11:14:34.067 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_24 +2024-06-28 11:14:34.069 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_25 +2024-06-28 11:14:34.074 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_15 +2024-06-28 11:14:34.075 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_1 +2024-06-28 11:14:34.077 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_12 +2024-06-28 11:14:34.079 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_26 +2024-06-28 11:14:34.079 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: repulseAuditUsingPOST_1 +2024-06-28 11:14:34.082 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_16 +2024-06-28 11:14:34.083 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_11 +2024-06-28 11:14:34.084 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_13 +2024-06-28 11:14:34.090 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_27 +2024-06-28 11:14:34.096 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_17 +2024-06-28 11:14:34.098 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_12 +2024-06-28 11:14:34.098 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_14 +2024-06-28 11:14:34.102 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_28 +2024-06-28 11:14:34.103 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_18 +2024-06-28 11:14:34.103 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_29 +2024-06-28 11:14:34.109 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_30 +2024-06-28 11:14:34.111 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_19 +2024-06-28 11:14:34.112 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_1 +2024-06-28 11:14:34.113 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_31 +2024-06-28 11:14:34.115 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_1 +2024-06-28 11:14:34.116 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_32 +2024-06-28 11:14:34.121 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_20 +2024-06-28 11:14:34.122 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_2 +2024-06-28 11:14:34.123 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_33 +2024-06-28 11:14:34.137 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: loginUsingPOST_1 +2024-06-28 11:14:34.138 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: logoutUsingPOST_1 +2024-06-28 11:14:34.140 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_34 +2024-06-28 11:14:34.144 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_21 +2024-06-28 11:14:34.145 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_13 +2024-06-28 11:14:34.146 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_15 +2024-06-28 11:14:34.147 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_35 +2024-06-28 11:14:34.150 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_2 +2024-06-28 11:14:34.193 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_22 +2024-06-28 11:14:34.194 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_14 +2024-06-28 11:14:34.198 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_16 +2024-06-28 11:14:34.203 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_36 +2024-06-28 11:14:34.203 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: stateUsingPOST_1 +2024-06-28 11:14:34.204 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_1 +2024-06-28 11:14:34.204 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_3 +2024-06-28 11:14:34.206 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_23 +2024-06-28 11:14:34.206 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_2 +2024-06-28 11:14:34.207 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_2 +2024-06-28 11:14:34.208 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_17 +2024-06-28 11:14:34.209 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_37 +2024-06-28 11:14:34.210 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_3 +2024-06-28 11:14:34.211 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_18 +2024-06-28 11:14:34.211 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_38 +2024-06-28 11:14:34.213 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addStorageUsingPOST_1 +2024-06-28 11:14:34.215 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_4 +2024-06-28 11:14:34.216 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_3 +2024-06-28 11:14:34.218 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_19 +2024-06-28 11:14:34.218 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_39 +2024-06-28 11:14:34.220 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_40 +2024-06-28 11:14:34.222 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_24 +2024-06-28 11:14:34.224 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_20 +2024-06-28 11:14:34.224 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_3 +2024-06-28 11:14:34.231 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_25 +2024-06-28 11:14:34.232 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_15 +2024-06-28 11:14:34.232 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_21 +2024-06-28 11:14:34.234 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_41 +2024-06-28 11:14:34.234 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_2 +2024-06-28 11:14:34.235 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_4 +2024-06-28 11:14:34.237 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: scanIndexUsingPOST_1 +2024-06-28 11:14:34.239 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_42 +2024-06-28 11:14:34.240 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_1 +2024-06-28 11:14:34.243 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_26 +2024-06-28 11:14:34.245 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_16 +2024-06-28 11:14:34.245 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_22 +2024-06-28 11:14:34.253 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_43 +2024-06-28 11:14:34.258 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_27 +2024-06-28 11:14:34.258 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_17 +2024-06-28 11:14:34.259 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_23 +2024-06-28 11:14:34.262 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_44 +2024-06-28 11:14:34.262 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_3 +2024-06-28 11:14:34.263 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_5 +2024-06-28 11:14:34.266 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_28 +2024-06-28 11:14:34.267 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_18 +2024-06-28 11:14:34.267 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_24 +2024-06-28 11:14:34.270 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_45 +2024-06-28 11:14:34.271 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_46 +2024-06-28 11:14:34.271 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_2 +2024-06-28 11:14:34.272 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_29 +2024-06-28 11:14:34.273 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_47 +2024-06-28 11:14:34.274 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_48 +2024-06-28 11:14:34.275 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_49 +2024-06-28 11:14:34.276 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_3 +2024-06-28 11:14:34.280 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_30 +2024-06-28 11:14:34.281 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_19 +2024-06-28 11:14:34.281 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_25 +2024-06-28 11:14:34.288 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_50 +2024-06-28 11:14:34.288 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_2 +2024-06-28 11:14:34.289 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_4 +2024-06-28 11:14:34.289 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_6 +2024-06-28 11:14:34.296 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_31 +2024-06-28 11:14:34.296 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_20 +2024-06-28 11:14:34.297 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_26 +2024-06-28 11:14:34.304 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_51 +2024-06-28 11:14:34.305 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_3 +2024-06-28 11:14:34.306 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_7 +2024-06-28 11:14:34.307 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_52 +2024-06-28 11:14:34.308 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_4 +2024-06-28 11:14:34.310 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_32 +2024-06-28 11:14:34.312 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_21 +2024-06-28 11:14:34.312 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_27 +2024-06-28 11:14:34.315 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_53 +2024-06-28 11:14:34.319 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: uploadUsingPOST_1 +2024-06-28 11:14:34.347 INFO [main] [] net.jjjerp.SpringBootJjjApplication 61 : Started SpringBootJjjApplication in 12.919 seconds (JVM running for 13.61) +2024-06-28 11:14:34.363 INFO [main] [] n.j.framework.util.PrintApplicationInfo 61 : projectFinalName : jjj-erp-1.0 +2024-06-28 11:14:34.363 INFO [main] [] n.j.framework.util.PrintApplicationInfo 62 : projectVersion : 1.0 +2024-06-28 11:14:34.363 INFO [main] [] n.j.framework.util.PrintApplicationInfo 63 : profileActive : prod +2024-06-28 11:14:34.363 INFO [main] [] n.j.framework.util.PrintApplicationInfo 64 : contextPath : /api +2024-06-28 11:14:34.363 INFO [main] [] n.j.framework.util.PrintApplicationInfo 65 : serverIp : http://erp3.huadeng.fun +2024-06-28 11:14:34.363 INFO [main] [] n.j.framework.util.PrintApplicationInfo 66 : port : 8892 +2024-06-28 11:14:34.363 INFO [main] [] n.j.framework.util.PrintApplicationInfo 81 : Home: http://erp3.huadeng.fun/api +2024-06-28 11:14:34.363 INFO [main] [] n.j.framework.util.PrintApplicationInfo 82 : Knife4j: http://erp3.huadeng.fun/api/doc.html +2024-06-28 11:14:34.363 INFO [main] [] n.j.framework.util.PrintApplicationInfo 83 : Swagger: http://erp3.huadeng.fun/api/swagger-ui.html +2024-06-28 11:14:34.363 INFO [main] [] n.j.framework.util.PrintApplicationInfo 84 : jjj-erp 启动成功........... + ____ __ __ ____ +/\ _`\ /\ \__ /\ \__ /\ _`\ +\ \,\L\_\ \ ,_\ __ _ __\ \ ,_\ \ \,\L\_\ __ __ ___ ___ __ ____ ____ + \/_\__ \\ \ \/ /'__`\ /\`'__\ \ \/ \/_\__ \ /\ \/\ \ /'___\ /'___\ /'__`\ /',__\ /',__\ + /\ \L\ \ \ \_/\ \L\.\_\ \ \/ \ \ \_ /\ \L\ \ \ \_\ \/\ \__//\ \__//\ __//\__, `\/\__, `\ + \ `\____\ \__\ \__/.\_\\ \_\ \ \__\ \ `\____\ \____/\ \____\ \____\ \____\/\____/\/\____/ + \/_____/\/__/\/__/\/_/ \/_/ \/__/ \/_____/\/___/ \/____/\/____/\/____/\/___/ \/___/ + + +2024-06-28 11:15:00.850 INFO [http-nio-8892-exec-1] [] o.a.c.c.C.[Tomcat].[localhost].[/api] 173 : Initializing Spring DispatcherServlet 'dispatcherServlet' +2024-06-28 11:15:00.850 INFO [http-nio-8892-exec-1] [] o.s.web.servlet.DispatcherServlet 525 : Initializing Servlet 'dispatcherServlet' +2024-06-28 11:15:00.866 INFO [http-nio-8892-exec-1] [] o.s.web.servlet.DispatcherServlet 547 : Completed initialization in 16 ms +2024-06-28 11:15:01.715 INFO [http-nio-8892-exec-1] [1806526691835842562] com.zaxxer.hikari.HikariDataSource 110 : HikariPool-1 - Starting... +2024-06-28 11:15:02.043 INFO [http-nio-8892-exec-1] [1806526691835842562] com.zaxxer.hikari.HikariDataSource 123 : HikariPool-1 - Start completed. +2024-06-28 11:37:24.868 ERROR [http-nio-8892-exec-6] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy405.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-28 11:37:32.933 ERROR [http-nio-8892-exec-8] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy405.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-28 11:37:32.934 ERROR [http-nio-8892-exec-7] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:131) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy405.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.protocol.CommandExpiryWriter.lambda$potentiallyExpire$0(CommandExpiryWriter.java:172) + at io.netty.util.concurrent.PromiseTask.runTask(PromiseTask.java:98) + at io.netty.util.concurrent.ScheduledFutureTask.run(ScheduledFutureTask.java:170) + at io.netty.util.concurrent.DefaultEventExecutor.run(DefaultEventExecutor.java:66) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + ... 1 common frames omitted + +2024-06-28 11:37:34.163 INFO [lettuce-eventExecutorLoop-1-2] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was /101.34.74.68:6379 +2024-06-28 11:37:34.192 INFO [lettuce-nioEventLoop-4-2] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to 101.34.74.68:6379 +2024-06-28 11:38:12.859 WARN [http-nio-8892-exec-9] [1806532505959075842] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@5be95f5f (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 11:38:13.028 WARN [http-nio-8892-exec-10] [1806532505959075841] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@6234c9a (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 11:38:17.875 WARN [http-nio-8892-exec-9] [1806532505959075842] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@52e333b6 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 11:38:18.032 WARN [http-nio-8892-exec-10] [1806532505959075841] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@7bd18713 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 11:38:22.889 WARN [http-nio-8892-exec-9] [1806532505959075842] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@60caae37 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 11:38:23.045 WARN [http-nio-8892-exec-10] [1806532505959075841] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@76cba11d (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 11:38:27.902 WARN [http-nio-8892-exec-9] [1806532505959075842] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@6ab49b3d (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 11:38:28.061 WARN [http-nio-8892-exec-10] [1806532505959075841] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@3b0ce3b8 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 11:38:32.916 WARN [http-nio-8892-exec-9] [1806532505959075842] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@6b323bc5 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 11:38:33.073 WARN [http-nio-8892-exec-10] [1806532505959075841] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@bcb47b7 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 11:49:07.270 WARN [http-nio-8892-exec-21] [1806535250820665345] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@5d5eb667 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 11:54:28.346 INFO [SpringContextShutdownHook] [] net.jjjerp.framework.core.xss.XssFilter 30 : XssFilter destroy +2024-06-28 11:54:28.346 INFO [SpringContextShutdownHook] [] n.j.f.core.filter.RequestDetailFilter 116 : RequestDetailFilter destroy +2024-06-28 11:54:28.351 INFO [SpringContextShutdownHook] [] o.s.s.c.ThreadPoolTaskScheduler 218 : Shutting down ExecutorService 'taskScheduler' +2024-06-28 11:54:28.352 INFO [SpringContextShutdownHook] [] o.s.s.concurrent.ThreadPoolTaskExecutor 218 : Shutting down ExecutorService 'applicationTaskExecutor' +2024-06-28 11:54:28.357 INFO [SpringContextShutdownHook] [] com.zaxxer.hikari.HikariDataSource 350 : HikariPool-1 - Shutdown initiated... +2024-06-28 11:54:28.359 INFO [SpringContextShutdownHook] [] com.zaxxer.hikari.HikariDataSource 352 : HikariPool-1 - Shutdown completed. +2024-06-28 11:54:37.750 INFO [background-preinit] [] o.h.validator.internal.util.Version 21 : HV000001: Hibernate Validator 6.1.7.Final +2024-06-28 11:54:37.761 INFO [main] [] net.jjjerp.SpringBootJjjApplication 55 : Starting SpringBootJjjApplication on OS-20230506YKNI with PID 13208 (D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\bootstrap\target\classes started by Administrator in D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp) +2024-06-28 11:54:37.761 INFO [main] [] net.jjjerp.SpringBootJjjApplication 652 : The following profiles are active: prod +2024-06-28 11:54:38.972 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 249 : Multiple Spring Data modules found, entering strict repository configuration mode! +2024-06-28 11:54:38.974 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 127 : Bootstrapping Spring Data Redis repositories in DEFAULT mode. +2024-06-28 11:54:39.087 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 187 : Finished Spring Data repository scanning in 103ms. Found 0 Redis repository interfaces. +2024-06-28 11:54:39.350 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.ShiroConfig' of type [net.jjjerp.config.ShiroConfig$$EnhancerBySpringCGLIB$$3b43c50] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 11:54:39.440 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.properties.JwtProperties' of type [net.jjjerp.config.properties.JwtProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 11:54:39.443 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.RedisTemplateConfig' of type [net.jjjerp.config.RedisTemplateConfig$$EnhancerBySpringCGLIB$$d31946f4] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 11:54:39.451 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'spring.redis-org.springframework.boot.autoconfigure.data.redis.RedisProperties' of type [org.springframework.boot.autoconfigure.data.redis.RedisProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 11:54:39.454 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration' of type [org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 11:54:39.506 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'lettuceClientResources' of type [io.lettuce.core.resource.DefaultClientResources] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 11:54:39.591 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'redisConnectionFactory' of type [org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 11:54:39.634 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'redisTemplate' of type [org.springframework.data.redis.core.RedisTemplate] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 11:54:39.635 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.cache.impl.AdminLoginRedisServiceImpl' of type [net.jjjerp.framework.shiro.cache.impl.AdminLoginRedisServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 11:54:39.638 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.cache.impl.ShopLoginRedisServiceImpl' of type [net.jjjerp.framework.shiro.cache.impl.ShopLoginRedisServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 11:54:39.746 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'credentialsMatcher' of type [net.jjjerp.framework.shiro.jwt.JwtCredentialsMatcher] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 11:54:39.753 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'jwtRealm' of type [net.jjjerp.framework.shiro.jwt.JwtRealm] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 11:54:39.754 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'sessionStorageEvaluator' of type [org.apache.shiro.web.mgt.DefaultWebSessionStorageEvaluator] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 11:54:39.754 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'subjectDAO' of type [org.apache.shiro.mgt.DefaultSubjectDAO] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 11:54:39.756 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'securityManager' of type [org.apache.shiro.web.mgt.DefaultWebSecurityManager] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 11:54:39.778 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.service.impl.ShiroLoginServiceImpl' of type [net.jjjerp.framework.shiro.service.impl.ShiroLoginServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 11:54:39.785 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'spring-boot-jjj.shiro-net.jjjerp.config.properties.ShiroProperties' of type [net.jjjerp.config.properties.ShiroProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 11:54:39.874 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'authorizationAttributeSourceAdvisor' of type [org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 11:54:40.000 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.RedisCacheConfig' of type [net.jjjerp.config.RedisCacheConfig$$EnhancerBySpringCGLIB$$88561df6] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 11:54:40.259 INFO [main] [] o.s.b.w.embedded.tomcat.TomcatWebServer 108 : Tomcat initialized with port(s): 8892 (http) +2024-06-28 11:54:40.269 INFO [main] [] o.a.coyote.http11.Http11NioProtocol 173 : Initializing ProtocolHandler ["http-nio-8892"] +2024-06-28 11:54:40.270 INFO [main] [] o.apache.catalina.core.StandardService 173 : Starting service [Tomcat] +2024-06-28 11:54:40.270 INFO [main] [] org.apache.catalina.core.StandardEngine 173 : Starting Servlet engine: [Apache Tomcat/9.0.46] +2024-06-28 11:54:40.396 INFO [main] [] o.a.c.c.C.[Tomcat].[localhost].[/api] 173 : Initializing Spring embedded WebApplicationContext +2024-06-28 11:54:40.396 INFO [main] [] w.s.c.ServletWebServerApplicationContext 285 : Root WebApplicationContext: initialization completed in 2530 ms +2024-06-28 11:54:40.550 INFO [main] [] net.jjjerp.framework.core.xss.XssFilter 18 : XssFilter init +2024-06-28 11:54:40.551 INFO [main] [] n.j.f.core.filter.RequestDetailFilter 30 : RequestDetailFilter init +2024-06-28 11:54:44.283 INFO [main] [] org.reflections.Reflections 228 : Reflections took 39 ms to scan 1 urls, producing 0 keys and 0 values +2024-06-28 11:54:44.380 INFO [main] [] net.jjjerp.framework.shiro.util.JwtUtil 33 : {"audience":"web","expireSecond":36000,"issuer":"spring-boot-jjj","redisCheck":true,"refreshToken":true,"refreshTokenCountdown":600,"saltCheck":true,"secret":"888888","singleLogin":false,"tokenName":"token"} +2024-06-28 11:54:47.486 INFO [main] [] pertySourcedRequestMappingHandlerMapping 69 : Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2Controller#getDocumentation(String, HttpServletRequest)] +2024-06-28 11:54:47.502 INFO [main] [] net.jjjerp.config.Swagger2Config 149 : swagger scan basePackages:null +2024-06-28 11:54:47.625 INFO [main] [] o.s.s.concurrent.ThreadPoolTaskExecutor 181 : Initializing ExecutorService 'applicationTaskExecutor' +2024-06-28 11:54:47.728 INFO [main] [] o.s.b.a.w.s.WelcomePageHandlerMapping 53 : Adding welcome page: class path resource [static/index.html] +2024-06-28 11:54:47.928 INFO [main] [] o.s.s.c.ThreadPoolTaskScheduler 181 : Initializing ExecutorService 'taskScheduler' +2024-06-28 11:54:48.026 INFO [main] [] o.a.coyote.http11.Http11NioProtocol 173 : Starting ProtocolHandler ["http-nio-8892"] +2024-06-28 11:54:48.045 INFO [main] [] o.s.b.w.embedded.tomcat.TomcatWebServer 220 : Tomcat started on port(s): 8892 (http) with context path '/api' +2024-06-28 11:54:48.046 INFO [main] [] d.s.w.p.DocumentationPluginsBootstrapper 160 : Context refreshed +2024-06-28 11:54:48.052 INFO [main] [] d.s.w.p.DocumentationPluginsBootstrapper 163 : Found 1 custom documentation plugin(s) +2024-06-28 11:54:48.087 INFO [main] [] s.d.s.w.s.ApiListingReferenceScanner 41 : Scanning for api listing references +2024-06-28 11:54:48.207 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_1 +2024-06-28 11:54:48.209 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_1 +2024-06-28 11:54:48.209 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_1 +2024-06-28 11:54:48.225 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_1 +2024-06-28 11:54:48.260 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_2 +2024-06-28 11:54:48.262 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_2 +2024-06-28 11:54:48.265 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_3 +2024-06-28 11:54:48.265 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_3 +2024-06-28 11:54:48.269 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_4 +2024-06-28 11:54:48.270 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_4 +2024-06-28 11:54:48.271 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexOutUsingPOST_1 +2024-06-28 11:54:48.274 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_5 +2024-06-28 11:54:48.281 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_5 +2024-06-28 11:54:48.282 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_2 +2024-06-28 11:54:48.282 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_2 +2024-06-28 11:54:48.297 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_6 +2024-06-28 11:54:48.299 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_7 +2024-06-28 11:54:48.305 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_8 +2024-06-28 11:54:48.312 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_6 +2024-06-28 11:54:48.312 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_3 +2024-06-28 11:54:48.313 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_3 +2024-06-28 11:54:48.321 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_9 +2024-06-28 11:54:48.348 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_10 +2024-06-28 11:54:48.350 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_7 +2024-06-28 11:54:48.351 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_4 +2024-06-28 11:54:48.352 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_4 +2024-06-28 11:54:48.354 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_11 +2024-06-28 11:54:48.358 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_8 +2024-06-28 11:54:48.359 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_5 +2024-06-28 11:54:48.360 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_5 +2024-06-28 11:54:48.363 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_12 +2024-06-28 11:54:48.366 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_9 +2024-06-28 11:54:48.367 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_6 +2024-06-28 11:54:48.368 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_6 +2024-06-28 11:54:48.371 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_13 +2024-06-28 11:54:48.371 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_1 +2024-06-28 11:54:48.373 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_10 +2024-06-28 11:54:48.373 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_7 +2024-06-28 11:54:48.374 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_7 +2024-06-28 11:54:48.375 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_14 +2024-06-28 11:54:48.376 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_11 +2024-06-28 11:54:48.377 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_8 +2024-06-28 11:54:48.377 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_8 +2024-06-28 11:54:48.379 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_15 +2024-06-28 11:54:48.380 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_12 +2024-06-28 11:54:48.383 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_9 +2024-06-28 11:54:48.384 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_9 +2024-06-28 11:54:48.387 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_16 +2024-06-28 11:54:48.388 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_17 +2024-06-28 11:54:48.394 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_13 +2024-06-28 11:54:48.395 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_10 +2024-06-28 11:54:48.398 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_18 +2024-06-28 11:54:48.399 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_1 +2024-06-28 11:54:48.409 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addGroupUsingPOST_1 +2024-06-28 11:54:48.409 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: categoryUsingPOST_1 +2024-06-28 11:54:48.410 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteFilesUsingPOST_1 +2024-06-28 11:54:48.410 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteGroupUsingPOST_1 +2024-06-28 11:54:48.411 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editGroupUsingPOST_1 +2024-06-28 11:54:48.415 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: listsUsingPOST_1 +2024-06-28 11:54:48.415 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: moveFilesUsingPOST_1 +2024-06-28 11:54:48.417 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_19 +2024-06-28 11:54:48.421 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_20 +2024-06-28 11:54:48.425 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_14 +2024-06-28 11:54:48.426 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_10 +2024-06-28 11:54:48.426 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteFilesUsingPOST_2 +2024-06-28 11:54:48.427 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_11 +2024-06-28 11:54:48.427 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_21 +2024-06-28 11:54:48.428 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: listUsingPOST_1 +2024-06-28 11:54:48.428 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: moveFilesUsingPOST_2 +2024-06-28 11:54:48.433 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_22 +2024-06-28 11:54:48.436 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_23 +2024-06-28 11:54:48.439 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_24 +2024-06-28 11:54:48.440 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_25 +2024-06-28 11:54:48.442 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_15 +2024-06-28 11:54:48.443 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_1 +2024-06-28 11:54:48.444 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_12 +2024-06-28 11:54:48.445 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_26 +2024-06-28 11:54:48.445 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: repulseAuditUsingPOST_1 +2024-06-28 11:54:48.447 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_16 +2024-06-28 11:54:48.448 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_11 +2024-06-28 11:54:48.448 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_13 +2024-06-28 11:54:48.451 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_27 +2024-06-28 11:54:48.454 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_17 +2024-06-28 11:54:48.455 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_12 +2024-06-28 11:54:48.455 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_14 +2024-06-28 11:54:48.457 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_28 +2024-06-28 11:54:48.459 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_18 +2024-06-28 11:54:48.460 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_29 +2024-06-28 11:54:48.463 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_30 +2024-06-28 11:54:48.465 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_19 +2024-06-28 11:54:48.465 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_1 +2024-06-28 11:54:48.466 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_31 +2024-06-28 11:54:48.467 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_1 +2024-06-28 11:54:48.468 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_32 +2024-06-28 11:54:48.470 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_20 +2024-06-28 11:54:48.470 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_2 +2024-06-28 11:54:48.470 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_33 +2024-06-28 11:54:48.478 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: loginUsingPOST_1 +2024-06-28 11:54:48.479 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: logoutUsingPOST_1 +2024-06-28 11:54:48.480 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_34 +2024-06-28 11:54:48.483 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_21 +2024-06-28 11:54:48.483 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_13 +2024-06-28 11:54:48.484 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_15 +2024-06-28 11:54:48.484 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_35 +2024-06-28 11:54:48.486 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_2 +2024-06-28 11:54:48.489 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_22 +2024-06-28 11:54:48.490 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_14 +2024-06-28 11:54:48.491 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_16 +2024-06-28 11:54:48.495 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_36 +2024-06-28 11:54:48.495 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: stateUsingPOST_1 +2024-06-28 11:54:48.495 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_1 +2024-06-28 11:54:48.496 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_3 +2024-06-28 11:54:48.497 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_23 +2024-06-28 11:54:48.498 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_2 +2024-06-28 11:54:48.498 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_2 +2024-06-28 11:54:48.500 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_17 +2024-06-28 11:54:48.500 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_37 +2024-06-28 11:54:48.502 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_3 +2024-06-28 11:54:48.503 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_18 +2024-06-28 11:54:48.503 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_38 +2024-06-28 11:54:48.504 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addStorageUsingPOST_1 +2024-06-28 11:54:48.505 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_4 +2024-06-28 11:54:48.506 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_3 +2024-06-28 11:54:48.507 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_19 +2024-06-28 11:54:48.507 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_39 +2024-06-28 11:54:48.508 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_40 +2024-06-28 11:54:48.510 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_24 +2024-06-28 11:54:48.510 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_20 +2024-06-28 11:54:48.511 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_3 +2024-06-28 11:54:48.515 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_25 +2024-06-28 11:54:48.515 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_15 +2024-06-28 11:54:48.516 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_21 +2024-06-28 11:54:48.517 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_41 +2024-06-28 11:54:48.518 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_2 +2024-06-28 11:54:48.518 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_4 +2024-06-28 11:54:48.520 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: scanIndexUsingPOST_1 +2024-06-28 11:54:48.521 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_42 +2024-06-28 11:54:48.522 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_1 +2024-06-28 11:54:48.524 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_26 +2024-06-28 11:54:48.525 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_16 +2024-06-28 11:54:48.525 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_22 +2024-06-28 11:54:48.529 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_43 +2024-06-28 11:54:48.532 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_27 +2024-06-28 11:54:48.532 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_17 +2024-06-28 11:54:48.533 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_23 +2024-06-28 11:54:48.534 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_44 +2024-06-28 11:54:48.535 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_3 +2024-06-28 11:54:48.535 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_5 +2024-06-28 11:54:48.537 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_28 +2024-06-28 11:54:48.537 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_18 +2024-06-28 11:54:48.538 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_24 +2024-06-28 11:54:48.540 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_45 +2024-06-28 11:54:48.541 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_46 +2024-06-28 11:54:48.541 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_2 +2024-06-28 11:54:48.542 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_29 +2024-06-28 11:54:48.543 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_47 +2024-06-28 11:54:48.544 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_48 +2024-06-28 11:54:48.544 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_49 +2024-06-28 11:54:48.545 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_3 +2024-06-28 11:54:48.548 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_30 +2024-06-28 11:54:48.548 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_19 +2024-06-28 11:54:48.548 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_25 +2024-06-28 11:54:48.552 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_50 +2024-06-28 11:54:48.553 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_2 +2024-06-28 11:54:48.553 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_4 +2024-06-28 11:54:48.553 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_6 +2024-06-28 11:54:48.557 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_31 +2024-06-28 11:54:48.558 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_20 +2024-06-28 11:54:48.558 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_26 +2024-06-28 11:54:48.563 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_51 +2024-06-28 11:54:48.563 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_3 +2024-06-28 11:54:48.563 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_7 +2024-06-28 11:54:48.564 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_52 +2024-06-28 11:54:48.564 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_4 +2024-06-28 11:54:48.567 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_32 +2024-06-28 11:54:48.567 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_21 +2024-06-28 11:54:48.568 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_27 +2024-06-28 11:54:48.570 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_53 +2024-06-28 11:54:48.573 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: uploadUsingPOST_1 +2024-06-28 11:54:48.592 INFO [main] [] net.jjjerp.SpringBootJjjApplication 61 : Started SpringBootJjjApplication in 11.474 seconds (JVM running for 12.055) +2024-06-28 11:54:48.595 INFO [main] [] n.j.framework.util.PrintApplicationInfo 61 : projectFinalName : jjj-erp-1.0 +2024-06-28 11:54:48.595 INFO [main] [] n.j.framework.util.PrintApplicationInfo 62 : projectVersion : 1.0 +2024-06-28 11:54:48.595 INFO [main] [] n.j.framework.util.PrintApplicationInfo 63 : profileActive : prod +2024-06-28 11:54:48.595 INFO [main] [] n.j.framework.util.PrintApplicationInfo 64 : contextPath : /api +2024-06-28 11:54:48.595 INFO [main] [] n.j.framework.util.PrintApplicationInfo 65 : serverIp : http://erp3.huadeng.fun +2024-06-28 11:54:48.595 INFO [main] [] n.j.framework.util.PrintApplicationInfo 66 : port : 8892 +2024-06-28 11:54:48.595 INFO [main] [] n.j.framework.util.PrintApplicationInfo 81 : Home: http://erp3.huadeng.fun/api +2024-06-28 11:54:48.595 INFO [main] [] n.j.framework.util.PrintApplicationInfo 82 : Knife4j: http://erp3.huadeng.fun/api/doc.html +2024-06-28 11:54:48.595 INFO [main] [] n.j.framework.util.PrintApplicationInfo 83 : Swagger: http://erp3.huadeng.fun/api/swagger-ui.html +2024-06-28 11:54:48.595 INFO [main] [] n.j.framework.util.PrintApplicationInfo 84 : jjj-erp 启动成功........... + ____ __ __ ____ +/\ _`\ /\ \__ /\ \__ /\ _`\ +\ \,\L\_\ \ ,_\ __ _ __\ \ ,_\ \ \,\L\_\ __ __ ___ ___ __ ____ ____ + \/_\__ \\ \ \/ /'__`\ /\`'__\ \ \/ \/_\__ \ /\ \/\ \ /'___\ /'___\ /'__`\ /',__\ /',__\ + /\ \L\ \ \ \_/\ \L\.\_\ \ \/ \ \ \_ /\ \L\ \ \ \_\ \/\ \__//\ \__//\ __//\__, `\/\__, `\ + \ `\____\ \__\ \__/.\_\\ \_\ \ \__\ \ `\____\ \____/\ \____\ \____\ \____\/\____/\/\____/ + \/_____/\/__/\/__/\/_/ \/_/ \/__/ \/_____/\/___/ \/____/\/____/\/____/\/___/ \/___/ + + +2024-06-28 11:55:12.984 INFO [http-nio-8892-exec-1] [] o.a.c.c.C.[Tomcat].[localhost].[/api] 173 : Initializing Spring DispatcherServlet 'dispatcherServlet' +2024-06-28 11:55:12.985 INFO [http-nio-8892-exec-1] [] o.s.web.servlet.DispatcherServlet 525 : Initializing Servlet 'dispatcherServlet' +2024-06-28 11:55:12.997 INFO [http-nio-8892-exec-1] [] o.s.web.servlet.DispatcherServlet 547 : Completed initialization in 12 ms +2024-06-28 11:55:14.482 INFO [http-nio-8892-exec-2] [1806536811680571394] com.zaxxer.hikari.HikariDataSource 110 : HikariPool-1 - Starting... +2024-06-28 11:55:14.842 INFO [http-nio-8892-exec-2] [1806536811680571394] com.zaxxer.hikari.HikariDataSource 123 : HikariPool-1 - Start completed. +2024-06-28 12:00:05.645 INFO [SpringContextShutdownHook] [] net.jjjerp.framework.core.xss.XssFilter 30 : XssFilter destroy +2024-06-28 12:00:05.645 INFO [SpringContextShutdownHook] [] n.j.f.core.filter.RequestDetailFilter 116 : RequestDetailFilter destroy +2024-06-28 12:00:05.652 INFO [SpringContextShutdownHook] [] o.s.s.c.ThreadPoolTaskScheduler 218 : Shutting down ExecutorService 'taskScheduler' +2024-06-28 12:00:05.653 INFO [SpringContextShutdownHook] [] o.s.s.concurrent.ThreadPoolTaskExecutor 218 : Shutting down ExecutorService 'applicationTaskExecutor' +2024-06-28 12:00:05.660 INFO [SpringContextShutdownHook] [] com.zaxxer.hikari.HikariDataSource 350 : HikariPool-1 - Shutdown initiated... +2024-06-28 12:00:05.661 INFO [SpringContextShutdownHook] [] com.zaxxer.hikari.HikariDataSource 352 : HikariPool-1 - Shutdown completed. +2024-06-28 12:00:14.183 INFO [background-preinit] [] o.h.validator.internal.util.Version 21 : HV000001: Hibernate Validator 6.1.7.Final +2024-06-28 12:00:14.188 INFO [main] [] net.jjjerp.SpringBootJjjApplication 55 : Starting SpringBootJjjApplication on OS-20230506YKNI with PID 10196 (D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\bootstrap\target\classes started by Administrator in D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp) +2024-06-28 12:00:14.188 INFO [main] [] net.jjjerp.SpringBootJjjApplication 652 : The following profiles are active: prod +2024-06-28 12:00:15.220 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 249 : Multiple Spring Data modules found, entering strict repository configuration mode! +2024-06-28 12:00:15.222 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 127 : Bootstrapping Spring Data Redis repositories in DEFAULT mode. +2024-06-28 12:00:15.339 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 187 : Finished Spring Data repository scanning in 108ms. Found 0 Redis repository interfaces. +2024-06-28 12:00:15.592 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.ShiroConfig' of type [net.jjjerp.config.ShiroConfig$$EnhancerBySpringCGLIB$$55618bb4] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 12:00:15.679 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.properties.JwtProperties' of type [net.jjjerp.config.properties.JwtProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 12:00:15.681 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.RedisTemplateConfig' of type [net.jjjerp.config.RedisTemplateConfig$$EnhancerBySpringCGLIB$$24c69658] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 12:00:15.690 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'spring.redis-org.springframework.boot.autoconfigure.data.redis.RedisProperties' of type [org.springframework.boot.autoconfigure.data.redis.RedisProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 12:00:15.694 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration' of type [org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 12:00:15.749 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'lettuceClientResources' of type [io.lettuce.core.resource.DefaultClientResources] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 12:00:15.841 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'redisConnectionFactory' of type [org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 12:00:15.886 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'redisTemplate' of type [org.springframework.data.redis.core.RedisTemplate] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 12:00:15.887 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.cache.impl.AdminLoginRedisServiceImpl' of type [net.jjjerp.framework.shiro.cache.impl.AdminLoginRedisServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 12:00:15.890 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.cache.impl.ShopLoginRedisServiceImpl' of type [net.jjjerp.framework.shiro.cache.impl.ShopLoginRedisServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 12:00:16.000 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'credentialsMatcher' of type [net.jjjerp.framework.shiro.jwt.JwtCredentialsMatcher] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 12:00:16.007 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'jwtRealm' of type [net.jjjerp.framework.shiro.jwt.JwtRealm] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 12:00:16.007 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'sessionStorageEvaluator' of type [org.apache.shiro.web.mgt.DefaultWebSessionStorageEvaluator] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 12:00:16.008 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'subjectDAO' of type [org.apache.shiro.mgt.DefaultSubjectDAO] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 12:00:16.010 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'securityManager' of type [org.apache.shiro.web.mgt.DefaultWebSecurityManager] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 12:00:16.030 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.service.impl.ShiroLoginServiceImpl' of type [net.jjjerp.framework.shiro.service.impl.ShiroLoginServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 12:00:16.037 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'spring-boot-jjj.shiro-net.jjjerp.config.properties.ShiroProperties' of type [net.jjjerp.config.properties.ShiroProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 12:00:16.121 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'authorizationAttributeSourceAdvisor' of type [org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 12:00:16.264 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.RedisCacheConfig' of type [net.jjjerp.config.RedisCacheConfig$$EnhancerBySpringCGLIB$$da036d5a] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 12:00:16.537 INFO [main] [] o.s.b.w.embedded.tomcat.TomcatWebServer 108 : Tomcat initialized with port(s): 8892 (http) +2024-06-28 12:00:16.544 INFO [main] [] o.a.coyote.http11.Http11NioProtocol 173 : Initializing ProtocolHandler ["http-nio-8892"] +2024-06-28 12:00:16.545 INFO [main] [] o.apache.catalina.core.StandardService 173 : Starting service [Tomcat] +2024-06-28 12:00:16.545 INFO [main] [] org.apache.catalina.core.StandardEngine 173 : Starting Servlet engine: [Apache Tomcat/9.0.46] +2024-06-28 12:00:16.633 INFO [main] [] o.a.c.c.C.[Tomcat].[localhost].[/api] 173 : Initializing Spring embedded WebApplicationContext +2024-06-28 12:00:16.634 INFO [main] [] w.s.c.ServletWebServerApplicationContext 285 : Root WebApplicationContext: initialization completed in 2399 ms +2024-06-28 12:00:16.778 INFO [main] [] net.jjjerp.framework.core.xss.XssFilter 18 : XssFilter init +2024-06-28 12:00:16.779 INFO [main] [] n.j.f.core.filter.RequestDetailFilter 30 : RequestDetailFilter init +2024-06-28 12:00:20.210 INFO [main] [] org.reflections.Reflections 228 : Reflections took 37 ms to scan 1 urls, producing 0 keys and 0 values +2024-06-28 12:00:20.305 INFO [main] [] net.jjjerp.framework.shiro.util.JwtUtil 33 : {"audience":"web","expireSecond":36000,"issuer":"spring-boot-jjj","redisCheck":true,"refreshToken":true,"refreshTokenCountdown":600,"saltCheck":true,"secret":"888888","singleLogin":false,"tokenName":"token"} +2024-06-28 12:00:23.146 INFO [main] [] pertySourcedRequestMappingHandlerMapping 69 : Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2Controller#getDocumentation(String, HttpServletRequest)] +2024-06-28 12:00:23.163 INFO [main] [] net.jjjerp.config.Swagger2Config 149 : swagger scan basePackages:null +2024-06-28 12:00:23.289 INFO [main] [] o.s.s.concurrent.ThreadPoolTaskExecutor 181 : Initializing ExecutorService 'applicationTaskExecutor' +2024-06-28 12:00:23.375 INFO [main] [] o.s.b.a.w.s.WelcomePageHandlerMapping 53 : Adding welcome page: class path resource [static/index.html] +2024-06-28 12:00:23.581 INFO [main] [] o.s.s.c.ThreadPoolTaskScheduler 181 : Initializing ExecutorService 'taskScheduler' +2024-06-28 12:00:23.696 INFO [main] [] o.a.coyote.http11.Http11NioProtocol 173 : Starting ProtocolHandler ["http-nio-8892"] +2024-06-28 12:00:23.716 INFO [main] [] o.s.b.w.embedded.tomcat.TomcatWebServer 220 : Tomcat started on port(s): 8892 (http) with context path '/api' +2024-06-28 12:00:23.718 INFO [main] [] d.s.w.p.DocumentationPluginsBootstrapper 160 : Context refreshed +2024-06-28 12:00:23.725 INFO [main] [] d.s.w.p.DocumentationPluginsBootstrapper 163 : Found 1 custom documentation plugin(s) +2024-06-28 12:00:23.765 INFO [main] [] s.d.s.w.s.ApiListingReferenceScanner 41 : Scanning for api listing references +2024-06-28 12:00:23.884 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_1 +2024-06-28 12:00:23.885 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_1 +2024-06-28 12:00:23.886 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_1 +2024-06-28 12:00:23.902 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_1 +2024-06-28 12:00:23.938 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_2 +2024-06-28 12:00:23.940 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_2 +2024-06-28 12:00:23.945 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_3 +2024-06-28 12:00:23.946 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_3 +2024-06-28 12:00:23.952 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_4 +2024-06-28 12:00:23.953 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_4 +2024-06-28 12:00:23.954 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexOutUsingPOST_1 +2024-06-28 12:00:23.957 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_5 +2024-06-28 12:00:23.964 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_5 +2024-06-28 12:00:23.965 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_2 +2024-06-28 12:00:23.966 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_2 +2024-06-28 12:00:23.982 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_6 +2024-06-28 12:00:23.983 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_7 +2024-06-28 12:00:23.988 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_8 +2024-06-28 12:00:24.020 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_6 +2024-06-28 12:00:24.021 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_3 +2024-06-28 12:00:24.022 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_3 +2024-06-28 12:00:24.028 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_9 +2024-06-28 12:00:24.031 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_10 +2024-06-28 12:00:24.034 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_7 +2024-06-28 12:00:24.035 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_4 +2024-06-28 12:00:24.035 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_4 +2024-06-28 12:00:24.038 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_11 +2024-06-28 12:00:24.043 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_8 +2024-06-28 12:00:24.043 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_5 +2024-06-28 12:00:24.044 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_5 +2024-06-28 12:00:24.047 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_12 +2024-06-28 12:00:24.051 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_9 +2024-06-28 12:00:24.051 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_6 +2024-06-28 12:00:24.052 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_6 +2024-06-28 12:00:24.055 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_13 +2024-06-28 12:00:24.056 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_1 +2024-06-28 12:00:24.058 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_10 +2024-06-28 12:00:24.058 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_7 +2024-06-28 12:00:24.059 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_7 +2024-06-28 12:00:24.060 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_14 +2024-06-28 12:00:24.061 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_11 +2024-06-28 12:00:24.061 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_8 +2024-06-28 12:00:24.062 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_8 +2024-06-28 12:00:24.063 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_15 +2024-06-28 12:00:24.064 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_12 +2024-06-28 12:00:24.067 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_9 +2024-06-28 12:00:24.068 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_9 +2024-06-28 12:00:24.071 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_16 +2024-06-28 12:00:24.072 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_17 +2024-06-28 12:00:24.077 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_13 +2024-06-28 12:00:24.078 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_10 +2024-06-28 12:00:24.081 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_18 +2024-06-28 12:00:24.083 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_1 +2024-06-28 12:00:24.094 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addGroupUsingPOST_1 +2024-06-28 12:00:24.095 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: categoryUsingPOST_1 +2024-06-28 12:00:24.096 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteFilesUsingPOST_1 +2024-06-28 12:00:24.096 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteGroupUsingPOST_1 +2024-06-28 12:00:24.096 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editGroupUsingPOST_1 +2024-06-28 12:00:24.100 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: listsUsingPOST_1 +2024-06-28 12:00:24.101 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: moveFilesUsingPOST_1 +2024-06-28 12:00:24.102 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_19 +2024-06-28 12:00:24.107 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_20 +2024-06-28 12:00:24.111 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_14 +2024-06-28 12:00:24.112 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_10 +2024-06-28 12:00:24.112 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteFilesUsingPOST_2 +2024-06-28 12:00:24.113 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_11 +2024-06-28 12:00:24.113 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_21 +2024-06-28 12:00:24.114 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: listUsingPOST_1 +2024-06-28 12:00:24.114 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: moveFilesUsingPOST_2 +2024-06-28 12:00:24.120 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_22 +2024-06-28 12:00:24.123 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_23 +2024-06-28 12:00:24.126 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_24 +2024-06-28 12:00:24.127 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_25 +2024-06-28 12:00:24.129 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_15 +2024-06-28 12:00:24.130 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_1 +2024-06-28 12:00:24.131 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_12 +2024-06-28 12:00:24.132 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_26 +2024-06-28 12:00:24.132 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: repulseAuditUsingPOST_1 +2024-06-28 12:00:24.135 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_16 +2024-06-28 12:00:24.136 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_11 +2024-06-28 12:00:24.136 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_13 +2024-06-28 12:00:24.139 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_27 +2024-06-28 12:00:24.143 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_17 +2024-06-28 12:00:24.143 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_12 +2024-06-28 12:00:24.144 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_14 +2024-06-28 12:00:24.145 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_28 +2024-06-28 12:00:24.147 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_18 +2024-06-28 12:00:24.147 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_29 +2024-06-28 12:00:24.152 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_30 +2024-06-28 12:00:24.154 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_19 +2024-06-28 12:00:24.154 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_1 +2024-06-28 12:00:24.155 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_31 +2024-06-28 12:00:24.156 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_1 +2024-06-28 12:00:24.157 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_32 +2024-06-28 12:00:24.159 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_20 +2024-06-28 12:00:24.159 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_2 +2024-06-28 12:00:24.159 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_33 +2024-06-28 12:00:24.170 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: loginUsingPOST_1 +2024-06-28 12:00:24.170 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: logoutUsingPOST_1 +2024-06-28 12:00:24.172 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_34 +2024-06-28 12:00:24.174 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_21 +2024-06-28 12:00:24.174 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_13 +2024-06-28 12:00:24.175 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_15 +2024-06-28 12:00:24.175 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_35 +2024-06-28 12:00:24.176 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_2 +2024-06-28 12:00:24.180 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_22 +2024-06-28 12:00:24.180 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_14 +2024-06-28 12:00:24.181 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_16 +2024-06-28 12:00:24.186 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_36 +2024-06-28 12:00:24.187 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: stateUsingPOST_1 +2024-06-28 12:00:24.187 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_1 +2024-06-28 12:00:24.187 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_3 +2024-06-28 12:00:24.189 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_23 +2024-06-28 12:00:24.189 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_2 +2024-06-28 12:00:24.190 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_2 +2024-06-28 12:00:24.191 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_17 +2024-06-28 12:00:24.191 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_37 +2024-06-28 12:00:24.193 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_3 +2024-06-28 12:00:24.194 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_18 +2024-06-28 12:00:24.194 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_38 +2024-06-28 12:00:24.196 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addStorageUsingPOST_1 +2024-06-28 12:00:24.196 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_4 +2024-06-28 12:00:24.197 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_3 +2024-06-28 12:00:24.198 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_19 +2024-06-28 12:00:24.199 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_39 +2024-06-28 12:00:24.200 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_40 +2024-06-28 12:00:24.202 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_24 +2024-06-28 12:00:24.203 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_20 +2024-06-28 12:00:24.203 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_3 +2024-06-28 12:00:24.205 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_25 +2024-06-28 12:00:24.206 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_15 +2024-06-28 12:00:24.206 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_21 +2024-06-28 12:00:24.207 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_41 +2024-06-28 12:00:24.209 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_2 +2024-06-28 12:00:24.209 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_4 +2024-06-28 12:00:24.211 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: scanIndexUsingPOST_1 +2024-06-28 12:00:24.212 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_42 +2024-06-28 12:00:24.214 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_1 +2024-06-28 12:00:24.216 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_26 +2024-06-28 12:00:24.217 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_16 +2024-06-28 12:00:24.217 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_22 +2024-06-28 12:00:24.222 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_43 +2024-06-28 12:00:24.225 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_27 +2024-06-28 12:00:24.225 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_17 +2024-06-28 12:00:24.225 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_23 +2024-06-28 12:00:24.227 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_44 +2024-06-28 12:00:24.227 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_3 +2024-06-28 12:00:24.228 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_5 +2024-06-28 12:00:24.231 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_28 +2024-06-28 12:00:24.232 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_18 +2024-06-28 12:00:24.232 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_24 +2024-06-28 12:00:24.236 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_45 +2024-06-28 12:00:24.237 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_46 +2024-06-28 12:00:24.238 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_2 +2024-06-28 12:00:24.239 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_29 +2024-06-28 12:00:24.239 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_47 +2024-06-28 12:00:24.240 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_48 +2024-06-28 12:00:24.241 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_49 +2024-06-28 12:00:24.242 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_3 +2024-06-28 12:00:24.245 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_30 +2024-06-28 12:00:24.245 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_19 +2024-06-28 12:00:24.246 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_25 +2024-06-28 12:00:24.250 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_50 +2024-06-28 12:00:24.251 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_2 +2024-06-28 12:00:24.251 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_4 +2024-06-28 12:00:24.251 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_6 +2024-06-28 12:00:24.255 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_31 +2024-06-28 12:00:24.255 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_20 +2024-06-28 12:00:24.256 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_26 +2024-06-28 12:00:24.260 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_51 +2024-06-28 12:00:24.261 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_3 +2024-06-28 12:00:24.261 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_7 +2024-06-28 12:00:24.262 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_52 +2024-06-28 12:00:24.262 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_4 +2024-06-28 12:00:24.264 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_32 +2024-06-28 12:00:24.265 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_21 +2024-06-28 12:00:24.266 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_27 +2024-06-28 12:00:24.267 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_53 +2024-06-28 12:00:24.270 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: uploadUsingPOST_1 +2024-06-28 12:00:24.288 INFO [main] [] net.jjjerp.SpringBootJjjApplication 61 : Started SpringBootJjjApplication in 10.619 seconds (JVM running for 11.172) +2024-06-28 12:00:24.291 INFO [main] [] n.j.framework.util.PrintApplicationInfo 61 : projectFinalName : jjj-erp-1.0 +2024-06-28 12:00:24.291 INFO [main] [] n.j.framework.util.PrintApplicationInfo 62 : projectVersion : 1.0 +2024-06-28 12:00:24.291 INFO [main] [] n.j.framework.util.PrintApplicationInfo 63 : profileActive : prod +2024-06-28 12:00:24.291 INFO [main] [] n.j.framework.util.PrintApplicationInfo 64 : contextPath : /api +2024-06-28 12:00:24.291 INFO [main] [] n.j.framework.util.PrintApplicationInfo 65 : serverIp : http://erp3.huadeng.fun +2024-06-28 12:00:24.291 INFO [main] [] n.j.framework.util.PrintApplicationInfo 66 : port : 8892 +2024-06-28 12:00:24.291 INFO [main] [] n.j.framework.util.PrintApplicationInfo 81 : Home: http://erp3.huadeng.fun/api +2024-06-28 12:00:24.292 INFO [main] [] n.j.framework.util.PrintApplicationInfo 82 : Knife4j: http://erp3.huadeng.fun/api/doc.html +2024-06-28 12:00:24.292 INFO [main] [] n.j.framework.util.PrintApplicationInfo 83 : Swagger: http://erp3.huadeng.fun/api/swagger-ui.html +2024-06-28 12:00:24.292 INFO [main] [] n.j.framework.util.PrintApplicationInfo 84 : jjj-erp 启动成功........... + ____ __ __ ____ +/\ _`\ /\ \__ /\ \__ /\ _`\ +\ \,\L\_\ \ ,_\ __ _ __\ \ ,_\ \ \,\L\_\ __ __ ___ ___ __ ____ ____ + \/_\__ \\ \ \/ /'__`\ /\`'__\ \ \/ \/_\__ \ /\ \/\ \ /'___\ /'___\ /'__`\ /',__\ /',__\ + /\ \L\ \ \ \_/\ \L\.\_\ \ \/ \ \ \_ /\ \L\ \ \ \_\ \/\ \__//\ \__//\ __//\__, `\/\__, `\ + \ `\____\ \__\ \__/.\_\\ \_\ \ \__\ \ `\____\ \____/\ \____\ \____\ \____\/\____/\/\____/ + \/_____/\/__/\/__/\/_/ \/_/ \/__/ \/_____/\/___/ \/____/\/____/\/____/\/___/ \/___/ + + +2024-06-28 12:01:35.065 INFO [http-nio-8892-exec-1] [] o.a.c.c.C.[Tomcat].[localhost].[/api] 173 : Initializing Spring DispatcherServlet 'dispatcherServlet' +2024-06-28 12:01:35.065 INFO [http-nio-8892-exec-1] [] o.s.web.servlet.DispatcherServlet 525 : Initializing Servlet 'dispatcherServlet' +2024-06-28 12:01:35.079 INFO [http-nio-8892-exec-1] [] o.s.web.servlet.DispatcherServlet 547 : Completed initialization in 14 ms +2024-06-28 12:01:37.480 INFO [http-nio-8892-exec-1] [1806538418145103873] com.zaxxer.hikari.HikariDataSource 110 : HikariPool-1 - Starting... +2024-06-28 12:01:37.916 INFO [http-nio-8892-exec-1] [1806538418145103873] com.zaxxer.hikari.HikariDataSource 123 : HikariPool-1 - Start completed. +2024-06-28 13:43:47.683 ERROR [http-nio-8892-exec-11] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy405.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-28 13:43:50.960 ERROR [http-nio-8892-exec-18] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy405.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-28 13:43:50.960 ERROR [http-nio-8892-exec-16] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy405.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-28 13:43:56.953 INFO [lettuce-eventExecutorLoop-1-7] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was /101.34.74.68:6379 +2024-06-28 13:43:56.982 INFO [lettuce-nioEventLoop-4-2] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to 101.34.74.68:6379 +2024-06-28 13:46:46.631 WARN [http-nio-8892-exec-15] [1806564859951878145] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@7427be23 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 13:46:46.709 WARN [http-nio-8892-exec-13] [1806564860216119297] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@4cee248b (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 13:46:46.866 WARN [http-nio-8892-exec-9] [1806564859951878146] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@67cfbf37 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 13:46:51.637 WARN [http-nio-8892-exec-15] [1806564859951878145] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@37bf0d28 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 13:46:51.716 WARN [http-nio-8892-exec-13] [1806564860216119297] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@5b0e428c (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 13:46:51.874 WARN [http-nio-8892-exec-9] [1806564859951878146] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@6bfd95d6 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 13:46:56.640 WARN [http-nio-8892-exec-15] [1806564859951878145] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@17d26c21 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 13:46:56.717 WARN [http-nio-8892-exec-13] [1806564860216119297] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@a43ccee (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 13:46:56.890 WARN [http-nio-8892-exec-9] [1806564859951878146] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@61310af7 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 13:47:01.642 WARN [http-nio-8892-exec-15] [1806564859951878145] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@5e4d0e5e (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 14:21:42.446 INFO [SpringContextShutdownHook] [] net.jjjerp.framework.core.xss.XssFilter 30 : XssFilter destroy +2024-06-28 14:21:42.446 INFO [SpringContextShutdownHook] [] n.j.f.core.filter.RequestDetailFilter 116 : RequestDetailFilter destroy +2024-06-28 14:21:42.453 INFO [SpringContextShutdownHook] [] o.s.s.c.ThreadPoolTaskScheduler 218 : Shutting down ExecutorService 'taskScheduler' +2024-06-28 14:21:42.453 INFO [SpringContextShutdownHook] [] o.s.s.concurrent.ThreadPoolTaskExecutor 218 : Shutting down ExecutorService 'applicationTaskExecutor' +2024-06-28 14:21:42.458 INFO [SpringContextShutdownHook] [] com.zaxxer.hikari.HikariDataSource 350 : HikariPool-1 - Shutdown initiated... +2024-06-28 14:21:42.460 INFO [SpringContextShutdownHook] [] com.zaxxer.hikari.HikariDataSource 352 : HikariPool-1 - Shutdown completed. +2024-06-28 14:21:51.218 INFO [background-preinit] [] o.h.validator.internal.util.Version 21 : HV000001: Hibernate Validator 6.1.7.Final +2024-06-28 14:21:51.222 INFO [main] [] net.jjjerp.SpringBootJjjApplication 55 : Starting SpringBootJjjApplication on OS-20230506YKNI with PID 11212 (D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\bootstrap\target\classes started by Administrator in D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp) +2024-06-28 14:21:51.223 INFO [main] [] net.jjjerp.SpringBootJjjApplication 652 : The following profiles are active: prod +2024-06-28 14:21:52.257 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 249 : Multiple Spring Data modules found, entering strict repository configuration mode! +2024-06-28 14:21:52.259 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 127 : Bootstrapping Spring Data Redis repositories in DEFAULT mode. +2024-06-28 14:21:52.374 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 187 : Finished Spring Data repository scanning in 106ms. Found 0 Redis repository interfaces. +2024-06-28 14:21:52.642 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.ShiroConfig' of type [net.jjjerp.config.ShiroConfig$$EnhancerBySpringCGLIB$$d0c0a68c] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 14:21:52.733 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.properties.JwtProperties' of type [net.jjjerp.config.properties.JwtProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 14:21:52.735 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.RedisTemplateConfig' of type [net.jjjerp.config.RedisTemplateConfig$$EnhancerBySpringCGLIB$$a025b130] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 14:21:52.744 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'spring.redis-org.springframework.boot.autoconfigure.data.redis.RedisProperties' of type [org.springframework.boot.autoconfigure.data.redis.RedisProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 14:21:52.747 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration' of type [org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 14:21:52.803 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'lettuceClientResources' of type [io.lettuce.core.resource.DefaultClientResources] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 14:21:52.899 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'redisConnectionFactory' of type [org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 14:21:52.944 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'redisTemplate' of type [org.springframework.data.redis.core.RedisTemplate] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 14:21:52.945 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.cache.impl.AdminLoginRedisServiceImpl' of type [net.jjjerp.framework.shiro.cache.impl.AdminLoginRedisServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 14:21:52.950 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.cache.impl.ShopLoginRedisServiceImpl' of type [net.jjjerp.framework.shiro.cache.impl.ShopLoginRedisServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 14:21:53.072 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'credentialsMatcher' of type [net.jjjerp.framework.shiro.jwt.JwtCredentialsMatcher] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 14:21:53.080 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'jwtRealm' of type [net.jjjerp.framework.shiro.jwt.JwtRealm] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 14:21:53.081 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'sessionStorageEvaluator' of type [org.apache.shiro.web.mgt.DefaultWebSessionStorageEvaluator] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 14:21:53.081 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'subjectDAO' of type [org.apache.shiro.mgt.DefaultSubjectDAO] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 14:21:53.083 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'securityManager' of type [org.apache.shiro.web.mgt.DefaultWebSecurityManager] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 14:21:53.107 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.service.impl.ShiroLoginServiceImpl' of type [net.jjjerp.framework.shiro.service.impl.ShiroLoginServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 14:21:53.114 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'spring-boot-jjj.shiro-net.jjjerp.config.properties.ShiroProperties' of type [net.jjjerp.config.properties.ShiroProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 14:21:53.204 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'authorizationAttributeSourceAdvisor' of type [org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 14:21:53.335 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.RedisCacheConfig' of type [net.jjjerp.config.RedisCacheConfig$$EnhancerBySpringCGLIB$$55628832] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 14:21:53.587 INFO [main] [] o.s.b.w.embedded.tomcat.TomcatWebServer 108 : Tomcat initialized with port(s): 8892 (http) +2024-06-28 14:21:53.596 INFO [main] [] o.a.coyote.http11.Http11NioProtocol 173 : Initializing ProtocolHandler ["http-nio-8892"] +2024-06-28 14:21:53.597 INFO [main] [] o.apache.catalina.core.StandardService 173 : Starting service [Tomcat] +2024-06-28 14:21:53.597 INFO [main] [] org.apache.catalina.core.StandardEngine 173 : Starting Servlet engine: [Apache Tomcat/9.0.46] +2024-06-28 14:21:53.708 INFO [main] [] o.a.c.c.C.[Tomcat].[localhost].[/api] 173 : Initializing Spring embedded WebApplicationContext +2024-06-28 14:21:53.708 INFO [main] [] w.s.c.ServletWebServerApplicationContext 285 : Root WebApplicationContext: initialization completed in 2438 ms +2024-06-28 14:21:53.877 INFO [main] [] net.jjjerp.framework.core.xss.XssFilter 18 : XssFilter init +2024-06-28 14:21:53.877 INFO [main] [] n.j.f.core.filter.RequestDetailFilter 30 : RequestDetailFilter init +2024-06-28 14:21:57.584 INFO [main] [] org.reflections.Reflections 228 : Reflections took 52 ms to scan 1 urls, producing 0 keys and 0 values +2024-06-28 14:21:57.687 INFO [main] [] net.jjjerp.framework.shiro.util.JwtUtil 33 : {"audience":"web","expireSecond":36000,"issuer":"spring-boot-jjj","redisCheck":true,"refreshToken":true,"refreshTokenCountdown":600,"saltCheck":true,"secret":"888888","singleLogin":false,"tokenName":"token"} +2024-06-28 14:22:00.921 INFO [main] [] pertySourcedRequestMappingHandlerMapping 69 : Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2Controller#getDocumentation(String, HttpServletRequest)] +2024-06-28 14:22:00.938 INFO [main] [] net.jjjerp.config.Swagger2Config 149 : swagger scan basePackages:null +2024-06-28 14:22:01.077 INFO [main] [] o.s.s.concurrent.ThreadPoolTaskExecutor 181 : Initializing ExecutorService 'applicationTaskExecutor' +2024-06-28 14:22:01.168 INFO [main] [] o.s.b.a.w.s.WelcomePageHandlerMapping 53 : Adding welcome page: class path resource [static/index.html] +2024-06-28 14:22:01.416 INFO [main] [] o.s.s.c.ThreadPoolTaskScheduler 181 : Initializing ExecutorService 'taskScheduler' +2024-06-28 14:22:01.545 INFO [main] [] o.a.coyote.http11.Http11NioProtocol 173 : Starting ProtocolHandler ["http-nio-8892"] +2024-06-28 14:22:01.564 INFO [main] [] o.s.b.w.embedded.tomcat.TomcatWebServer 220 : Tomcat started on port(s): 8892 (http) with context path '/api' +2024-06-28 14:22:01.565 INFO [main] [] d.s.w.p.DocumentationPluginsBootstrapper 160 : Context refreshed +2024-06-28 14:22:01.571 INFO [main] [] d.s.w.p.DocumentationPluginsBootstrapper 163 : Found 1 custom documentation plugin(s) +2024-06-28 14:22:01.606 INFO [main] [] s.d.s.w.s.ApiListingReferenceScanner 41 : Scanning for api listing references +2024-06-28 14:22:01.730 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_1 +2024-06-28 14:22:01.731 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_1 +2024-06-28 14:22:01.732 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_1 +2024-06-28 14:22:01.748 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_1 +2024-06-28 14:22:01.783 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_2 +2024-06-28 14:22:01.785 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_2 +2024-06-28 14:22:01.788 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_3 +2024-06-28 14:22:01.789 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_3 +2024-06-28 14:22:01.791 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_4 +2024-06-28 14:22:01.792 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_4 +2024-06-28 14:22:01.793 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexOutUsingPOST_1 +2024-06-28 14:22:01.796 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_5 +2024-06-28 14:22:01.805 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_5 +2024-06-28 14:22:01.806 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_2 +2024-06-28 14:22:01.807 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_2 +2024-06-28 14:22:01.822 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_6 +2024-06-28 14:22:01.823 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_7 +2024-06-28 14:22:01.829 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_8 +2024-06-28 14:22:01.837 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_6 +2024-06-28 14:22:01.838 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_3 +2024-06-28 14:22:01.838 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_3 +2024-06-28 14:22:01.846 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_9 +2024-06-28 14:22:01.883 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_10 +2024-06-28 14:22:01.886 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_7 +2024-06-28 14:22:01.888 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_4 +2024-06-28 14:22:01.888 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_4 +2024-06-28 14:22:01.891 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_11 +2024-06-28 14:22:01.896 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_8 +2024-06-28 14:22:01.897 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_5 +2024-06-28 14:22:01.898 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_5 +2024-06-28 14:22:01.901 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_12 +2024-06-28 14:22:01.905 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_9 +2024-06-28 14:22:01.906 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_6 +2024-06-28 14:22:01.906 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_6 +2024-06-28 14:22:01.910 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_13 +2024-06-28 14:22:01.911 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_1 +2024-06-28 14:22:01.912 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_10 +2024-06-28 14:22:01.913 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_7 +2024-06-28 14:22:01.913 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_7 +2024-06-28 14:22:01.915 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_14 +2024-06-28 14:22:01.916 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_11 +2024-06-28 14:22:01.916 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_8 +2024-06-28 14:22:01.917 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_8 +2024-06-28 14:22:01.919 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_15 +2024-06-28 14:22:01.920 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_12 +2024-06-28 14:22:01.924 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_9 +2024-06-28 14:22:01.925 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_9 +2024-06-28 14:22:01.928 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_16 +2024-06-28 14:22:01.930 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_17 +2024-06-28 14:22:01.937 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_13 +2024-06-28 14:22:01.938 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_10 +2024-06-28 14:22:01.942 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_18 +2024-06-28 14:22:01.943 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_1 +2024-06-28 14:22:01.957 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addGroupUsingPOST_1 +2024-06-28 14:22:01.958 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: categoryUsingPOST_1 +2024-06-28 14:22:01.959 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteFilesUsingPOST_1 +2024-06-28 14:22:01.959 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteGroupUsingPOST_1 +2024-06-28 14:22:01.960 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editGroupUsingPOST_1 +2024-06-28 14:22:01.964 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: listsUsingPOST_1 +2024-06-28 14:22:01.964 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: moveFilesUsingPOST_1 +2024-06-28 14:22:01.966 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_19 +2024-06-28 14:22:01.970 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_14 +2024-06-28 14:22:01.971 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_10 +2024-06-28 14:22:01.971 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteFilesUsingPOST_2 +2024-06-28 14:22:01.972 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_11 +2024-06-28 14:22:01.974 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_20 +2024-06-28 14:22:01.977 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: moveFilesUsingPOST_2 +2024-06-28 14:22:01.978 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_21 +2024-06-28 14:22:01.979 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: listUsingPOST_1 +2024-06-28 14:22:01.979 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_22 +2024-06-28 14:22:01.988 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_23 +2024-06-28 14:22:01.992 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_24 +2024-06-28 14:22:01.993 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_25 +2024-06-28 14:22:01.995 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_15 +2024-06-28 14:22:01.996 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_1 +2024-06-28 14:22:01.997 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_12 +2024-06-28 14:22:01.998 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_26 +2024-06-28 14:22:01.998 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: repulseAuditUsingPOST_1 +2024-06-28 14:22:02.000 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_16 +2024-06-28 14:22:02.001 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_11 +2024-06-28 14:22:02.001 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_13 +2024-06-28 14:22:02.004 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_27 +2024-06-28 14:22:02.008 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_17 +2024-06-28 14:22:02.008 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_12 +2024-06-28 14:22:02.009 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_14 +2024-06-28 14:22:02.010 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_28 +2024-06-28 14:22:02.012 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_18 +2024-06-28 14:22:02.013 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_29 +2024-06-28 14:22:02.017 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_30 +2024-06-28 14:22:02.018 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_19 +2024-06-28 14:22:02.019 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_1 +2024-06-28 14:22:02.019 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_31 +2024-06-28 14:22:02.021 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_1 +2024-06-28 14:22:02.022 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_32 +2024-06-28 14:22:02.023 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_20 +2024-06-28 14:22:02.024 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_2 +2024-06-28 14:22:02.024 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_33 +2024-06-28 14:22:02.033 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: loginUsingPOST_1 +2024-06-28 14:22:02.033 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: logoutUsingPOST_1 +2024-06-28 14:22:02.035 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_34 +2024-06-28 14:22:02.037 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_21 +2024-06-28 14:22:02.037 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_13 +2024-06-28 14:22:02.038 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_15 +2024-06-28 14:22:02.038 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_35 +2024-06-28 14:22:02.040 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_2 +2024-06-28 14:22:02.043 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_22 +2024-06-28 14:22:02.044 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_14 +2024-06-28 14:22:02.044 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_16 +2024-06-28 14:22:02.048 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_36 +2024-06-28 14:22:02.048 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: stateUsingPOST_1 +2024-06-28 14:22:02.049 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_1 +2024-06-28 14:22:02.049 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_3 +2024-06-28 14:22:02.051 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_23 +2024-06-28 14:22:02.051 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_2 +2024-06-28 14:22:02.052 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_2 +2024-06-28 14:22:02.053 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_17 +2024-06-28 14:22:02.053 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_37 +2024-06-28 14:22:02.055 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_3 +2024-06-28 14:22:02.056 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_18 +2024-06-28 14:22:02.056 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_38 +2024-06-28 14:22:02.057 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addStorageUsingPOST_1 +2024-06-28 14:22:02.058 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_4 +2024-06-28 14:22:02.059 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_3 +2024-06-28 14:22:02.060 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_19 +2024-06-28 14:22:02.060 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_39 +2024-06-28 14:22:02.061 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_40 +2024-06-28 14:22:02.062 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_24 +2024-06-28 14:22:02.063 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_20 +2024-06-28 14:22:02.063 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_3 +2024-06-28 14:22:02.066 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_25 +2024-06-28 14:22:02.066 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_15 +2024-06-28 14:22:02.066 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_21 +2024-06-28 14:22:02.068 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_41 +2024-06-28 14:22:02.069 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_2 +2024-06-28 14:22:02.070 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_4 +2024-06-28 14:22:02.072 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: scanIndexUsingPOST_1 +2024-06-28 14:22:02.073 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_42 +2024-06-28 14:22:02.073 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_1 +2024-06-28 14:22:02.076 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_26 +2024-06-28 14:22:02.077 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_16 +2024-06-28 14:22:02.077 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_22 +2024-06-28 14:22:02.081 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_43 +2024-06-28 14:22:02.084 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_27 +2024-06-28 14:22:02.084 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_17 +2024-06-28 14:22:02.085 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_23 +2024-06-28 14:22:02.086 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_44 +2024-06-28 14:22:02.086 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_3 +2024-06-28 14:22:02.087 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_5 +2024-06-28 14:22:02.089 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_28 +2024-06-28 14:22:02.089 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_18 +2024-06-28 14:22:02.090 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_24 +2024-06-28 14:22:02.092 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_45 +2024-06-28 14:22:02.093 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_46 +2024-06-28 14:22:02.093 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_2 +2024-06-28 14:22:02.094 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_29 +2024-06-28 14:22:02.095 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_47 +2024-06-28 14:22:02.096 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_48 +2024-06-28 14:22:02.096 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_49 +2024-06-28 14:22:02.097 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_3 +2024-06-28 14:22:02.099 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_30 +2024-06-28 14:22:02.100 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_19 +2024-06-28 14:22:02.100 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_25 +2024-06-28 14:22:02.104 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_50 +2024-06-28 14:22:02.104 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_2 +2024-06-28 14:22:02.105 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_4 +2024-06-28 14:22:02.105 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_6 +2024-06-28 14:22:02.109 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_31 +2024-06-28 14:22:02.110 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_20 +2024-06-28 14:22:02.110 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_26 +2024-06-28 14:22:02.114 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_51 +2024-06-28 14:22:02.115 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_3 +2024-06-28 14:22:02.115 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_7 +2024-06-28 14:22:02.116 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_52 +2024-06-28 14:22:02.116 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_4 +2024-06-28 14:22:02.118 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_32 +2024-06-28 14:22:02.119 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_21 +2024-06-28 14:22:02.119 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_27 +2024-06-28 14:22:02.121 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_53 +2024-06-28 14:22:02.126 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: uploadUsingPOST_1 +2024-06-28 14:22:02.146 INFO [main] [] net.jjjerp.SpringBootJjjApplication 61 : Started SpringBootJjjApplication in 11.484 seconds (JVM running for 12.287) +2024-06-28 14:22:02.149 INFO [main] [] n.j.framework.util.PrintApplicationInfo 61 : projectFinalName : jjj-erp-1.0 +2024-06-28 14:22:02.149 INFO [main] [] n.j.framework.util.PrintApplicationInfo 62 : projectVersion : 1.0 +2024-06-28 14:22:02.149 INFO [main] [] n.j.framework.util.PrintApplicationInfo 63 : profileActive : prod +2024-06-28 14:22:02.149 INFO [main] [] n.j.framework.util.PrintApplicationInfo 64 : contextPath : /api +2024-06-28 14:22:02.149 INFO [main] [] n.j.framework.util.PrintApplicationInfo 65 : serverIp : http://erp3.huadeng.fun +2024-06-28 14:22:02.149 INFO [main] [] n.j.framework.util.PrintApplicationInfo 66 : port : 8892 +2024-06-28 14:22:02.149 INFO [main] [] n.j.framework.util.PrintApplicationInfo 81 : Home: http://erp3.huadeng.fun/api +2024-06-28 14:22:02.149 INFO [main] [] n.j.framework.util.PrintApplicationInfo 82 : Knife4j: http://erp3.huadeng.fun/api/doc.html +2024-06-28 14:22:02.149 INFO [main] [] n.j.framework.util.PrintApplicationInfo 83 : Swagger: http://erp3.huadeng.fun/api/swagger-ui.html +2024-06-28 14:22:02.149 INFO [main] [] n.j.framework.util.PrintApplicationInfo 84 : jjj-erp 启动成功........... + ____ __ __ ____ +/\ _`\ /\ \__ /\ \__ /\ _`\ +\ \,\L\_\ \ ,_\ __ _ __\ \ ,_\ \ \,\L\_\ __ __ ___ ___ __ ____ ____ + \/_\__ \\ \ \/ /'__`\ /\`'__\ \ \/ \/_\__ \ /\ \/\ \ /'___\ /'___\ /'__`\ /',__\ /',__\ + /\ \L\ \ \ \_/\ \L\.\_\ \ \/ \ \ \_ /\ \L\ \ \ \_\ \/\ \__//\ \__//\ __//\__, `\/\__, `\ + \ `\____\ \__\ \__/.\_\\ \_\ \ \__\ \ `\____\ \____/\ \____\ \____\ \____\/\____/\/\____/ + \/_____/\/__/\/__/\/_/ \/_/ \/__/ \/_____/\/___/ \/____/\/____/\/____/\/___/ \/___/ + + +2024-06-28 14:37:30.591 INFO [SpringContextShutdownHook] [] net.jjjerp.framework.core.xss.XssFilter 30 : XssFilter destroy +2024-06-28 14:37:30.592 INFO [SpringContextShutdownHook] [] n.j.f.core.filter.RequestDetailFilter 116 : RequestDetailFilter destroy +2024-06-28 14:37:30.596 INFO [SpringContextShutdownHook] [] o.s.s.c.ThreadPoolTaskScheduler 218 : Shutting down ExecutorService 'taskScheduler' +2024-06-28 14:37:30.597 INFO [SpringContextShutdownHook] [] o.s.s.concurrent.ThreadPoolTaskExecutor 218 : Shutting down ExecutorService 'applicationTaskExecutor' +2024-06-28 14:37:38.102 INFO [background-preinit] [] o.h.validator.internal.util.Version 21 : HV000001: Hibernate Validator 6.1.7.Final +2024-06-28 14:37:38.108 INFO [main] [] net.jjjerp.SpringBootJjjApplication 55 : Starting SpringBootJjjApplication on OS-20230506YKNI with PID 3436 (D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\bootstrap\target\classes started by Administrator in D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp) +2024-06-28 14:37:38.108 INFO [main] [] net.jjjerp.SpringBootJjjApplication 652 : The following profiles are active: prod +2024-06-28 14:37:39.136 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 249 : Multiple Spring Data modules found, entering strict repository configuration mode! +2024-06-28 14:37:39.137 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 127 : Bootstrapping Spring Data Redis repositories in DEFAULT mode. +2024-06-28 14:37:39.245 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 187 : Finished Spring Data repository scanning in 99ms. Found 0 Redis repository interfaces. +2024-06-28 14:37:39.493 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.ShiroConfig' of type [net.jjjerp.config.ShiroConfig$$EnhancerBySpringCGLIB$$7e4ccb80] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 14:37:39.576 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.properties.JwtProperties' of type [net.jjjerp.config.properties.JwtProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 14:37:39.578 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.RedisTemplateConfig' of type [net.jjjerp.config.RedisTemplateConfig$$EnhancerBySpringCGLIB$$4db1d624] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 14:37:39.585 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'spring.redis-org.springframework.boot.autoconfigure.data.redis.RedisProperties' of type [org.springframework.boot.autoconfigure.data.redis.RedisProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 14:37:39.589 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration' of type [org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 14:37:39.642 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'lettuceClientResources' of type [io.lettuce.core.resource.DefaultClientResources] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 14:37:39.732 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'redisConnectionFactory' of type [org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 14:37:39.780 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'redisTemplate' of type [org.springframework.data.redis.core.RedisTemplate] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 14:37:39.781 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.cache.impl.AdminLoginRedisServiceImpl' of type [net.jjjerp.framework.shiro.cache.impl.AdminLoginRedisServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 14:37:39.784 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.cache.impl.ShopLoginRedisServiceImpl' of type [net.jjjerp.framework.shiro.cache.impl.ShopLoginRedisServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 14:37:39.894 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'credentialsMatcher' of type [net.jjjerp.framework.shiro.jwt.JwtCredentialsMatcher] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 14:37:39.900 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'jwtRealm' of type [net.jjjerp.framework.shiro.jwt.JwtRealm] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 14:37:39.901 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'sessionStorageEvaluator' of type [org.apache.shiro.web.mgt.DefaultWebSessionStorageEvaluator] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 14:37:39.901 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'subjectDAO' of type [org.apache.shiro.mgt.DefaultSubjectDAO] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 14:37:39.903 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'securityManager' of type [org.apache.shiro.web.mgt.DefaultWebSecurityManager] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 14:37:39.923 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.service.impl.ShiroLoginServiceImpl' of type [net.jjjerp.framework.shiro.service.impl.ShiroLoginServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 14:37:39.930 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'spring-boot-jjj.shiro-net.jjjerp.config.properties.ShiroProperties' of type [net.jjjerp.config.properties.ShiroProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 14:37:40.027 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'authorizationAttributeSourceAdvisor' of type [org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 14:37:40.167 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.RedisCacheConfig' of type [net.jjjerp.config.RedisCacheConfig$$EnhancerBySpringCGLIB$$2eead26] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 14:37:40.406 INFO [main] [] o.s.b.w.embedded.tomcat.TomcatWebServer 108 : Tomcat initialized with port(s): 8892 (http) +2024-06-28 14:37:40.413 INFO [main] [] o.a.coyote.http11.Http11NioProtocol 173 : Initializing ProtocolHandler ["http-nio-8892"] +2024-06-28 14:37:40.414 INFO [main] [] o.apache.catalina.core.StandardService 173 : Starting service [Tomcat] +2024-06-28 14:37:40.414 INFO [main] [] org.apache.catalina.core.StandardEngine 173 : Starting Servlet engine: [Apache Tomcat/9.0.46] +2024-06-28 14:37:40.509 INFO [main] [] o.a.c.c.C.[Tomcat].[localhost].[/api] 173 : Initializing Spring embedded WebApplicationContext +2024-06-28 14:37:40.517 INFO [main] [] w.s.c.ServletWebServerApplicationContext 285 : Root WebApplicationContext: initialization completed in 2348 ms +2024-06-28 14:37:40.647 INFO [main] [] net.jjjerp.framework.core.xss.XssFilter 18 : XssFilter init +2024-06-28 14:37:40.648 INFO [main] [] n.j.f.core.filter.RequestDetailFilter 30 : RequestDetailFilter init +2024-06-28 14:37:44.342 INFO [main] [] org.reflections.Reflections 228 : Reflections took 40 ms to scan 1 urls, producing 0 keys and 0 values +2024-06-28 14:37:44.442 INFO [main] [] net.jjjerp.framework.shiro.util.JwtUtil 33 : {"audience":"web","expireSecond":36000,"issuer":"spring-boot-jjj","redisCheck":true,"refreshToken":true,"refreshTokenCountdown":600,"saltCheck":true,"secret":"888888","singleLogin":false,"tokenName":"token"} +2024-06-28 14:37:47.227 INFO [main] [] pertySourcedRequestMappingHandlerMapping 69 : Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2Controller#getDocumentation(String, HttpServletRequest)] +2024-06-28 14:37:47.244 INFO [main] [] net.jjjerp.config.Swagger2Config 149 : swagger scan basePackages:null +2024-06-28 14:37:47.377 INFO [main] [] o.s.s.concurrent.ThreadPoolTaskExecutor 181 : Initializing ExecutorService 'applicationTaskExecutor' +2024-06-28 14:37:47.477 INFO [main] [] o.s.b.a.w.s.WelcomePageHandlerMapping 53 : Adding welcome page: class path resource [static/index.html] +2024-06-28 14:37:47.697 INFO [main] [] o.s.s.c.ThreadPoolTaskScheduler 181 : Initializing ExecutorService 'taskScheduler' +2024-06-28 14:37:47.794 INFO [main] [] o.a.coyote.http11.Http11NioProtocol 173 : Starting ProtocolHandler ["http-nio-8892"] +2024-06-28 14:37:47.812 INFO [main] [] o.s.b.w.embedded.tomcat.TomcatWebServer 220 : Tomcat started on port(s): 8892 (http) with context path '/api' +2024-06-28 14:37:47.813 INFO [main] [] d.s.w.p.DocumentationPluginsBootstrapper 160 : Context refreshed +2024-06-28 14:37:47.819 INFO [main] [] d.s.w.p.DocumentationPluginsBootstrapper 163 : Found 1 custom documentation plugin(s) +2024-06-28 14:37:47.854 INFO [main] [] s.d.s.w.s.ApiListingReferenceScanner 41 : Scanning for api listing references +2024-06-28 14:37:47.978 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_1 +2024-06-28 14:37:47.980 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_1 +2024-06-28 14:37:47.981 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_1 +2024-06-28 14:37:47.998 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_1 +2024-06-28 14:37:48.037 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_2 +2024-06-28 14:37:48.039 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_2 +2024-06-28 14:37:48.042 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_3 +2024-06-28 14:37:48.043 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_3 +2024-06-28 14:37:48.046 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_4 +2024-06-28 14:37:48.046 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_4 +2024-06-28 14:37:48.047 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexOutUsingPOST_1 +2024-06-28 14:37:48.050 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_5 +2024-06-28 14:37:48.058 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_5 +2024-06-28 14:37:48.059 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_2 +2024-06-28 14:37:48.060 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_2 +2024-06-28 14:37:48.074 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_6 +2024-06-28 14:37:48.076 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_7 +2024-06-28 14:37:48.080 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_8 +2024-06-28 14:37:48.089 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_6 +2024-06-28 14:37:48.089 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_3 +2024-06-28 14:37:48.090 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_3 +2024-06-28 14:37:48.097 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_9 +2024-06-28 14:37:48.124 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_10 +2024-06-28 14:37:48.127 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_7 +2024-06-28 14:37:48.128 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_4 +2024-06-28 14:37:48.128 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_4 +2024-06-28 14:37:48.131 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_11 +2024-06-28 14:37:48.136 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_8 +2024-06-28 14:37:48.136 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_5 +2024-06-28 14:37:48.137 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_5 +2024-06-28 14:37:48.140 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_12 +2024-06-28 14:37:48.162 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_9 +2024-06-28 14:37:48.163 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_6 +2024-06-28 14:37:48.163 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_6 +2024-06-28 14:37:48.167 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_13 +2024-06-28 14:37:48.168 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_1 +2024-06-28 14:37:48.169 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_10 +2024-06-28 14:37:48.170 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_7 +2024-06-28 14:37:48.170 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_7 +2024-06-28 14:37:48.171 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_14 +2024-06-28 14:37:48.173 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_11 +2024-06-28 14:37:48.173 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_8 +2024-06-28 14:37:48.174 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_8 +2024-06-28 14:37:48.175 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_15 +2024-06-28 14:37:48.176 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_12 +2024-06-28 14:37:48.183 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_9 +2024-06-28 14:37:48.184 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_9 +2024-06-28 14:37:48.186 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_16 +2024-06-28 14:37:48.188 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_17 +2024-06-28 14:37:48.194 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_13 +2024-06-28 14:37:48.195 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_10 +2024-06-28 14:37:48.199 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_18 +2024-06-28 14:37:48.201 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_1 +2024-06-28 14:37:48.212 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addGroupUsingPOST_1 +2024-06-28 14:37:48.213 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: categoryUsingPOST_1 +2024-06-28 14:37:48.213 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteFilesUsingPOST_1 +2024-06-28 14:37:48.214 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteGroupUsingPOST_1 +2024-06-28 14:37:48.214 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editGroupUsingPOST_1 +2024-06-28 14:37:48.217 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: listsUsingPOST_1 +2024-06-28 14:37:48.218 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: moveFilesUsingPOST_1 +2024-06-28 14:37:48.219 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_19 +2024-06-28 14:37:48.223 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_14 +2024-06-28 14:37:48.224 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_10 +2024-06-28 14:37:48.225 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteFilesUsingPOST_2 +2024-06-28 14:37:48.225 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_11 +2024-06-28 14:37:48.229 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_20 +2024-06-28 14:37:48.232 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: moveFilesUsingPOST_2 +2024-06-28 14:37:48.232 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_21 +2024-06-28 14:37:48.233 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: listUsingPOST_1 +2024-06-28 14:37:48.239 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_22 +2024-06-28 14:37:48.242 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_23 +2024-06-28 14:37:48.245 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_24 +2024-06-28 14:37:48.247 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_25 +2024-06-28 14:37:48.249 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_15 +2024-06-28 14:37:48.250 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_1 +2024-06-28 14:37:48.251 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_12 +2024-06-28 14:37:48.252 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_26 +2024-06-28 14:37:48.252 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: repulseAuditUsingPOST_1 +2024-06-28 14:37:48.254 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_16 +2024-06-28 14:37:48.255 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_11 +2024-06-28 14:37:48.256 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_13 +2024-06-28 14:37:48.259 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_27 +2024-06-28 14:37:48.263 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_17 +2024-06-28 14:37:48.263 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_12 +2024-06-28 14:37:48.264 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_14 +2024-06-28 14:37:48.266 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_28 +2024-06-28 14:37:48.267 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_18 +2024-06-28 14:37:48.268 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_29 +2024-06-28 14:37:48.272 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_30 +2024-06-28 14:37:48.274 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_19 +2024-06-28 14:37:48.275 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_1 +2024-06-28 14:37:48.276 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_31 +2024-06-28 14:37:48.277 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_1 +2024-06-28 14:37:48.278 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_32 +2024-06-28 14:37:48.279 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_20 +2024-06-28 14:37:48.280 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_2 +2024-06-28 14:37:48.280 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_33 +2024-06-28 14:37:48.289 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: loginUsingPOST_1 +2024-06-28 14:37:48.290 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: logoutUsingPOST_1 +2024-06-28 14:37:48.291 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_34 +2024-06-28 14:37:48.293 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_21 +2024-06-28 14:37:48.294 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_13 +2024-06-28 14:37:48.294 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_15 +2024-06-28 14:37:48.295 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_35 +2024-06-28 14:37:48.297 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_2 +2024-06-28 14:37:48.300 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_22 +2024-06-28 14:37:48.301 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_14 +2024-06-28 14:37:48.301 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_16 +2024-06-28 14:37:48.306 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_36 +2024-06-28 14:37:48.306 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: stateUsingPOST_1 +2024-06-28 14:37:48.307 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_1 +2024-06-28 14:37:48.307 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_3 +2024-06-28 14:37:48.308 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_23 +2024-06-28 14:37:48.309 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_2 +2024-06-28 14:37:48.309 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_2 +2024-06-28 14:37:48.310 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_17 +2024-06-28 14:37:48.311 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_37 +2024-06-28 14:37:48.313 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_3 +2024-06-28 14:37:48.314 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_18 +2024-06-28 14:37:48.314 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_38 +2024-06-28 14:37:48.315 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addStorageUsingPOST_1 +2024-06-28 14:37:48.316 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_4 +2024-06-28 14:37:48.316 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_3 +2024-06-28 14:37:48.317 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_19 +2024-06-28 14:37:48.318 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_39 +2024-06-28 14:37:48.319 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_40 +2024-06-28 14:37:48.320 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_24 +2024-06-28 14:37:48.320 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_20 +2024-06-28 14:37:48.321 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_3 +2024-06-28 14:37:48.325 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_25 +2024-06-28 14:37:48.325 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_15 +2024-06-28 14:37:48.326 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_21 +2024-06-28 14:37:48.327 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_41 +2024-06-28 14:37:48.328 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_2 +2024-06-28 14:37:48.328 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_4 +2024-06-28 14:37:48.330 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: scanIndexUsingPOST_1 +2024-06-28 14:37:48.331 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_42 +2024-06-28 14:37:48.332 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_1 +2024-06-28 14:37:48.334 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_26 +2024-06-28 14:37:48.334 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_16 +2024-06-28 14:37:48.334 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_22 +2024-06-28 14:37:48.339 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_43 +2024-06-28 14:37:48.341 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_27 +2024-06-28 14:37:48.342 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_17 +2024-06-28 14:37:48.342 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_23 +2024-06-28 14:37:48.343 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_44 +2024-06-28 14:37:48.344 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_3 +2024-06-28 14:37:48.345 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_5 +2024-06-28 14:37:48.347 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_28 +2024-06-28 14:37:48.347 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_18 +2024-06-28 14:37:48.347 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_24 +2024-06-28 14:37:48.349 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_45 +2024-06-28 14:37:48.350 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_46 +2024-06-28 14:37:48.350 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_2 +2024-06-28 14:37:48.351 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_29 +2024-06-28 14:37:48.352 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_47 +2024-06-28 14:37:48.353 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_48 +2024-06-28 14:37:48.353 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_49 +2024-06-28 14:37:48.354 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_3 +2024-06-28 14:37:48.357 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_30 +2024-06-28 14:37:48.358 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_19 +2024-06-28 14:37:48.358 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_25 +2024-06-28 14:37:48.364 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_50 +2024-06-28 14:37:48.365 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_2 +2024-06-28 14:37:48.365 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_4 +2024-06-28 14:37:48.365 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_6 +2024-06-28 14:37:48.369 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_31 +2024-06-28 14:37:48.370 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_20 +2024-06-28 14:37:48.370 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_26 +2024-06-28 14:37:48.374 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_51 +2024-06-28 14:37:48.374 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_3 +2024-06-28 14:37:48.375 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_7 +2024-06-28 14:37:48.375 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_52 +2024-06-28 14:37:48.376 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_4 +2024-06-28 14:37:48.378 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_32 +2024-06-28 14:37:48.378 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_21 +2024-06-28 14:37:48.379 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_27 +2024-06-28 14:37:48.380 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_53 +2024-06-28 14:37:48.383 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: uploadUsingPOST_1 +2024-06-28 14:37:48.402 INFO [main] [] net.jjjerp.SpringBootJjjApplication 61 : Started SpringBootJjjApplication in 10.767 seconds (JVM running for 11.339) +2024-06-28 14:37:48.406 INFO [main] [] n.j.framework.util.PrintApplicationInfo 61 : projectFinalName : jjj-erp-1.0 +2024-06-28 14:37:48.406 INFO [main] [] n.j.framework.util.PrintApplicationInfo 62 : projectVersion : 1.0 +2024-06-28 14:37:48.406 INFO [main] [] n.j.framework.util.PrintApplicationInfo 63 : profileActive : prod +2024-06-28 14:37:48.406 INFO [main] [] n.j.framework.util.PrintApplicationInfo 64 : contextPath : /api +2024-06-28 14:37:48.406 INFO [main] [] n.j.framework.util.PrintApplicationInfo 65 : serverIp : http://erp3.huadeng.fun +2024-06-28 14:37:48.406 INFO [main] [] n.j.framework.util.PrintApplicationInfo 66 : port : 8892 +2024-06-28 14:37:48.406 INFO [main] [] n.j.framework.util.PrintApplicationInfo 81 : Home: http://erp3.huadeng.fun/api +2024-06-28 14:37:48.406 INFO [main] [] n.j.framework.util.PrintApplicationInfo 82 : Knife4j: http://erp3.huadeng.fun/api/doc.html +2024-06-28 14:37:48.406 INFO [main] [] n.j.framework.util.PrintApplicationInfo 83 : Swagger: http://erp3.huadeng.fun/api/swagger-ui.html +2024-06-28 14:37:48.406 INFO [main] [] n.j.framework.util.PrintApplicationInfo 84 : jjj-erp 启动成功........... + ____ __ __ ____ +/\ _`\ /\ \__ /\ \__ /\ _`\ +\ \,\L\_\ \ ,_\ __ _ __\ \ ,_\ \ \,\L\_\ __ __ ___ ___ __ ____ ____ + \/_\__ \\ \ \/ /'__`\ /\`'__\ \ \/ \/_\__ \ /\ \/\ \ /'___\ /'___\ /'__`\ /',__\ /',__\ + /\ \L\ \ \ \_/\ \L\.\_\ \ \/ \ \ \_ /\ \L\ \ \ \_\ \/\ \__//\ \__//\ __//\__, `\/\__, `\ + \ `\____\ \__\ \__/.\_\\ \_\ \ \__\ \ `\____\ \____/\ \____\ \____\ \____\/\____/\/\____/ + \/_____/\/__/\/__/\/_/ \/_/ \/__/ \/_____/\/___/ \/____/\/____/\/____/\/___/ \/___/ + + +2024-06-28 14:40:27.248 INFO [SpringContextShutdownHook] [] net.jjjerp.framework.core.xss.XssFilter 30 : XssFilter destroy +2024-06-28 14:40:27.249 INFO [SpringContextShutdownHook] [] n.j.f.core.filter.RequestDetailFilter 116 : RequestDetailFilter destroy +2024-06-28 14:40:27.253 INFO [SpringContextShutdownHook] [] o.s.s.c.ThreadPoolTaskScheduler 218 : Shutting down ExecutorService 'taskScheduler' +2024-06-28 14:40:27.254 INFO [SpringContextShutdownHook] [] o.s.s.concurrent.ThreadPoolTaskExecutor 218 : Shutting down ExecutorService 'applicationTaskExecutor' +2024-06-28 14:40:31.137 INFO [background-preinit] [] o.h.validator.internal.util.Version 21 : HV000001: Hibernate Validator 6.1.7.Final +2024-06-28 14:40:31.139 INFO [main] [] net.jjjerp.SpringBootJjjApplication 55 : Starting SpringBootJjjApplication on OS-20230506YKNI with PID 13040 (D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\bootstrap\target\classes started by Administrator in D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp) +2024-06-28 14:40:31.142 INFO [main] [] net.jjjerp.SpringBootJjjApplication 652 : The following profiles are active: prod +2024-06-28 14:40:32.243 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 249 : Multiple Spring Data modules found, entering strict repository configuration mode! +2024-06-28 14:40:32.244 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 127 : Bootstrapping Spring Data Redis repositories in DEFAULT mode. +2024-06-28 14:40:32.356 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 187 : Finished Spring Data repository scanning in 103ms. Found 0 Redis repository interfaces. +2024-06-28 14:40:32.618 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.ShiroConfig' of type [net.jjjerp.config.ShiroConfig$$EnhancerBySpringCGLIB$$92aef1be] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 14:40:32.705 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.properties.JwtProperties' of type [net.jjjerp.config.properties.JwtProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 14:40:32.708 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.RedisTemplateConfig' of type [net.jjjerp.config.RedisTemplateConfig$$EnhancerBySpringCGLIB$$6213fc62] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 14:40:32.716 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'spring.redis-org.springframework.boot.autoconfigure.data.redis.RedisProperties' of type [org.springframework.boot.autoconfigure.data.redis.RedisProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 14:40:32.719 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration' of type [org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 14:40:32.784 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'lettuceClientResources' of type [io.lettuce.core.resource.DefaultClientResources] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 14:40:32.879 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'redisConnectionFactory' of type [org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 14:40:32.930 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'redisTemplate' of type [org.springframework.data.redis.core.RedisTemplate] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 14:40:32.930 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.cache.impl.AdminLoginRedisServiceImpl' of type [net.jjjerp.framework.shiro.cache.impl.AdminLoginRedisServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 14:40:32.934 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.cache.impl.ShopLoginRedisServiceImpl' of type [net.jjjerp.framework.shiro.cache.impl.ShopLoginRedisServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 14:40:33.070 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'credentialsMatcher' of type [net.jjjerp.framework.shiro.jwt.JwtCredentialsMatcher] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 14:40:33.078 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'jwtRealm' of type [net.jjjerp.framework.shiro.jwt.JwtRealm] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 14:40:33.079 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'sessionStorageEvaluator' of type [org.apache.shiro.web.mgt.DefaultWebSessionStorageEvaluator] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 14:40:33.080 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'subjectDAO' of type [org.apache.shiro.mgt.DefaultSubjectDAO] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 14:40:33.083 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'securityManager' of type [org.apache.shiro.web.mgt.DefaultWebSecurityManager] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 14:40:33.108 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.service.impl.ShiroLoginServiceImpl' of type [net.jjjerp.framework.shiro.service.impl.ShiroLoginServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 14:40:33.118 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'spring-boot-jjj.shiro-net.jjjerp.config.properties.ShiroProperties' of type [net.jjjerp.config.properties.ShiroProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 14:40:33.217 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'authorizationAttributeSourceAdvisor' of type [org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 14:40:33.353 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.RedisCacheConfig' of type [net.jjjerp.config.RedisCacheConfig$$EnhancerBySpringCGLIB$$1750d364] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 14:40:33.650 INFO [main] [] o.s.b.w.embedded.tomcat.TomcatWebServer 108 : Tomcat initialized with port(s): 8892 (http) +2024-06-28 14:40:33.659 INFO [main] [] o.a.coyote.http11.Http11NioProtocol 173 : Initializing ProtocolHandler ["http-nio-8892"] +2024-06-28 14:40:33.659 INFO [main] [] o.apache.catalina.core.StandardService 173 : Starting service [Tomcat] +2024-06-28 14:40:33.659 INFO [main] [] org.apache.catalina.core.StandardEngine 173 : Starting Servlet engine: [Apache Tomcat/9.0.46] +2024-06-28 14:40:33.771 INFO [main] [] o.a.c.c.C.[Tomcat].[localhost].[/api] 173 : Initializing Spring embedded WebApplicationContext +2024-06-28 14:40:33.771 INFO [main] [] w.s.c.ServletWebServerApplicationContext 285 : Root WebApplicationContext: initialization completed in 2570 ms +2024-06-28 14:40:33.931 INFO [main] [] net.jjjerp.framework.core.xss.XssFilter 18 : XssFilter init +2024-06-28 14:40:33.931 INFO [main] [] n.j.f.core.filter.RequestDetailFilter 30 : RequestDetailFilter init +2024-06-28 14:40:37.929 INFO [main] [] org.reflections.Reflections 228 : Reflections took 50 ms to scan 1 urls, producing 0 keys and 0 values +2024-06-28 14:40:38.033 INFO [main] [] net.jjjerp.framework.shiro.util.JwtUtil 33 : {"audience":"web","expireSecond":36000,"issuer":"spring-boot-jjj","redisCheck":true,"refreshToken":true,"refreshTokenCountdown":600,"saltCheck":true,"secret":"888888","singleLogin":false,"tokenName":"token"} +2024-06-28 14:40:41.159 INFO [main] [] pertySourcedRequestMappingHandlerMapping 69 : Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2Controller#getDocumentation(String, HttpServletRequest)] +2024-06-28 14:40:41.176 INFO [main] [] net.jjjerp.config.Swagger2Config 149 : swagger scan basePackages:null +2024-06-28 14:40:41.313 INFO [main] [] o.s.s.concurrent.ThreadPoolTaskExecutor 181 : Initializing ExecutorService 'applicationTaskExecutor' +2024-06-28 14:40:41.410 INFO [main] [] o.s.b.a.w.s.WelcomePageHandlerMapping 53 : Adding welcome page: class path resource [static/index.html] +2024-06-28 14:40:41.642 INFO [main] [] o.s.s.c.ThreadPoolTaskScheduler 181 : Initializing ExecutorService 'taskScheduler' +2024-06-28 14:40:41.774 INFO [main] [] o.a.coyote.http11.Http11NioProtocol 173 : Starting ProtocolHandler ["http-nio-8892"] +2024-06-28 14:40:41.801 INFO [main] [] o.s.b.w.embedded.tomcat.TomcatWebServer 220 : Tomcat started on port(s): 8892 (http) with context path '/api' +2024-06-28 14:40:41.802 INFO [main] [] d.s.w.p.DocumentationPluginsBootstrapper 160 : Context refreshed +2024-06-28 14:40:41.811 INFO [main] [] d.s.w.p.DocumentationPluginsBootstrapper 163 : Found 1 custom documentation plugin(s) +2024-06-28 14:40:41.864 INFO [main] [] s.d.s.w.s.ApiListingReferenceScanner 41 : Scanning for api listing references +2024-06-28 14:40:42.003 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_1 +2024-06-28 14:40:42.006 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_1 +2024-06-28 14:40:42.007 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_1 +2024-06-28 14:40:42.027 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_1 +2024-06-28 14:40:42.065 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_2 +2024-06-28 14:40:42.067 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_2 +2024-06-28 14:40:42.070 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_3 +2024-06-28 14:40:42.071 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_3 +2024-06-28 14:40:42.075 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_4 +2024-06-28 14:40:42.076 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_4 +2024-06-28 14:40:42.077 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexOutUsingPOST_1 +2024-06-28 14:40:42.080 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_5 +2024-06-28 14:40:42.089 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_5 +2024-06-28 14:40:42.090 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_2 +2024-06-28 14:40:42.091 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_2 +2024-06-28 14:40:42.105 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_6 +2024-06-28 14:40:42.107 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_7 +2024-06-28 14:40:42.113 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_8 +2024-06-28 14:40:42.145 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_6 +2024-06-28 14:40:42.146 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_3 +2024-06-28 14:40:42.146 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_3 +2024-06-28 14:40:42.153 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_9 +2024-06-28 14:40:42.159 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_10 +2024-06-28 14:40:42.161 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_7 +2024-06-28 14:40:42.161 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_4 +2024-06-28 14:40:42.162 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_4 +2024-06-28 14:40:42.165 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_11 +2024-06-28 14:40:42.169 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_8 +2024-06-28 14:40:42.171 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_5 +2024-06-28 14:40:42.171 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_5 +2024-06-28 14:40:42.175 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_12 +2024-06-28 14:40:42.178 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_9 +2024-06-28 14:40:42.179 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_6 +2024-06-28 14:40:42.180 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_6 +2024-06-28 14:40:42.183 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_13 +2024-06-28 14:40:42.183 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_1 +2024-06-28 14:40:42.185 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_10 +2024-06-28 14:40:42.185 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_7 +2024-06-28 14:40:42.187 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_7 +2024-06-28 14:40:42.188 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_14 +2024-06-28 14:40:42.190 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_11 +2024-06-28 14:40:42.191 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_8 +2024-06-28 14:40:42.191 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_8 +2024-06-28 14:40:42.193 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_15 +2024-06-28 14:40:42.194 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_12 +2024-06-28 14:40:42.196 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_9 +2024-06-28 14:40:42.197 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_9 +2024-06-28 14:40:42.200 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_16 +2024-06-28 14:40:42.201 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_17 +2024-06-28 14:40:42.208 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_13 +2024-06-28 14:40:42.209 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_10 +2024-06-28 14:40:42.212 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_18 +2024-06-28 14:40:42.213 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_1 +2024-06-28 14:40:42.227 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addGroupUsingPOST_1 +2024-06-28 14:40:42.228 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: categoryUsingPOST_1 +2024-06-28 14:40:42.229 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteFilesUsingPOST_1 +2024-06-28 14:40:42.229 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteGroupUsingPOST_1 +2024-06-28 14:40:42.230 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editGroupUsingPOST_1 +2024-06-28 14:40:42.234 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: listsUsingPOST_1 +2024-06-28 14:40:42.235 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: moveFilesUsingPOST_1 +2024-06-28 14:40:42.238 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_19 +2024-06-28 14:40:42.242 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_14 +2024-06-28 14:40:42.243 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_10 +2024-06-28 14:40:42.243 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteFilesUsingPOST_2 +2024-06-28 14:40:42.244 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_11 +2024-06-28 14:40:42.246 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_20 +2024-06-28 14:40:42.249 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: moveFilesUsingPOST_2 +2024-06-28 14:40:42.249 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_21 +2024-06-28 14:40:42.251 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: listUsingPOST_1 +2024-06-28 14:40:42.257 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_22 +2024-06-28 14:40:42.260 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_23 +2024-06-28 14:40:42.265 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_24 +2024-06-28 14:40:42.267 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_25 +2024-06-28 14:40:42.269 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_15 +2024-06-28 14:40:42.271 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_1 +2024-06-28 14:40:42.272 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_12 +2024-06-28 14:40:42.273 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_26 +2024-06-28 14:40:42.273 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: repulseAuditUsingPOST_1 +2024-06-28 14:40:42.276 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_16 +2024-06-28 14:40:42.276 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_11 +2024-06-28 14:40:42.277 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_13 +2024-06-28 14:40:42.280 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_27 +2024-06-28 14:40:42.286 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_17 +2024-06-28 14:40:42.287 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_12 +2024-06-28 14:40:42.287 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_14 +2024-06-28 14:40:42.291 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_28 +2024-06-28 14:40:42.293 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_18 +2024-06-28 14:40:42.294 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_29 +2024-06-28 14:40:42.298 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_30 +2024-06-28 14:40:42.300 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_19 +2024-06-28 14:40:42.301 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_1 +2024-06-28 14:40:42.301 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_31 +2024-06-28 14:40:42.303 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_1 +2024-06-28 14:40:42.304 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_32 +2024-06-28 14:40:42.305 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_20 +2024-06-28 14:40:42.306 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_2 +2024-06-28 14:40:42.306 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_33 +2024-06-28 14:40:42.317 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: loginUsingPOST_1 +2024-06-28 14:40:42.317 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: logoutUsingPOST_1 +2024-06-28 14:40:42.319 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_34 +2024-06-28 14:40:42.322 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_21 +2024-06-28 14:40:42.322 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_13 +2024-06-28 14:40:42.323 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_15 +2024-06-28 14:40:42.323 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_35 +2024-06-28 14:40:42.325 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_2 +2024-06-28 14:40:42.329 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_22 +2024-06-28 14:40:42.330 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_14 +2024-06-28 14:40:42.331 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_16 +2024-06-28 14:40:42.335 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_36 +2024-06-28 14:40:42.336 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: stateUsingPOST_1 +2024-06-28 14:40:42.336 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_1 +2024-06-28 14:40:42.336 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_3 +2024-06-28 14:40:42.339 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_23 +2024-06-28 14:40:42.339 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_2 +2024-06-28 14:40:42.340 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_2 +2024-06-28 14:40:42.341 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_17 +2024-06-28 14:40:42.342 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_37 +2024-06-28 14:40:42.344 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_3 +2024-06-28 14:40:42.344 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_18 +2024-06-28 14:40:42.346 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_38 +2024-06-28 14:40:42.348 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addStorageUsingPOST_1 +2024-06-28 14:40:42.349 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_4 +2024-06-28 14:40:42.350 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_3 +2024-06-28 14:40:42.350 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_19 +2024-06-28 14:40:42.351 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_39 +2024-06-28 14:40:42.352 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_40 +2024-06-28 14:40:42.354 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_24 +2024-06-28 14:40:42.355 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_20 +2024-06-28 14:40:42.356 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_3 +2024-06-28 14:40:42.360 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_25 +2024-06-28 14:40:42.361 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_15 +2024-06-28 14:40:42.362 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_21 +2024-06-28 14:40:42.364 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_41 +2024-06-28 14:40:42.365 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_2 +2024-06-28 14:40:42.365 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_4 +2024-06-28 14:40:42.367 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: scanIndexUsingPOST_1 +2024-06-28 14:40:42.369 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_42 +2024-06-28 14:40:42.370 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_1 +2024-06-28 14:40:42.372 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_26 +2024-06-28 14:40:42.373 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_16 +2024-06-28 14:40:42.373 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_22 +2024-06-28 14:40:42.379 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_43 +2024-06-28 14:40:42.384 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_27 +2024-06-28 14:40:42.384 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_17 +2024-06-28 14:40:42.385 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_23 +2024-06-28 14:40:42.387 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_44 +2024-06-28 14:40:42.388 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_3 +2024-06-28 14:40:42.388 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_5 +2024-06-28 14:40:42.391 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_28 +2024-06-28 14:40:42.391 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_18 +2024-06-28 14:40:42.391 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_24 +2024-06-28 14:40:42.395 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_45 +2024-06-28 14:40:42.396 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_46 +2024-06-28 14:40:42.397 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_2 +2024-06-28 14:40:42.399 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_29 +2024-06-28 14:40:42.400 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_47 +2024-06-28 14:40:42.401 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_48 +2024-06-28 14:40:42.402 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_49 +2024-06-28 14:40:42.403 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_3 +2024-06-28 14:40:42.410 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_30 +2024-06-28 14:40:42.410 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_19 +2024-06-28 14:40:42.410 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_25 +2024-06-28 14:40:42.414 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_50 +2024-06-28 14:40:42.415 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_2 +2024-06-28 14:40:42.416 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_4 +2024-06-28 14:40:42.416 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_6 +2024-06-28 14:40:42.420 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_31 +2024-06-28 14:40:42.421 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_20 +2024-06-28 14:40:42.422 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_26 +2024-06-28 14:40:42.426 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_51 +2024-06-28 14:40:42.427 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_3 +2024-06-28 14:40:42.427 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_7 +2024-06-28 14:40:42.428 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_52 +2024-06-28 14:40:42.428 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_4 +2024-06-28 14:40:42.430 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_32 +2024-06-28 14:40:42.431 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_21 +2024-06-28 14:40:42.431 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_27 +2024-06-28 14:40:42.433 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_53 +2024-06-28 14:40:42.436 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: uploadUsingPOST_1 +2024-06-28 14:40:42.455 INFO [main] [] net.jjjerp.SpringBootJjjApplication 61 : Started SpringBootJjjApplication in 11.82 seconds (JVM running for 12.696) +2024-06-28 14:40:42.458 INFO [main] [] n.j.framework.util.PrintApplicationInfo 61 : projectFinalName : jjj-erp-1.0 +2024-06-28 14:40:42.458 INFO [main] [] n.j.framework.util.PrintApplicationInfo 62 : projectVersion : 1.0 +2024-06-28 14:40:42.459 INFO [main] [] n.j.framework.util.PrintApplicationInfo 63 : profileActive : prod +2024-06-28 14:40:42.459 INFO [main] [] n.j.framework.util.PrintApplicationInfo 64 : contextPath : /api +2024-06-28 14:40:42.459 INFO [main] [] n.j.framework.util.PrintApplicationInfo 65 : serverIp : http://erp3.huadeng.fun +2024-06-28 14:40:42.459 INFO [main] [] n.j.framework.util.PrintApplicationInfo 66 : port : 8892 +2024-06-28 14:40:42.459 INFO [main] [] n.j.framework.util.PrintApplicationInfo 81 : Home: http://erp3.huadeng.fun/api +2024-06-28 14:40:42.459 INFO [main] [] n.j.framework.util.PrintApplicationInfo 82 : Knife4j: http://erp3.huadeng.fun/api/doc.html +2024-06-28 14:40:42.459 INFO [main] [] n.j.framework.util.PrintApplicationInfo 83 : Swagger: http://erp3.huadeng.fun/api/swagger-ui.html +2024-06-28 14:40:42.459 INFO [main] [] n.j.framework.util.PrintApplicationInfo 84 : jjj-erp 启动成功........... + ____ __ __ ____ +/\ _`\ /\ \__ /\ \__ /\ _`\ +\ \,\L\_\ \ ,_\ __ _ __\ \ ,_\ \ \,\L\_\ __ __ ___ ___ __ ____ ____ + \/_\__ \\ \ \/ /'__`\ /\`'__\ \ \/ \/_\__ \ /\ \/\ \ /'___\ /'___\ /'__`\ /',__\ /',__\ + /\ \L\ \ \ \_/\ \L\.\_\ \ \/ \ \ \_ /\ \L\ \ \ \_\ \/\ \__//\ \__//\ __//\__, `\/\__, `\ + \ `\____\ \__\ \__/.\_\\ \_\ \ \__\ \ `\____\ \____/\ \____\ \____\ \____\/\____/\/\____/ + \/_____/\/__/\/__/\/_/ \/_/ \/__/ \/_____/\/___/ \/____/\/____/\/____/\/___/ \/___/ + + +2024-06-28 14:40:54.811 INFO [http-nio-8892-exec-2] [] o.a.c.c.C.[Tomcat].[localhost].[/api] 173 : Initializing Spring DispatcherServlet 'dispatcherServlet' +2024-06-28 14:40:54.811 INFO [http-nio-8892-exec-2] [] o.s.web.servlet.DispatcherServlet 525 : Initializing Servlet 'dispatcherServlet' +2024-06-28 14:40:54.823 INFO [http-nio-8892-exec-2] [] o.s.web.servlet.DispatcherServlet 547 : Completed initialization in 12 ms +2024-06-28 14:40:55.760 INFO [http-nio-8892-exec-1] [1806578508456148993] com.zaxxer.hikari.HikariDataSource 110 : HikariPool-1 - Starting... +2024-06-28 14:40:55.878 INFO [http-nio-8892-exec-1] [1806578508456148993] com.zaxxer.hikari.HikariDataSource 123 : HikariPool-1 - Start completed. +2024-06-28 14:55:36.462 ERROR [http-nio-8892-exec-8] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy405.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-28 14:55:36.462 ERROR [http-nio-8892-exec-7] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy405.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-28 14:55:36.473 ERROR [http-nio-8892-exec-9] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy405.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-28 14:55:45.748 INFO [lettuce-eventExecutorLoop-1-6] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was /101.34.74.68:6379 +2024-06-28 14:55:45.774 INFO [lettuce-nioEventLoop-4-2] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to 101.34.74.68:6379 +2024-06-28 14:55:46.450 WARN [http-nio-8892-exec-12] [1806582244582768642] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@111e2874 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 14:55:46.451 WARN [http-nio-8892-exec-12] [1806582244582768642] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@806bcb9 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 14:55:46.452 WARN [http-nio-8892-exec-12] [1806582244582768642] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@3c0d289e (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 14:55:46.453 WARN [http-nio-8892-exec-12] [1806582244582768642] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@5670acd2 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 14:55:46.454 WARN [http-nio-8892-exec-12] [1806582244582768642] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@3c388344 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 14:55:46.456 WARN [http-nio-8892-exec-12] [1806582244582768642] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@2479f289 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 14:55:46.457 WARN [http-nio-8892-exec-12] [1806582244582768642] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@7517f11 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 14:55:46.461 WARN [http-nio-8892-exec-12] [1806582244582768642] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@54945515 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 14:55:46.466 WARN [http-nio-8892-exec-12] [1806582244582768642] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@2c4ece60 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 14:55:46.470 WARN [http-nio-8892-exec-12] [1806582244582768642] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@47c89cda (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 14:56:31.763 INFO [SpringContextShutdownHook] [] net.jjjerp.framework.core.xss.XssFilter 30 : XssFilter destroy +2024-06-28 14:56:31.763 INFO [SpringContextShutdownHook] [] n.j.f.core.filter.RequestDetailFilter 116 : RequestDetailFilter destroy +2024-06-28 14:56:31.769 INFO [SpringContextShutdownHook] [] o.s.s.c.ThreadPoolTaskScheduler 218 : Shutting down ExecutorService 'taskScheduler' +2024-06-28 14:56:31.772 INFO [SpringContextShutdownHook] [] o.s.s.concurrent.ThreadPoolTaskExecutor 218 : Shutting down ExecutorService 'applicationTaskExecutor' +2024-06-28 14:56:31.777 INFO [SpringContextShutdownHook] [] com.zaxxer.hikari.HikariDataSource 350 : HikariPool-1 - Shutdown initiated... +2024-06-28 14:56:31.781 INFO [SpringContextShutdownHook] [] com.zaxxer.hikari.HikariDataSource 352 : HikariPool-1 - Shutdown completed. +2024-06-28 14:56:37.737 INFO [main] [] net.jjjerp.SpringBootJjjApplication 55 : Starting SpringBootJjjApplication on OS-20230506YKNI with PID 3064 (D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\bootstrap\target\classes started by Administrator in D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp) +2024-06-28 14:56:37.737 INFO [background-preinit] [] o.h.validator.internal.util.Version 21 : HV000001: Hibernate Validator 6.1.7.Final +2024-06-28 14:56:37.740 INFO [main] [] net.jjjerp.SpringBootJjjApplication 652 : The following profiles are active: prod +2024-06-28 14:56:38.838 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 249 : Multiple Spring Data modules found, entering strict repository configuration mode! +2024-06-28 14:56:38.840 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 127 : Bootstrapping Spring Data Redis repositories in DEFAULT mode. +2024-06-28 14:56:38.947 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 187 : Finished Spring Data repository scanning in 98ms. Found 0 Redis repository interfaces. +2024-06-28 14:56:39.207 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.ShiroConfig' of type [net.jjjerp.config.ShiroConfig$$EnhancerBySpringCGLIB$$52aa1b36] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 14:56:39.313 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.properties.JwtProperties' of type [net.jjjerp.config.properties.JwtProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 14:56:39.315 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.RedisTemplateConfig' of type [net.jjjerp.config.RedisTemplateConfig$$EnhancerBySpringCGLIB$$220f25da] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 14:56:39.326 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'spring.redis-org.springframework.boot.autoconfigure.data.redis.RedisProperties' of type [org.springframework.boot.autoconfigure.data.redis.RedisProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 14:56:39.329 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration' of type [org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 14:56:39.388 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'lettuceClientResources' of type [io.lettuce.core.resource.DefaultClientResources] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 14:56:39.480 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'redisConnectionFactory' of type [org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 14:56:39.524 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'redisTemplate' of type [org.springframework.data.redis.core.RedisTemplate] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 14:56:39.525 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.cache.impl.AdminLoginRedisServiceImpl' of type [net.jjjerp.framework.shiro.cache.impl.AdminLoginRedisServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 14:56:39.528 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.cache.impl.ShopLoginRedisServiceImpl' of type [net.jjjerp.framework.shiro.cache.impl.ShopLoginRedisServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 14:56:39.638 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'credentialsMatcher' of type [net.jjjerp.framework.shiro.jwt.JwtCredentialsMatcher] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 14:56:39.645 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'jwtRealm' of type [net.jjjerp.framework.shiro.jwt.JwtRealm] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 14:56:39.646 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'sessionStorageEvaluator' of type [org.apache.shiro.web.mgt.DefaultWebSessionStorageEvaluator] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 14:56:39.646 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'subjectDAO' of type [org.apache.shiro.mgt.DefaultSubjectDAO] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 14:56:39.648 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'securityManager' of type [org.apache.shiro.web.mgt.DefaultWebSecurityManager] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 14:56:39.667 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.service.impl.ShiroLoginServiceImpl' of type [net.jjjerp.framework.shiro.service.impl.ShiroLoginServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 14:56:39.674 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'spring-boot-jjj.shiro-net.jjjerp.config.properties.ShiroProperties' of type [net.jjjerp.config.properties.ShiroProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 14:56:39.756 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'authorizationAttributeSourceAdvisor' of type [org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 14:56:39.888 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.RedisCacheConfig' of type [net.jjjerp.config.RedisCacheConfig$$EnhancerBySpringCGLIB$$d74bfcdc] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 14:56:40.127 INFO [main] [] o.s.b.w.embedded.tomcat.TomcatWebServer 108 : Tomcat initialized with port(s): 8892 (http) +2024-06-28 14:56:40.135 INFO [main] [] o.a.coyote.http11.Http11NioProtocol 173 : Initializing ProtocolHandler ["http-nio-8892"] +2024-06-28 14:56:40.135 INFO [main] [] o.apache.catalina.core.StandardService 173 : Starting service [Tomcat] +2024-06-28 14:56:40.135 INFO [main] [] org.apache.catalina.core.StandardEngine 173 : Starting Servlet engine: [Apache Tomcat/9.0.46] +2024-06-28 14:56:40.227 INFO [main] [] o.a.c.c.C.[Tomcat].[localhost].[/api] 173 : Initializing Spring embedded WebApplicationContext +2024-06-28 14:56:40.227 INFO [main] [] w.s.c.ServletWebServerApplicationContext 285 : Root WebApplicationContext: initialization completed in 2430 ms +2024-06-28 14:56:40.369 INFO [main] [] net.jjjerp.framework.core.xss.XssFilter 18 : XssFilter init +2024-06-28 14:56:40.369 INFO [main] [] n.j.f.core.filter.RequestDetailFilter 30 : RequestDetailFilter init +2024-06-28 14:56:43.749 INFO [main] [] org.reflections.Reflections 228 : Reflections took 41 ms to scan 1 urls, producing 0 keys and 0 values +2024-06-28 14:56:43.849 INFO [main] [] net.jjjerp.framework.shiro.util.JwtUtil 33 : {"audience":"web","expireSecond":36000,"issuer":"spring-boot-jjj","redisCheck":true,"refreshToken":true,"refreshTokenCountdown":600,"saltCheck":true,"secret":"888888","singleLogin":false,"tokenName":"token"} +2024-06-28 14:56:46.685 INFO [main] [] pertySourcedRequestMappingHandlerMapping 69 : Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2Controller#getDocumentation(String, HttpServletRequest)] +2024-06-28 14:56:46.702 INFO [main] [] net.jjjerp.config.Swagger2Config 149 : swagger scan basePackages:null +2024-06-28 14:56:46.837 INFO [main] [] o.s.s.concurrent.ThreadPoolTaskExecutor 181 : Initializing ExecutorService 'applicationTaskExecutor' +2024-06-28 14:56:46.939 INFO [main] [] o.s.b.a.w.s.WelcomePageHandlerMapping 53 : Adding welcome page: class path resource [static/index.html] +2024-06-28 14:56:47.131 INFO [main] [] o.s.s.c.ThreadPoolTaskScheduler 181 : Initializing ExecutorService 'taskScheduler' +2024-06-28 14:56:47.239 INFO [main] [] o.a.coyote.http11.Http11NioProtocol 173 : Starting ProtocolHandler ["http-nio-8892"] +2024-06-28 14:56:47.260 INFO [main] [] o.s.b.w.embedded.tomcat.TomcatWebServer 220 : Tomcat started on port(s): 8892 (http) with context path '/api' +2024-06-28 14:56:47.261 INFO [main] [] d.s.w.p.DocumentationPluginsBootstrapper 160 : Context refreshed +2024-06-28 14:56:47.269 INFO [main] [] d.s.w.p.DocumentationPluginsBootstrapper 163 : Found 1 custom documentation plugin(s) +2024-06-28 14:56:47.310 INFO [main] [] s.d.s.w.s.ApiListingReferenceScanner 41 : Scanning for api listing references +2024-06-28 14:56:47.440 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_1 +2024-06-28 14:56:47.442 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_1 +2024-06-28 14:56:47.443 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_1 +2024-06-28 14:56:47.460 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_1 +2024-06-28 14:56:47.496 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_2 +2024-06-28 14:56:47.498 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_2 +2024-06-28 14:56:47.500 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_3 +2024-06-28 14:56:47.501 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_3 +2024-06-28 14:56:47.503 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_4 +2024-06-28 14:56:47.504 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_4 +2024-06-28 14:56:47.505 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexOutUsingPOST_1 +2024-06-28 14:56:47.508 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_5 +2024-06-28 14:56:47.516 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_5 +2024-06-28 14:56:47.517 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_2 +2024-06-28 14:56:47.517 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_2 +2024-06-28 14:56:47.532 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_6 +2024-06-28 14:56:47.534 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_7 +2024-06-28 14:56:47.539 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_8 +2024-06-28 14:56:47.547 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_6 +2024-06-28 14:56:47.547 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_3 +2024-06-28 14:56:47.548 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_3 +2024-06-28 14:56:47.555 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_9 +2024-06-28 14:56:47.581 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_10 +2024-06-28 14:56:47.584 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_7 +2024-06-28 14:56:47.585 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_4 +2024-06-28 14:56:47.585 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_4 +2024-06-28 14:56:47.588 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_11 +2024-06-28 14:56:47.593 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_8 +2024-06-28 14:56:47.594 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_5 +2024-06-28 14:56:47.594 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_5 +2024-06-28 14:56:47.597 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_12 +2024-06-28 14:56:47.600 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_9 +2024-06-28 14:56:47.601 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_6 +2024-06-28 14:56:47.602 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_6 +2024-06-28 14:56:47.605 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_13 +2024-06-28 14:56:47.606 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_1 +2024-06-28 14:56:47.608 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_10 +2024-06-28 14:56:47.608 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_7 +2024-06-28 14:56:47.609 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_7 +2024-06-28 14:56:47.610 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_14 +2024-06-28 14:56:47.611 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_11 +2024-06-28 14:56:47.612 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_8 +2024-06-28 14:56:47.612 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_8 +2024-06-28 14:56:47.614 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_15 +2024-06-28 14:56:47.615 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_12 +2024-06-28 14:56:47.618 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_9 +2024-06-28 14:56:47.619 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_9 +2024-06-28 14:56:47.622 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_16 +2024-06-28 14:56:47.624 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_17 +2024-06-28 14:56:47.629 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_13 +2024-06-28 14:56:47.630 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_10 +2024-06-28 14:56:47.633 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_18 +2024-06-28 14:56:47.634 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_1 +2024-06-28 14:56:47.645 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addGroupUsingPOST_1 +2024-06-28 14:56:47.645 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: categoryUsingPOST_1 +2024-06-28 14:56:47.646 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteFilesUsingPOST_1 +2024-06-28 14:56:47.646 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteGroupUsingPOST_1 +2024-06-28 14:56:47.647 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editGroupUsingPOST_1 +2024-06-28 14:56:47.650 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: listsUsingPOST_1 +2024-06-28 14:56:47.651 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: moveFilesUsingPOST_1 +2024-06-28 14:56:47.653 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_19 +2024-06-28 14:56:47.657 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_14 +2024-06-28 14:56:47.657 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_10 +2024-06-28 14:56:47.658 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteFilesUsingPOST_2 +2024-06-28 14:56:47.658 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_11 +2024-06-28 14:56:47.660 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_20 +2024-06-28 14:56:47.663 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: moveFilesUsingPOST_2 +2024-06-28 14:56:47.663 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_21 +2024-06-28 14:56:47.664 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: listUsingPOST_1 +2024-06-28 14:56:47.670 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_22 +2024-06-28 14:56:47.673 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_23 +2024-06-28 14:56:47.676 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_24 +2024-06-28 14:56:47.677 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_25 +2024-06-28 14:56:47.680 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_15 +2024-06-28 14:56:47.680 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_1 +2024-06-28 14:56:47.681 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_12 +2024-06-28 14:56:47.682 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_26 +2024-06-28 14:56:47.682 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: repulseAuditUsingPOST_1 +2024-06-28 14:56:47.685 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_16 +2024-06-28 14:56:47.685 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_11 +2024-06-28 14:56:47.686 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_13 +2024-06-28 14:56:47.689 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_27 +2024-06-28 14:56:47.692 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_17 +2024-06-28 14:56:47.693 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_12 +2024-06-28 14:56:47.693 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_14 +2024-06-28 14:56:47.695 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_28 +2024-06-28 14:56:47.696 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_18 +2024-06-28 14:56:47.697 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_29 +2024-06-28 14:56:47.701 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_30 +2024-06-28 14:56:47.703 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_19 +2024-06-28 14:56:47.703 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_1 +2024-06-28 14:56:47.704 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_31 +2024-06-28 14:56:47.705 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_1 +2024-06-28 14:56:47.706 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_32 +2024-06-28 14:56:47.708 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_20 +2024-06-28 14:56:47.708 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_2 +2024-06-28 14:56:47.709 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_33 +2024-06-28 14:56:47.717 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: loginUsingPOST_1 +2024-06-28 14:56:47.717 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: logoutUsingPOST_1 +2024-06-28 14:56:47.718 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_34 +2024-06-28 14:56:47.720 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_21 +2024-06-28 14:56:47.721 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_13 +2024-06-28 14:56:47.721 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_15 +2024-06-28 14:56:47.722 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_35 +2024-06-28 14:56:47.724 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_2 +2024-06-28 14:56:47.727 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_22 +2024-06-28 14:56:47.728 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_14 +2024-06-28 14:56:47.728 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_16 +2024-06-28 14:56:47.733 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_36 +2024-06-28 14:56:47.733 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: stateUsingPOST_1 +2024-06-28 14:56:47.734 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_1 +2024-06-28 14:56:47.734 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_3 +2024-06-28 14:56:47.736 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_23 +2024-06-28 14:56:47.736 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_2 +2024-06-28 14:56:47.737 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_2 +2024-06-28 14:56:47.738 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_17 +2024-06-28 14:56:47.738 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_37 +2024-06-28 14:56:47.741 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_3 +2024-06-28 14:56:47.741 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_18 +2024-06-28 14:56:47.742 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_38 +2024-06-28 14:56:47.743 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addStorageUsingPOST_1 +2024-06-28 14:56:47.744 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_4 +2024-06-28 14:56:47.744 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_3 +2024-06-28 14:56:47.745 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_19 +2024-06-28 14:56:47.745 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_39 +2024-06-28 14:56:47.747 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_40 +2024-06-28 14:56:47.749 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_24 +2024-06-28 14:56:47.750 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_20 +2024-06-28 14:56:47.750 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_3 +2024-06-28 14:56:47.752 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_25 +2024-06-28 14:56:47.753 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_15 +2024-06-28 14:56:47.753 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_21 +2024-06-28 14:56:47.754 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_41 +2024-06-28 14:56:47.756 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_2 +2024-06-28 14:56:47.757 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_4 +2024-06-28 14:56:47.759 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: scanIndexUsingPOST_1 +2024-06-28 14:56:47.760 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_42 +2024-06-28 14:56:47.760 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_1 +2024-06-28 14:56:47.763 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_26 +2024-06-28 14:56:47.763 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_16 +2024-06-28 14:56:47.764 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_22 +2024-06-28 14:56:47.768 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_43 +2024-06-28 14:56:47.770 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_27 +2024-06-28 14:56:47.771 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_17 +2024-06-28 14:56:47.771 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_23 +2024-06-28 14:56:47.773 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_44 +2024-06-28 14:56:47.773 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_3 +2024-06-28 14:56:47.774 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_5 +2024-06-28 14:56:47.775 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_28 +2024-06-28 14:56:47.776 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_18 +2024-06-28 14:56:47.776 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_24 +2024-06-28 14:56:47.779 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_45 +2024-06-28 14:56:47.780 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_46 +2024-06-28 14:56:47.780 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_2 +2024-06-28 14:56:47.781 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_29 +2024-06-28 14:56:47.782 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_47 +2024-06-28 14:56:47.783 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_48 +2024-06-28 14:56:47.783 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_49 +2024-06-28 14:56:47.783 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_3 +2024-06-28 14:56:47.786 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_30 +2024-06-28 14:56:47.787 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_19 +2024-06-28 14:56:47.787 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_25 +2024-06-28 14:56:47.791 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_50 +2024-06-28 14:56:47.791 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_2 +2024-06-28 14:56:47.792 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_4 +2024-06-28 14:56:47.792 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_6 +2024-06-28 14:56:47.796 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_31 +2024-06-28 14:56:47.796 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_20 +2024-06-28 14:56:47.797 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_26 +2024-06-28 14:56:47.801 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_51 +2024-06-28 14:56:47.802 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_3 +2024-06-28 14:56:47.802 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_7 +2024-06-28 14:56:47.804 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_52 +2024-06-28 14:56:47.805 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_4 +2024-06-28 14:56:47.807 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_32 +2024-06-28 14:56:47.808 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_21 +2024-06-28 14:56:47.809 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_27 +2024-06-28 14:56:47.811 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_53 +2024-06-28 14:56:47.814 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: uploadUsingPOST_1 +2024-06-28 14:56:47.833 INFO [main] [] net.jjjerp.SpringBootJjjApplication 61 : Started SpringBootJjjApplication in 10.666 seconds (JVM running for 11.262) +2024-06-28 14:56:47.836 INFO [main] [] n.j.framework.util.PrintApplicationInfo 61 : projectFinalName : jjj-erp-1.0 +2024-06-28 14:56:47.836 INFO [main] [] n.j.framework.util.PrintApplicationInfo 62 : projectVersion : 1.0 +2024-06-28 14:56:47.836 INFO [main] [] n.j.framework.util.PrintApplicationInfo 63 : profileActive : prod +2024-06-28 14:56:47.836 INFO [main] [] n.j.framework.util.PrintApplicationInfo 64 : contextPath : /api +2024-06-28 14:56:47.836 INFO [main] [] n.j.framework.util.PrintApplicationInfo 65 : serverIp : http://erp3.huadeng.fun +2024-06-28 14:56:47.836 INFO [main] [] n.j.framework.util.PrintApplicationInfo 66 : port : 8892 +2024-06-28 14:56:47.836 INFO [main] [] n.j.framework.util.PrintApplicationInfo 81 : Home: http://erp3.huadeng.fun/api +2024-06-28 14:56:47.836 INFO [main] [] n.j.framework.util.PrintApplicationInfo 82 : Knife4j: http://erp3.huadeng.fun/api/doc.html +2024-06-28 14:56:47.836 INFO [main] [] n.j.framework.util.PrintApplicationInfo 83 : Swagger: http://erp3.huadeng.fun/api/swagger-ui.html +2024-06-28 14:56:47.836 INFO [main] [] n.j.framework.util.PrintApplicationInfo 84 : jjj-erp 启动成功........... + ____ __ __ ____ +/\ _`\ /\ \__ /\ \__ /\ _`\ +\ \,\L\_\ \ ,_\ __ _ __\ \ ,_\ \ \,\L\_\ __ __ ___ ___ __ ____ ____ + \/_\__ \\ \ \/ /'__`\ /\`'__\ \ \/ \/_\__ \ /\ \/\ \ /'___\ /'___\ /'__`\ /',__\ /',__\ + /\ \L\ \ \ \_/\ \L\.\_\ \ \/ \ \ \_ /\ \L\ \ \ \_\ \/\ \__//\ \__//\ __//\__, `\/\__, `\ + \ `\____\ \__\ \__/.\_\\ \_\ \ \__\ \ `\____\ \____/\ \____\ \____\ \____\/\____/\/\____/ + \/_____/\/__/\/__/\/_/ \/_/ \/__/ \/_____/\/___/ \/____/\/____/\/____/\/___/ \/___/ + + +2024-06-28 14:57:04.274 INFO [http-nio-8892-exec-1] [] o.a.c.c.C.[Tomcat].[localhost].[/api] 173 : Initializing Spring DispatcherServlet 'dispatcherServlet' +2024-06-28 14:57:04.274 INFO [http-nio-8892-exec-1] [] o.s.web.servlet.DispatcherServlet 525 : Initializing Servlet 'dispatcherServlet' +2024-06-28 14:57:04.284 INFO [http-nio-8892-exec-1] [] o.s.web.servlet.DispatcherServlet 547 : Completed initialization in 10 ms +2024-06-28 14:57:05.344 INFO [http-nio-8892-exec-2] [1806582575391707137] com.zaxxer.hikari.HikariDataSource 110 : HikariPool-1 - Starting... +2024-06-28 14:57:05.459 INFO [http-nio-8892-exec-2] [1806582575391707137] com.zaxxer.hikari.HikariDataSource 123 : HikariPool-1 - Start completed. +2024-06-28 15:01:26.840 WARN [http-nio-8892-exec-3] [1806583672273506306] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@4335e2fb (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 15:05:45.484 WARN [http-nio-8892-exec-1] [1806584757130235907] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@2bac8742 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 15:05:45.493 WARN [http-nio-8892-exec-1] [1806584757130235907] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@6e0e6cca (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 15:05:45.496 WARN [http-nio-8892-exec-1] [1806584757130235907] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@5f0deda9 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 15:05:45.498 WARN [http-nio-8892-exec-1] [1806584757130235907] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@451609ab (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 15:05:45.499 WARN [http-nio-8892-exec-1] [1806584757130235907] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@1335ffa2 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 15:05:45.501 WARN [http-nio-8892-exec-1] [1806584757130235907] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@253ba68c (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 15:05:45.503 WARN [http-nio-8892-exec-1] [1806584757130235907] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@15eb6727 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 15:05:45.504 WARN [http-nio-8892-exec-1] [1806584757130235907] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@60c57f60 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 15:05:45.507 WARN [http-nio-8892-exec-1] [1806584757130235907] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@5c314435 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 15:05:45.508 WARN [http-nio-8892-exec-1] [1806584757130235907] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@24c696f9 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 15:08:45.278 WARN [http-nio-8892-exec-9] [1806585511186403330] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@212f435d (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 15:08:45.279 WARN [http-nio-8892-exec-9] [1806585511186403330] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@733ea213 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 15:08:45.280 WARN [http-nio-8892-exec-9] [1806585511186403330] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@41119214 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 15:08:45.281 WARN [http-nio-8892-exec-9] [1806585511186403330] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@5075261 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 15:08:45.282 WARN [http-nio-8892-exec-9] [1806585511186403330] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@48cbe1e7 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 15:08:45.283 WARN [http-nio-8892-exec-9] [1806585511186403330] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@534aa5b2 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 15:08:45.285 WARN [http-nio-8892-exec-9] [1806585511186403330] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@1aa7c76c (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 15:08:45.285 WARN [http-nio-8892-exec-9] [1806585511186403330] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@250c0a03 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 15:08:45.286 WARN [http-nio-8892-exec-9] [1806585511186403330] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@32df139c (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 15:08:45.287 WARN [http-nio-8892-exec-9] [1806585511186403330] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@34be4740 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 15:27:54.863 ERROR [http-nio-8892-exec-8] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy405.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-28 15:28:04.149 INFO [lettuce-eventExecutorLoop-1-2] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was /101.34.74.68:6379 +2024-06-28 15:28:04.217 INFO [lettuce-nioEventLoop-4-2] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to 101.34.74.68:6379 +2024-06-28 15:39:21.578 INFO [SpringContextShutdownHook] [] net.jjjerp.framework.core.xss.XssFilter 30 : XssFilter destroy +2024-06-28 15:39:21.578 INFO [SpringContextShutdownHook] [] n.j.f.core.filter.RequestDetailFilter 116 : RequestDetailFilter destroy +2024-06-28 15:39:21.586 INFO [SpringContextShutdownHook] [] o.s.s.c.ThreadPoolTaskScheduler 218 : Shutting down ExecutorService 'taskScheduler' +2024-06-28 15:39:21.587 INFO [SpringContextShutdownHook] [] o.s.s.concurrent.ThreadPoolTaskExecutor 218 : Shutting down ExecutorService 'applicationTaskExecutor' +2024-06-28 15:39:21.592 INFO [SpringContextShutdownHook] [] com.zaxxer.hikari.HikariDataSource 350 : HikariPool-1 - Shutdown initiated... +2024-06-28 15:39:21.595 INFO [SpringContextShutdownHook] [] com.zaxxer.hikari.HikariDataSource 352 : HikariPool-1 - Shutdown completed. +2024-06-28 15:39:33.269 INFO [background-preinit] [] o.h.validator.internal.util.Version 21 : HV000001: Hibernate Validator 6.1.7.Final +2024-06-28 15:39:33.274 INFO [main] [] net.jjjerp.SpringBootJjjApplication 55 : Starting SpringBootJjjApplication on OS-20230506YKNI with PID 13808 (D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\bootstrap\target\classes started by Administrator in D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp) +2024-06-28 15:39:33.274 INFO [main] [] net.jjjerp.SpringBootJjjApplication 652 : The following profiles are active: prod +2024-06-28 15:39:34.377 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 249 : Multiple Spring Data modules found, entering strict repository configuration mode! +2024-06-28 15:39:34.379 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 127 : Bootstrapping Spring Data Redis repositories in DEFAULT mode. +2024-06-28 15:39:34.498 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 187 : Finished Spring Data repository scanning in 101ms. Found 0 Redis repository interfaces. +2024-06-28 15:39:34.774 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.ShiroConfig' of type [net.jjjerp.config.ShiroConfig$$EnhancerBySpringCGLIB$$97ed13a8] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 15:39:34.874 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.properties.JwtProperties' of type [net.jjjerp.config.properties.JwtProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 15:39:34.876 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.RedisTemplateConfig' of type [net.jjjerp.config.RedisTemplateConfig$$EnhancerBySpringCGLIB$$67521e4c] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 15:39:34.885 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'spring.redis-org.springframework.boot.autoconfigure.data.redis.RedisProperties' of type [org.springframework.boot.autoconfigure.data.redis.RedisProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 15:39:34.889 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration' of type [org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 15:39:34.950 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'lettuceClientResources' of type [io.lettuce.core.resource.DefaultClientResources] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 15:39:35.044 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'redisConnectionFactory' of type [org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 15:39:35.093 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'redisTemplate' of type [org.springframework.data.redis.core.RedisTemplate] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 15:39:35.094 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.cache.impl.AdminLoginRedisServiceImpl' of type [net.jjjerp.framework.shiro.cache.impl.AdminLoginRedisServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 15:39:35.097 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.cache.impl.ShopLoginRedisServiceImpl' of type [net.jjjerp.framework.shiro.cache.impl.ShopLoginRedisServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 15:39:35.221 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'credentialsMatcher' of type [net.jjjerp.framework.shiro.jwt.JwtCredentialsMatcher] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 15:39:35.228 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'jwtRealm' of type [net.jjjerp.framework.shiro.jwt.JwtRealm] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 15:39:35.229 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'sessionStorageEvaluator' of type [org.apache.shiro.web.mgt.DefaultWebSessionStorageEvaluator] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 15:39:35.229 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'subjectDAO' of type [org.apache.shiro.mgt.DefaultSubjectDAO] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 15:39:35.231 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'securityManager' of type [org.apache.shiro.web.mgt.DefaultWebSecurityManager] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 15:39:35.252 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.service.impl.ShiroLoginServiceImpl' of type [net.jjjerp.framework.shiro.service.impl.ShiroLoginServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 15:39:35.260 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'spring-boot-jjj.shiro-net.jjjerp.config.properties.ShiroProperties' of type [net.jjjerp.config.properties.ShiroProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 15:39:35.348 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'authorizationAttributeSourceAdvisor' of type [org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 15:39:35.477 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.RedisCacheConfig' of type [net.jjjerp.config.RedisCacheConfig$$EnhancerBySpringCGLIB$$1c8ef54e] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 15:39:35.723 INFO [main] [] o.s.b.w.embedded.tomcat.TomcatWebServer 108 : Tomcat initialized with port(s): 8892 (http) +2024-06-28 15:39:35.731 INFO [main] [] o.a.coyote.http11.Http11NioProtocol 173 : Initializing ProtocolHandler ["http-nio-8892"] +2024-06-28 15:39:35.732 INFO [main] [] o.apache.catalina.core.StandardService 173 : Starting service [Tomcat] +2024-06-28 15:39:35.732 INFO [main] [] org.apache.catalina.core.StandardEngine 173 : Starting Servlet engine: [Apache Tomcat/9.0.46] +2024-06-28 15:39:35.827 INFO [main] [] o.a.c.c.C.[Tomcat].[localhost].[/api] 173 : Initializing Spring embedded WebApplicationContext +2024-06-28 15:39:35.827 INFO [main] [] w.s.c.ServletWebServerApplicationContext 285 : Root WebApplicationContext: initialization completed in 2505 ms +2024-06-28 15:39:35.983 INFO [main] [] net.jjjerp.framework.core.xss.XssFilter 18 : XssFilter init +2024-06-28 15:39:35.983 INFO [main] [] n.j.f.core.filter.RequestDetailFilter 30 : RequestDetailFilter init +2024-06-28 15:39:39.558 INFO [main] [] org.reflections.Reflections 228 : Reflections took 45 ms to scan 1 urls, producing 0 keys and 0 values +2024-06-28 15:39:39.676 INFO [main] [] net.jjjerp.framework.shiro.util.JwtUtil 33 : {"audience":"web","expireSecond":36000,"issuer":"spring-boot-jjj","redisCheck":true,"refreshToken":true,"refreshTokenCountdown":600,"saltCheck":true,"secret":"888888","singleLogin":false,"tokenName":"token"} +2024-06-28 15:39:43.679 INFO [main] [] pertySourcedRequestMappingHandlerMapping 69 : Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2Controller#getDocumentation(String, HttpServletRequest)] +2024-06-28 15:39:43.696 INFO [main] [] net.jjjerp.config.Swagger2Config 149 : swagger scan basePackages:null +2024-06-28 15:39:43.843 INFO [main] [] o.s.s.concurrent.ThreadPoolTaskExecutor 181 : Initializing ExecutorService 'applicationTaskExecutor' +2024-06-28 15:39:43.949 INFO [main] [] o.s.b.a.w.s.WelcomePageHandlerMapping 53 : Adding welcome page: class path resource [static/index.html] +2024-06-28 15:39:44.210 INFO [main] [] o.s.s.c.ThreadPoolTaskScheduler 181 : Initializing ExecutorService 'taskScheduler' +2024-06-28 15:39:44.321 INFO [main] [] o.a.coyote.http11.Http11NioProtocol 173 : Starting ProtocolHandler ["http-nio-8892"] +2024-06-28 15:39:44.342 INFO [main] [] o.s.b.w.embedded.tomcat.TomcatWebServer 220 : Tomcat started on port(s): 8892 (http) with context path '/api' +2024-06-28 15:39:44.343 INFO [main] [] d.s.w.p.DocumentationPluginsBootstrapper 160 : Context refreshed +2024-06-28 15:39:44.349 INFO [main] [] d.s.w.p.DocumentationPluginsBootstrapper 163 : Found 1 custom documentation plugin(s) +2024-06-28 15:39:44.386 INFO [main] [] s.d.s.w.s.ApiListingReferenceScanner 41 : Scanning for api listing references +2024-06-28 15:39:44.514 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_1 +2024-06-28 15:39:44.515 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_1 +2024-06-28 15:39:44.516 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_1 +2024-06-28 15:39:44.534 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_1 +2024-06-28 15:39:44.573 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_2 +2024-06-28 15:39:44.575 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_2 +2024-06-28 15:39:44.578 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_3 +2024-06-28 15:39:44.579 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_3 +2024-06-28 15:39:44.582 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_4 +2024-06-28 15:39:44.583 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_4 +2024-06-28 15:39:44.583 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexOutUsingPOST_1 +2024-06-28 15:39:44.586 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_5 +2024-06-28 15:39:44.596 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_5 +2024-06-28 15:39:44.596 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_2 +2024-06-28 15:39:44.597 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_2 +2024-06-28 15:39:44.612 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_6 +2024-06-28 15:39:44.613 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_7 +2024-06-28 15:39:44.618 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_8 +2024-06-28 15:39:44.653 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_6 +2024-06-28 15:39:44.654 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_3 +2024-06-28 15:39:44.656 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_3 +2024-06-28 15:39:44.663 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_9 +2024-06-28 15:39:44.667 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_10 +2024-06-28 15:39:44.669 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_7 +2024-06-28 15:39:44.670 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_4 +2024-06-28 15:39:44.671 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_4 +2024-06-28 15:39:44.674 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_11 +2024-06-28 15:39:44.679 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_8 +2024-06-28 15:39:44.679 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_5 +2024-06-28 15:39:44.680 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_5 +2024-06-28 15:39:44.683 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_12 +2024-06-28 15:39:44.687 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_9 +2024-06-28 15:39:44.687 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_6 +2024-06-28 15:39:44.688 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_6 +2024-06-28 15:39:44.692 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_13 +2024-06-28 15:39:44.693 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_1 +2024-06-28 15:39:44.695 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_10 +2024-06-28 15:39:44.695 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_7 +2024-06-28 15:39:44.696 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_7 +2024-06-28 15:39:44.697 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_14 +2024-06-28 15:39:44.698 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_11 +2024-06-28 15:39:44.699 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_8 +2024-06-28 15:39:44.699 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_8 +2024-06-28 15:39:44.701 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_15 +2024-06-28 15:39:44.702 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_12 +2024-06-28 15:39:44.705 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_9 +2024-06-28 15:39:44.706 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_9 +2024-06-28 15:39:44.709 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_16 +2024-06-28 15:39:44.711 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_17 +2024-06-28 15:39:44.717 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_13 +2024-06-28 15:39:44.718 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_10 +2024-06-28 15:39:44.724 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_18 +2024-06-28 15:39:44.726 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_1 +2024-06-28 15:39:44.742 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addGroupUsingPOST_1 +2024-06-28 15:39:44.744 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: categoryUsingPOST_1 +2024-06-28 15:39:44.744 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteFilesUsingPOST_1 +2024-06-28 15:39:44.745 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteGroupUsingPOST_1 +2024-06-28 15:39:44.746 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editGroupUsingPOST_1 +2024-06-28 15:39:44.752 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: listsUsingPOST_1 +2024-06-28 15:39:44.753 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: moveFilesUsingPOST_1 +2024-06-28 15:39:44.755 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_19 +2024-06-28 15:39:44.760 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_14 +2024-06-28 15:39:44.761 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_10 +2024-06-28 15:39:44.762 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteFilesUsingPOST_2 +2024-06-28 15:39:44.762 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_11 +2024-06-28 15:39:44.764 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_20 +2024-06-28 15:39:44.768 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: moveFilesUsingPOST_2 +2024-06-28 15:39:44.769 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_21 +2024-06-28 15:39:44.770 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: listUsingPOST_1 +2024-06-28 15:39:44.777 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_22 +2024-06-28 15:39:44.780 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_23 +2024-06-28 15:39:44.785 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_24 +2024-06-28 15:39:44.786 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_25 +2024-06-28 15:39:44.789 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_15 +2024-06-28 15:39:44.791 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_1 +2024-06-28 15:39:44.792 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_12 +2024-06-28 15:39:44.793 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_26 +2024-06-28 15:39:44.793 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: repulseAuditUsingPOST_1 +2024-06-28 15:39:44.796 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_16 +2024-06-28 15:39:44.796 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_11 +2024-06-28 15:39:44.797 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_13 +2024-06-28 15:39:44.803 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_27 +2024-06-28 15:39:44.809 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_17 +2024-06-28 15:39:44.810 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_12 +2024-06-28 15:39:44.811 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_14 +2024-06-28 15:39:44.815 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_28 +2024-06-28 15:39:44.817 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_18 +2024-06-28 15:39:44.817 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_29 +2024-06-28 15:39:44.821 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_30 +2024-06-28 15:39:44.823 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_19 +2024-06-28 15:39:44.823 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_1 +2024-06-28 15:39:44.824 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_31 +2024-06-28 15:39:44.826 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_1 +2024-06-28 15:39:44.826 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_32 +2024-06-28 15:39:44.828 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_20 +2024-06-28 15:39:44.828 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_2 +2024-06-28 15:39:44.829 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_33 +2024-06-28 15:39:44.837 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: loginUsingPOST_1 +2024-06-28 15:39:44.838 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: logoutUsingPOST_1 +2024-06-28 15:39:44.839 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_34 +2024-06-28 15:39:44.841 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_21 +2024-06-28 15:39:44.842 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_13 +2024-06-28 15:39:44.842 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_15 +2024-06-28 15:39:44.843 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_35 +2024-06-28 15:39:44.844 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_2 +2024-06-28 15:39:44.848 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_22 +2024-06-28 15:39:44.849 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_14 +2024-06-28 15:39:44.849 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_16 +2024-06-28 15:39:44.853 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_36 +2024-06-28 15:39:44.854 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: stateUsingPOST_1 +2024-06-28 15:39:44.854 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_1 +2024-06-28 15:39:44.854 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_3 +2024-06-28 15:39:44.856 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_23 +2024-06-28 15:39:44.857 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_2 +2024-06-28 15:39:44.857 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_2 +2024-06-28 15:39:44.859 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_17 +2024-06-28 15:39:44.859 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_37 +2024-06-28 15:39:44.861 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_3 +2024-06-28 15:39:44.862 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_18 +2024-06-28 15:39:44.862 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_38 +2024-06-28 15:39:44.864 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addStorageUsingPOST_1 +2024-06-28 15:39:44.864 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_4 +2024-06-28 15:39:44.865 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_3 +2024-06-28 15:39:44.866 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_19 +2024-06-28 15:39:44.866 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_39 +2024-06-28 15:39:44.867 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_40 +2024-06-28 15:39:44.868 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_24 +2024-06-28 15:39:44.869 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_20 +2024-06-28 15:39:44.869 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_3 +2024-06-28 15:39:44.872 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_25 +2024-06-28 15:39:44.872 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_15 +2024-06-28 15:39:44.873 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_21 +2024-06-28 15:39:44.874 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_41 +2024-06-28 15:39:44.876 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_2 +2024-06-28 15:39:44.876 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_4 +2024-06-28 15:39:44.879 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: scanIndexUsingPOST_1 +2024-06-28 15:39:44.880 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_42 +2024-06-28 15:39:44.881 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_1 +2024-06-28 15:39:44.883 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_26 +2024-06-28 15:39:44.883 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_16 +2024-06-28 15:39:44.884 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_22 +2024-06-28 15:39:44.888 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_43 +2024-06-28 15:39:44.891 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_27 +2024-06-28 15:39:44.891 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_17 +2024-06-28 15:39:44.892 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_23 +2024-06-28 15:39:44.893 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_44 +2024-06-28 15:39:44.894 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_3 +2024-06-28 15:39:44.894 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_5 +2024-06-28 15:39:44.896 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_28 +2024-06-28 15:39:44.896 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_18 +2024-06-28 15:39:44.897 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_24 +2024-06-28 15:39:44.899 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_45 +2024-06-28 15:39:44.900 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_46 +2024-06-28 15:39:44.900 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_2 +2024-06-28 15:39:44.901 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_29 +2024-06-28 15:39:44.902 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_47 +2024-06-28 15:39:44.903 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_48 +2024-06-28 15:39:44.903 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_49 +2024-06-28 15:39:44.903 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_3 +2024-06-28 15:39:44.906 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_30 +2024-06-28 15:39:44.907 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_19 +2024-06-28 15:39:44.907 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_25 +2024-06-28 15:39:44.912 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_50 +2024-06-28 15:39:44.912 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_2 +2024-06-28 15:39:44.912 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_4 +2024-06-28 15:39:44.913 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_6 +2024-06-28 15:39:44.916 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_31 +2024-06-28 15:39:44.917 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_20 +2024-06-28 15:39:44.917 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_26 +2024-06-28 15:39:44.922 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_51 +2024-06-28 15:39:44.922 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_3 +2024-06-28 15:39:44.923 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_7 +2024-06-28 15:39:44.923 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_52 +2024-06-28 15:39:44.923 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_4 +2024-06-28 15:39:44.926 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_32 +2024-06-28 15:39:44.928 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_21 +2024-06-28 15:39:44.928 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_27 +2024-06-28 15:39:44.931 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_53 +2024-06-28 15:39:44.934 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: uploadUsingPOST_1 +2024-06-28 15:39:44.954 INFO [main] [] net.jjjerp.SpringBootJjjApplication 61 : Started SpringBootJjjApplication in 12.225 seconds (JVM running for 12.859) +2024-06-28 15:39:44.958 INFO [main] [] n.j.framework.util.PrintApplicationInfo 61 : projectFinalName : jjj-erp-1.0 +2024-06-28 15:39:44.958 INFO [main] [] n.j.framework.util.PrintApplicationInfo 62 : projectVersion : 1.0 +2024-06-28 15:39:44.958 INFO [main] [] n.j.framework.util.PrintApplicationInfo 63 : profileActive : prod +2024-06-28 15:39:44.958 INFO [main] [] n.j.framework.util.PrintApplicationInfo 64 : contextPath : /api +2024-06-28 15:39:44.958 INFO [main] [] n.j.framework.util.PrintApplicationInfo 65 : serverIp : http://erp3.huadeng.fun +2024-06-28 15:39:44.958 INFO [main] [] n.j.framework.util.PrintApplicationInfo 66 : port : 8892 +2024-06-28 15:39:44.958 INFO [main] [] n.j.framework.util.PrintApplicationInfo 81 : Home: http://erp3.huadeng.fun/api +2024-06-28 15:39:44.958 INFO [main] [] n.j.framework.util.PrintApplicationInfo 82 : Knife4j: http://erp3.huadeng.fun/api/doc.html +2024-06-28 15:39:44.958 INFO [main] [] n.j.framework.util.PrintApplicationInfo 83 : Swagger: http://erp3.huadeng.fun/api/swagger-ui.html +2024-06-28 15:39:44.958 INFO [main] [] n.j.framework.util.PrintApplicationInfo 84 : jjj-erp 启动成功........... + ____ __ __ ____ +/\ _`\ /\ \__ /\ \__ /\ _`\ +\ \,\L\_\ \ ,_\ __ _ __\ \ ,_\ \ \,\L\_\ __ __ ___ ___ __ ____ ____ + \/_\__ \\ \ \/ /'__`\ /\`'__\ \ \/ \/_\__ \ /\ \/\ \ /'___\ /'___\ /'__`\ /',__\ /',__\ + /\ \L\ \ \ \_/\ \L\.\_\ \ \/ \ \ \_ /\ \L\ \ \ \_\ \/\ \__//\ \__//\ __//\__, `\/\__, `\ + \ `\____\ \__\ \__/.\_\\ \_\ \ \__\ \ `\____\ \____/\ \____\ \____\ \____\/\____/\/\____/ + \/_____/\/__/\/__/\/_/ \/_/ \/__/ \/_____/\/___/ \/____/\/____/\/____/\/___/ \/___/ + + +2024-06-28 15:39:50.504 INFO [http-nio-8892-exec-2] [] o.a.c.c.C.[Tomcat].[localhost].[/api] 173 : Initializing Spring DispatcherServlet 'dispatcherServlet' +2024-06-28 15:39:50.504 INFO [http-nio-8892-exec-2] [] o.s.web.servlet.DispatcherServlet 525 : Initializing Servlet 'dispatcherServlet' +2024-06-28 15:39:50.513 INFO [http-nio-8892-exec-2] [] o.s.web.servlet.DispatcherServlet 547 : Completed initialization in 9 ms +2024-06-28 15:39:51.618 INFO [http-nio-8892-exec-2] [1806593338902806529] com.zaxxer.hikari.HikariDataSource 110 : HikariPool-1 - Starting... +2024-06-28 15:39:51.733 INFO [http-nio-8892-exec-2] [1806593338902806529] com.zaxxer.hikari.HikariDataSource 123 : HikariPool-1 - Start completed. +2024-06-28 15:50:52.408 INFO [SpringContextShutdownHook] [] net.jjjerp.framework.core.xss.XssFilter 30 : XssFilter destroy +2024-06-28 15:50:52.408 INFO [SpringContextShutdownHook] [] n.j.f.core.filter.RequestDetailFilter 116 : RequestDetailFilter destroy +2024-06-28 15:50:52.415 INFO [SpringContextShutdownHook] [] o.s.s.c.ThreadPoolTaskScheduler 218 : Shutting down ExecutorService 'taskScheduler' +2024-06-28 15:50:52.416 INFO [SpringContextShutdownHook] [] o.s.s.concurrent.ThreadPoolTaskExecutor 218 : Shutting down ExecutorService 'applicationTaskExecutor' +2024-06-28 15:50:52.421 INFO [SpringContextShutdownHook] [] com.zaxxer.hikari.HikariDataSource 350 : HikariPool-1 - Shutdown initiated... +2024-06-28 15:50:52.430 INFO [SpringContextShutdownHook] [] com.zaxxer.hikari.HikariDataSource 352 : HikariPool-1 - Shutdown completed. +2024-06-28 15:51:04.410 INFO [main] [] net.jjjerp.SpringBootJjjApplication 55 : Starting SpringBootJjjApplication on OS-20230506YKNI with PID 13936 (D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\bootstrap\target\classes started by Administrator in D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp) +2024-06-28 15:51:04.407 INFO [background-preinit] [] o.h.validator.internal.util.Version 21 : HV000001: Hibernate Validator 6.1.7.Final +2024-06-28 15:51:04.411 INFO [main] [] net.jjjerp.SpringBootJjjApplication 652 : The following profiles are active: prod +2024-06-28 15:51:05.717 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 249 : Multiple Spring Data modules found, entering strict repository configuration mode! +2024-06-28 15:51:05.719 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 127 : Bootstrapping Spring Data Redis repositories in DEFAULT mode. +2024-06-28 15:51:05.856 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 187 : Finished Spring Data repository scanning in 124ms. Found 0 Redis repository interfaces. +2024-06-28 15:51:06.218 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.ShiroConfig' of type [net.jjjerp.config.ShiroConfig$$EnhancerBySpringCGLIB$$f096d8e3] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 15:51:06.353 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.properties.JwtProperties' of type [net.jjjerp.config.properties.JwtProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 15:51:06.356 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.RedisTemplateConfig' of type [net.jjjerp.config.RedisTemplateConfig$$EnhancerBySpringCGLIB$$bffbe387] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 15:51:06.369 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'spring.redis-org.springframework.boot.autoconfigure.data.redis.RedisProperties' of type [org.springframework.boot.autoconfigure.data.redis.RedisProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 15:51:06.374 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration' of type [org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 15:51:06.461 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'lettuceClientResources' of type [io.lettuce.core.resource.DefaultClientResources] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 15:51:06.589 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'redisConnectionFactory' of type [org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 15:51:06.641 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'redisTemplate' of type [org.springframework.data.redis.core.RedisTemplate] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 15:51:06.642 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.cache.impl.AdminLoginRedisServiceImpl' of type [net.jjjerp.framework.shiro.cache.impl.AdminLoginRedisServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 15:51:06.647 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.cache.impl.ShopLoginRedisServiceImpl' of type [net.jjjerp.framework.shiro.cache.impl.ShopLoginRedisServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 15:51:06.782 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'credentialsMatcher' of type [net.jjjerp.framework.shiro.jwt.JwtCredentialsMatcher] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 15:51:06.790 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'jwtRealm' of type [net.jjjerp.framework.shiro.jwt.JwtRealm] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 15:51:06.792 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'sessionStorageEvaluator' of type [org.apache.shiro.web.mgt.DefaultWebSessionStorageEvaluator] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 15:51:06.792 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'subjectDAO' of type [org.apache.shiro.mgt.DefaultSubjectDAO] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 15:51:06.794 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'securityManager' of type [org.apache.shiro.web.mgt.DefaultWebSecurityManager] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 15:51:06.817 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.service.impl.ShiroLoginServiceImpl' of type [net.jjjerp.framework.shiro.service.impl.ShiroLoginServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 15:51:06.825 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'spring-boot-jjj.shiro-net.jjjerp.config.properties.ShiroProperties' of type [net.jjjerp.config.properties.ShiroProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 15:51:06.914 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'authorizationAttributeSourceAdvisor' of type [org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 15:51:07.081 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.RedisCacheConfig' of type [net.jjjerp.config.RedisCacheConfig$$EnhancerBySpringCGLIB$$7538ba89] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 15:51:07.410 INFO [main] [] o.s.b.w.embedded.tomcat.TomcatWebServer 108 : Tomcat initialized with port(s): 8892 (http) +2024-06-28 15:51:07.421 INFO [main] [] o.a.coyote.http11.Http11NioProtocol 173 : Initializing ProtocolHandler ["http-nio-8892"] +2024-06-28 15:51:07.422 INFO [main] [] o.apache.catalina.core.StandardService 173 : Starting service [Tomcat] +2024-06-28 15:51:07.422 INFO [main] [] org.apache.catalina.core.StandardEngine 173 : Starting Servlet engine: [Apache Tomcat/9.0.46] +2024-06-28 15:51:07.533 INFO [main] [] o.a.c.c.C.[Tomcat].[localhost].[/api] 173 : Initializing Spring embedded WebApplicationContext +2024-06-28 15:51:07.533 INFO [main] [] w.s.c.ServletWebServerApplicationContext 285 : Root WebApplicationContext: initialization completed in 3075 ms +2024-06-28 15:51:07.684 INFO [main] [] net.jjjerp.framework.core.xss.XssFilter 18 : XssFilter init +2024-06-28 15:51:07.685 INFO [main] [] n.j.f.core.filter.RequestDetailFilter 30 : RequestDetailFilter init +2024-06-28 15:51:11.282 INFO [main] [] org.reflections.Reflections 228 : Reflections took 40 ms to scan 1 urls, producing 0 keys and 0 values +2024-06-28 15:51:11.383 INFO [main] [] net.jjjerp.framework.shiro.util.JwtUtil 33 : {"audience":"web","expireSecond":36000,"issuer":"spring-boot-jjj","redisCheck":true,"refreshToken":true,"refreshTokenCountdown":600,"saltCheck":true,"secret":"888888","singleLogin":false,"tokenName":"token"} +2024-06-28 15:51:14.355 INFO [main] [] pertySourcedRequestMappingHandlerMapping 69 : Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2Controller#getDocumentation(String, HttpServletRequest)] +2024-06-28 15:51:14.373 INFO [main] [] net.jjjerp.config.Swagger2Config 149 : swagger scan basePackages:null +2024-06-28 15:51:14.521 INFO [main] [] o.s.s.concurrent.ThreadPoolTaskExecutor 181 : Initializing ExecutorService 'applicationTaskExecutor' +2024-06-28 15:51:14.645 INFO [main] [] o.s.b.a.w.s.WelcomePageHandlerMapping 53 : Adding welcome page: class path resource [static/index.html] +2024-06-28 15:51:14.853 INFO [main] [] o.s.s.c.ThreadPoolTaskScheduler 181 : Initializing ExecutorService 'taskScheduler' +2024-06-28 15:51:14.960 INFO [main] [] o.a.coyote.http11.Http11NioProtocol 173 : Starting ProtocolHandler ["http-nio-8892"] +2024-06-28 15:51:14.981 INFO [main] [] o.s.b.w.embedded.tomcat.TomcatWebServer 220 : Tomcat started on port(s): 8892 (http) with context path '/api' +2024-06-28 15:51:14.981 INFO [main] [] d.s.w.p.DocumentationPluginsBootstrapper 160 : Context refreshed +2024-06-28 15:51:14.988 INFO [main] [] d.s.w.p.DocumentationPluginsBootstrapper 163 : Found 1 custom documentation plugin(s) +2024-06-28 15:51:15.026 INFO [main] [] s.d.s.w.s.ApiListingReferenceScanner 41 : Scanning for api listing references +2024-06-28 15:51:15.161 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_1 +2024-06-28 15:51:15.163 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_1 +2024-06-28 15:51:15.164 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_1 +2024-06-28 15:51:15.185 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_1 +2024-06-28 15:51:15.247 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_2 +2024-06-28 15:51:15.250 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_2 +2024-06-28 15:51:15.253 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_3 +2024-06-28 15:51:15.255 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_3 +2024-06-28 15:51:15.259 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_4 +2024-06-28 15:51:15.261 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_4 +2024-06-28 15:51:15.262 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexOutUsingPOST_1 +2024-06-28 15:51:15.265 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_5 +2024-06-28 15:51:15.279 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_5 +2024-06-28 15:51:15.280 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_2 +2024-06-28 15:51:15.282 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_2 +2024-06-28 15:51:15.299 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_6 +2024-06-28 15:51:15.300 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_7 +2024-06-28 15:51:15.306 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_8 +2024-06-28 15:51:15.339 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_6 +2024-06-28 15:51:15.340 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_3 +2024-06-28 15:51:15.340 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_3 +2024-06-28 15:51:15.348 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_9 +2024-06-28 15:51:15.353 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_10 +2024-06-28 15:51:15.355 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_7 +2024-06-28 15:51:15.356 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_4 +2024-06-28 15:51:15.356 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_4 +2024-06-28 15:51:15.359 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_11 +2024-06-28 15:51:15.363 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_8 +2024-06-28 15:51:15.364 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_5 +2024-06-28 15:51:15.365 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_5 +2024-06-28 15:51:15.368 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_12 +2024-06-28 15:51:15.371 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_9 +2024-06-28 15:51:15.372 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_6 +2024-06-28 15:51:15.372 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_6 +2024-06-28 15:51:15.375 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_13 +2024-06-28 15:51:15.376 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_1 +2024-06-28 15:51:15.378 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_10 +2024-06-28 15:51:15.378 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_7 +2024-06-28 15:51:15.379 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_7 +2024-06-28 15:51:15.380 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_14 +2024-06-28 15:51:15.381 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_11 +2024-06-28 15:51:15.382 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_8 +2024-06-28 15:51:15.383 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_8 +2024-06-28 15:51:15.384 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_15 +2024-06-28 15:51:15.385 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_12 +2024-06-28 15:51:15.387 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_9 +2024-06-28 15:51:15.388 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_9 +2024-06-28 15:51:15.391 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_16 +2024-06-28 15:51:15.393 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_17 +2024-06-28 15:51:15.399 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_13 +2024-06-28 15:51:15.400 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_10 +2024-06-28 15:51:15.404 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_18 +2024-06-28 15:51:15.405 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_1 +2024-06-28 15:51:15.415 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addGroupUsingPOST_1 +2024-06-28 15:51:15.416 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: categoryUsingPOST_1 +2024-06-28 15:51:15.417 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteFilesUsingPOST_1 +2024-06-28 15:51:15.417 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteGroupUsingPOST_1 +2024-06-28 15:51:15.418 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editGroupUsingPOST_1 +2024-06-28 15:51:15.421 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: listsUsingPOST_1 +2024-06-28 15:51:15.421 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: moveFilesUsingPOST_1 +2024-06-28 15:51:15.423 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_19 +2024-06-28 15:51:15.427 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_20 +2024-06-28 15:51:15.432 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_14 +2024-06-28 15:51:15.433 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_10 +2024-06-28 15:51:15.434 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteFilesUsingPOST_2 +2024-06-28 15:51:15.434 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_11 +2024-06-28 15:51:15.435 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_21 +2024-06-28 15:51:15.435 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: listUsingPOST_1 +2024-06-28 15:51:15.435 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: moveFilesUsingPOST_2 +2024-06-28 15:51:15.441 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_22 +2024-06-28 15:51:15.444 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_23 +2024-06-28 15:51:15.448 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_24 +2024-06-28 15:51:15.449 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_25 +2024-06-28 15:51:15.451 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_15 +2024-06-28 15:51:15.452 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_1 +2024-06-28 15:51:15.453 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_12 +2024-06-28 15:51:15.454 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_26 +2024-06-28 15:51:15.454 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: repulseAuditUsingPOST_1 +2024-06-28 15:51:15.456 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_16 +2024-06-28 15:51:15.457 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_11 +2024-06-28 15:51:15.457 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_13 +2024-06-28 15:51:15.462 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_27 +2024-06-28 15:51:15.466 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_17 +2024-06-28 15:51:15.466 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_12 +2024-06-28 15:51:15.467 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_14 +2024-06-28 15:51:15.469 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_28 +2024-06-28 15:51:15.470 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_18 +2024-06-28 15:51:15.471 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_29 +2024-06-28 15:51:15.475 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_30 +2024-06-28 15:51:15.477 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_19 +2024-06-28 15:51:15.477 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_1 +2024-06-28 15:51:15.478 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_31 +2024-06-28 15:51:15.479 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_1 +2024-06-28 15:51:15.480 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_32 +2024-06-28 15:51:15.482 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_20 +2024-06-28 15:51:15.482 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_2 +2024-06-28 15:51:15.483 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_33 +2024-06-28 15:51:15.491 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: loginUsingPOST_1 +2024-06-28 15:51:15.492 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: logoutUsingPOST_1 +2024-06-28 15:51:15.493 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_34 +2024-06-28 15:51:15.496 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_21 +2024-06-28 15:51:15.496 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_13 +2024-06-28 15:51:15.497 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_15 +2024-06-28 15:51:15.497 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_35 +2024-06-28 15:51:15.498 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_2 +2024-06-28 15:51:15.502 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_22 +2024-06-28 15:51:15.502 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_14 +2024-06-28 15:51:15.503 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_16 +2024-06-28 15:51:15.507 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_36 +2024-06-28 15:51:15.508 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: stateUsingPOST_1 +2024-06-28 15:51:15.508 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_1 +2024-06-28 15:51:15.508 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_3 +2024-06-28 15:51:15.510 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_23 +2024-06-28 15:51:15.511 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_2 +2024-06-28 15:51:15.511 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_2 +2024-06-28 15:51:15.512 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_17 +2024-06-28 15:51:15.513 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_37 +2024-06-28 15:51:15.515 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_3 +2024-06-28 15:51:15.515 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_18 +2024-06-28 15:51:15.516 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_38 +2024-06-28 15:51:15.517 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addStorageUsingPOST_1 +2024-06-28 15:51:15.517 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_4 +2024-06-28 15:51:15.518 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_3 +2024-06-28 15:51:15.519 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_19 +2024-06-28 15:51:15.519 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_39 +2024-06-28 15:51:15.520 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_40 +2024-06-28 15:51:15.521 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_24 +2024-06-28 15:51:15.522 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_20 +2024-06-28 15:51:15.523 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_3 +2024-06-28 15:51:15.527 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_25 +2024-06-28 15:51:15.527 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_15 +2024-06-28 15:51:15.528 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_21 +2024-06-28 15:51:15.529 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_41 +2024-06-28 15:51:15.530 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_2 +2024-06-28 15:51:15.530 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_4 +2024-06-28 15:51:15.532 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: scanIndexUsingPOST_1 +2024-06-28 15:51:15.533 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_42 +2024-06-28 15:51:15.533 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_1 +2024-06-28 15:51:15.535 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_26 +2024-06-28 15:51:15.536 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_16 +2024-06-28 15:51:15.536 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_22 +2024-06-28 15:51:15.541 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_43 +2024-06-28 15:51:15.544 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_27 +2024-06-28 15:51:15.544 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_17 +2024-06-28 15:51:15.544 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_23 +2024-06-28 15:51:15.546 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_44 +2024-06-28 15:51:15.546 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_3 +2024-06-28 15:51:15.546 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_5 +2024-06-28 15:51:15.548 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_28 +2024-06-28 15:51:15.549 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_18 +2024-06-28 15:51:15.549 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_24 +2024-06-28 15:51:15.551 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_45 +2024-06-28 15:51:15.552 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_46 +2024-06-28 15:51:15.552 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_2 +2024-06-28 15:51:15.553 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_29 +2024-06-28 15:51:15.554 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_47 +2024-06-28 15:51:15.555 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_48 +2024-06-28 15:51:15.555 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_49 +2024-06-28 15:51:15.556 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_3 +2024-06-28 15:51:15.559 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_30 +2024-06-28 15:51:15.559 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_19 +2024-06-28 15:51:15.559 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_25 +2024-06-28 15:51:15.563 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_50 +2024-06-28 15:51:15.563 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_2 +2024-06-28 15:51:15.564 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_4 +2024-06-28 15:51:15.564 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_6 +2024-06-28 15:51:15.567 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_31 +2024-06-28 15:51:15.568 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_20 +2024-06-28 15:51:15.568 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_26 +2024-06-28 15:51:15.573 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_51 +2024-06-28 15:51:15.574 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_3 +2024-06-28 15:51:15.574 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_7 +2024-06-28 15:51:15.575 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_52 +2024-06-28 15:51:15.575 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_4 +2024-06-28 15:51:15.577 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_32 +2024-06-28 15:51:15.578 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_21 +2024-06-28 15:51:15.578 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_27 +2024-06-28 15:51:15.580 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_53 +2024-06-28 15:51:15.583 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: uploadUsingPOST_1 +2024-06-28 15:51:15.603 INFO [main] [] net.jjjerp.SpringBootJjjApplication 61 : Started SpringBootJjjApplication in 11.707 seconds (JVM running for 12.36) +2024-06-28 15:51:15.608 INFO [main] [] n.j.framework.util.PrintApplicationInfo 61 : projectFinalName : jjj-erp-1.0 +2024-06-28 15:51:15.608 INFO [main] [] n.j.framework.util.PrintApplicationInfo 62 : projectVersion : 1.0 +2024-06-28 15:51:15.608 INFO [main] [] n.j.framework.util.PrintApplicationInfo 63 : profileActive : prod +2024-06-28 15:51:15.608 INFO [main] [] n.j.framework.util.PrintApplicationInfo 64 : contextPath : /api +2024-06-28 15:51:15.608 INFO [main] [] n.j.framework.util.PrintApplicationInfo 65 : serverIp : http://erp3.huadeng.fun +2024-06-28 15:51:15.608 INFO [main] [] n.j.framework.util.PrintApplicationInfo 66 : port : 8892 +2024-06-28 15:51:15.608 INFO [main] [] n.j.framework.util.PrintApplicationInfo 81 : Home: http://erp3.huadeng.fun/api +2024-06-28 15:51:15.608 INFO [main] [] n.j.framework.util.PrintApplicationInfo 82 : Knife4j: http://erp3.huadeng.fun/api/doc.html +2024-06-28 15:51:15.608 INFO [main] [] n.j.framework.util.PrintApplicationInfo 83 : Swagger: http://erp3.huadeng.fun/api/swagger-ui.html +2024-06-28 15:51:15.608 INFO [main] [] n.j.framework.util.PrintApplicationInfo 84 : jjj-erp 启动成功........... + ____ __ __ ____ +/\ _`\ /\ \__ /\ \__ /\ _`\ +\ \,\L\_\ \ ,_\ __ _ __\ \ ,_\ \ \,\L\_\ __ __ ___ ___ __ ____ ____ + \/_\__ \\ \ \/ /'__`\ /\`'__\ \ \/ \/_\__ \ /\ \/\ \ /'___\ /'___\ /'__`\ /',__\ /',__\ + /\ \L\ \ \ \_/\ \L\.\_\ \ \/ \ \ \_ /\ \L\ \ \ \_\ \/\ \__//\ \__//\ __//\__, `\/\__, `\ + \ `\____\ \__\ \__/.\_\\ \_\ \ \__\ \ `\____\ \____/\ \____\ \____\ \____\/\____/\/\____/ + \/_____/\/__/\/__/\/_/ \/_/ \/__/ \/_____/\/___/ \/____/\/____/\/____/\/___/ \/___/ + + +2024-06-28 15:51:31.890 INFO [http-nio-8892-exec-3] [] o.a.c.c.C.[Tomcat].[localhost].[/api] 173 : Initializing Spring DispatcherServlet 'dispatcherServlet' +2024-06-28 15:51:31.890 INFO [http-nio-8892-exec-3] [] o.s.web.servlet.DispatcherServlet 525 : Initializing Servlet 'dispatcherServlet' +2024-06-28 15:51:31.899 INFO [http-nio-8892-exec-3] [] o.s.web.servlet.DispatcherServlet 547 : Completed initialization in 9 ms +2024-06-28 15:51:33.612 INFO [http-nio-8892-exec-2] [1806596283304198146] com.zaxxer.hikari.HikariDataSource 110 : HikariPool-1 - Starting... +2024-06-28 15:51:33.719 INFO [http-nio-8892-exec-2] [1806596283304198146] com.zaxxer.hikari.HikariDataSource 123 : HikariPool-1 - Start completed. +2024-06-28 15:52:03.914 ERROR [http-nio-8892-exec-8] [] n.jjjerp.handler.GlobalExceptionHandler 233 : 异常来源:ip: 192.168.31.226, path: /api/admin/region/index +2024-06-28 15:52:03.921 ERROR [http-nio-8892-exec-8] [] n.jjjerp.handler.GlobalExceptionHandler 257 : errorCode: 5000, errorMessage: 系统异常 + +org.apache.catalina.connector.ClientAbortException: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:353) + at org.apache.catalina.connector.OutputBuffer.flushByteBuffer(OutputBuffer.java:783) + at org.apache.catalina.connector.OutputBuffer.append(OutputBuffer.java:688) + at org.apache.catalina.connector.OutputBuffer.writeBytes(OutputBuffer.java:388) + at org.apache.catalina.connector.OutputBuffer.write(OutputBuffer.java:366) + at org.apache.catalina.connector.CoyoteOutputStream.write(CoyoteOutputStream.java:96) + at org.springframework.util.StreamUtils$NonClosingOutputStream.write(StreamUtils.java:287) + at com.fasterxml.jackson.core.json.UTF8JsonGenerator._flushBuffer(UTF8JsonGenerator.java:2161) + at com.fasterxml.jackson.core.json.UTF8JsonGenerator.writeNumber(UTF8JsonGenerator.java:952) + at com.fasterxml.jackson.databind.ser.std.NumberSerializers$IntegerSerializer.serialize(NumberSerializers.java:152) + at com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:728) + at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:755) + at com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:178) + at com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serializeContents(IndexedListSerializer.java:119) + at com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serialize(IndexedListSerializer.java:79) + at com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serialize(IndexedListSerializer.java:18) + at com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:728) + at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:755) + at com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:178) + at com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serializeContents(IndexedListSerializer.java:119) + at com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serialize(IndexedListSerializer.java:79) + at com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serialize(IndexedListSerializer.java:18) + at com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:728) + at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:755) + at com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:178) + at com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serializeContents(IndexedListSerializer.java:119) + at com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serialize(IndexedListSerializer.java:79) + at com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serialize(IndexedListSerializer.java:18) + at com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:728) + at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:755) + at com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:178) + at com.fasterxml.jackson.databind.ser.DefaultSerializerProvider._serialize(DefaultSerializerProvider.java:480) + at com.fasterxml.jackson.databind.ser.DefaultSerializerProvider.serializeValue(DefaultSerializerProvider.java:319) + at com.fasterxml.jackson.databind.ObjectWriter$Prefetch.serialize(ObjectWriter.java:1516) + at com.fasterxml.jackson.databind.ObjectWriter.writeValue(ObjectWriter.java:1006) + at org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.writeInternal(AbstractJackson2HttpMessageConverter.java:346) + at org.springframework.http.converter.AbstractGenericHttpMessageConverter.write(AbstractGenericHttpMessageConverter.java:104) + at org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodProcessor.writeWithMessageConverters(AbstractMessageConverterMethodProcessor.java:277) + at org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.handleReturnValue(RequestResponseBodyMethodProcessor.java:181) + at org.springframework.web.method.support.HandlerMethodReturnValueHandlerComposite.handleReturnValue(HandlerMethodReturnValueHandlerComposite.java:82) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:123) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:626) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:112) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) + at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.write0(Native Method) + at sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:51) + at sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:93) + at sun.nio.ch.IOUtil.write(IOUtil.java:65) + at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:469) + at org.apache.tomcat.util.net.NioChannel.write(NioChannel.java:135) + at org.apache.tomcat.util.net.NioBlockingSelector.write(NioBlockingSelector.java:118) + at org.apache.tomcat.util.net.NioSelectorPool.write(NioSelectorPool.java:151) + at org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.doWrite(NioEndpoint.java:1367) + at org.apache.tomcat.util.net.SocketWrapperBase.doWrite(SocketWrapperBase.java:766) + at org.apache.tomcat.util.net.SocketWrapperBase.writeBlocking(SocketWrapperBase.java:586) + at org.apache.tomcat.util.net.SocketWrapperBase.write(SocketWrapperBase.java:530) + at org.apache.coyote.http11.Http11OutputBuffer$SocketOutputBuffer.doWrite(Http11OutputBuffer.java:546) + at org.apache.coyote.http11.filters.ChunkedOutputFilter.doWrite(ChunkedOutputFilter.java:112) + at org.apache.coyote.http11.Http11OutputBuffer.doWrite(Http11OutputBuffer.java:193) + at org.apache.coyote.Response.doWrite(Response.java:606) + at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:340) + ... 118 common frames omitted + +2024-06-28 15:52:03.923 WARN [http-nio-8892-exec-8] [] .m.m.a.ExceptionHandlerExceptionResolver 414 : Failure in @ExceptionHandler net.jjjerp.handler.GlobalExceptionHandler#exceptionHandler(Exception) + +org.apache.catalina.connector.ClientAbortException: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:353) + at org.apache.catalina.connector.OutputBuffer.flushByteBuffer(OutputBuffer.java:783) + at org.apache.catalina.connector.OutputBuffer.append(OutputBuffer.java:688) + at org.apache.catalina.connector.OutputBuffer.writeBytes(OutputBuffer.java:388) + at org.apache.catalina.connector.OutputBuffer.write(OutputBuffer.java:366) + at org.apache.catalina.connector.CoyoteOutputStream.write(CoyoteOutputStream.java:96) + at org.springframework.util.StreamUtils$NonClosingOutputStream.write(StreamUtils.java:287) + at com.fasterxml.jackson.core.json.UTF8JsonGenerator._flushBuffer(UTF8JsonGenerator.java:2161) + at com.fasterxml.jackson.core.json.UTF8JsonGenerator.flush(UTF8JsonGenerator.java:1175) + at com.fasterxml.jackson.databind.ObjectWriter.writeValue(ObjectWriter.java:1008) + at org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.writeInternal(AbstractJackson2HttpMessageConverter.java:346) + at org.springframework.http.converter.AbstractGenericHttpMessageConverter.write(AbstractGenericHttpMessageConverter.java:104) + at org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodProcessor.writeWithMessageConverters(AbstractMessageConverterMethodProcessor.java:277) + at org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.handleReturnValue(RequestResponseBodyMethodProcessor.java:181) + at org.springframework.web.method.support.HandlerMethodReturnValueHandlerComposite.handleReturnValue(HandlerMethodReturnValueHandlerComposite.java:82) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:123) + at org.springframework.web.servlet.mvc.method.annotation.ExceptionHandlerExceptionResolver.doResolveHandlerMethodException(ExceptionHandlerExceptionResolver.java:403) + at org.springframework.web.servlet.handler.AbstractHandlerMethodExceptionResolver.doResolveException(AbstractHandlerMethodExceptionResolver.java:61) + at org.springframework.web.servlet.handler.AbstractHandlerExceptionResolver.resolveException(AbstractHandlerExceptionResolver.java:141) + at org.springframework.web.servlet.handler.HandlerExceptionResolverComposite.resolveException(HandlerExceptionResolverComposite.java:80) + at org.springframework.web.servlet.DispatcherServlet.processHandlerException(DispatcherServlet.java:1300) + at org.springframework.web.servlet.DispatcherServlet.processDispatchResult(DispatcherServlet.java:1111) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1057) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:626) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:112) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) + at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.write0(Native Method) + at sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:51) + at sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:93) + at sun.nio.ch.IOUtil.write(IOUtil.java:65) + at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:469) + at org.apache.tomcat.util.net.NioChannel.write(NioChannel.java:135) + at org.apache.tomcat.util.net.NioBlockingSelector.write(NioBlockingSelector.java:118) + at org.apache.tomcat.util.net.NioSelectorPool.write(NioSelectorPool.java:151) + at org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.doWrite(NioEndpoint.java:1367) + at org.apache.tomcat.util.net.SocketWrapperBase.doWrite(SocketWrapperBase.java:766) + at org.apache.tomcat.util.net.SocketWrapperBase.writeBlocking(SocketWrapperBase.java:586) + at org.apache.tomcat.util.net.SocketWrapperBase.write(SocketWrapperBase.java:530) + at org.apache.coyote.http11.Http11OutputBuffer$SocketOutputBuffer.doWrite(Http11OutputBuffer.java:546) + at org.apache.coyote.http11.filters.ChunkedOutputFilter.doWrite(ChunkedOutputFilter.java:110) + at org.apache.coyote.http11.Http11OutputBuffer.doWrite(Http11OutputBuffer.java:193) + at org.apache.coyote.Response.doWrite(Response.java:606) + at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:340) + ... 96 common frames omitted + +2024-06-28 15:54:14.919 WARN [http-nio-8892-exec-18] [1806596960134840321] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@2e7ca139 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 15:54:14.920 WARN [http-nio-8892-exec-18] [1806596960134840321] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@74f35504 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 15:54:14.921 WARN [http-nio-8892-exec-18] [1806596960134840321] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@24ff014e (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 15:54:14.923 WARN [http-nio-8892-exec-18] [1806596960134840321] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@719ca631 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 15:54:14.923 WARN [http-nio-8892-exec-18] [1806596960134840321] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@1ce28ef9 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 15:54:14.925 WARN [http-nio-8892-exec-18] [1806596960134840321] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@44cdc9f1 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 15:54:14.926 WARN [http-nio-8892-exec-18] [1806596960134840321] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@3cf88e64 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 15:54:14.927 WARN [http-nio-8892-exec-18] [1806596960134840321] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@28c11ae4 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 15:54:14.928 WARN [http-nio-8892-exec-18] [1806596960134840321] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@20dccc43 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 15:54:14.929 WARN [http-nio-8892-exec-18] [1806596960134840321] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@af41be8 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 15:59:34.924 WARN [http-nio-8892-exec-7] [1806598302370840578] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@52311de2 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 15:59:34.926 WARN [http-nio-8892-exec-7] [1806598302370840578] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@602d801 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 15:59:34.928 WARN [http-nio-8892-exec-7] [1806598302370840578] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@5d89c235 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 15:59:34.929 WARN [http-nio-8892-exec-7] [1806598302370840578] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@7778448 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 15:59:34.930 WARN [http-nio-8892-exec-7] [1806598302370840578] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@2e28543c (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 15:59:34.931 WARN [http-nio-8892-exec-7] [1806598302370840578] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@161f228a (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 15:59:34.933 WARN [http-nio-8892-exec-7] [1806598302370840578] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@7afa1dc1 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 15:59:34.934 WARN [http-nio-8892-exec-7] [1806598302370840578] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@16f572b5 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 15:59:34.935 WARN [http-nio-8892-exec-7] [1806598302370840578] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@3611d2b5 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 15:59:34.937 WARN [http-nio-8892-exec-7] [1806598302370840578] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@59f5ad8f (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 16:11:10.577 INFO [SpringContextShutdownHook] [] net.jjjerp.framework.core.xss.XssFilter 30 : XssFilter destroy +2024-06-28 16:11:10.577 INFO [SpringContextShutdownHook] [] n.j.f.core.filter.RequestDetailFilter 116 : RequestDetailFilter destroy +2024-06-28 16:11:10.583 INFO [SpringContextShutdownHook] [] o.s.s.c.ThreadPoolTaskScheduler 218 : Shutting down ExecutorService 'taskScheduler' +2024-06-28 16:11:10.584 INFO [SpringContextShutdownHook] [] o.s.s.concurrent.ThreadPoolTaskExecutor 218 : Shutting down ExecutorService 'applicationTaskExecutor' +2024-06-28 16:11:10.589 INFO [SpringContextShutdownHook] [] com.zaxxer.hikari.HikariDataSource 350 : HikariPool-1 - Shutdown initiated... +2024-06-28 16:11:10.592 INFO [SpringContextShutdownHook] [] com.zaxxer.hikari.HikariDataSource 352 : HikariPool-1 - Shutdown completed. +2024-06-28 16:11:18.915 INFO [main] [] net.jjjerp.SpringBootJjjApplication 55 : Starting SpringBootJjjApplication on OS-20230506YKNI with PID 14092 (D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\bootstrap\target\classes started by Administrator in D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp) +2024-06-28 16:11:18.911 INFO [background-preinit] [] o.h.validator.internal.util.Version 21 : HV000001: Hibernate Validator 6.1.7.Final +2024-06-28 16:11:18.915 INFO [main] [] net.jjjerp.SpringBootJjjApplication 652 : The following profiles are active: prod +2024-06-28 16:11:22.222 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 249 : Multiple Spring Data modules found, entering strict repository configuration mode! +2024-06-28 16:11:22.226 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 127 : Bootstrapping Spring Data Redis repositories in DEFAULT mode. +2024-06-28 16:11:22.501 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 187 : Finished Spring Data repository scanning in 252ms. Found 0 Redis repository interfaces. +2024-06-28 16:11:22.887 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.ShiroConfig' of type [net.jjjerp.config.ShiroConfig$$EnhancerBySpringCGLIB$$1db265be] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 16:11:22.994 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.properties.JwtProperties' of type [net.jjjerp.config.properties.JwtProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 16:11:22.996 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.RedisTemplateConfig' of type [net.jjjerp.config.RedisTemplateConfig$$EnhancerBySpringCGLIB$$ed177062] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 16:11:23.007 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'spring.redis-org.springframework.boot.autoconfigure.data.redis.RedisProperties' of type [org.springframework.boot.autoconfigure.data.redis.RedisProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 16:11:23.011 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration' of type [org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 16:11:23.092 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'lettuceClientResources' of type [io.lettuce.core.resource.DefaultClientResources] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 16:11:23.233 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'redisConnectionFactory' of type [org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 16:11:23.284 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'redisTemplate' of type [org.springframework.data.redis.core.RedisTemplate] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 16:11:23.285 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.cache.impl.AdminLoginRedisServiceImpl' of type [net.jjjerp.framework.shiro.cache.impl.AdminLoginRedisServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 16:11:23.289 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.cache.impl.ShopLoginRedisServiceImpl' of type [net.jjjerp.framework.shiro.cache.impl.ShopLoginRedisServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 16:11:23.424 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'credentialsMatcher' of type [net.jjjerp.framework.shiro.jwt.JwtCredentialsMatcher] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 16:11:23.432 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'jwtRealm' of type [net.jjjerp.framework.shiro.jwt.JwtRealm] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 16:11:23.433 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'sessionStorageEvaluator' of type [org.apache.shiro.web.mgt.DefaultWebSessionStorageEvaluator] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 16:11:23.434 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'subjectDAO' of type [org.apache.shiro.mgt.DefaultSubjectDAO] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 16:11:23.436 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'securityManager' of type [org.apache.shiro.web.mgt.DefaultWebSecurityManager] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 16:11:23.465 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.service.impl.ShiroLoginServiceImpl' of type [net.jjjerp.framework.shiro.service.impl.ShiroLoginServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 16:11:23.472 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'spring-boot-jjj.shiro-net.jjjerp.config.properties.ShiroProperties' of type [net.jjjerp.config.properties.ShiroProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 16:11:23.571 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'authorizationAttributeSourceAdvisor' of type [org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 16:11:23.757 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.RedisCacheConfig' of type [net.jjjerp.config.RedisCacheConfig$$EnhancerBySpringCGLIB$$a2544764] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 16:11:24.043 INFO [main] [] o.s.b.w.embedded.tomcat.TomcatWebServer 108 : Tomcat initialized with port(s): 8892 (http) +2024-06-28 16:11:24.051 INFO [main] [] o.a.coyote.http11.Http11NioProtocol 173 : Initializing ProtocolHandler ["http-nio-8892"] +2024-06-28 16:11:24.051 INFO [main] [] o.apache.catalina.core.StandardService 173 : Starting service [Tomcat] +2024-06-28 16:11:24.051 INFO [main] [] org.apache.catalina.core.StandardEngine 173 : Starting Servlet engine: [Apache Tomcat/9.0.46] +2024-06-28 16:11:24.148 INFO [main] [] o.a.c.c.C.[Tomcat].[localhost].[/api] 173 : Initializing Spring embedded WebApplicationContext +2024-06-28 16:11:24.149 INFO [main] [] w.s.c.ServletWebServerApplicationContext 285 : Root WebApplicationContext: initialization completed in 5180 ms +2024-06-28 16:11:24.312 INFO [main] [] net.jjjerp.framework.core.xss.XssFilter 18 : XssFilter init +2024-06-28 16:11:24.312 INFO [main] [] n.j.f.core.filter.RequestDetailFilter 30 : RequestDetailFilter init +2024-06-28 16:11:27.970 INFO [main] [] org.reflections.Reflections 228 : Reflections took 45 ms to scan 1 urls, producing 0 keys and 0 values +2024-06-28 16:11:28.080 INFO [main] [] net.jjjerp.framework.shiro.util.JwtUtil 33 : {"audience":"web","expireSecond":36000,"issuer":"spring-boot-jjj","redisCheck":true,"refreshToken":true,"refreshTokenCountdown":600,"saltCheck":true,"secret":"888888","singleLogin":false,"tokenName":"token"} +2024-06-28 16:11:31.170 INFO [main] [] pertySourcedRequestMappingHandlerMapping 69 : Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2Controller#getDocumentation(String, HttpServletRequest)] +2024-06-28 16:11:31.190 INFO [main] [] net.jjjerp.config.Swagger2Config 149 : swagger scan basePackages:null +2024-06-28 16:11:31.326 INFO [main] [] o.s.s.concurrent.ThreadPoolTaskExecutor 181 : Initializing ExecutorService 'applicationTaskExecutor' +2024-06-28 16:11:31.412 INFO [main] [] o.s.b.a.w.s.WelcomePageHandlerMapping 53 : Adding welcome page: class path resource [static/index.html] +2024-06-28 16:11:31.613 INFO [main] [] o.s.s.c.ThreadPoolTaskScheduler 181 : Initializing ExecutorService 'taskScheduler' +2024-06-28 16:11:31.744 INFO [main] [] o.a.coyote.http11.Http11NioProtocol 173 : Starting ProtocolHandler ["http-nio-8892"] +2024-06-28 16:11:31.764 INFO [main] [] o.s.b.w.embedded.tomcat.TomcatWebServer 220 : Tomcat started on port(s): 8892 (http) with context path '/api' +2024-06-28 16:11:31.765 INFO [main] [] d.s.w.p.DocumentationPluginsBootstrapper 160 : Context refreshed +2024-06-28 16:11:31.771 INFO [main] [] d.s.w.p.DocumentationPluginsBootstrapper 163 : Found 1 custom documentation plugin(s) +2024-06-28 16:11:31.807 INFO [main] [] s.d.s.w.s.ApiListingReferenceScanner 41 : Scanning for api listing references +2024-06-28 16:11:31.961 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_1 +2024-06-28 16:11:31.963 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_1 +2024-06-28 16:11:31.965 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_1 +2024-06-28 16:11:31.991 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_1 +2024-06-28 16:11:32.033 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_2 +2024-06-28 16:11:32.035 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_2 +2024-06-28 16:11:32.038 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_3 +2024-06-28 16:11:32.039 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_3 +2024-06-28 16:11:32.042 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_4 +2024-06-28 16:11:32.043 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_4 +2024-06-28 16:11:32.044 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexOutUsingPOST_1 +2024-06-28 16:11:32.047 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_5 +2024-06-28 16:11:32.055 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_5 +2024-06-28 16:11:32.056 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_2 +2024-06-28 16:11:32.056 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_2 +2024-06-28 16:11:32.072 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_6 +2024-06-28 16:11:32.073 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_7 +2024-06-28 16:11:32.079 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_8 +2024-06-28 16:11:32.087 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_6 +2024-06-28 16:11:32.087 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_3 +2024-06-28 16:11:32.088 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_3 +2024-06-28 16:11:32.096 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_9 +2024-06-28 16:11:32.125 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_10 +2024-06-28 16:11:32.129 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_7 +2024-06-28 16:11:32.130 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_4 +2024-06-28 16:11:32.130 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_4 +2024-06-28 16:11:32.133 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_11 +2024-06-28 16:11:32.138 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_8 +2024-06-28 16:11:32.138 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_5 +2024-06-28 16:11:32.139 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_5 +2024-06-28 16:11:32.144 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_12 +2024-06-28 16:11:32.147 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_9 +2024-06-28 16:11:32.148 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_6 +2024-06-28 16:11:32.149 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_6 +2024-06-28 16:11:32.152 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_13 +2024-06-28 16:11:32.152 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_1 +2024-06-28 16:11:32.154 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_10 +2024-06-28 16:11:32.154 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_7 +2024-06-28 16:11:32.155 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_7 +2024-06-28 16:11:32.156 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_14 +2024-06-28 16:11:32.157 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_11 +2024-06-28 16:11:32.159 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_8 +2024-06-28 16:11:32.159 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_8 +2024-06-28 16:11:32.161 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_15 +2024-06-28 16:11:32.162 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_12 +2024-06-28 16:11:32.165 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_9 +2024-06-28 16:11:32.166 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_9 +2024-06-28 16:11:32.168 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_16 +2024-06-28 16:11:32.170 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_17 +2024-06-28 16:11:32.178 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_13 +2024-06-28 16:11:32.179 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_10 +2024-06-28 16:11:32.182 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_18 +2024-06-28 16:11:32.183 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_1 +2024-06-28 16:11:32.193 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addGroupUsingPOST_1 +2024-06-28 16:11:32.194 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: categoryUsingPOST_1 +2024-06-28 16:11:32.195 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteFilesUsingPOST_1 +2024-06-28 16:11:32.195 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteGroupUsingPOST_1 +2024-06-28 16:11:32.196 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editGroupUsingPOST_1 +2024-06-28 16:11:32.199 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: listsUsingPOST_1 +2024-06-28 16:11:32.200 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: moveFilesUsingPOST_1 +2024-06-28 16:11:32.201 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_19 +2024-06-28 16:11:32.205 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_20 +2024-06-28 16:11:32.210 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_14 +2024-06-28 16:11:32.211 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_10 +2024-06-28 16:11:32.212 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteFilesUsingPOST_2 +2024-06-28 16:11:32.212 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_11 +2024-06-28 16:11:32.213 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_21 +2024-06-28 16:11:32.213 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: listUsingPOST_1 +2024-06-28 16:11:32.214 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: moveFilesUsingPOST_2 +2024-06-28 16:11:32.215 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_22 +2024-06-28 16:11:32.223 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_23 +2024-06-28 16:11:32.228 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_24 +2024-06-28 16:11:32.229 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_25 +2024-06-28 16:11:32.232 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_15 +2024-06-28 16:11:32.232 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_1 +2024-06-28 16:11:32.233 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_12 +2024-06-28 16:11:32.234 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_26 +2024-06-28 16:11:32.234 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: repulseAuditUsingPOST_1 +2024-06-28 16:11:32.236 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_16 +2024-06-28 16:11:32.237 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_11 +2024-06-28 16:11:32.237 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_13 +2024-06-28 16:11:32.241 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_27 +2024-06-28 16:11:32.246 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_17 +2024-06-28 16:11:32.246 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_12 +2024-06-28 16:11:32.247 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_14 +2024-06-28 16:11:32.249 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_28 +2024-06-28 16:11:32.250 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_18 +2024-06-28 16:11:32.251 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_29 +2024-06-28 16:11:32.256 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_30 +2024-06-28 16:11:32.257 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_19 +2024-06-28 16:11:32.258 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_1 +2024-06-28 16:11:32.259 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_31 +2024-06-28 16:11:32.260 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_1 +2024-06-28 16:11:32.261 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_32 +2024-06-28 16:11:32.263 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_20 +2024-06-28 16:11:32.263 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_2 +2024-06-28 16:11:32.264 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_33 +2024-06-28 16:11:32.272 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: loginUsingPOST_1 +2024-06-28 16:11:32.273 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: logoutUsingPOST_1 +2024-06-28 16:11:32.274 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_34 +2024-06-28 16:11:32.277 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_21 +2024-06-28 16:11:32.277 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_13 +2024-06-28 16:11:32.278 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_15 +2024-06-28 16:11:32.278 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_35 +2024-06-28 16:11:32.280 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_2 +2024-06-28 16:11:32.283 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_22 +2024-06-28 16:11:32.283 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_14 +2024-06-28 16:11:32.284 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_16 +2024-06-28 16:11:32.289 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_36 +2024-06-28 16:11:32.289 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: stateUsingPOST_1 +2024-06-28 16:11:32.289 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_1 +2024-06-28 16:11:32.290 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_3 +2024-06-28 16:11:32.291 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_23 +2024-06-28 16:11:32.292 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_2 +2024-06-28 16:11:32.293 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_2 +2024-06-28 16:11:32.294 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_17 +2024-06-28 16:11:32.294 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_37 +2024-06-28 16:11:32.296 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_3 +2024-06-28 16:11:32.297 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_18 +2024-06-28 16:11:32.297 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_38 +2024-06-28 16:11:32.299 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addStorageUsingPOST_1 +2024-06-28 16:11:32.299 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_4 +2024-06-28 16:11:32.300 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_3 +2024-06-28 16:11:32.301 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_19 +2024-06-28 16:11:32.301 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_39 +2024-06-28 16:11:32.303 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_40 +2024-06-28 16:11:32.304 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_24 +2024-06-28 16:11:32.304 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_20 +2024-06-28 16:11:32.305 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_3 +2024-06-28 16:11:32.309 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_25 +2024-06-28 16:11:32.309 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_15 +2024-06-28 16:11:32.310 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_21 +2024-06-28 16:11:32.311 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_41 +2024-06-28 16:11:32.312 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_2 +2024-06-28 16:11:32.312 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_4 +2024-06-28 16:11:32.314 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: scanIndexUsingPOST_1 +2024-06-28 16:11:32.315 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_42 +2024-06-28 16:11:32.315 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_1 +2024-06-28 16:11:32.318 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_26 +2024-06-28 16:11:32.318 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_16 +2024-06-28 16:11:32.319 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_22 +2024-06-28 16:11:32.323 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_43 +2024-06-28 16:11:32.326 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_27 +2024-06-28 16:11:32.326 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_17 +2024-06-28 16:11:32.326 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_23 +2024-06-28 16:11:32.328 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_44 +2024-06-28 16:11:32.328 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_3 +2024-06-28 16:11:32.328 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_5 +2024-06-28 16:11:32.330 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_28 +2024-06-28 16:11:32.331 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_18 +2024-06-28 16:11:32.331 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_24 +2024-06-28 16:11:32.334 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_45 +2024-06-28 16:11:32.334 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_46 +2024-06-28 16:11:32.335 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_2 +2024-06-28 16:11:32.336 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_29 +2024-06-28 16:11:32.336 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_47 +2024-06-28 16:11:32.337 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_48 +2024-06-28 16:11:32.338 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_49 +2024-06-28 16:11:32.338 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_3 +2024-06-28 16:11:32.341 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_30 +2024-06-28 16:11:32.341 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_19 +2024-06-28 16:11:32.342 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_25 +2024-06-28 16:11:32.345 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_50 +2024-06-28 16:11:32.346 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_2 +2024-06-28 16:11:32.346 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_4 +2024-06-28 16:11:32.346 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_6 +2024-06-28 16:11:32.350 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_31 +2024-06-28 16:11:32.351 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_20 +2024-06-28 16:11:32.351 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_26 +2024-06-28 16:11:32.355 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_51 +2024-06-28 16:11:32.356 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_3 +2024-06-28 16:11:32.356 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_7 +2024-06-28 16:11:32.356 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_52 +2024-06-28 16:11:32.357 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_4 +2024-06-28 16:11:32.359 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_32 +2024-06-28 16:11:32.360 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_21 +2024-06-28 16:11:32.360 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_27 +2024-06-28 16:11:32.362 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_53 +2024-06-28 16:11:32.365 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: uploadUsingPOST_1 +2024-06-28 16:11:32.384 INFO [main] [] net.jjjerp.SpringBootJjjApplication 61 : Started SpringBootJjjApplication in 13.963 seconds (JVM running for 14.574) +2024-06-28 16:11:32.386 INFO [main] [] n.j.framework.util.PrintApplicationInfo 61 : projectFinalName : jjj-erp-1.0 +2024-06-28 16:11:32.387 INFO [main] [] n.j.framework.util.PrintApplicationInfo 62 : projectVersion : 1.0 +2024-06-28 16:11:32.387 INFO [main] [] n.j.framework.util.PrintApplicationInfo 63 : profileActive : prod +2024-06-28 16:11:32.387 INFO [main] [] n.j.framework.util.PrintApplicationInfo 64 : contextPath : /api +2024-06-28 16:11:32.387 INFO [main] [] n.j.framework.util.PrintApplicationInfo 65 : serverIp : http://erp3.huadeng.fun +2024-06-28 16:11:32.387 INFO [main] [] n.j.framework.util.PrintApplicationInfo 66 : port : 8892 +2024-06-28 16:11:32.387 INFO [main] [] n.j.framework.util.PrintApplicationInfo 81 : Home: http://erp3.huadeng.fun/api +2024-06-28 16:11:32.387 INFO [main] [] n.j.framework.util.PrintApplicationInfo 82 : Knife4j: http://erp3.huadeng.fun/api/doc.html +2024-06-28 16:11:32.387 INFO [main] [] n.j.framework.util.PrintApplicationInfo 83 : Swagger: http://erp3.huadeng.fun/api/swagger-ui.html +2024-06-28 16:11:32.387 INFO [main] [] n.j.framework.util.PrintApplicationInfo 84 : jjj-erp 启动成功........... + ____ __ __ ____ +/\ _`\ /\ \__ /\ \__ /\ _`\ +\ \,\L\_\ \ ,_\ __ _ __\ \ ,_\ \ \,\L\_\ __ __ ___ ___ __ ____ ____ + \/_\__ \\ \ \/ /'__`\ /\`'__\ \ \/ \/_\__ \ /\ \/\ \ /'___\ /'___\ /'__`\ /',__\ /',__\ + /\ \L\ \ \ \_/\ \L\.\_\ \ \/ \ \ \_ /\ \L\ \ \ \_\ \/\ \__//\ \__//\ __//\__, `\/\__, `\ + \ `\____\ \__\ \__/.\_\\ \_\ \ \__\ \ `\____\ \____/\ \____\ \____\ \____\/\____/\/\____/ + \/_____/\/__/\/__/\/_/ \/_/ \/__/ \/_____/\/___/ \/____/\/____/\/____/\/___/ \/___/ + + +2024-06-28 16:11:34.516 INFO [http-nio-8892-exec-1] [] o.a.c.c.C.[Tomcat].[localhost].[/api] 173 : Initializing Spring DispatcherServlet 'dispatcherServlet' +2024-06-28 16:11:34.516 INFO [http-nio-8892-exec-1] [] o.s.web.servlet.DispatcherServlet 525 : Initializing Servlet 'dispatcherServlet' +2024-06-28 16:11:34.525 INFO [http-nio-8892-exec-1] [] o.s.web.servlet.DispatcherServlet 547 : Completed initialization in 9 ms +2024-06-28 16:11:37.345 INFO [http-nio-8892-exec-1] [1806601332424048641] com.zaxxer.hikari.HikariDataSource 110 : HikariPool-1 - Starting... +2024-06-28 16:11:37.728 INFO [http-nio-8892-exec-1] [1806601332424048641] com.zaxxer.hikari.HikariDataSource 123 : HikariPool-1 - Start completed. +2024-06-28 16:12:10.594 INFO [SpringContextShutdownHook] [] net.jjjerp.framework.core.xss.XssFilter 30 : XssFilter destroy +2024-06-28 16:12:10.594 INFO [SpringContextShutdownHook] [] n.j.f.core.filter.RequestDetailFilter 116 : RequestDetailFilter destroy +2024-06-28 16:12:10.601 INFO [SpringContextShutdownHook] [] o.s.s.c.ThreadPoolTaskScheduler 218 : Shutting down ExecutorService 'taskScheduler' +2024-06-28 16:12:10.602 INFO [SpringContextShutdownHook] [] o.s.s.concurrent.ThreadPoolTaskExecutor 218 : Shutting down ExecutorService 'applicationTaskExecutor' +2024-06-28 16:12:10.607 INFO [SpringContextShutdownHook] [] com.zaxxer.hikari.HikariDataSource 350 : HikariPool-1 - Shutdown initiated... +2024-06-28 16:12:10.612 INFO [SpringContextShutdownHook] [] com.zaxxer.hikari.HikariDataSource 352 : HikariPool-1 - Shutdown completed. +2024-06-28 16:12:20.402 INFO [background-preinit] [] o.h.validator.internal.util.Version 21 : HV000001: Hibernate Validator 6.1.7.Final +2024-06-28 16:12:20.409 INFO [main] [] net.jjjerp.SpringBootJjjApplication 55 : Starting SpringBootJjjApplication on OS-20230506YKNI with PID 4240 (D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\bootstrap\target\classes started by Administrator in D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp) +2024-06-28 16:12:20.409 INFO [main] [] net.jjjerp.SpringBootJjjApplication 652 : The following profiles are active: prod +2024-06-28 16:12:21.443 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 249 : Multiple Spring Data modules found, entering strict repository configuration mode! +2024-06-28 16:12:21.444 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 127 : Bootstrapping Spring Data Redis repositories in DEFAULT mode. +2024-06-28 16:12:21.552 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 187 : Finished Spring Data repository scanning in 99ms. Found 0 Redis repository interfaces. +2024-06-28 16:12:21.809 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.ShiroConfig' of type [net.jjjerp.config.ShiroConfig$$EnhancerBySpringCGLIB$$ce750d40] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 16:12:21.897 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.properties.JwtProperties' of type [net.jjjerp.config.properties.JwtProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 16:12:21.899 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.RedisTemplateConfig' of type [net.jjjerp.config.RedisTemplateConfig$$EnhancerBySpringCGLIB$$9dda17e4] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 16:12:21.909 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'spring.redis-org.springframework.boot.autoconfigure.data.redis.RedisProperties' of type [org.springframework.boot.autoconfigure.data.redis.RedisProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 16:12:21.912 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration' of type [org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 16:12:21.968 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'lettuceClientResources' of type [io.lettuce.core.resource.DefaultClientResources] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 16:12:22.064 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'redisConnectionFactory' of type [org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 16:12:22.109 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'redisTemplate' of type [org.springframework.data.redis.core.RedisTemplate] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 16:12:22.110 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.cache.impl.AdminLoginRedisServiceImpl' of type [net.jjjerp.framework.shiro.cache.impl.AdminLoginRedisServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 16:12:22.113 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.cache.impl.ShopLoginRedisServiceImpl' of type [net.jjjerp.framework.shiro.cache.impl.ShopLoginRedisServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 16:12:22.225 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'credentialsMatcher' of type [net.jjjerp.framework.shiro.jwt.JwtCredentialsMatcher] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 16:12:22.232 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'jwtRealm' of type [net.jjjerp.framework.shiro.jwt.JwtRealm] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 16:12:22.233 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'sessionStorageEvaluator' of type [org.apache.shiro.web.mgt.DefaultWebSessionStorageEvaluator] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 16:12:22.233 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'subjectDAO' of type [org.apache.shiro.mgt.DefaultSubjectDAO] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 16:12:22.235 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'securityManager' of type [org.apache.shiro.web.mgt.DefaultWebSecurityManager] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 16:12:22.254 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.service.impl.ShiroLoginServiceImpl' of type [net.jjjerp.framework.shiro.service.impl.ShiroLoginServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 16:12:22.261 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'spring-boot-jjj.shiro-net.jjjerp.config.properties.ShiroProperties' of type [net.jjjerp.config.properties.ShiroProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 16:12:22.364 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'authorizationAttributeSourceAdvisor' of type [org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 16:12:22.532 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.RedisCacheConfig' of type [net.jjjerp.config.RedisCacheConfig$$EnhancerBySpringCGLIB$$5316eee6] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 16:12:22.773 INFO [main] [] o.s.b.w.embedded.tomcat.TomcatWebServer 108 : Tomcat initialized with port(s): 8892 (http) +2024-06-28 16:12:22.780 INFO [main] [] o.a.coyote.http11.Http11NioProtocol 173 : Initializing ProtocolHandler ["http-nio-8892"] +2024-06-28 16:12:22.781 INFO [main] [] o.apache.catalina.core.StandardService 173 : Starting service [Tomcat] +2024-06-28 16:12:22.781 INFO [main] [] org.apache.catalina.core.StandardEngine 173 : Starting Servlet engine: [Apache Tomcat/9.0.46] +2024-06-28 16:12:22.875 INFO [main] [] o.a.c.c.C.[Tomcat].[localhost].[/api] 173 : Initializing Spring embedded WebApplicationContext +2024-06-28 16:12:22.875 INFO [main] [] w.s.c.ServletWebServerApplicationContext 285 : Root WebApplicationContext: initialization completed in 2410 ms +2024-06-28 16:12:23.022 INFO [main] [] net.jjjerp.framework.core.xss.XssFilter 18 : XssFilter init +2024-06-28 16:12:23.022 INFO [main] [] n.j.f.core.filter.RequestDetailFilter 30 : RequestDetailFilter init +2024-06-28 16:12:26.743 INFO [main] [] org.reflections.Reflections 228 : Reflections took 37 ms to scan 1 urls, producing 0 keys and 0 values +2024-06-28 16:12:26.838 INFO [main] [] net.jjjerp.framework.shiro.util.JwtUtil 33 : {"audience":"web","expireSecond":36000,"issuer":"spring-boot-jjj","redisCheck":true,"refreshToken":true,"refreshTokenCountdown":600,"saltCheck":true,"secret":"888888","singleLogin":false,"tokenName":"token"} +2024-06-28 16:12:30.587 INFO [main] [] pertySourcedRequestMappingHandlerMapping 69 : Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2Controller#getDocumentation(String, HttpServletRequest)] +2024-06-28 16:12:30.607 INFO [main] [] net.jjjerp.config.Swagger2Config 149 : swagger scan basePackages:null +2024-06-28 16:12:30.745 INFO [main] [] o.s.s.concurrent.ThreadPoolTaskExecutor 181 : Initializing ExecutorService 'applicationTaskExecutor' +2024-06-28 16:12:30.825 INFO [main] [] o.s.b.a.w.s.WelcomePageHandlerMapping 53 : Adding welcome page: class path resource [static/index.html] +2024-06-28 16:12:31.001 INFO [main] [] o.s.s.c.ThreadPoolTaskScheduler 181 : Initializing ExecutorService 'taskScheduler' +2024-06-28 16:12:31.096 INFO [main] [] o.a.coyote.http11.Http11NioProtocol 173 : Starting ProtocolHandler ["http-nio-8892"] +2024-06-28 16:12:31.114 INFO [main] [] o.s.b.w.embedded.tomcat.TomcatWebServer 220 : Tomcat started on port(s): 8892 (http) with context path '/api' +2024-06-28 16:12:31.115 INFO [main] [] d.s.w.p.DocumentationPluginsBootstrapper 160 : Context refreshed +2024-06-28 16:12:31.120 INFO [main] [] d.s.w.p.DocumentationPluginsBootstrapper 163 : Found 1 custom documentation plugin(s) +2024-06-28 16:12:31.153 INFO [main] [] s.d.s.w.s.ApiListingReferenceScanner 41 : Scanning for api listing references +2024-06-28 16:12:31.269 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_1 +2024-06-28 16:12:31.271 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_1 +2024-06-28 16:12:31.272 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_1 +2024-06-28 16:12:31.288 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_1 +2024-06-28 16:12:31.325 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_2 +2024-06-28 16:12:31.326 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_2 +2024-06-28 16:12:31.329 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_3 +2024-06-28 16:12:31.330 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_3 +2024-06-28 16:12:31.333 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_4 +2024-06-28 16:12:31.334 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_4 +2024-06-28 16:12:31.335 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexOutUsingPOST_1 +2024-06-28 16:12:31.338 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_5 +2024-06-28 16:12:31.346 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_5 +2024-06-28 16:12:31.346 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_2 +2024-06-28 16:12:31.348 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_2 +2024-06-28 16:12:31.363 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_6 +2024-06-28 16:12:31.366 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_7 +2024-06-28 16:12:31.371 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_8 +2024-06-28 16:12:31.402 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_6 +2024-06-28 16:12:31.403 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_3 +2024-06-28 16:12:31.404 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_3 +2024-06-28 16:12:31.411 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_9 +2024-06-28 16:12:31.415 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_10 +2024-06-28 16:12:31.417 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_7 +2024-06-28 16:12:31.417 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_4 +2024-06-28 16:12:31.418 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_4 +2024-06-28 16:12:31.420 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_11 +2024-06-28 16:12:31.424 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_8 +2024-06-28 16:12:31.425 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_5 +2024-06-28 16:12:31.426 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_5 +2024-06-28 16:12:31.429 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_12 +2024-06-28 16:12:31.432 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_9 +2024-06-28 16:12:31.432 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_6 +2024-06-28 16:12:31.433 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_6 +2024-06-28 16:12:31.436 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_13 +2024-06-28 16:12:31.436 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_1 +2024-06-28 16:12:31.438 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_10 +2024-06-28 16:12:31.438 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_7 +2024-06-28 16:12:31.439 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_7 +2024-06-28 16:12:31.440 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_14 +2024-06-28 16:12:31.441 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_11 +2024-06-28 16:12:31.442 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_8 +2024-06-28 16:12:31.443 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_8 +2024-06-28 16:12:31.444 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_15 +2024-06-28 16:12:31.445 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_12 +2024-06-28 16:12:31.447 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_9 +2024-06-28 16:12:31.448 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_9 +2024-06-28 16:12:31.451 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_16 +2024-06-28 16:12:31.452 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_17 +2024-06-28 16:12:31.457 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_13 +2024-06-28 16:12:31.458 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_10 +2024-06-28 16:12:31.461 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_18 +2024-06-28 16:12:31.462 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_1 +2024-06-28 16:12:31.472 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addGroupUsingPOST_1 +2024-06-28 16:12:31.472 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: categoryUsingPOST_1 +2024-06-28 16:12:31.473 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteFilesUsingPOST_1 +2024-06-28 16:12:31.473 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteGroupUsingPOST_1 +2024-06-28 16:12:31.474 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editGroupUsingPOST_1 +2024-06-28 16:12:31.477 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: listsUsingPOST_1 +2024-06-28 16:12:31.478 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: moveFilesUsingPOST_1 +2024-06-28 16:12:31.479 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_19 +2024-06-28 16:12:31.483 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_20 +2024-06-28 16:12:31.487 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_14 +2024-06-28 16:12:31.488 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_10 +2024-06-28 16:12:31.488 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteFilesUsingPOST_2 +2024-06-28 16:12:31.488 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_11 +2024-06-28 16:12:31.489 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_21 +2024-06-28 16:12:31.489 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: listUsingPOST_1 +2024-06-28 16:12:31.490 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: moveFilesUsingPOST_2 +2024-06-28 16:12:31.495 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_22 +2024-06-28 16:12:31.497 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_23 +2024-06-28 16:12:31.501 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_24 +2024-06-28 16:12:31.502 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_25 +2024-06-28 16:12:31.504 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_15 +2024-06-28 16:12:31.504 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_1 +2024-06-28 16:12:31.505 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_12 +2024-06-28 16:12:31.506 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_26 +2024-06-28 16:12:31.506 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: repulseAuditUsingPOST_1 +2024-06-28 16:12:31.508 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_16 +2024-06-28 16:12:31.509 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_11 +2024-06-28 16:12:31.510 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_13 +2024-06-28 16:12:31.512 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_27 +2024-06-28 16:12:31.516 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_17 +2024-06-28 16:12:31.516 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_12 +2024-06-28 16:12:31.516 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_14 +2024-06-28 16:12:31.518 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_28 +2024-06-28 16:12:31.520 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_18 +2024-06-28 16:12:31.520 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_29 +2024-06-28 16:12:31.524 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_30 +2024-06-28 16:12:31.525 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_19 +2024-06-28 16:12:31.526 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_1 +2024-06-28 16:12:31.526 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_31 +2024-06-28 16:12:31.528 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_1 +2024-06-28 16:12:31.529 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_32 +2024-06-28 16:12:31.530 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_20 +2024-06-28 16:12:31.530 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_2 +2024-06-28 16:12:31.531 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_33 +2024-06-28 16:12:31.538 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: loginUsingPOST_1 +2024-06-28 16:12:31.539 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: logoutUsingPOST_1 +2024-06-28 16:12:31.540 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_34 +2024-06-28 16:12:31.542 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_21 +2024-06-28 16:12:31.543 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_13 +2024-06-28 16:12:31.544 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_15 +2024-06-28 16:12:31.544 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_35 +2024-06-28 16:12:31.546 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_2 +2024-06-28 16:12:31.549 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_22 +2024-06-28 16:12:31.550 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_14 +2024-06-28 16:12:31.550 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_16 +2024-06-28 16:12:31.554 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_36 +2024-06-28 16:12:31.555 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: stateUsingPOST_1 +2024-06-28 16:12:31.555 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_1 +2024-06-28 16:12:31.556 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_3 +2024-06-28 16:12:31.557 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_23 +2024-06-28 16:12:31.558 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_2 +2024-06-28 16:12:31.559 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_2 +2024-06-28 16:12:31.560 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_17 +2024-06-28 16:12:31.560 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_37 +2024-06-28 16:12:31.562 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_3 +2024-06-28 16:12:31.563 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_18 +2024-06-28 16:12:31.563 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_38 +2024-06-28 16:12:31.564 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addStorageUsingPOST_1 +2024-06-28 16:12:31.565 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_4 +2024-06-28 16:12:31.566 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_3 +2024-06-28 16:12:31.566 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_19 +2024-06-28 16:12:31.567 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_39 +2024-06-28 16:12:31.568 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_40 +2024-06-28 16:12:31.569 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_24 +2024-06-28 16:12:31.569 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_20 +2024-06-28 16:12:31.570 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_3 +2024-06-28 16:12:31.572 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_25 +2024-06-28 16:12:31.573 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_15 +2024-06-28 16:12:31.573 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_21 +2024-06-28 16:12:31.574 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_41 +2024-06-28 16:12:31.576 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_2 +2024-06-28 16:12:31.577 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_4 +2024-06-28 16:12:31.579 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: scanIndexUsingPOST_1 +2024-06-28 16:12:31.579 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_1 +2024-06-28 16:12:31.580 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_42 +2024-06-28 16:12:31.582 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_26 +2024-06-28 16:12:31.583 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_16 +2024-06-28 16:12:31.583 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_22 +2024-06-28 16:12:31.587 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_43 +2024-06-28 16:12:31.590 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_27 +2024-06-28 16:12:31.591 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_17 +2024-06-28 16:12:31.591 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_23 +2024-06-28 16:12:31.593 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_44 +2024-06-28 16:12:31.593 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_3 +2024-06-28 16:12:31.593 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_5 +2024-06-28 16:12:31.595 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_28 +2024-06-28 16:12:31.596 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_18 +2024-06-28 16:12:31.596 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_24 +2024-06-28 16:12:31.598 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_45 +2024-06-28 16:12:31.599 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_46 +2024-06-28 16:12:31.599 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_2 +2024-06-28 16:12:31.600 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_29 +2024-06-28 16:12:31.601 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_47 +2024-06-28 16:12:31.601 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_48 +2024-06-28 16:12:31.602 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_49 +2024-06-28 16:12:31.603 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_3 +2024-06-28 16:12:31.608 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_30 +2024-06-28 16:12:31.609 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_19 +2024-06-28 16:12:31.609 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_25 +2024-06-28 16:12:31.613 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_50 +2024-06-28 16:12:31.614 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_2 +2024-06-28 16:12:31.614 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_4 +2024-06-28 16:12:31.614 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_6 +2024-06-28 16:12:31.618 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_31 +2024-06-28 16:12:31.619 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_20 +2024-06-28 16:12:31.619 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_26 +2024-06-28 16:12:31.624 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_51 +2024-06-28 16:12:31.624 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_3 +2024-06-28 16:12:31.625 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_7 +2024-06-28 16:12:31.626 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_52 +2024-06-28 16:12:31.627 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_4 +2024-06-28 16:12:31.629 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_32 +2024-06-28 16:12:31.629 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_21 +2024-06-28 16:12:31.630 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_27 +2024-06-28 16:12:31.632 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_53 +2024-06-28 16:12:31.635 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: uploadUsingPOST_1 +2024-06-28 16:12:31.656 INFO [main] [] net.jjjerp.SpringBootJjjApplication 61 : Started SpringBootJjjApplication in 11.846 seconds (JVM running for 12.652) +2024-06-28 16:12:31.661 INFO [main] [] n.j.framework.util.PrintApplicationInfo 61 : projectFinalName : jjj-erp-1.0 +2024-06-28 16:12:31.661 INFO [main] [] n.j.framework.util.PrintApplicationInfo 62 : projectVersion : 1.0 +2024-06-28 16:12:31.661 INFO [main] [] n.j.framework.util.PrintApplicationInfo 63 : profileActive : prod +2024-06-28 16:12:31.661 INFO [main] [] n.j.framework.util.PrintApplicationInfo 64 : contextPath : /api +2024-06-28 16:12:31.661 INFO [main] [] n.j.framework.util.PrintApplicationInfo 65 : serverIp : http://erp3.huadeng.fun +2024-06-28 16:12:31.661 INFO [main] [] n.j.framework.util.PrintApplicationInfo 66 : port : 8892 +2024-06-28 16:12:31.661 INFO [main] [] n.j.framework.util.PrintApplicationInfo 81 : Home: http://erp3.huadeng.fun/api +2024-06-28 16:12:31.661 INFO [main] [] n.j.framework.util.PrintApplicationInfo 82 : Knife4j: http://erp3.huadeng.fun/api/doc.html +2024-06-28 16:12:31.661 INFO [main] [] n.j.framework.util.PrintApplicationInfo 83 : Swagger: http://erp3.huadeng.fun/api/swagger-ui.html +2024-06-28 16:12:31.661 INFO [main] [] n.j.framework.util.PrintApplicationInfo 84 : jjj-erp 启动成功........... + ____ __ __ ____ +/\ _`\ /\ \__ /\ \__ /\ _`\ +\ \,\L\_\ \ ,_\ __ _ __\ \ ,_\ \ \,\L\_\ __ __ ___ ___ __ ____ ____ + \/_\__ \\ \ \/ /'__`\ /\`'__\ \ \/ \/_\__ \ /\ \/\ \ /'___\ /'___\ /'__`\ /',__\ /',__\ + /\ \L\ \ \ \_/\ \L\.\_\ \ \/ \ \ \_ /\ \L\ \ \ \_\ \/\ \__//\ \__//\ __//\__, `\/\__, `\ + \ `\____\ \__\ \__/.\_\\ \_\ \ \__\ \ `\____\ \____/\ \____\ \____\ \____\/\____/\/\____/ + \/_____/\/__/\/__/\/_/ \/_/ \/__/ \/_____/\/___/ \/____/\/____/\/____/\/___/ \/___/ + + +2024-06-28 16:12:38.742 INFO [http-nio-8892-exec-1] [] o.a.c.c.C.[Tomcat].[localhost].[/api] 173 : Initializing Spring DispatcherServlet 'dispatcherServlet' +2024-06-28 16:12:38.743 INFO [http-nio-8892-exec-1] [] o.s.web.servlet.DispatcherServlet 525 : Initializing Servlet 'dispatcherServlet' +2024-06-28 16:12:38.752 INFO [http-nio-8892-exec-1] [] o.s.web.servlet.DispatcherServlet 547 : Completed initialization in 9 ms +2024-06-28 16:12:39.713 INFO [http-nio-8892-exec-1] [1806601594026983425] com.zaxxer.hikari.HikariDataSource 110 : HikariPool-1 - Starting... +2024-06-28 16:12:39.891 INFO [http-nio-8892-exec-1] [1806601594026983425] com.zaxxer.hikari.HikariDataSource 123 : HikariPool-1 - Start completed. +2024-06-28 16:21:17.599 WARN [http-nio-8892-exec-28] [1806603765757902851] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@39d0d2eb (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 16:21:17.661 WARN [http-nio-8892-exec-30] [1806603766135390210] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@5e978a76 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 16:21:17.662 WARN [http-nio-8892-exec-28] [1806603765757902851] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@73054224 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 16:21:17.664 WARN [http-nio-8892-exec-28] [1806603765757902851] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@2db11900 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 16:21:45.596 WARN [http-nio-8892-exec-4] [1806603883596873729] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@51658013 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 16:21:45.598 WARN [http-nio-8892-exec-4] [1806603883596873729] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@2e3da7b3 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 16:21:45.599 WARN [http-nio-8892-exec-2] [1806603883466850306] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@5b8a8c76 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 16:21:45.600 WARN [http-nio-8892-exec-2] [1806603883466850306] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@4d6b196d (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 16:25:26.701 WARN [http-nio-8892-exec-7] [1806604810974265347] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@54ef606f (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 16:25:26.702 WARN [http-nio-8892-exec-7] [1806604810974265347] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@29608c42 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 16:25:26.703 WARN [http-nio-8892-exec-7] [1806604810974265347] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@b525708 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 16:25:26.704 WARN [http-nio-8892-exec-7] [1806604810974265347] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@646a5b1c (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 16:25:26.705 WARN [http-nio-8892-exec-7] [1806604810974265347] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@6b39c93b (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 16:25:26.705 WARN [http-nio-8892-exec-7] [1806604810974265347] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@46165a82 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 16:25:26.706 WARN [http-nio-8892-exec-7] [1806604810974265347] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@5fe5af5f (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 16:25:26.707 WARN [http-nio-8892-exec-7] [1806604810974265347] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@3802505c (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 16:25:26.709 WARN [http-nio-8892-exec-7] [1806604810974265347] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@4aef8f54 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 16:25:26.710 WARN [http-nio-8892-exec-7] [1806604810974265347] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@2e829280 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 16:27:38.334 WARN [HikariPool-1 housekeeper] [] com.zaxxer.hikari.pool.HikariPool 787 : HikariPool-1 - Thread starvation or clock leap detected (housekeeper delta=58s99ms836µs800ns). +2024-06-28 16:29:16.610 WARN [http-nio-8892-exec-16] [1806605775131508738] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@1b59e166 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 16:29:16.611 WARN [http-nio-8892-exec-16] [1806605775131508738] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@783468ef (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 16:29:27.158 WARN [http-nio-8892-exec-21] [1806605819515633666] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@35e4659d (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 16:29:27.160 WARN [http-nio-8892-exec-17] [1806605819180089346] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@75936ee7 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 16:29:32.504 WARN [http-nio-8892-exec-22] [1806605841791582210] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@20274287 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 16:29:32.549 WARN [http-nio-8892-exec-22] [1806605841791582210] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@6eb0a4f (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 16:29:36.904 WARN [http-nio-8892-exec-27] [1806605860452040705] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@4ee0b6b8 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 16:29:36.905 WARN [http-nio-8892-exec-27] [1806605860452040705] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@71ff09a (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 16:29:36.906 WARN [http-nio-8892-exec-27] [1806605860452040705] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@6bcac123 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 16:34:09.944 WARN [http-nio-8892-exec-1] [1806607005635444738] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@6efe4275 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 16:34:09.945 WARN [http-nio-8892-exec-1] [1806607005635444738] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@5df899f7 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 16:34:09.946 WARN [http-nio-8892-exec-1] [1806607005635444738] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@7e24eefe (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 16:34:09.947 WARN [http-nio-8892-exec-1] [1806607005635444738] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@4659b783 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 16:34:09.948 WARN [http-nio-8892-exec-1] [1806607005635444738] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@5b2dc09a (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 16:34:09.949 WARN [http-nio-8892-exec-1] [1806607005635444738] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@ff0b7de (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 16:34:09.949 WARN [http-nio-8892-exec-1] [1806607005635444738] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@567afbc0 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 16:34:09.951 WARN [http-nio-8892-exec-1] [1806607005635444738] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@5d14ab23 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 16:34:09.951 WARN [http-nio-8892-exec-1] [1806607005635444738] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@6808990b (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 16:34:09.952 WARN [http-nio-8892-exec-1] [1806607005635444738] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@62cc9d93 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 16:41:27.140 WARN [http-nio-8892-exec-11] [1806608838378520577] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@31961dcd (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 16:41:27.141 WARN [http-nio-8892-exec-11] [1806608838378520577] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@5313ee44 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 16:41:27.143 WARN [http-nio-8892-exec-11] [1806608838378520577] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@4a5ee4b9 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 16:41:27.144 WARN [http-nio-8892-exec-11] [1806608838378520577] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@2618af8c (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 16:41:27.144 WARN [http-nio-8892-exec-11] [1806608838378520577] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@40f763d7 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 16:41:27.146 WARN [http-nio-8892-exec-11] [1806608838378520577] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@cdac443 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 16:41:27.147 WARN [http-nio-8892-exec-11] [1806608838378520577] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@319c924d (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 16:41:27.148 WARN [http-nio-8892-exec-11] [1806608838378520577] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@529b3f3d (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 16:41:27.149 WARN [http-nio-8892-exec-11] [1806608838378520577] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@29890762 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 16:41:27.150 WARN [http-nio-8892-exec-11] [1806608838378520577] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@73ab36cc (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 16:56:23.387 ERROR [http-nio-8892-exec-9] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy405.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-28 16:56:23.387 ERROR [http-nio-8892-exec-15] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy405.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-28 16:56:23.387 ERROR [http-nio-8892-exec-8] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy405.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-28 16:56:23.387 ERROR [http-nio-8892-exec-13] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy405.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-28 16:56:23.406 ERROR [http-nio-8892-exec-16] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy405.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-28 16:56:32.675 INFO [lettuce-eventExecutorLoop-1-6] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was /101.34.74.68:6379 +2024-06-28 16:56:32.718 INFO [lettuce-nioEventLoop-4-2] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to 101.34.74.68:6379 +2024-06-28 16:56:33.791 WARN [http-nio-8892-exec-19] [1806612642163458049] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@2d996d2a (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 16:56:33.794 WARN [http-nio-8892-exec-19] [1806612642163458049] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@4654bd8d (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 16:56:33.795 WARN [http-nio-8892-exec-19] [1806612642163458049] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@5d8ae146 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 16:56:33.796 WARN [http-nio-8892-exec-19] [1806612642163458049] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@613b498b (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 16:56:33.796 WARN [http-nio-8892-exec-19] [1806612642163458049] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@80951b2 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 16:56:33.797 WARN [http-nio-8892-exec-19] [1806612642163458049] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@6bd23deb (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 16:56:33.798 WARN [http-nio-8892-exec-19] [1806612642163458049] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@61d86106 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 16:56:33.799 WARN [http-nio-8892-exec-19] [1806612642163458049] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@5a141ba7 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 16:56:33.800 WARN [http-nio-8892-exec-19] [1806612642163458049] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@18d25596 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 16:56:33.801 WARN [http-nio-8892-exec-19] [1806612642163458049] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@62150e02 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 16:58:44.381 INFO [SpringContextShutdownHook] [] net.jjjerp.framework.core.xss.XssFilter 30 : XssFilter destroy +2024-06-28 16:58:44.381 INFO [SpringContextShutdownHook] [] n.j.f.core.filter.RequestDetailFilter 116 : RequestDetailFilter destroy +2024-06-28 16:58:44.387 INFO [SpringContextShutdownHook] [] o.s.s.c.ThreadPoolTaskScheduler 218 : Shutting down ExecutorService 'taskScheduler' +2024-06-28 16:58:44.387 INFO [SpringContextShutdownHook] [] o.s.s.concurrent.ThreadPoolTaskExecutor 218 : Shutting down ExecutorService 'applicationTaskExecutor' +2024-06-28 16:58:44.393 INFO [SpringContextShutdownHook] [] com.zaxxer.hikari.HikariDataSource 350 : HikariPool-1 - Shutdown initiated... +2024-06-28 16:58:44.395 INFO [SpringContextShutdownHook] [] com.zaxxer.hikari.HikariDataSource 352 : HikariPool-1 - Shutdown completed. +2024-06-28 16:58:51.314 INFO [background-preinit] [] o.h.validator.internal.util.Version 21 : HV000001: Hibernate Validator 6.1.7.Final +2024-06-28 16:58:51.321 INFO [main] [] net.jjjerp.SpringBootJjjApplication 55 : Starting SpringBootJjjApplication on OS-20230506YKNI with PID 7304 (D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\bootstrap\target\classes started by Administrator in D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp) +2024-06-28 16:58:51.321 INFO [main] [] net.jjjerp.SpringBootJjjApplication 652 : The following profiles are active: prod +2024-06-28 16:58:52.270 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 249 : Multiple Spring Data modules found, entering strict repository configuration mode! +2024-06-28 16:58:52.271 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 127 : Bootstrapping Spring Data Redis repositories in DEFAULT mode. +2024-06-28 16:58:52.391 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 187 : Finished Spring Data repository scanning in 110ms. Found 0 Redis repository interfaces. +2024-06-28 16:58:52.668 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.ShiroConfig' of type [net.jjjerp.config.ShiroConfig$$EnhancerBySpringCGLIB$$18c1f4b9] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 16:58:52.750 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.properties.JwtProperties' of type [net.jjjerp.config.properties.JwtProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 16:58:52.752 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.RedisTemplateConfig' of type [net.jjjerp.config.RedisTemplateConfig$$EnhancerBySpringCGLIB$$e826ff5d] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 16:58:52.759 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'spring.redis-org.springframework.boot.autoconfigure.data.redis.RedisProperties' of type [org.springframework.boot.autoconfigure.data.redis.RedisProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 16:58:52.762 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration' of type [org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 16:58:52.813 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'lettuceClientResources' of type [io.lettuce.core.resource.DefaultClientResources] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 16:58:52.898 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'redisConnectionFactory' of type [org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 16:58:52.940 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'redisTemplate' of type [org.springframework.data.redis.core.RedisTemplate] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 16:58:52.941 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.cache.impl.AdminLoginRedisServiceImpl' of type [net.jjjerp.framework.shiro.cache.impl.AdminLoginRedisServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 16:58:52.945 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.cache.impl.ShopLoginRedisServiceImpl' of type [net.jjjerp.framework.shiro.cache.impl.ShopLoginRedisServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 16:58:53.051 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'credentialsMatcher' of type [net.jjjerp.framework.shiro.jwt.JwtCredentialsMatcher] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 16:58:53.058 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'jwtRealm' of type [net.jjjerp.framework.shiro.jwt.JwtRealm] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 16:58:53.058 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'sessionStorageEvaluator' of type [org.apache.shiro.web.mgt.DefaultWebSessionStorageEvaluator] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 16:58:53.059 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'subjectDAO' of type [org.apache.shiro.mgt.DefaultSubjectDAO] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 16:58:53.061 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'securityManager' of type [org.apache.shiro.web.mgt.DefaultWebSecurityManager] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 16:58:53.080 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.service.impl.ShiroLoginServiceImpl' of type [net.jjjerp.framework.shiro.service.impl.ShiroLoginServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 16:58:53.086 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'spring-boot-jjj.shiro-net.jjjerp.config.properties.ShiroProperties' of type [net.jjjerp.config.properties.ShiroProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 16:58:53.165 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'authorizationAttributeSourceAdvisor' of type [org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 16:58:53.287 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.RedisCacheConfig' of type [net.jjjerp.config.RedisCacheConfig$$EnhancerBySpringCGLIB$$9d63d65f] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-28 16:58:53.522 INFO [main] [] o.s.b.w.embedded.tomcat.TomcatWebServer 108 : Tomcat initialized with port(s): 8892 (http) +2024-06-28 16:58:53.529 INFO [main] [] o.a.coyote.http11.Http11NioProtocol 173 : Initializing ProtocolHandler ["http-nio-8892"] +2024-06-28 16:58:53.529 INFO [main] [] o.apache.catalina.core.StandardService 173 : Starting service [Tomcat] +2024-06-28 16:58:53.529 INFO [main] [] org.apache.catalina.core.StandardEngine 173 : Starting Servlet engine: [Apache Tomcat/9.0.46] +2024-06-28 16:58:53.626 INFO [main] [] o.a.c.c.C.[Tomcat].[localhost].[/api] 173 : Initializing Spring embedded WebApplicationContext +2024-06-28 16:58:53.627 INFO [main] [] w.s.c.ServletWebServerApplicationContext 285 : Root WebApplicationContext: initialization completed in 2258 ms +2024-06-28 16:58:53.762 INFO [main] [] net.jjjerp.framework.core.xss.XssFilter 18 : XssFilter init +2024-06-28 16:58:53.763 INFO [main] [] n.j.f.core.filter.RequestDetailFilter 30 : RequestDetailFilter init +2024-06-28 16:58:57.053 INFO [main] [] org.reflections.Reflections 228 : Reflections took 39 ms to scan 1 urls, producing 0 keys and 0 values +2024-06-28 16:58:57.146 INFO [main] [] net.jjjerp.framework.shiro.util.JwtUtil 33 : {"audience":"web","expireSecond":36000,"issuer":"spring-boot-jjj","redisCheck":true,"refreshToken":true,"refreshTokenCountdown":600,"saltCheck":true,"secret":"888888","singleLogin":false,"tokenName":"token"} +2024-06-28 16:59:00.000 INFO [main] [] pertySourcedRequestMappingHandlerMapping 69 : Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2Controller#getDocumentation(String, HttpServletRequest)] +2024-06-28 16:59:00.018 INFO [main] [] net.jjjerp.config.Swagger2Config 149 : swagger scan basePackages:null +2024-06-28 16:59:00.168 INFO [main] [] o.s.s.concurrent.ThreadPoolTaskExecutor 181 : Initializing ExecutorService 'applicationTaskExecutor' +2024-06-28 16:59:00.251 INFO [main] [] o.s.b.a.w.s.WelcomePageHandlerMapping 53 : Adding welcome page: class path resource [static/index.html] +2024-06-28 16:59:00.431 INFO [main] [] o.s.s.c.ThreadPoolTaskScheduler 181 : Initializing ExecutorService 'taskScheduler' +2024-06-28 16:59:00.527 INFO [main] [] o.a.coyote.http11.Http11NioProtocol 173 : Starting ProtocolHandler ["http-nio-8892"] +2024-06-28 16:59:00.544 INFO [main] [] o.s.b.w.embedded.tomcat.TomcatWebServer 220 : Tomcat started on port(s): 8892 (http) with context path '/api' +2024-06-28 16:59:00.545 INFO [main] [] d.s.w.p.DocumentationPluginsBootstrapper 160 : Context refreshed +2024-06-28 16:59:00.551 INFO [main] [] d.s.w.p.DocumentationPluginsBootstrapper 163 : Found 1 custom documentation plugin(s) +2024-06-28 16:59:00.584 INFO [main] [] s.d.s.w.s.ApiListingReferenceScanner 41 : Scanning for api listing references +2024-06-28 16:59:00.700 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_1 +2024-06-28 16:59:00.702 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_1 +2024-06-28 16:59:00.702 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_1 +2024-06-28 16:59:00.719 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_1 +2024-06-28 16:59:00.754 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_2 +2024-06-28 16:59:00.757 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_2 +2024-06-28 16:59:00.761 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_3 +2024-06-28 16:59:00.762 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_3 +2024-06-28 16:59:00.764 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_4 +2024-06-28 16:59:00.765 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_4 +2024-06-28 16:59:00.766 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexOutUsingPOST_1 +2024-06-28 16:59:00.769 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_5 +2024-06-28 16:59:00.778 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_5 +2024-06-28 16:59:00.779 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_2 +2024-06-28 16:59:00.779 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_2 +2024-06-28 16:59:00.793 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_6 +2024-06-28 16:59:00.795 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_7 +2024-06-28 16:59:00.799 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_8 +2024-06-28 16:59:00.807 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_6 +2024-06-28 16:59:00.808 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_3 +2024-06-28 16:59:00.808 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_3 +2024-06-28 16:59:00.815 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_9 +2024-06-28 16:59:00.844 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_10 +2024-06-28 16:59:00.846 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_7 +2024-06-28 16:59:00.847 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_4 +2024-06-28 16:59:00.847 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_4 +2024-06-28 16:59:00.850 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_11 +2024-06-28 16:59:00.854 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_8 +2024-06-28 16:59:00.855 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_5 +2024-06-28 16:59:00.855 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_5 +2024-06-28 16:59:00.858 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_12 +2024-06-28 16:59:00.862 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_9 +2024-06-28 16:59:00.862 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_6 +2024-06-28 16:59:00.863 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_6 +2024-06-28 16:59:00.866 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_13 +2024-06-28 16:59:00.866 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_1 +2024-06-28 16:59:00.868 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_10 +2024-06-28 16:59:00.869 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_7 +2024-06-28 16:59:00.869 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_7 +2024-06-28 16:59:00.870 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_14 +2024-06-28 16:59:00.872 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_11 +2024-06-28 16:59:00.872 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_8 +2024-06-28 16:59:00.873 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_8 +2024-06-28 16:59:00.874 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_15 +2024-06-28 16:59:00.875 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_12 +2024-06-28 16:59:00.878 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_9 +2024-06-28 16:59:00.878 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_9 +2024-06-28 16:59:00.881 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_16 +2024-06-28 16:59:00.883 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_17 +2024-06-28 16:59:00.888 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_13 +2024-06-28 16:59:00.889 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_10 +2024-06-28 16:59:00.892 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_18 +2024-06-28 16:59:00.893 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_1 +2024-06-28 16:59:00.904 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addGroupUsingPOST_1 +2024-06-28 16:59:00.905 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: categoryUsingPOST_1 +2024-06-28 16:59:00.905 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteFilesUsingPOST_1 +2024-06-28 16:59:00.905 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteGroupUsingPOST_1 +2024-06-28 16:59:00.906 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editGroupUsingPOST_1 +2024-06-28 16:59:00.909 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: listsUsingPOST_1 +2024-06-28 16:59:00.910 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: moveFilesUsingPOST_1 +2024-06-28 16:59:00.911 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_19 +2024-06-28 16:59:00.915 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_14 +2024-06-28 16:59:00.916 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_10 +2024-06-28 16:59:00.916 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteFilesUsingPOST_2 +2024-06-28 16:59:00.917 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_11 +2024-06-28 16:59:00.919 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_20 +2024-06-28 16:59:00.921 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: moveFilesUsingPOST_2 +2024-06-28 16:59:00.922 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_21 +2024-06-28 16:59:00.923 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: listUsingPOST_1 +2024-06-28 16:59:00.927 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_22 +2024-06-28 16:59:00.930 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_23 +2024-06-28 16:59:00.933 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_24 +2024-06-28 16:59:00.935 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_25 +2024-06-28 16:59:00.937 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_15 +2024-06-28 16:59:00.938 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_1 +2024-06-28 16:59:00.938 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_12 +2024-06-28 16:59:00.939 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_26 +2024-06-28 16:59:00.940 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: repulseAuditUsingPOST_1 +2024-06-28 16:59:00.942 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_16 +2024-06-28 16:59:00.942 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_11 +2024-06-28 16:59:00.942 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_13 +2024-06-28 16:59:00.945 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_27 +2024-06-28 16:59:00.949 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_17 +2024-06-28 16:59:00.949 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_12 +2024-06-28 16:59:00.950 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_14 +2024-06-28 16:59:00.952 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_28 +2024-06-28 16:59:00.953 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_18 +2024-06-28 16:59:00.954 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_29 +2024-06-28 16:59:00.957 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_30 +2024-06-28 16:59:00.958 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_19 +2024-06-28 16:59:00.959 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_1 +2024-06-28 16:59:00.959 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_31 +2024-06-28 16:59:00.961 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_1 +2024-06-28 16:59:00.962 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_32 +2024-06-28 16:59:00.964 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_20 +2024-06-28 16:59:00.965 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_2 +2024-06-28 16:59:00.965 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_33 +2024-06-28 16:59:00.974 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: loginUsingPOST_1 +2024-06-28 16:59:00.974 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: logoutUsingPOST_1 +2024-06-28 16:59:00.975 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_34 +2024-06-28 16:59:00.978 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_21 +2024-06-28 16:59:00.978 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_13 +2024-06-28 16:59:00.979 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_15 +2024-06-28 16:59:00.979 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_35 +2024-06-28 16:59:00.981 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_2 +2024-06-28 16:59:00.984 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_22 +2024-06-28 16:59:00.985 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_14 +2024-06-28 16:59:00.985 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_16 +2024-06-28 16:59:00.989 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_36 +2024-06-28 16:59:00.989 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: stateUsingPOST_1 +2024-06-28 16:59:00.990 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_1 +2024-06-28 16:59:00.990 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_3 +2024-06-28 16:59:00.991 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_23 +2024-06-28 16:59:00.992 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_2 +2024-06-28 16:59:00.993 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_2 +2024-06-28 16:59:00.994 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_17 +2024-06-28 16:59:00.995 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_37 +2024-06-28 16:59:00.997 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_3 +2024-06-28 16:59:00.998 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_18 +2024-06-28 16:59:00.998 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_38 +2024-06-28 16:59:01.000 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addStorageUsingPOST_1 +2024-06-28 16:59:01.000 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_4 +2024-06-28 16:59:01.001 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_3 +2024-06-28 16:59:01.002 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_19 +2024-06-28 16:59:01.003 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_39 +2024-06-28 16:59:01.004 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_40 +2024-06-28 16:59:01.005 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_24 +2024-06-28 16:59:01.006 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_20 +2024-06-28 16:59:01.006 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_3 +2024-06-28 16:59:01.011 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_25 +2024-06-28 16:59:01.012 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_15 +2024-06-28 16:59:01.013 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_21 +2024-06-28 16:59:01.015 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_41 +2024-06-28 16:59:01.016 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_2 +2024-06-28 16:59:01.016 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_4 +2024-06-28 16:59:01.018 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: scanIndexUsingPOST_1 +2024-06-28 16:59:01.020 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_42 +2024-06-28 16:59:01.020 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_1 +2024-06-28 16:59:01.022 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_26 +2024-06-28 16:59:01.022 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_16 +2024-06-28 16:59:01.023 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_22 +2024-06-28 16:59:01.028 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_43 +2024-06-28 16:59:01.031 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_27 +2024-06-28 16:59:01.031 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_17 +2024-06-28 16:59:01.032 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_23 +2024-06-28 16:59:01.033 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_44 +2024-06-28 16:59:01.034 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_3 +2024-06-28 16:59:01.034 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_5 +2024-06-28 16:59:01.036 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_28 +2024-06-28 16:59:01.036 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_18 +2024-06-28 16:59:01.037 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_24 +2024-06-28 16:59:01.039 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_45 +2024-06-28 16:59:01.040 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_46 +2024-06-28 16:59:01.040 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_2 +2024-06-28 16:59:01.041 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_29 +2024-06-28 16:59:01.042 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_47 +2024-06-28 16:59:01.043 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_48 +2024-06-28 16:59:01.044 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_49 +2024-06-28 16:59:01.045 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_3 +2024-06-28 16:59:01.048 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_30 +2024-06-28 16:59:01.049 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_19 +2024-06-28 16:59:01.049 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_25 +2024-06-28 16:59:01.053 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_50 +2024-06-28 16:59:01.054 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_2 +2024-06-28 16:59:01.054 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_4 +2024-06-28 16:59:01.054 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_6 +2024-06-28 16:59:01.058 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_31 +2024-06-28 16:59:01.060 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_20 +2024-06-28 16:59:01.061 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_26 +2024-06-28 16:59:01.070 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_51 +2024-06-28 16:59:01.071 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_3 +2024-06-28 16:59:01.071 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_7 +2024-06-28 16:59:01.072 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_52 +2024-06-28 16:59:01.073 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_4 +2024-06-28 16:59:01.078 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_32 +2024-06-28 16:59:01.079 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_21 +2024-06-28 16:59:01.080 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_27 +2024-06-28 16:59:01.082 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_53 +2024-06-28 16:59:01.087 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: uploadUsingPOST_1 +2024-06-28 16:59:01.110 INFO [main] [] net.jjjerp.SpringBootJjjApplication 61 : Started SpringBootJjjApplication in 10.257 seconds (JVM running for 10.812) +2024-06-28 16:59:01.115 INFO [main] [] n.j.framework.util.PrintApplicationInfo 61 : projectFinalName : jjj-erp-1.0 +2024-06-28 16:59:01.115 INFO [main] [] n.j.framework.util.PrintApplicationInfo 62 : projectVersion : 1.0 +2024-06-28 16:59:01.115 INFO [main] [] n.j.framework.util.PrintApplicationInfo 63 : profileActive : prod +2024-06-28 16:59:01.115 INFO [main] [] n.j.framework.util.PrintApplicationInfo 64 : contextPath : /api +2024-06-28 16:59:01.115 INFO [main] [] n.j.framework.util.PrintApplicationInfo 65 : serverIp : http://erp3.huadeng.fun +2024-06-28 16:59:01.115 INFO [main] [] n.j.framework.util.PrintApplicationInfo 66 : port : 8892 +2024-06-28 16:59:01.115 INFO [main] [] n.j.framework.util.PrintApplicationInfo 81 : Home: http://erp3.huadeng.fun/api +2024-06-28 16:59:01.115 INFO [main] [] n.j.framework.util.PrintApplicationInfo 82 : Knife4j: http://erp3.huadeng.fun/api/doc.html +2024-06-28 16:59:01.115 INFO [main] [] n.j.framework.util.PrintApplicationInfo 83 : Swagger: http://erp3.huadeng.fun/api/swagger-ui.html +2024-06-28 16:59:01.115 INFO [main] [] n.j.framework.util.PrintApplicationInfo 84 : jjj-erp 启动成功........... + ____ __ __ ____ +/\ _`\ /\ \__ /\ \__ /\ _`\ +\ \,\L\_\ \ ,_\ __ _ __\ \ ,_\ \ \,\L\_\ __ __ ___ ___ __ ____ ____ + \/_\__ \\ \ \/ /'__`\ /\`'__\ \ \/ \/_\__ \ /\ \/\ \ /'___\ /'___\ /'__`\ /',__\ /',__\ + /\ \L\ \ \ \_/\ \L\.\_\ \ \/ \ \ \_ /\ \L\ \ \ \_\ \/\ \__//\ \__//\ __//\__, `\/\__, `\ + \ `\____\ \__\ \__/.\_\\ \_\ \ \__\ \ `\____\ \____/\ \____\ \____\ \____\/\____/\/\____/ + \/_____/\/__/\/__/\/_/ \/_/ \/__/ \/_____/\/___/ \/____/\/____/\/____/\/___/ \/___/ + + +2024-06-28 17:00:12.166 INFO [http-nio-8892-exec-4] [] o.a.c.c.C.[Tomcat].[localhost].[/api] 173 : Initializing Spring DispatcherServlet 'dispatcherServlet' +2024-06-28 17:00:12.166 INFO [http-nio-8892-exec-4] [] o.s.web.servlet.DispatcherServlet 525 : Initializing Servlet 'dispatcherServlet' +2024-06-28 17:00:12.205 INFO [http-nio-8892-exec-4] [] o.s.web.servlet.DispatcherServlet 547 : Completed initialization in 38 ms +2024-06-28 17:00:12.469 ERROR [http-nio-8892-exec-4] [] n.jjjerp.framework.shiro.jwt.JwtFilter 138 : 访问错误 + +org.apache.shiro.authc.AuthenticationException: Redis Token不存在,token:eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhdWQiOiJ3ZWIiLCJpc3MiOiJzcHJpbmctYm9vdC1qamoiLCJleHAiOjE3MTk1NzE0OTMsImlhdCI6MTcxOTUzNTQ5MywianRpIjoiNWFkYjZkZGRlZWY4NGZjZThhNmFmZjA0ZjczYzEyNzUiLCJ1c2VybmFtZSI6ImFkbWluIn0.I-0Zxvzz-r2cLpmpPIfxfkbraYFloKqP31J1lUowIMY + at net.jjjerp.framework.shiro.jwt.JwtFilter.createToken(JwtFilter.java:79) + at org.apache.shiro.web.filter.authc.AuthenticatingFilter.executeLogin(AuthenticatingFilter.java:45) + at net.jjjerp.framework.shiro.jwt.JwtFilter.isAccessAllowed(JwtFilter.java:134) + at org.apache.shiro.web.filter.AccessControlFilter.onPreHandle(AccessControlFilter.java:162) + at org.apache.shiro.web.filter.PathMatchingFilter.isFilterChainContinued(PathMatchingFilter.java:214) + at org.apache.shiro.web.filter.PathMatchingFilter.preHandle(PathMatchingFilter.java:189) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:131) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) + +2024-06-28 17:00:12.469 ERROR [http-nio-8892-exec-6] [] n.jjjerp.framework.shiro.jwt.JwtFilter 138 : 访问错误 + +org.apache.shiro.authc.AuthenticationException: Redis Token不存在,token:eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhdWQiOiJ3ZWIiLCJpc3MiOiJzcHJpbmctYm9vdC1qamoiLCJleHAiOjE3MTk1NzE0OTMsImlhdCI6MTcxOTUzNTQ5MywianRpIjoiNWFkYjZkZGRlZWY4NGZjZThhNmFmZjA0ZjczYzEyNzUiLCJ1c2VybmFtZSI6ImFkbWluIn0.I-0Zxvzz-r2cLpmpPIfxfkbraYFloKqP31J1lUowIMY + at net.jjjerp.framework.shiro.jwt.JwtFilter.createToken(JwtFilter.java:79) + at org.apache.shiro.web.filter.authc.AuthenticatingFilter.executeLogin(AuthenticatingFilter.java:45) + at net.jjjerp.framework.shiro.jwt.JwtFilter.isAccessAllowed(JwtFilter.java:134) + at org.apache.shiro.web.filter.AccessControlFilter.onPreHandle(AccessControlFilter.java:162) + at org.apache.shiro.web.filter.PathMatchingFilter.isFilterChainContinued(PathMatchingFilter.java:214) + at org.apache.shiro.web.filter.PathMatchingFilter.preHandle(PathMatchingFilter.java:189) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:131) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) + +2024-06-28 17:00:12.469 ERROR [http-nio-8892-exec-1] [] n.jjjerp.framework.shiro.jwt.JwtFilter 138 : 访问错误 + +org.apache.shiro.authc.AuthenticationException: Redis Token不存在,token:eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhdWQiOiJ3ZWIiLCJpc3MiOiJzcHJpbmctYm9vdC1qamoiLCJleHAiOjE3MTk1NzE0OTMsImlhdCI6MTcxOTUzNTQ5MywianRpIjoiNWFkYjZkZGRlZWY4NGZjZThhNmFmZjA0ZjczYzEyNzUiLCJ1c2VybmFtZSI6ImFkbWluIn0.I-0Zxvzz-r2cLpmpPIfxfkbraYFloKqP31J1lUowIMY + at net.jjjerp.framework.shiro.jwt.JwtFilter.createToken(JwtFilter.java:79) + at org.apache.shiro.web.filter.authc.AuthenticatingFilter.executeLogin(AuthenticatingFilter.java:45) + at net.jjjerp.framework.shiro.jwt.JwtFilter.isAccessAllowed(JwtFilter.java:134) + at org.apache.shiro.web.filter.AccessControlFilter.onPreHandle(AccessControlFilter.java:162) + at org.apache.shiro.web.filter.PathMatchingFilter.isFilterChainContinued(PathMatchingFilter.java:214) + at org.apache.shiro.web.filter.PathMatchingFilter.preHandle(PathMatchingFilter.java:189) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:131) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) + +2024-06-28 17:00:12.469 ERROR [http-nio-8892-exec-2] [] n.jjjerp.framework.shiro.jwt.JwtFilter 138 : 访问错误 + +org.apache.shiro.authc.AuthenticationException: Redis Token不存在,token:eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhdWQiOiJ3ZWIiLCJpc3MiOiJzcHJpbmctYm9vdC1qamoiLCJleHAiOjE3MTk1NzE0OTMsImlhdCI6MTcxOTUzNTQ5MywianRpIjoiNWFkYjZkZGRlZWY4NGZjZThhNmFmZjA0ZjczYzEyNzUiLCJ1c2VybmFtZSI6ImFkbWluIn0.I-0Zxvzz-r2cLpmpPIfxfkbraYFloKqP31J1lUowIMY + at net.jjjerp.framework.shiro.jwt.JwtFilter.createToken(JwtFilter.java:79) + at org.apache.shiro.web.filter.authc.AuthenticatingFilter.executeLogin(AuthenticatingFilter.java:45) + at net.jjjerp.framework.shiro.jwt.JwtFilter.isAccessAllowed(JwtFilter.java:134) + at org.apache.shiro.web.filter.AccessControlFilter.onPreHandle(AccessControlFilter.java:162) + at org.apache.shiro.web.filter.PathMatchingFilter.isFilterChainContinued(PathMatchingFilter.java:214) + at org.apache.shiro.web.filter.PathMatchingFilter.preHandle(PathMatchingFilter.java:189) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:131) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) + +2024-06-28 17:00:12.469 ERROR [http-nio-8892-exec-3] [] n.jjjerp.framework.shiro.jwt.JwtFilter 138 : 访问错误 + +org.apache.shiro.authc.AuthenticationException: Redis Token不存在,token:eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhdWQiOiJ3ZWIiLCJpc3MiOiJzcHJpbmctYm9vdC1qamoiLCJleHAiOjE3MTk1NzE0OTMsImlhdCI6MTcxOTUzNTQ5MywianRpIjoiNWFkYjZkZGRlZWY4NGZjZThhNmFmZjA0ZjczYzEyNzUiLCJ1c2VybmFtZSI6ImFkbWluIn0.I-0Zxvzz-r2cLpmpPIfxfkbraYFloKqP31J1lUowIMY + at net.jjjerp.framework.shiro.jwt.JwtFilter.createToken(JwtFilter.java:79) + at org.apache.shiro.web.filter.authc.AuthenticatingFilter.executeLogin(AuthenticatingFilter.java:45) + at net.jjjerp.framework.shiro.jwt.JwtFilter.isAccessAllowed(JwtFilter.java:134) + at org.apache.shiro.web.filter.AccessControlFilter.onPreHandle(AccessControlFilter.java:162) + at org.apache.shiro.web.filter.PathMatchingFilter.isFilterChainContinued(PathMatchingFilter.java:214) + at org.apache.shiro.web.filter.PathMatchingFilter.preHandle(PathMatchingFilter.java:189) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:131) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) + +2024-06-28 17:00:12.470 ERROR [http-nio-8892-exec-6] [] n.jjjerp.framework.shiro.jwt.JwtFilter 111 : onAccessDenied url:/api/admin/setting/system/user/getUserInfo +2024-06-28 17:00:12.470 ERROR [http-nio-8892-exec-4] [] n.jjjerp.framework.shiro.jwt.JwtFilter 111 : onAccessDenied url:/api/admin/market/audit/order/index +2024-06-28 17:00:12.470 ERROR [http-nio-8892-exec-1] [] n.jjjerp.framework.shiro.jwt.JwtFilter 111 : onAccessDenied url:/api/admin/finance/capital/account/index +2024-06-28 17:00:12.470 ERROR [http-nio-8892-exec-2] [] n.jjjerp.framework.shiro.jwt.JwtFilter 111 : onAccessDenied url:/api/admin/setting/basic/user/index +2024-06-28 17:00:12.470 ERROR [http-nio-8892-exec-3] [] n.jjjerp.framework.shiro.jwt.JwtFilter 111 : onAccessDenied url:/api/admin/region/index +2024-06-28 17:00:12.703 INFO [http-nio-8892-exec-7] [1806613560145633281] com.zaxxer.hikari.HikariDataSource 110 : HikariPool-1 - Starting... +2024-06-28 17:00:12.804 INFO [http-nio-8892-exec-7] [1806613560145633281] com.zaxxer.hikari.HikariDataSource 123 : HikariPool-1 - Start completed. +2024-06-28 17:01:46.032 INFO [lettuce-nioEventLoop-4-1] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-28 17:01:46.143 INFO [lettuce-eventExecutorLoop-1-1] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was /127.0.0.1:6379 +2024-06-28 17:01:46.148 INFO [lettuce-nioEventLoop-4-2] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to 127.0.0.1:6379 +2024-06-28 17:02:52.003 INFO [lettuce-nioEventLoop-4-2] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-28 17:02:52.036 INFO [lettuce-eventExecutorLoop-1-4] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was /127.0.0.1:6379 +2024-06-28 17:02:52.037 INFO [lettuce-nioEventLoop-4-3] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to 127.0.0.1:6379 +2024-06-28 17:03:58.070 INFO [lettuce-nioEventLoop-4-3] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-28 17:03:58.137 INFO [lettuce-eventExecutorLoop-1-6] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was /127.0.0.1:6379 +2024-06-28 17:03:58.138 INFO [lettuce-nioEventLoop-4-4] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to 127.0.0.1:6379 +2024-06-28 17:04:51.961 WARN [http-nio-8892-exec-19] [1806614731589574657] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@6d0165d1 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 17:04:51.963 WARN [http-nio-8892-exec-19] [1806614731589574657] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@c73ce89 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 17:04:51.964 WARN [http-nio-8892-exec-19] [1806614731589574657] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@28e3d6e3 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 17:04:51.965 WARN [http-nio-8892-exec-19] [1806614731589574657] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@507a958e (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 17:04:51.966 WARN [http-nio-8892-exec-19] [1806614731589574657] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@75d4a4be (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 17:04:51.967 WARN [http-nio-8892-exec-19] [1806614731589574657] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@15ef6b43 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 17:04:51.967 WARN [http-nio-8892-exec-19] [1806614731589574657] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@238df3d3 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 17:04:51.968 WARN [http-nio-8892-exec-19] [1806614731589574657] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@27dfc4c9 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 17:04:51.969 WARN [http-nio-8892-exec-19] [1806614731589574657] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@557ac68b (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 17:04:51.969 WARN [http-nio-8892-exec-19] [1806614731589574657] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@cdab961 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 17:05:57.054 INFO [lettuce-nioEventLoop-4-4] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-28 17:05:57.136 INFO [lettuce-eventExecutorLoop-1-3] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was /127.0.0.1:6379 +2024-06-28 17:05:57.137 INFO [lettuce-nioEventLoop-4-5] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to 127.0.0.1:6379 +2024-06-28 17:07:03.108 INFO [lettuce-nioEventLoop-4-5] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-28 17:07:03.140 INFO [lettuce-eventExecutorLoop-1-7] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was /127.0.0.1:6379 +2024-06-28 17:07:03.141 INFO [lettuce-nioEventLoop-4-6] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to 127.0.0.1:6379 +2024-06-28 17:08:09.002 INFO [lettuce-nioEventLoop-4-6] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-28 17:08:09.036 INFO [lettuce-eventExecutorLoop-1-2] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was /127.0.0.1:6379 +2024-06-28 17:08:09.038 INFO [lettuce-nioEventLoop-4-7] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to 127.0.0.1:6379 +2024-06-28 17:09:15.106 INFO [lettuce-nioEventLoop-4-7] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-28 17:09:15.138 INFO [lettuce-eventExecutorLoop-1-5] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was /127.0.0.1:6379 +2024-06-28 17:09:15.140 INFO [lettuce-nioEventLoop-4-8] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to 127.0.0.1:6379 +2024-06-28 17:10:14.607 WARN [http-nio-8892-exec-22] [1806616084848205828] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@3cf78484 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 17:10:14.608 WARN [http-nio-8892-exec-20] [1806616084848205827] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@2e198ffe (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 17:10:14.608 WARN [http-nio-8892-exec-21] [1806616084919508993] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@756112a7 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 17:10:14.609 WARN [http-nio-8892-exec-22] [1806616084848205828] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@33a2d644 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 17:10:14.611 WARN [http-nio-8892-exec-21] [1806616084919508993] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@17897f0c (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 17:10:14.611 WARN [http-nio-8892-exec-22] [1806616084848205828] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@5bf03650 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 17:10:14.611 WARN [http-nio-8892-exec-20] [1806616084848205827] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@3c28cc5b (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 17:10:14.614 WARN [http-nio-8892-exec-21] [1806616084919508993] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@6a00a370 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 17:10:14.614 WARN [http-nio-8892-exec-22] [1806616084848205828] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@68ee3a5f (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 17:10:14.614 WARN [http-nio-8892-exec-20] [1806616084848205827] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@2cde6736 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 17:11:28.051 INFO [lettuce-nioEventLoop-4-8] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-28 17:11:28.136 INFO [lettuce-eventExecutorLoop-1-2] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was /127.0.0.1:6379 +2024-06-28 17:11:28.137 INFO [lettuce-nioEventLoop-4-1] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to 127.0.0.1:6379 +2024-06-28 17:12:34.032 INFO [lettuce-nioEventLoop-4-1] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-28 17:12:34.036 INFO [lettuce-eventExecutorLoop-1-5] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was /127.0.0.1:6379 +2024-06-28 17:12:34.037 INFO [lettuce-nioEventLoop-4-2] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to 127.0.0.1:6379 +2024-06-28 17:13:40.089 INFO [lettuce-nioEventLoop-4-2] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-28 17:13:40.137 INFO [lettuce-eventExecutorLoop-1-3] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was /127.0.0.1:6379 +2024-06-28 17:13:40.138 INFO [lettuce-nioEventLoop-4-3] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to 127.0.0.1:6379 +2024-06-28 17:14:46.024 INFO [lettuce-nioEventLoop-4-3] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-28 17:14:46.096 INFO [lettuce-eventExecutorLoop-1-7] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was /127.0.0.1:6379 +2024-06-28 17:14:46.099 INFO [lettuce-nioEventLoop-4-4] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to 127.0.0.1:6379 +2024-06-28 17:15:52.016 INFO [lettuce-nioEventLoop-4-4] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-28 17:15:52.041 INFO [lettuce-eventExecutorLoop-1-2] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was /127.0.0.1:6379 +2024-06-28 17:15:52.042 INFO [lettuce-nioEventLoop-4-5] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to 127.0.0.1:6379 +2024-06-28 17:16:58.075 INFO [lettuce-nioEventLoop-4-5] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-28 17:16:58.138 INFO [lettuce-eventExecutorLoop-1-5] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was /127.0.0.1:6379 +2024-06-28 17:16:58.139 INFO [lettuce-nioEventLoop-4-6] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to 127.0.0.1:6379 +2024-06-28 17:17:41.236 WARN [http-nio-8892-exec-27] [1806617958171172869] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@62eb0cea (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 17:17:41.236 WARN [http-nio-8892-exec-28] [1806617958171172867] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@71a510bc (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 17:17:41.238 WARN [http-nio-8892-exec-27] [1806617958171172869] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@ced426c (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 17:17:41.238 WARN [http-nio-8892-exec-28] [1806617958171172867] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@5d5eb667 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 17:17:41.238 WARN [http-nio-8892-exec-26] [1806617958171172868] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@4a0ef261 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 17:17:41.240 WARN [http-nio-8892-exec-27] [1806617958171172869] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@43a541a6 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 17:17:41.240 WARN [http-nio-8892-exec-26] [1806617958171172868] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@14d3fe17 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 17:17:41.240 WARN [http-nio-8892-exec-28] [1806617958171172867] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@1214b699 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 17:17:41.241 WARN [http-nio-8892-exec-27] [1806617958171172869] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@75add981 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 17:17:41.241 WARN [http-nio-8892-exec-26] [1806617958171172868] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@77ff08f1 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 17:18:54.099 INFO [lettuce-nioEventLoop-4-6] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-28 17:18:54.137 INFO [lettuce-eventExecutorLoop-1-2] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was /127.0.0.1:6379 +2024-06-28 17:18:54.138 INFO [lettuce-nioEventLoop-4-7] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to 127.0.0.1:6379 +2024-06-28 17:20:00.042 INFO [lettuce-nioEventLoop-4-7] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-28 17:20:00.136 INFO [lettuce-eventExecutorLoop-1-5] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was /127.0.0.1:6379 +2024-06-28 17:20:00.137 INFO [lettuce-nioEventLoop-4-8] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to 127.0.0.1:6379 +2024-06-28 17:20:13.837 WARN [http-nio-8892-exec-6] [1806618598251323394] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@65ce2770 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 17:20:13.838 WARN [http-nio-8892-exec-6] [1806618598251323394] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@60cb8778 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 17:20:13.839 WARN [http-nio-8892-exec-6] [1806618598251323394] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@660621a2 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 17:20:13.840 WARN [http-nio-8892-exec-6] [1806618598251323394] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@4516be61 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 17:20:13.841 WARN [http-nio-8892-exec-6] [1806618598251323394] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@6c5f1352 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 17:20:13.842 WARN [http-nio-8892-exec-6] [1806618598251323394] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@2163de80 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 17:20:13.843 WARN [http-nio-8892-exec-6] [1806618598251323394] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@6c599c79 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 17:20:13.845 WARN [http-nio-8892-exec-6] [1806618598251323394] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@1cccc225 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 17:20:13.846 WARN [http-nio-8892-exec-6] [1806618598251323394] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@81d876d (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 17:20:13.848 WARN [http-nio-8892-exec-6] [1806618598251323394] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@3735cf30 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 17:21:23.055 INFO [lettuce-nioEventLoop-4-8] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-28 17:21:23.136 INFO [lettuce-eventExecutorLoop-1-5] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was /127.0.0.1:6379 +2024-06-28 17:21:23.137 INFO [lettuce-nioEventLoop-4-1] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to 127.0.0.1:6379 +2024-06-28 17:22:29.040 INFO [lettuce-nioEventLoop-4-1] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-28 17:22:29.136 INFO [lettuce-eventExecutorLoop-1-3] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was /127.0.0.1:6379 +2024-06-28 17:22:29.137 INFO [lettuce-nioEventLoop-4-2] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to 127.0.0.1:6379 +2024-06-28 17:23:35.108 INFO [lettuce-nioEventLoop-4-2] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-28 17:23:35.140 INFO [lettuce-eventExecutorLoop-1-7] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was /127.0.0.1:6379 +2024-06-28 17:23:35.141 INFO [lettuce-nioEventLoop-4-3] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to 127.0.0.1:6379 +2024-06-28 17:24:41.033 INFO [lettuce-nioEventLoop-4-3] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-28 17:24:41.036 INFO [lettuce-eventExecutorLoop-1-2] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was /127.0.0.1:6379 +2024-06-28 17:24:41.037 INFO [lettuce-nioEventLoop-4-4] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to 127.0.0.1:6379 +2024-06-28 17:25:20.001 WARN [http-nio-8892-exec-3] [1806619882392018945] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@6d8802d1 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 17:25:20.002 WARN [http-nio-8892-exec-3] [1806619882392018945] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@6b558f85 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 17:25:20.004 WARN [http-nio-8892-exec-3] [1806619882392018945] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@2ecfa0b0 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 17:25:20.005 WARN [http-nio-8892-exec-3] [1806619882392018945] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@31db697b (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 17:25:20.006 WARN [http-nio-8892-exec-3] [1806619882392018945] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@155b4591 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 17:25:20.007 WARN [http-nio-8892-exec-3] [1806619882392018945] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@1574cbf3 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 17:25:20.010 WARN [http-nio-8892-exec-3] [1806619882392018945] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@46ed23cd (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 17:25:20.012 WARN [http-nio-8892-exec-3] [1806619882392018945] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@2c170ada (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 17:25:20.013 WARN [http-nio-8892-exec-3] [1806619882392018945] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@63afb504 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 17:25:20.014 WARN [http-nio-8892-exec-3] [1806619882392018945] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@5037d1d1 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 17:26:45.030 INFO [lettuce-nioEventLoop-4-4] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-28 17:26:45.037 INFO [lettuce-eventExecutorLoop-1-1] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was /127.0.0.1:6379 +2024-06-28 17:26:45.038 INFO [lettuce-nioEventLoop-4-5] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to 127.0.0.1:6379 +2024-06-28 17:30:13.083 INFO [lettuce-nioEventLoop-4-5] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-28 17:30:13.146 INFO [lettuce-eventExecutorLoop-1-2] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was /127.0.0.1:6379 +2024-06-28 17:30:13.147 INFO [lettuce-nioEventLoop-4-6] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to 127.0.0.1:6379 +2024-06-28 17:32:19.004 INFO [lettuce-nioEventLoop-4-6] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-28 17:32:19.036 INFO [lettuce-eventExecutorLoop-1-1] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was /127.0.0.1:6379 +2024-06-28 17:32:19.037 INFO [lettuce-nioEventLoop-4-7] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to 127.0.0.1:6379 +2024-06-28 17:33:25.075 INFO [lettuce-nioEventLoop-4-7] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-28 17:33:25.137 INFO [lettuce-eventExecutorLoop-1-4] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was /127.0.0.1:6379 +2024-06-28 17:33:25.138 INFO [lettuce-nioEventLoop-4-8] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to 127.0.0.1:6379 +2024-06-28 17:34:31.083 INFO [lettuce-nioEventLoop-4-8] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-28 17:34:31.146 INFO [lettuce-eventExecutorLoop-1-6] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was /127.0.0.1:6379 +2024-06-28 17:34:31.147 INFO [lettuce-nioEventLoop-4-1] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to 127.0.0.1:6379 +2024-06-28 17:35:37.014 INFO [lettuce-nioEventLoop-4-1] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-28 17:35:37.045 INFO [lettuce-eventExecutorLoop-1-8] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was /127.0.0.1:6379 +2024-06-28 17:35:37.046 INFO [lettuce-nioEventLoop-4-2] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to 127.0.0.1:6379 +2024-06-28 17:36:33.109 WARN [http-nio-8892-exec-4] [1806622705578041346] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@6faa91e1 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 17:36:33.113 WARN [http-nio-8892-exec-4] [1806622705578041346] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@6b3ef7ac (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 17:36:33.115 WARN [http-nio-8892-exec-4] [1806622705578041346] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@448bdb7f (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 17:36:33.116 WARN [http-nio-8892-exec-4] [1806622705578041346] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@df73518 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 17:36:33.119 WARN [http-nio-8892-exec-4] [1806622705578041346] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@53368fa9 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 17:36:33.120 WARN [http-nio-8892-exec-4] [1806622705578041346] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@22e75289 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 17:36:33.121 WARN [http-nio-8892-exec-4] [1806622705578041346] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@38ad2589 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 17:36:33.123 WARN [http-nio-8892-exec-4] [1806622705578041346] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@cc68871 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 17:36:33.124 WARN [http-nio-8892-exec-4] [1806622705578041346] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@6b6a0587 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 17:36:33.125 WARN [http-nio-8892-exec-4] [1806622705578041346] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@73017179 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 17:37:40.103 INFO [lettuce-nioEventLoop-4-2] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-28 17:37:40.138 INFO [lettuce-eventExecutorLoop-1-8] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was /127.0.0.1:6379 +2024-06-28 17:37:40.139 INFO [lettuce-nioEventLoop-4-3] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to 127.0.0.1:6379 +2024-06-28 17:38:46.054 INFO [lettuce-nioEventLoop-4-3] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-28 17:38:46.137 INFO [lettuce-eventExecutorLoop-1-1] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was /127.0.0.1:6379 +2024-06-28 17:38:46.138 INFO [lettuce-nioEventLoop-4-4] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to 127.0.0.1:6379 +2024-06-28 17:39:52.056 INFO [lettuce-nioEventLoop-4-4] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-28 17:39:52.137 INFO [lettuce-eventExecutorLoop-1-4] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was /127.0.0.1:6379 +2024-06-28 17:39:52.138 INFO [lettuce-nioEventLoop-4-5] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to 127.0.0.1:6379 +2024-06-28 17:40:58.050 INFO [lettuce-nioEventLoop-4-5] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-28 17:40:58.145 INFO [lettuce-eventExecutorLoop-1-6] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was /127.0.0.1:6379 +2024-06-28 17:40:58.146 INFO [lettuce-nioEventLoop-4-6] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to 127.0.0.1:6379 +2024-06-28 17:42:04.103 INFO [lettuce-nioEventLoop-4-6] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-28 17:42:04.137 INFO [lettuce-eventExecutorLoop-1-8] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was /127.0.0.1:6379 +2024-06-28 17:42:04.138 INFO [lettuce-nioEventLoop-4-7] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to 127.0.0.1:6379 +2024-06-28 17:43:10.007 INFO [lettuce-nioEventLoop-4-7] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-28 17:43:10.036 INFO [lettuce-eventExecutorLoop-1-1] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was /127.0.0.1:6379 +2024-06-28 17:43:10.039 INFO [lettuce-nioEventLoop-4-8] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to 127.0.0.1:6379 +2024-06-28 17:44:16.108 INFO [lettuce-nioEventLoop-4-8] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-28 17:44:16.140 INFO [lettuce-eventExecutorLoop-1-4] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was /127.0.0.1:6379 +2024-06-28 17:44:16.140 INFO [lettuce-nioEventLoop-4-1] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to 127.0.0.1:6379 +2024-06-28 17:44:29.948 ERROR [http-nio-8892-exec-9] [] n.jjjerp.handler.GlobalExceptionHandler 233 : 异常来源:ip: 192.168.31.226, path: /api/admin/setting/basic/supplier/add +2024-06-28 17:44:29.948 ERROR [http-nio-8892-exec-9] [] n.jjjerp.handler.GlobalExceptionHandler 56 : errorCode: 5001, errorMessage: 请求参数校验异常:["期初应付不能为空","欠款不能为空"] +2024-06-28 17:45:35.067 INFO [lettuce-nioEventLoop-4-1] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-28 17:45:35.147 INFO [lettuce-eventExecutorLoop-1-7] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was /127.0.0.1:6379 +2024-06-28 17:45:35.147 INFO [lettuce-nioEventLoop-4-2] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to 127.0.0.1:6379 +2024-06-28 17:46:41.017 INFO [lettuce-nioEventLoop-4-2] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-28 17:46:41.037 INFO [lettuce-eventExecutorLoop-1-2] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was /127.0.0.1:6379 +2024-06-28 17:46:41.038 INFO [lettuce-nioEventLoop-4-3] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to 127.0.0.1:6379 +2024-06-28 17:47:47.094 INFO [lettuce-nioEventLoop-4-3] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-28 17:47:47.141 INFO [lettuce-eventExecutorLoop-1-5] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was /127.0.0.1:6379 +2024-06-28 17:47:47.142 INFO [lettuce-nioEventLoop-4-4] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to 127.0.0.1:6379 +2024-06-28 17:48:53.049 INFO [lettuce-nioEventLoop-4-4] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-28 17:48:53.141 INFO [lettuce-eventExecutorLoop-1-3] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was /127.0.0.1:6379 +2024-06-28 17:48:53.142 INFO [lettuce-nioEventLoop-4-5] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to 127.0.0.1:6379 +2024-06-28 17:49:59.062 INFO [lettuce-nioEventLoop-4-5] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-28 17:49:59.142 INFO [lettuce-eventExecutorLoop-1-7] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was /127.0.0.1:6379 +2024-06-28 17:49:59.143 INFO [lettuce-nioEventLoop-4-6] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to 127.0.0.1:6379 +2024-06-28 17:51:05.002 INFO [lettuce-nioEventLoop-4-6] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-28 17:51:05.038 INFO [lettuce-eventExecutorLoop-1-2] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was /127.0.0.1:6379 +2024-06-28 17:51:05.039 INFO [lettuce-nioEventLoop-4-7] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to 127.0.0.1:6379 +2024-06-28 17:52:11.002 INFO [lettuce-nioEventLoop-4-7] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-28 17:52:11.036 INFO [lettuce-eventExecutorLoop-1-5] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was /127.0.0.1:6379 +2024-06-28 17:52:11.037 INFO [lettuce-nioEventLoop-4-8] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to 127.0.0.1:6379 +2024-06-28 17:53:17.046 INFO [lettuce-nioEventLoop-4-8] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-28 17:53:17.140 INFO [lettuce-eventExecutorLoop-1-3] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was /127.0.0.1:6379 +2024-06-28 17:53:17.141 INFO [lettuce-nioEventLoop-4-1] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to 127.0.0.1:6379 +2024-06-28 17:53:53.440 WARN [http-nio-8892-exec-5] [1806627069067681793] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@1a6c12d6 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 17:53:53.442 WARN [http-nio-8892-exec-5] [1806627069067681793] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@d71b7a1 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 17:53:53.444 WARN [http-nio-8892-exec-5] [1806627069067681793] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@2c08fbcc (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 17:53:53.447 WARN [http-nio-8892-exec-5] [1806627069067681793] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@5b94ddc9 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 17:53:53.449 WARN [http-nio-8892-exec-5] [1806627069067681793] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@2a5ea725 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 17:53:53.450 WARN [http-nio-8892-exec-5] [1806627069067681793] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@2a92d170 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 17:53:53.451 WARN [http-nio-8892-exec-5] [1806627069067681793] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@41af9975 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 17:53:53.452 WARN [http-nio-8892-exec-5] [1806627069067681793] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@3c286e1c (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 17:53:53.453 WARN [http-nio-8892-exec-5] [1806627069067681793] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@63908133 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 17:53:53.454 WARN [http-nio-8892-exec-5] [1806627069067681793] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@5f35d560 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 17:55:44.047 INFO [lettuce-nioEventLoop-4-1] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-28 17:55:44.141 INFO [lettuce-eventExecutorLoop-1-3] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was /127.0.0.1:6379 +2024-06-28 17:55:44.142 INFO [lettuce-nioEventLoop-4-2] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to 127.0.0.1:6379 +2024-06-28 17:56:50.045 INFO [lettuce-nioEventLoop-4-2] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-28 17:56:50.125 INFO [lettuce-eventExecutorLoop-1-7] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was /127.0.0.1:6379 +2024-06-28 17:56:50.125 INFO [lettuce-nioEventLoop-4-3] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to 127.0.0.1:6379 +2024-06-28 17:57:56.040 INFO [lettuce-nioEventLoop-4-3] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-28 17:57:56.106 INFO [lettuce-eventExecutorLoop-1-2] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was /127.0.0.1:6379 +2024-06-28 17:57:56.107 INFO [lettuce-nioEventLoop-4-4] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to 127.0.0.1:6379 +2024-06-28 17:59:02.057 INFO [lettuce-nioEventLoop-4-4] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-28 17:59:02.091 INFO [lettuce-eventExecutorLoop-1-5] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was /127.0.0.1:6379 +2024-06-28 17:59:02.092 INFO [lettuce-nioEventLoop-4-5] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to 127.0.0.1:6379 +2024-06-28 18:00:08.099 INFO [lettuce-nioEventLoop-4-5] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-28 18:00:08.176 INFO [lettuce-eventExecutorLoop-1-3] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was /127.0.0.1:6379 +2024-06-28 18:00:08.177 INFO [lettuce-nioEventLoop-4-6] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to 127.0.0.1:6379 +2024-06-28 18:01:14.106 INFO [lettuce-nioEventLoop-4-6] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-28 18:01:14.160 INFO [lettuce-eventExecutorLoop-1-7] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was /127.0.0.1:6379 +2024-06-28 18:01:14.162 INFO [lettuce-nioEventLoop-4-7] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to 127.0.0.1:6379 +2024-06-28 18:02:20.080 INFO [lettuce-nioEventLoop-4-7] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-28 18:02:20.145 INFO [lettuce-eventExecutorLoop-1-2] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was /127.0.0.1:6379 +2024-06-28 18:02:20.146 INFO [lettuce-nioEventLoop-4-8] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to 127.0.0.1:6379 +2024-06-28 18:03:26.048 INFO [lettuce-nioEventLoop-4-8] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-28 18:03:26.144 INFO [lettuce-eventExecutorLoop-1-5] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was /127.0.0.1:6379 +2024-06-28 18:03:26.146 INFO [lettuce-nioEventLoop-4-1] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to 127.0.0.1:6379 +2024-06-28 18:04:32.006 INFO [lettuce-nioEventLoop-4-1] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-28 18:04:32.022 INFO [lettuce-eventExecutorLoop-1-3] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was /127.0.0.1:6379 +2024-06-28 18:04:32.023 INFO [lettuce-nioEventLoop-4-2] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to 127.0.0.1:6379 +2024-06-28 18:05:38.008 INFO [lettuce-nioEventLoop-4-2] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-28 18:05:38.103 INFO [lettuce-eventExecutorLoop-1-7] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was /127.0.0.1:6379 +2024-06-28 18:05:38.104 INFO [lettuce-nioEventLoop-4-3] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to 127.0.0.1:6379 +2024-06-28 18:06:44.053 INFO [lettuce-nioEventLoop-4-3] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-28 18:06:44.084 INFO [lettuce-eventExecutorLoop-1-2] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was /127.0.0.1:6379 +2024-06-28 18:06:44.085 INFO [lettuce-nioEventLoop-4-4] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to 127.0.0.1:6379 +2024-06-28 18:07:50.027 INFO [lettuce-nioEventLoop-4-4] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-28 18:07:50.075 INFO [lettuce-eventExecutorLoop-1-5] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was /127.0.0.1:6379 +2024-06-28 18:07:50.077 INFO [lettuce-nioEventLoop-4-5] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to 127.0.0.1:6379 +2024-06-28 18:08:56.011 INFO [lettuce-nioEventLoop-4-5] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-28 18:08:56.057 INFO [lettuce-eventExecutorLoop-1-3] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was /127.0.0.1:6379 +2024-06-28 18:08:56.058 INFO [lettuce-nioEventLoop-4-6] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to 127.0.0.1:6379 +2024-06-28 18:10:02.103 INFO [lettuce-nioEventLoop-4-6] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-28 18:10:02.138 INFO [lettuce-eventExecutorLoop-1-7] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was /127.0.0.1:6379 +2024-06-28 18:10:02.139 INFO [lettuce-nioEventLoop-4-7] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to 127.0.0.1:6379 +2024-06-28 18:11:08.100 INFO [lettuce-nioEventLoop-4-7] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-28 18:11:08.155 INFO [lettuce-eventExecutorLoop-1-2] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was /127.0.0.1:6379 +2024-06-28 18:11:08.157 INFO [lettuce-nioEventLoop-4-8] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to 127.0.0.1:6379 +2024-06-28 18:12:14.090 INFO [lettuce-nioEventLoop-4-8] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-28 18:12:14.109 INFO [lettuce-eventExecutorLoop-1-5] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was /127.0.0.1:6379 +2024-06-28 18:12:14.110 INFO [lettuce-nioEventLoop-4-1] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to 127.0.0.1:6379 +2024-06-28 18:13:20.101 INFO [lettuce-nioEventLoop-4-1] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-28 18:13:20.197 INFO [lettuce-eventExecutorLoop-1-3] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was /127.0.0.1:6379 +2024-06-28 18:13:20.197 INFO [lettuce-nioEventLoop-4-2] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to 127.0.0.1:6379 +2024-06-28 18:14:26.045 INFO [lettuce-nioEventLoop-4-2] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-28 18:14:26.085 INFO [lettuce-eventExecutorLoop-1-7] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was /127.0.0.1:6379 +2024-06-28 18:14:26.086 INFO [lettuce-nioEventLoop-4-3] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to 127.0.0.1:6379 +2024-06-28 18:15:32.065 INFO [lettuce-nioEventLoop-4-3] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-28 18:15:32.080 INFO [lettuce-eventExecutorLoop-1-2] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was /127.0.0.1:6379 +2024-06-28 18:15:32.081 INFO [lettuce-nioEventLoop-4-4] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to 127.0.0.1:6379 +2024-06-28 18:16:38.085 INFO [lettuce-nioEventLoop-4-4] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-28 18:16:38.163 INFO [lettuce-eventExecutorLoop-1-5] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was /127.0.0.1:6379 +2024-06-28 18:16:38.164 INFO [lettuce-nioEventLoop-4-5] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to 127.0.0.1:6379 +2024-06-28 18:17:44.108 INFO [lettuce-nioEventLoop-4-5] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-28 18:17:44.156 INFO [lettuce-eventExecutorLoop-1-3] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was /127.0.0.1:6379 +2024-06-28 18:17:44.157 INFO [lettuce-nioEventLoop-4-6] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to 127.0.0.1:6379 +2024-06-28 18:18:50.042 INFO [lettuce-nioEventLoop-4-6] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-28 18:18:50.140 INFO [lettuce-eventExecutorLoop-1-7] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was /127.0.0.1:6379 +2024-06-28 18:18:50.141 INFO [lettuce-nioEventLoop-4-7] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to 127.0.0.1:6379 +2024-06-28 18:19:56.069 INFO [lettuce-nioEventLoop-4-7] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-28 18:19:56.132 INFO [lettuce-eventExecutorLoop-1-2] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was /127.0.0.1:6379 +2024-06-28 18:19:56.133 INFO [lettuce-nioEventLoop-4-8] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to 127.0.0.1:6379 +2024-06-28 18:21:02.062 INFO [lettuce-nioEventLoop-4-8] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-28 18:21:02.124 INFO [lettuce-eventExecutorLoop-1-5] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was /127.0.0.1:6379 +2024-06-28 18:21:02.125 INFO [lettuce-nioEventLoop-4-1] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to 127.0.0.1:6379 +2024-06-28 18:22:08.019 INFO [lettuce-nioEventLoop-4-1] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-28 18:22:08.142 INFO [lettuce-eventExecutorLoop-1-3] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was /127.0.0.1:6379 +2024-06-28 18:22:08.143 INFO [lettuce-nioEventLoop-4-2] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to 127.0.0.1:6379 +2024-06-28 18:23:14.004 INFO [lettuce-nioEventLoop-4-2] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-28 18:23:14.188 INFO [lettuce-eventExecutorLoop-1-7] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was /127.0.0.1:6379 +2024-06-28 18:23:14.190 INFO [lettuce-nioEventLoop-4-3] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to 127.0.0.1:6379 +2024-06-28 18:24:20.087 INFO [lettuce-nioEventLoop-4-3] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-28 18:24:20.200 INFO [lettuce-eventExecutorLoop-1-2] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was /127.0.0.1:6379 +2024-06-28 18:24:20.201 INFO [lettuce-nioEventLoop-4-4] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to 127.0.0.1:6379 +2024-06-28 18:25:26.179 INFO [lettuce-nioEventLoop-4-4] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-28 18:25:26.287 INFO [lettuce-eventExecutorLoop-1-5] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was /127.0.0.1:6379 +2024-06-28 18:25:26.289 INFO [lettuce-nioEventLoop-4-5] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to 127.0.0.1:6379 +2024-06-28 18:26:32.049 INFO [lettuce-nioEventLoop-4-5] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-28 18:26:32.072 INFO [lettuce-eventExecutorLoop-1-3] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was /127.0.0.1:6379 +2024-06-28 18:26:32.074 INFO [lettuce-nioEventLoop-4-6] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to 127.0.0.1:6379 +2024-06-28 18:28:00.088 INFO [lettuce-nioEventLoop-4-6] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-28 18:28:00.152 INFO [lettuce-eventExecutorLoop-1-8] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was /127.0.0.1:6379 +2024-06-28 18:28:00.153 INFO [lettuce-nioEventLoop-4-7] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to 127.0.0.1:6379 +2024-06-28 18:29:06.050 INFO [lettuce-nioEventLoop-4-7] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-28 18:29:06.139 INFO [lettuce-eventExecutorLoop-1-1] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was /127.0.0.1:6379 +2024-06-28 18:29:06.251 INFO [lettuce-nioEventLoop-4-8] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to 127.0.0.1:6379 +2024-06-28 18:30:12.086 INFO [lettuce-nioEventLoop-4-8] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-28 18:30:12.133 INFO [lettuce-eventExecutorLoop-1-4] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was /127.0.0.1:6379 +2024-06-28 18:30:12.134 INFO [lettuce-nioEventLoop-4-1] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to 127.0.0.1:6379 +2024-06-28 18:31:18.011 INFO [lettuce-nioEventLoop-4-1] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-28 18:31:18.025 INFO [lettuce-eventExecutorLoop-1-6] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was /127.0.0.1:6379 +2024-06-28 18:31:18.027 INFO [lettuce-nioEventLoop-4-2] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to 127.0.0.1:6379 +2024-06-28 18:32:24.101 INFO [lettuce-nioEventLoop-4-2] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-28 18:32:24.117 INFO [lettuce-eventExecutorLoop-1-8] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was /127.0.0.1:6379 +2024-06-28 18:32:24.118 INFO [lettuce-nioEventLoop-4-3] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to 127.0.0.1:6379 +2024-06-28 18:33:30.094 INFO [lettuce-nioEventLoop-4-3] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-28 18:33:30.110 INFO [lettuce-eventExecutorLoop-1-1] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was /127.0.0.1:6379 +2024-06-28 18:33:30.111 INFO [lettuce-nioEventLoop-4-4] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to 127.0.0.1:6379 +2024-06-28 18:34:36.825 WARN [http-nio-8892-exec-16] [1806637317362966529] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@76b3e713 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 18:34:36.854 WARN [http-nio-8892-exec-16] [1806637317362966529] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@677c285e (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 18:34:36.855 WARN [http-nio-8892-exec-16] [1806637317362966529] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@3cba6920 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 18:34:36.855 WARN [http-nio-8892-exec-16] [1806637317362966529] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@55589adb (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 18:34:36.856 WARN [http-nio-8892-exec-16] [1806637317362966529] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@316c92e5 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 18:34:36.857 WARN [http-nio-8892-exec-16] [1806637317362966529] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@3754624e (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 18:34:36.858 WARN [http-nio-8892-exec-16] [1806637317362966529] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@5848eeed (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 18:34:36.859 WARN [http-nio-8892-exec-16] [1806637317362966529] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@4957297d (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 18:34:36.859 WARN [http-nio-8892-exec-16] [1806637317362966529] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@1c797108 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 18:34:36.860 WARN [http-nio-8892-exec-16] [1806637317362966529] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@82b26db (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 18:35:52.004 INFO [lettuce-nioEventLoop-4-4] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-28 18:35:52.104 INFO [lettuce-eventExecutorLoop-1-6] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was /127.0.0.1:6379 +2024-06-28 18:35:52.106 INFO [lettuce-nioEventLoop-4-5] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to 127.0.0.1:6379 +2024-06-28 18:37:54.052 INFO [lettuce-nioEventLoop-4-5] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-28 18:37:54.102 INFO [lettuce-eventExecutorLoop-1-3] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was /127.0.0.1:6379 +2024-06-28 18:37:54.103 INFO [lettuce-nioEventLoop-4-6] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to 127.0.0.1:6379 +2024-06-28 18:40:27.132 WARN [http-nio-8892-exec-20] [1806638786686377986] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@676741e8 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 18:40:27.134 WARN [http-nio-8892-exec-20] [1806638786686377986] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@2a3d6b8f (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 18:40:27.135 WARN [http-nio-8892-exec-20] [1806638786686377986] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@4741768d (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 18:40:27.136 WARN [http-nio-8892-exec-20] [1806638786686377986] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@1d4c1875 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 18:40:27.137 WARN [http-nio-8892-exec-20] [1806638786686377986] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@113787dc (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 18:40:27.178 WARN [http-nio-8892-exec-20] [1806638786686377986] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@5097e766 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 18:40:27.183 WARN [http-nio-8892-exec-20] [1806638786686377986] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@1c2e06e7 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 18:40:27.186 WARN [http-nio-8892-exec-20] [1806638786686377986] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@615c3aa7 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 18:40:27.188 WARN [http-nio-8892-exec-20] [1806638786686377986] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@4c784837 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 18:40:27.189 WARN [http-nio-8892-exec-20] [1806638786686377986] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@233b2a09 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-28 18:41:36.079 INFO [lettuce-nioEventLoop-4-6] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-28 18:41:36.168 INFO [lettuce-eventExecutorLoop-1-1] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was /127.0.0.1:6379 +2024-06-28 18:41:36.169 INFO [lettuce-nioEventLoop-4-7] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to 127.0.0.1:6379 +2024-06-28 18:41:48.802 INFO [SpringContextShutdownHook] [] net.jjjerp.framework.core.xss.XssFilter 30 : XssFilter destroy +2024-06-28 18:41:48.803 INFO [SpringContextShutdownHook] [] n.j.f.core.filter.RequestDetailFilter 116 : RequestDetailFilter destroy +2024-06-28 18:41:48.829 INFO [SpringContextShutdownHook] [] o.s.s.c.ThreadPoolTaskScheduler 218 : Shutting down ExecutorService 'taskScheduler' +2024-06-28 18:41:48.831 INFO [SpringContextShutdownHook] [] o.s.s.concurrent.ThreadPoolTaskExecutor 218 : Shutting down ExecutorService 'applicationTaskExecutor' +2024-06-28 18:41:48.838 INFO [SpringContextShutdownHook] [] com.zaxxer.hikari.HikariDataSource 350 : HikariPool-1 - Shutdown initiated... +2024-06-28 18:41:48.892 INFO [SpringContextShutdownHook] [] com.zaxxer.hikari.HikariDataSource 352 : HikariPool-1 - Shutdown completed. diff --git a/jjj_erp/logs/spring-boot-jjj-error-2024-06-25.0.log b/jjj_erp/logs/spring-boot-jjj-error-2024-06-25.0.log new file mode 100644 index 0000000..daed746 --- /dev/null +++ b/jjj_erp/logs/spring-boot-jjj-error-2024-06-25.0.log @@ -0,0 +1,1387 @@ +2024-06-25 15:09:11.290 ERROR [http-nio-8892-exec-27] [] n.jjjerp.framework.shiro.jwt.JwtFilter 138 : 访问错误 + +org.apache.shiro.authc.AuthenticationException: JWT Token已过期,token:eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhdWQiOiJ3ZWIiLCJpc3MiOiJzcHJpbmctYm9vdC1qamoiLCJleHAiOjE3MTE4MDMwMDUsImlhdCI6MTcxMTc2NzAwNSwianRpIjoiOTcyYWVhMjJmYmNlNDYxMTk3MzMzNDk4NjBjNzYwNjUiLCJ1c2VybmFtZSI6IjE5MyJ9.V7trSQxXq8pvxRFFP0lKhUDhlkZXRC325EnWiyerdP8 + at net.jjjerp.framework.shiro.jwt.JwtFilter.createToken(JwtFilter.java:67) + at org.apache.shiro.web.filter.authc.AuthenticatingFilter.executeLogin(AuthenticatingFilter.java:45) + at net.jjjerp.framework.shiro.jwt.JwtFilter.isAccessAllowed(JwtFilter.java:134) + at org.apache.shiro.web.filter.AccessControlFilter.onPreHandle(AccessControlFilter.java:162) + at org.apache.shiro.web.filter.PathMatchingFilter.isFilterChainContinued(PathMatchingFilter.java:214) + at org.apache.shiro.web.filter.PathMatchingFilter.preHandle(PathMatchingFilter.java:189) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:131) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) + +2024-06-25 15:09:11.290 ERROR [http-nio-8892-exec-27] [] n.jjjerp.framework.shiro.jwt.JwtFilter 111 : onAccessDenied url:/api/shop/statement/market/board/deal +2024-06-25 15:09:35.289 ERROR [http-nio-8892-exec-28] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy402.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-25 15:10:51.099 ERROR [http-nio-8892-exec-29] [] n.jjjerp.handler.GlobalExceptionHandler 233 : 异常来源:ip: 127.0.0.1, path: /api/admin/passport/login +2024-06-25 15:10:51.100 ERROR [http-nio-8892-exec-29] [] n.jjjerp.handler.GlobalExceptionHandler 257 : errorCode: 5000, errorMessage: 系统异常 + +org.apache.catalina.connector.ClientAbortException: java.io.IOException: 你的主机中的软件中止了一个已建立的连接。 + at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:353) + at org.apache.catalina.connector.OutputBuffer.flushByteBuffer(OutputBuffer.java:783) + at org.apache.catalina.connector.OutputBuffer.append(OutputBuffer.java:688) + at org.apache.catalina.connector.OutputBuffer.writeBytes(OutputBuffer.java:388) + at org.apache.catalina.connector.OutputBuffer.write(OutputBuffer.java:366) + at org.apache.catalina.connector.CoyoteOutputStream.write(CoyoteOutputStream.java:96) + at org.springframework.util.StreamUtils$NonClosingOutputStream.write(StreamUtils.java:287) + at com.fasterxml.jackson.core.json.UTF8JsonGenerator._flushBuffer(UTF8JsonGenerator.java:2161) + at com.fasterxml.jackson.core.json.UTF8JsonGenerator.writeNumber(UTF8JsonGenerator.java:952) + at com.fasterxml.jackson.databind.ser.std.NumberSerializers$IntegerSerializer.serialize(NumberSerializers.java:152) + at com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:728) + at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:755) + at com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:178) + at com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serializeContents(IndexedListSerializer.java:119) + at com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serialize(IndexedListSerializer.java:79) + at com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serialize(IndexedListSerializer.java:18) + at com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:728) + at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:755) + at com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:178) + at com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serializeContents(IndexedListSerializer.java:119) + at com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serialize(IndexedListSerializer.java:79) + at com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serialize(IndexedListSerializer.java:18) + at com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:728) + at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:755) + at com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:178) + at com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serializeContents(IndexedListSerializer.java:119) + at com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serialize(IndexedListSerializer.java:79) + at com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serialize(IndexedListSerializer.java:18) + at com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:728) + at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:755) + at com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:178) + at com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serializeContents(IndexedListSerializer.java:119) + at com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serialize(IndexedListSerializer.java:79) + at com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serialize(IndexedListSerializer.java:18) + at com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:728) + at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:755) + at com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:178) + at com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:728) + at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:755) + at com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:178) + at com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:728) + at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:755) + at com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:178) + at com.fasterxml.jackson.databind.ser.DefaultSerializerProvider._serialize(DefaultSerializerProvider.java:480) + at com.fasterxml.jackson.databind.ser.DefaultSerializerProvider.serializeValue(DefaultSerializerProvider.java:319) + at com.fasterxml.jackson.databind.ObjectWriter$Prefetch.serialize(ObjectWriter.java:1516) + at com.fasterxml.jackson.databind.ObjectWriter.writeValue(ObjectWriter.java:1006) + at org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.writeInternal(AbstractJackson2HttpMessageConverter.java:346) + at org.springframework.http.converter.AbstractGenericHttpMessageConverter.write(AbstractGenericHttpMessageConverter.java:104) + at org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodProcessor.writeWithMessageConverters(AbstractMessageConverterMethodProcessor.java:277) + at org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.handleReturnValue(RequestResponseBodyMethodProcessor.java:181) + at org.springframework.web.method.support.HandlerMethodReturnValueHandlerComposite.handleReturnValue(HandlerMethodReturnValueHandlerComposite.java:82) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:123) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:652) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:112) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) + at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: java.io.IOException: 你的主机中的软件中止了一个已建立的连接。 + at sun.nio.ch.SocketDispatcher.write0(Native Method) + at sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:51) + at sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:93) + at sun.nio.ch.IOUtil.write(IOUtil.java:65) + at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:469) + at org.apache.tomcat.util.net.NioChannel.write(NioChannel.java:135) + at org.apache.tomcat.util.net.NioBlockingSelector.write(NioBlockingSelector.java:118) + at org.apache.tomcat.util.net.NioSelectorPool.write(NioSelectorPool.java:151) + at org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.doWrite(NioEndpoint.java:1367) + at org.apache.tomcat.util.net.SocketWrapperBase.doWrite(SocketWrapperBase.java:766) + at org.apache.tomcat.util.net.SocketWrapperBase.writeBlocking(SocketWrapperBase.java:586) + at org.apache.tomcat.util.net.SocketWrapperBase.write(SocketWrapperBase.java:530) + at org.apache.coyote.http11.Http11OutputBuffer$SocketOutputBuffer.doWrite(Http11OutputBuffer.java:546) + at org.apache.coyote.http11.filters.ChunkedOutputFilter.doWrite(ChunkedOutputFilter.java:112) + at org.apache.coyote.http11.Http11OutputBuffer.doWrite(Http11OutputBuffer.java:193) + at org.apache.coyote.Response.doWrite(Response.java:606) + at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:340) + ... 130 common frames omitted + +2024-06-25 15:21:24.859 ERROR [http-nio-8892-exec-30] [] n.jjjerp.framework.shiro.jwt.JwtFilter 138 : 访问错误 + +org.apache.shiro.authc.AuthenticationException: JWT Token已过期,token:eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhdWQiOiJ3ZWIiLCJpc3MiOiJzcHJpbmctYm9vdC1qamoiLCJleHAiOjE3MTE4MDMwMDUsImlhdCI6MTcxMTc2NzAwNSwianRpIjoiOTcyYWVhMjJmYmNlNDYxMTk3MzMzNDk4NjBjNzYwNjUiLCJ1c2VybmFtZSI6IjE5MyJ9.V7trSQxXq8pvxRFFP0lKhUDhlkZXRC325EnWiyerdP8 + at net.jjjerp.framework.shiro.jwt.JwtFilter.createToken(JwtFilter.java:67) + at org.apache.shiro.web.filter.authc.AuthenticatingFilter.executeLogin(AuthenticatingFilter.java:45) + at net.jjjerp.framework.shiro.jwt.JwtFilter.isAccessAllowed(JwtFilter.java:134) + at org.apache.shiro.web.filter.AccessControlFilter.onPreHandle(AccessControlFilter.java:162) + at org.apache.shiro.web.filter.PathMatchingFilter.isFilterChainContinued(PathMatchingFilter.java:214) + at org.apache.shiro.web.filter.PathMatchingFilter.preHandle(PathMatchingFilter.java:189) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:131) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) + +2024-06-25 15:21:24.859 ERROR [http-nio-8892-exec-30] [] n.jjjerp.framework.shiro.jwt.JwtFilter 111 : onAccessDenied url:/api/shop/statement/market/board/deal +2024-06-25 15:21:26.050 ERROR [http-nio-8892-exec-1] [] n.jjjerp.framework.shiro.jwt.JwtFilter 138 : 访问错误 + +org.apache.shiro.authc.AuthenticationException: JWT Token已过期,token:eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhdWQiOiJ3ZWIiLCJpc3MiOiJzcHJpbmctYm9vdC1qamoiLCJleHAiOjE3MTE4MDMwMDUsImlhdCI6MTcxMTc2NzAwNSwianRpIjoiOTcyYWVhMjJmYmNlNDYxMTk3MzMzNDk4NjBjNzYwNjUiLCJ1c2VybmFtZSI6IjE5MyJ9.V7trSQxXq8pvxRFFP0lKhUDhlkZXRC325EnWiyerdP8 + at net.jjjerp.framework.shiro.jwt.JwtFilter.createToken(JwtFilter.java:67) + at org.apache.shiro.web.filter.authc.AuthenticatingFilter.executeLogin(AuthenticatingFilter.java:45) + at net.jjjerp.framework.shiro.jwt.JwtFilter.isAccessAllowed(JwtFilter.java:134) + at org.apache.shiro.web.filter.AccessControlFilter.onPreHandle(AccessControlFilter.java:162) + at org.apache.shiro.web.filter.PathMatchingFilter.isFilterChainContinued(PathMatchingFilter.java:214) + at org.apache.shiro.web.filter.PathMatchingFilter.preHandle(PathMatchingFilter.java:189) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:131) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) + +2024-06-25 15:21:26.051 ERROR [http-nio-8892-exec-1] [] n.jjjerp.framework.shiro.jwt.JwtFilter 111 : onAccessDenied url:/api/shop/statement/market/board/deal +2024-06-25 15:21:38.614 ERROR [http-nio-8892-exec-3] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy402.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-25 16:46:09.567 ERROR [http-nio-8892-exec-8] [] n.jjjerp.framework.shiro.jwt.JwtFilter 138 : 访问错误 + +org.apache.shiro.authc.AuthenticationException: JWT Token已过期,token:eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhdWQiOiJ3ZWIiLCJpc3MiOiJzcHJpbmctYm9vdC1qamoiLCJleHAiOjE3MTE4MDMwMDUsImlhdCI6MTcxMTc2NzAwNSwianRpIjoiOTcyYWVhMjJmYmNlNDYxMTk3MzMzNDk4NjBjNzYwNjUiLCJ1c2VybmFtZSI6IjE5MyJ9.V7trSQxXq8pvxRFFP0lKhUDhlkZXRC325EnWiyerdP8 + at net.jjjerp.framework.shiro.jwt.JwtFilter.createToken(JwtFilter.java:67) + at org.apache.shiro.web.filter.authc.AuthenticatingFilter.executeLogin(AuthenticatingFilter.java:45) + at net.jjjerp.framework.shiro.jwt.JwtFilter.isAccessAllowed(JwtFilter.java:134) + at org.apache.shiro.web.filter.AccessControlFilter.onPreHandle(AccessControlFilter.java:162) + at org.apache.shiro.web.filter.PathMatchingFilter.isFilterChainContinued(PathMatchingFilter.java:214) + at org.apache.shiro.web.filter.PathMatchingFilter.preHandle(PathMatchingFilter.java:189) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:131) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) + +2024-06-25 16:46:09.567 ERROR [http-nio-8892-exec-8] [] n.jjjerp.framework.shiro.jwt.JwtFilter 111 : onAccessDenied url:/api/shop/statement/market/board/deal +2024-06-25 17:05:15.044 ERROR [http-nio-8892-exec-9] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy402.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-25 17:09:57.230 ERROR [http-nio-8892-exec-11] [] n.jjjerp.handler.GlobalExceptionHandler 233 : 异常来源:ip: 192.168.31.226, path: /api/saas/passport/login +2024-06-25 17:09:57.231 ERROR [http-nio-8892-exec-11] [] n.jjjerp.handler.GlobalExceptionHandler 257 : errorCode: 5104, errorMessage: 登录授权异常 + +org.apache.shiro.authc.AuthenticationException: 用户名或密码错误 + at net.jjjerp.saas.service.impl.SaasUserServiceImpl.login(SaasUserServiceImpl.java:72) + at net.jjjerp.saas.service.impl.SaasUserServiceImpl$$FastClassBySpringCGLIB$$1342fc5f.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.saas.service.impl.SaasUserServiceImpl$$EnhancerBySpringCGLIB$$d432b40.login() + at net.jjjerp.saas.controller.PassportController.login(PassportController.java:36) + at net.jjjerp.saas.controller.PassportController$$FastClassBySpringCGLIB$$5ff54396.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.AspectJAfterThrowingAdvice.invoke(AspectJAfterThrowingAdvice.java:62) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:88) + at net.jjjerp.framework.log.aop.BaseLogAop.handle(BaseLogAop.java:303) + at net.jjjerp.aop.LogAop.doAround(LogAop.java:35) + at net.jjjerp.aop.LogAop$$FastClassBySpringCGLIB$$189c4aae.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.aop.LogAop$$EnhancerBySpringCGLIB$$7cf1a3c1.doAround() + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:644) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:633) + at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:95) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at net.jjjerp.saas.controller.PassportController$$EnhancerBySpringCGLIB$$a93a5d29.login() + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:652) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:112) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) + at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) + +2024-06-25 17:18:02.993 ERROR [http-nio-8892-exec-8] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy402.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-25 17:18:03.499 ERROR [http-nio-8892-exec-20] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy402.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-25 18:16:03.333 ERROR [http-nio-8892-exec-18] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy402.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-25 18:16:58.050 ERROR [http-nio-8892-exec-17] [] n.jjjerp.handler.GlobalExceptionHandler 233 : 异常来源:ip: 192.168.31.208, path: /api/admin/statement/market/board/product +2024-06-25 18:16:58.051 ERROR [http-nio-8892-exec-17] [] n.jjjerp.handler.GlobalExceptionHandler 257 : errorCode: 5000, errorMessage: 系统异常 + +org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is java.sql.SQLTransientConnectionException: HikariPool-1 - Connection is not available, request timed out after 30060ms. +### The error may exist in file [D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\target\classes\mapper\bill\BillHeadMapper.xml] +### The error may involve net.jjjerp.admin.mapper.bill.BillHeadMapper.productBoard +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is java.sql.SQLTransientConnectionException: HikariPool-1 - Connection is not available, request timed out after 30060ms. + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:440) + at com.sun.proxy.$Proxy115.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:223) + at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.executeForMany(MybatisMapperMethod.java:173) + at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:78) + at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:148) + at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89) + at com.sun.proxy.$Proxy302.productBoard(Unknown Source) + at sun.reflect.GeneratedMethodAccessor620.invoke(Unknown Source) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:344) + at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:198) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:139) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:212) + at com.sun.proxy.$Proxy303.productBoard(Unknown Source) + at net.jjjerp.admin.service.bill.impl.BillHeadServiceImpl.productBoard(BillHeadServiceImpl.java:783) + at net.jjjerp.admin.service.bill.impl.BillHeadServiceImpl$$FastClassBySpringCGLIB$$62790b2b.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.admin.service.bill.impl.BillHeadServiceImpl$$EnhancerBySpringCGLIB$$4e0ef724.productBoard() + at net.jjjerp.admin.controller.statement.market.BoardController.productBoard(BoardController.java:63) + at net.jjjerp.admin.controller.statement.market.BoardController$$FastClassBySpringCGLIB$$e315f1e.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.AspectJAfterThrowingAdvice.invoke(AspectJAfterThrowingAdvice.java:62) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:88) + at net.jjjerp.framework.log.aop.BaseLogAop.handle(BaseLogAop.java:303) + at net.jjjerp.aop.LogAop.doAround(LogAop.java:35) + at net.jjjerp.aop.LogAop$$FastClassBySpringCGLIB$$189c4aae.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.aop.LogAop$$EnhancerBySpringCGLIB$$7cf1a3c1.doAround() + at sun.reflect.GeneratedMethodAccessor264.invoke(Unknown Source) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:644) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:633) + at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.apache.shiro.spring.security.interceptor.AopAllianceAnnotationsAuthorizingMethodInterceptor$1.proceed(AopAllianceAnnotationsAuthorizingMethodInterceptor.java:82) + at org.apache.shiro.authz.aop.AuthorizingMethodInterceptor.invoke(AuthorizingMethodInterceptor.java:39) + at org.apache.shiro.spring.security.interceptor.AopAllianceAnnotationsAuthorizingMethodInterceptor.invoke(AopAllianceAnnotationsAuthorizingMethodInterceptor.java:115) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:95) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at net.jjjerp.admin.controller.statement.market.BoardController$$EnhancerBySpringCGLIB$$3e9bf466.productBoard() + at sun.reflect.GeneratedMethodAccessor619.invoke(Unknown Source) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:652) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:112) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) + at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is java.sql.SQLTransientConnectionException: HikariPool-1 - Connection is not available, request timed out after 30060ms. +### The error may exist in file [D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\target\classes\mapper\bill\BillHeadMapper.xml] +### The error may involve net.jjjerp.admin.mapper.bill.BillHeadMapper.productBoard +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is java.sql.SQLTransientConnectionException: HikariPool-1 - Connection is not available, request timed out after 30060ms. + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:149) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:140) + at sun.reflect.GeneratedMethodAccessor310.invoke(Unknown Source) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:426) + ... 140 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is java.sql.SQLTransientConnectionException: HikariPool-1 - Connection is not available, request timed out after 30060ms. + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:82) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:337) + at com.baomidou.mybatisplus.core.executor.MybatisSimpleExecutor.prepareStatement(MybatisSimpleExecutor.java:93) + at com.baomidou.mybatisplus.core.executor.MybatisSimpleExecutor.doQuery(MybatisSimpleExecutor.java:68) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:325) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:156) + at com.baomidou.mybatisplus.core.executor.MybatisCachingExecutor.query(MybatisCachingExecutor.java:165) + at com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor.intercept(MybatisPlusInterceptor.java:65) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:61) + at com.sun.proxy.$Proxy405.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + ... 145 common frames omitted +Caused by: java.sql.SQLTransientConnectionException: HikariPool-1 - Connection is not available, request timed out after 30060ms. + at com.zaxxer.hikari.pool.HikariPool.createTimeoutException(HikariPool.java:695) + at com.zaxxer.hikari.pool.HikariPool.getConnection(HikariPool.java:197) + at com.zaxxer.hikari.pool.HikariPool.getConnection(HikariPool.java:162) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:128) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:158) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:116) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:79) + ... 157 common frames omitted +Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: No operations allowed after connection closed. + at sun.reflect.GeneratedConstructorAccessor99.newInstance(Unknown Source) + at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) + at java.lang.reflect.Constructor.newInstance(Constructor.java:423) + at com.mysql.jdbc.Util.handleNewInstance(Util.java:425) + at com.mysql.jdbc.Util.getInstance(Util.java:408) + at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:919) + at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:898) + at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:887) + at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:861) + at com.mysql.jdbc.ConnectionImpl.throwConnectionClosedException(ConnectionImpl.java:1192) + at com.mysql.jdbc.ConnectionImpl.checkClosed(ConnectionImpl.java:1187) + at com.mysql.jdbc.ConnectionImpl.setNetworkTimeout(ConnectionImpl.java:5494) + at com.zaxxer.hikari.pool.PoolBase.setNetworkTimeout(PoolBase.java:560) + at com.zaxxer.hikari.pool.PoolBase.isConnectionAlive(PoolBase.java:173) + at com.zaxxer.hikari.pool.HikariPool.getConnection(HikariPool.java:186) + ... 162 common frames omitted + +2024-06-25 18:31:53.674 ERROR [http-nio-8892-exec-25] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy402.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-25 18:33:58.646 ERROR [http-nio-8892-exec-27] [] n.jjjerp.handler.GlobalExceptionHandler 233 : 异常来源:ip: 192.168.31.208, path: /api/admin/statement/market/board/product +2024-06-25 18:33:58.647 ERROR [http-nio-8892-exec-27] [] n.jjjerp.handler.GlobalExceptionHandler 257 : errorCode: 5000, errorMessage: 系统异常 + +org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is java.sql.SQLTransientConnectionException: HikariPool-1 - Connection is not available, request timed out after 30042ms. +### The error may exist in file [D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\target\classes\mapper\bill\BillHeadMapper.xml] +### The error may involve net.jjjerp.admin.mapper.bill.BillHeadMapper.productBoard +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is java.sql.SQLTransientConnectionException: HikariPool-1 - Connection is not available, request timed out after 30042ms. + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:440) + at com.sun.proxy.$Proxy115.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:223) + at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.executeForMany(MybatisMapperMethod.java:173) + at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:78) + at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:148) + at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89) + at com.sun.proxy.$Proxy302.productBoard(Unknown Source) + at sun.reflect.GeneratedMethodAccessor620.invoke(Unknown Source) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:344) + at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:198) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:139) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:212) + at com.sun.proxy.$Proxy303.productBoard(Unknown Source) + at net.jjjerp.admin.service.bill.impl.BillHeadServiceImpl.productBoard(BillHeadServiceImpl.java:783) + at net.jjjerp.admin.service.bill.impl.BillHeadServiceImpl$$FastClassBySpringCGLIB$$62790b2b.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.admin.service.bill.impl.BillHeadServiceImpl$$EnhancerBySpringCGLIB$$4e0ef724.productBoard() + at net.jjjerp.admin.controller.statement.market.BoardController.productBoard(BoardController.java:63) + at net.jjjerp.admin.controller.statement.market.BoardController$$FastClassBySpringCGLIB$$e315f1e.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.AspectJAfterThrowingAdvice.invoke(AspectJAfterThrowingAdvice.java:62) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:88) + at net.jjjerp.framework.log.aop.BaseLogAop.handle(BaseLogAop.java:303) + at net.jjjerp.aop.LogAop.doAround(LogAop.java:35) + at net.jjjerp.aop.LogAop$$FastClassBySpringCGLIB$$189c4aae.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.aop.LogAop$$EnhancerBySpringCGLIB$$7cf1a3c1.doAround() + at sun.reflect.GeneratedMethodAccessor264.invoke(Unknown Source) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:644) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:633) + at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.apache.shiro.spring.security.interceptor.AopAllianceAnnotationsAuthorizingMethodInterceptor$1.proceed(AopAllianceAnnotationsAuthorizingMethodInterceptor.java:82) + at org.apache.shiro.authz.aop.AuthorizingMethodInterceptor.invoke(AuthorizingMethodInterceptor.java:39) + at org.apache.shiro.spring.security.interceptor.AopAllianceAnnotationsAuthorizingMethodInterceptor.invoke(AopAllianceAnnotationsAuthorizingMethodInterceptor.java:115) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:95) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at net.jjjerp.admin.controller.statement.market.BoardController$$EnhancerBySpringCGLIB$$3e9bf466.productBoard() + at sun.reflect.GeneratedMethodAccessor619.invoke(Unknown Source) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:652) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:112) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) + at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is java.sql.SQLTransientConnectionException: HikariPool-1 - Connection is not available, request timed out after 30042ms. +### The error may exist in file [D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\jjj-admin\target\classes\mapper\bill\BillHeadMapper.xml] +### The error may involve net.jjjerp.admin.mapper.bill.BillHeadMapper.productBoard +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is java.sql.SQLTransientConnectionException: HikariPool-1 - Connection is not available, request timed out after 30042ms. + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:149) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:140) + at sun.reflect.GeneratedMethodAccessor310.invoke(Unknown Source) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:426) + ... 140 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is java.sql.SQLTransientConnectionException: HikariPool-1 - Connection is not available, request timed out after 30042ms. + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:82) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:337) + at com.baomidou.mybatisplus.core.executor.MybatisSimpleExecutor.prepareStatement(MybatisSimpleExecutor.java:93) + at com.baomidou.mybatisplus.core.executor.MybatisSimpleExecutor.doQuery(MybatisSimpleExecutor.java:68) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:325) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:156) + at com.baomidou.mybatisplus.core.executor.MybatisCachingExecutor.query(MybatisCachingExecutor.java:165) + at com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor.intercept(MybatisPlusInterceptor.java:65) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:61) + at com.sun.proxy.$Proxy405.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + ... 145 common frames omitted +Caused by: java.sql.SQLTransientConnectionException: HikariPool-1 - Connection is not available, request timed out after 30042ms. + at com.zaxxer.hikari.pool.HikariPool.createTimeoutException(HikariPool.java:695) + at com.zaxxer.hikari.pool.HikariPool.getConnection(HikariPool.java:197) + at com.zaxxer.hikari.pool.HikariPool.getConnection(HikariPool.java:162) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:128) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:158) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:116) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:79) + ... 157 common frames omitted +Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: No operations allowed after connection closed. + at sun.reflect.GeneratedConstructorAccessor99.newInstance(Unknown Source) + at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) + at java.lang.reflect.Constructor.newInstance(Constructor.java:423) + at com.mysql.jdbc.Util.handleNewInstance(Util.java:425) + at com.mysql.jdbc.Util.getInstance(Util.java:408) + at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:919) + at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:898) + at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:887) + at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:861) + at com.mysql.jdbc.ConnectionImpl.throwConnectionClosedException(ConnectionImpl.java:1192) + at com.mysql.jdbc.ConnectionImpl.checkClosed(ConnectionImpl.java:1187) + at com.mysql.jdbc.ConnectionImpl.setNetworkTimeout(ConnectionImpl.java:5494) + at com.zaxxer.hikari.pool.PoolBase.setNetworkTimeout(PoolBase.java:560) + at com.zaxxer.hikari.pool.PoolBase.isConnectionAlive(PoolBase.java:173) + at com.zaxxer.hikari.pool.HikariPool.getConnection(HikariPool.java:186) + ... 162 common frames omitted + diff --git a/jjj_erp/logs/spring-boot-jjj-error-2024-06-26.0.log b/jjj_erp/logs/spring-boot-jjj-error-2024-06-26.0.log new file mode 100644 index 0000000..945d944 --- /dev/null +++ b/jjj_erp/logs/spring-boot-jjj-error-2024-06-26.0.log @@ -0,0 +1,3224 @@ +2024-06-26 08:37:39.240 ERROR [http-nio-8892-exec-2] [] n.jjjerp.framework.shiro.jwt.JwtFilter 138 : 访问错误 + +org.apache.shiro.authc.AuthenticationException: JWT Token已过期,token:eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhdWQiOiJ3ZWIiLCJpc3MiOiJzcHJpbmctYm9vdC1qamoiLCJleHAiOjE3MTkzNDA5OTIsImlhdCI6MTcxOTMwNDk5MiwianRpIjoiM2YwMTI0MzRmNjYwNGQzYmE1MjU1NmU5NjQ4YzBkY2UiLCJ1c2VybmFtZSI6ImFkbWluIn0.WhAHsD3vo7_u7LYqbtSF2ivwbHeLKOuC7vbvBirJdiU + at net.jjjerp.framework.shiro.jwt.JwtFilter.createToken(JwtFilter.java:67) + at org.apache.shiro.web.filter.authc.AuthenticatingFilter.executeLogin(AuthenticatingFilter.java:45) + at net.jjjerp.framework.shiro.jwt.JwtFilter.isAccessAllowed(JwtFilter.java:134) + at org.apache.shiro.web.filter.AccessControlFilter.onPreHandle(AccessControlFilter.java:162) + at org.apache.shiro.web.filter.PathMatchingFilter.isFilterChainContinued(PathMatchingFilter.java:214) + at org.apache.shiro.web.filter.PathMatchingFilter.preHandle(PathMatchingFilter.java:189) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:131) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) + +2024-06-26 08:37:39.241 ERROR [http-nio-8892-exec-2] [] n.jjjerp.framework.shiro.jwt.JwtFilter 111 : onAccessDenied url:/api/admin/statement/market/board/product +2024-06-26 08:37:39.247 ERROR [http-nio-8892-exec-1] [] n.jjjerp.framework.shiro.jwt.JwtFilter 138 : 访问错误 + +org.apache.shiro.authc.AuthenticationException: JWT Token已过期,token:eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhdWQiOiJ3ZWIiLCJpc3MiOiJzcHJpbmctYm9vdC1qamoiLCJleHAiOjE3MTkzNDA5OTIsImlhdCI6MTcxOTMwNDk5MiwianRpIjoiM2YwMTI0MzRmNjYwNGQzYmE1MjU1NmU5NjQ4YzBkY2UiLCJ1c2VybmFtZSI6ImFkbWluIn0.WhAHsD3vo7_u7LYqbtSF2ivwbHeLKOuC7vbvBirJdiU + at net.jjjerp.framework.shiro.jwt.JwtFilter.createToken(JwtFilter.java:67) + at org.apache.shiro.web.filter.authc.AuthenticatingFilter.executeLogin(AuthenticatingFilter.java:45) + at net.jjjerp.framework.shiro.jwt.JwtFilter.isAccessAllowed(JwtFilter.java:134) + at org.apache.shiro.web.filter.AccessControlFilter.onPreHandle(AccessControlFilter.java:162) + at org.apache.shiro.web.filter.PathMatchingFilter.isFilterChainContinued(PathMatchingFilter.java:214) + at org.apache.shiro.web.filter.PathMatchingFilter.preHandle(PathMatchingFilter.java:189) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:131) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) + +2024-06-26 08:37:39.247 ERROR [http-nio-8892-exec-3] [] n.jjjerp.framework.shiro.jwt.JwtFilter 138 : 访问错误 + +org.apache.shiro.authc.AuthenticationException: JWT Token已过期,token:eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhdWQiOiJ3ZWIiLCJpc3MiOiJzcHJpbmctYm9vdC1qamoiLCJleHAiOjE3MTkzNDA5OTIsImlhdCI6MTcxOTMwNDk5MiwianRpIjoiM2YwMTI0MzRmNjYwNGQzYmE1MjU1NmU5NjQ4YzBkY2UiLCJ1c2VybmFtZSI6ImFkbWluIn0.WhAHsD3vo7_u7LYqbtSF2ivwbHeLKOuC7vbvBirJdiU + at net.jjjerp.framework.shiro.jwt.JwtFilter.createToken(JwtFilter.java:67) + at org.apache.shiro.web.filter.authc.AuthenticatingFilter.executeLogin(AuthenticatingFilter.java:45) + at net.jjjerp.framework.shiro.jwt.JwtFilter.isAccessAllowed(JwtFilter.java:134) + at org.apache.shiro.web.filter.AccessControlFilter.onPreHandle(AccessControlFilter.java:162) + at org.apache.shiro.web.filter.PathMatchingFilter.isFilterChainContinued(PathMatchingFilter.java:214) + at org.apache.shiro.web.filter.PathMatchingFilter.preHandle(PathMatchingFilter.java:189) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:131) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) + +2024-06-26 08:37:39.247 ERROR [http-nio-8892-exec-1] [] n.jjjerp.framework.shiro.jwt.JwtFilter 111 : onAccessDenied url:/api/admin/setting/system/user/getUserInfo +2024-06-26 08:37:39.247 ERROR [http-nio-8892-exec-3] [] n.jjjerp.framework.shiro.jwt.JwtFilter 111 : onAccessDenied url:/api/admin/statement/market/board/deal +2024-06-26 08:54:07.769 ERROR [http-nio-8892-exec-20] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy402.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-26 09:06:15.700 ERROR [http-nio-8892-exec-24] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.data.redis.RedisSystemException: Redis exception; nested exception is io.lettuce.core.RedisException: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:74) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisException: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:134) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy402.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted +Caused by: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + ... 1 common frames omitted + +2024-06-26 09:36:31.176 ERROR [http-nio-8892-exec-23] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy402.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-26 09:36:34.737 ERROR [http-nio-8892-exec-28] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy402.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-26 09:47:34.266 ERROR [http-nio-8892-exec-3] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.data.redis.RedisSystemException: Redis exception; nested exception is io.lettuce.core.RedisException: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:74) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisException: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:134) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy402.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted +Caused by: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + ... 1 common frames omitted + +2024-06-26 09:48:19.643 ERROR [http-nio-8892-exec-6] [] n.jjjerp.handler.GlobalExceptionHandler 233 : 异常来源:ip: 192.168.31.208, path: /api/admin/purchase/purchase/order/index +2024-06-26 09:48:19.644 ERROR [http-nio-8892-exec-6] [] n.jjjerp.handler.GlobalExceptionHandler 257 : errorCode: 5000, errorMessage: 系统异常 + +java.lang.NullPointerException: null + at org.springframework.web.util.UrlPathHelper.getSanitizedPath(UrlPathHelper.java:355) + at org.springframework.web.util.UrlPathHelper.decodeAndCleanUriString(UrlPathHelper.java:495) + at org.springframework.web.util.UrlPathHelper.getOriginatingRequestUri(UrlPathHelper.java:440) + at org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodProcessor.addContentDispositionHeader(AbstractMessageConverterMethodProcessor.java:423) + at org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodProcessor.writeWithMessageConverters(AbstractMessageConverterMethodProcessor.java:275) + at org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.handleReturnValue(RequestResponseBodyMethodProcessor.java:181) + at org.springframework.web.method.support.HandlerMethodReturnValueHandlerComposite.handleReturnValue(HandlerMethodReturnValueHandlerComposite.java:82) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:123) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:652) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:112) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) + at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) + +2024-06-26 09:48:50.117 ERROR [http-nio-8892-exec-2] [] n.jjjerp.framework.shiro.jwt.JwtFilter 138 : 访问错误 + +org.apache.shiro.authc.AuthenticationException: JWT Token已过期,token:eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhdWQiOiJ3ZWIiLCJpc3MiOiJzcHJpbmctYm9vdC1qamoiLCJleHAiOjE3MTkzMzA2MzEsImlhdCI6MTcxOTI5NDYzMSwianRpIjoiNGI0NWY0MTJlODk4NGIzMWE4YjJkYTA3NzU4ZTU2NmEiLCJ1c2VybmFtZSI6ImFkbWluIn0.0UG7Z8tlDGUYOPcO-bM2EYOcCtJri3NvfN-AR07Ae4Y + at net.jjjerp.framework.shiro.jwt.JwtFilter.createToken(JwtFilter.java:67) + at org.apache.shiro.web.filter.authc.AuthenticatingFilter.executeLogin(AuthenticatingFilter.java:45) + at net.jjjerp.framework.shiro.jwt.JwtFilter.isAccessAllowed(JwtFilter.java:134) + at org.apache.shiro.web.filter.AccessControlFilter.onPreHandle(AccessControlFilter.java:162) + at org.apache.shiro.web.filter.PathMatchingFilter.isFilterChainContinued(PathMatchingFilter.java:214) + at org.apache.shiro.web.filter.PathMatchingFilter.preHandle(PathMatchingFilter.java:189) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:131) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) + +2024-06-26 09:48:50.118 ERROR [http-nio-8892-exec-2] [] n.jjjerp.framework.shiro.jwt.JwtFilter 111 : onAccessDenied url:/api/admin/index/deal +2024-06-26 09:53:45.465 ERROR [http-nio-8892-exec-6] [] n.jjjerp.handler.GlobalExceptionHandler 233 : 异常来源:ip: 127.0.0.1, path: /api/admin/index/index +2024-06-26 09:53:45.467 ERROR [http-nio-8892-exec-6] [] n.jjjerp.handler.GlobalExceptionHandler 257 : errorCode: 5001, errorMessage: 请求参数校验异常 + +org.springframework.http.converter.HttpMessageNotReadableException: Required request body is missing: public net.jjjerp.framework.common.api.ApiResult> net.jjjerp.admin.controller.IndexController.getHomeData(net.jjjerp.common.param.CommonPageParam) + at org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.readWithMessageConverters(RequestResponseBodyMethodProcessor.java:161) + at org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.resolveArgument(RequestResponseBodyMethodProcessor.java:131) + at org.springframework.web.method.support.HandlerMethodArgumentResolverComposite.resolveArgument(HandlerMethodArgumentResolverComposite.java:121) + at org.springframework.web.method.support.InvocableHandlerMethod.getMethodArgumentValues(InvocableHandlerMethod.java:167) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:134) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:652) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:112) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) + at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) + +2024-06-26 10:24:13.884 ERROR [http-nio-8892-exec-30] [] n.jjjerp.handler.GlobalExceptionHandler 233 : 异常来源:ip: 192.168.31.208, path: /api/admin/index/base +2024-06-26 10:24:13.886 ERROR [http-nio-8892-exec-30] [] n.jjjerp.handler.GlobalExceptionHandler 257 : errorCode: 5000, errorMessage: 系统异常 + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.common.util.SettingUtils.getSetting(SettingUtils.java:39) + at net.jjjerp.admin.controller.IndexController.base(IndexController.java:38) + at net.jjjerp.admin.controller.IndexController$$FastClassBySpringCGLIB$$55d4079f.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.AspectJAfterThrowingAdvice.invoke(AspectJAfterThrowingAdvice.java:62) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:88) + at net.jjjerp.framework.log.aop.BaseLogAop.handle(BaseLogAop.java:303) + at net.jjjerp.aop.LogAop.doAround(LogAop.java:35) + at net.jjjerp.aop.LogAop$$FastClassBySpringCGLIB$$189c4aae.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.aop.LogAop$$EnhancerBySpringCGLIB$$23eee050.doAround() + at sun.reflect.GeneratedMethodAccessor539.invoke(Unknown Source) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:644) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:633) + at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:95) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at net.jjjerp.admin.controller.IndexController$$EnhancerBySpringCGLIB$$43a5716d.base() + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:652) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:112) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) + at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy402.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 122 common frames omitted + +2024-06-26 10:24:35.876 ERROR [http-nio-8892-exec-2] [] n.jjjerp.handler.GlobalExceptionHandler 233 : 异常来源:ip: 192.168.31.208, path: /api/admin/passport/login +2024-06-26 10:24:35.877 ERROR [http-nio-8892-exec-2] [] n.jjjerp.handler.GlobalExceptionHandler 257 : errorCode: 5000, errorMessage: 系统异常 + +org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is java.sql.SQLTransientConnectionException: HikariPool-1 - Connection is not available, request timed out after 30046ms. +### The error may exist in net/jjjerp/admin/mapper/shop/ShopUserMapper.java (best guess) +### The error may involve net.jjjerp.admin.mapper.shop.ShopUserMapper.selectOne +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is java.sql.SQLTransientConnectionException: HikariPool-1 - Connection is not available, request timed out after 30046ms. + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:440) + at com.sun.proxy.$Proxy115.selectOne(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectOne(SqlSessionTemplate.java:159) + at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:90) + at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:148) + at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89) + at com.sun.proxy.$Proxy307.selectOne(Unknown Source) + at sun.reflect.GeneratedMethodAccessor498.invoke(Unknown Source) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:344) + at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:198) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:139) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:212) + at com.sun.proxy.$Proxy308.selectOne(Unknown Source) + at com.baomidou.mybatisplus.extension.service.impl.ServiceImpl.getOne(ServiceImpl.java:201) + at com.baomidou.mybatisplus.extension.service.IService.getOne(IService.java:229) + at net.jjjerp.admin.service.shop.impl.ShopUserServiceImpl.login(ShopUserServiceImpl.java:116) + at net.jjjerp.admin.service.shop.impl.ShopUserServiceImpl$$FastClassBySpringCGLIB$$4f5aed82.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.admin.service.shop.impl.ShopUserServiceImpl$$EnhancerBySpringCGLIB$$1bb45d1d.login() + at net.jjjerp.admin.controller.PassportController.login(PassportController.java:36) + at net.jjjerp.admin.controller.PassportController$$FastClassBySpringCGLIB$$a5512a1d.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.AspectJAfterThrowingAdvice.invoke(AspectJAfterThrowingAdvice.java:62) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:88) + at net.jjjerp.framework.log.aop.BaseLogAop.handle(BaseLogAop.java:303) + at net.jjjerp.aop.LogAop.doAround(LogAop.java:35) + at net.jjjerp.aop.LogAop$$FastClassBySpringCGLIB$$189c4aae.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.aop.LogAop$$EnhancerBySpringCGLIB$$23eee050.doAround() + at sun.reflect.GeneratedMethodAccessor539.invoke(Unknown Source) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:644) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:633) + at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:95) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at net.jjjerp.admin.controller.PassportController$$EnhancerBySpringCGLIB$$96ef57a7.login() + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:652) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:112) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) + at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is java.sql.SQLTransientConnectionException: HikariPool-1 - Connection is not available, request timed out after 30046ms. +### The error may exist in net/jjjerp/admin/mapper/shop/ShopUserMapper.java (best guess) +### The error may involve net.jjjerp.admin.mapper.shop.ShopUserMapper.selectOne +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is java.sql.SQLTransientConnectionException: HikariPool-1 - Connection is not available, request timed out after 30046ms. + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:149) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:140) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectOne(DefaultSqlSession.java:76) + at sun.reflect.GeneratedMethodAccessor187.invoke(Unknown Source) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:426) + ... 137 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is java.sql.SQLTransientConnectionException: HikariPool-1 - Connection is not available, request timed out after 30046ms. + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:82) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:337) + at com.baomidou.mybatisplus.core.executor.MybatisSimpleExecutor.prepareStatement(MybatisSimpleExecutor.java:93) + at com.baomidou.mybatisplus.core.executor.MybatisSimpleExecutor.doQuery(MybatisSimpleExecutor.java:68) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:325) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:156) + at com.baomidou.mybatisplus.core.executor.MybatisCachingExecutor.query(MybatisCachingExecutor.java:165) + at com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor.intercept(MybatisPlusInterceptor.java:65) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:61) + at com.sun.proxy.$Proxy406.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + ... 143 common frames omitted +Caused by: java.sql.SQLTransientConnectionException: HikariPool-1 - Connection is not available, request timed out after 30046ms. + at com.zaxxer.hikari.pool.HikariPool.createTimeoutException(HikariPool.java:695) + at com.zaxxer.hikari.pool.HikariPool.getConnection(HikariPool.java:197) + at com.zaxxer.hikari.pool.HikariPool.getConnection(HikariPool.java:162) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:128) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:158) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:116) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:79) + ... 155 common frames omitted +Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: No operations allowed after connection closed. + at sun.reflect.GeneratedConstructorAccessor118.newInstance(Unknown Source) + at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) + at java.lang.reflect.Constructor.newInstance(Constructor.java:423) + at com.mysql.jdbc.Util.handleNewInstance(Util.java:425) + at com.mysql.jdbc.Util.getInstance(Util.java:408) + at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:919) + at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:898) + at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:887) + at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:861) + at com.mysql.jdbc.ConnectionImpl.throwConnectionClosedException(ConnectionImpl.java:1192) + at com.mysql.jdbc.ConnectionImpl.checkClosed(ConnectionImpl.java:1187) + at com.mysql.jdbc.ConnectionImpl.setNetworkTimeout(ConnectionImpl.java:5494) + at com.zaxxer.hikari.pool.PoolBase.setNetworkTimeout(PoolBase.java:560) + at com.zaxxer.hikari.pool.PoolBase.isConnectionAlive(PoolBase.java:173) + at com.zaxxer.hikari.pool.HikariPool.getConnection(HikariPool.java:186) + ... 160 common frames omitted + +2024-06-26 10:57:14.986 ERROR [http-nio-8892-exec-1] [] n.jjjerp.handler.GlobalExceptionHandler 233 : 异常来源:ip: 192.168.31.226, path: /api/admin/index/base +2024-06-26 10:57:14.987 ERROR [http-nio-8892-exec-1] [] n.jjjerp.handler.GlobalExceptionHandler 257 : errorCode: 5000, errorMessage: 系统异常 + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.common.util.SettingUtils.getSetting(SettingUtils.java:39) + at net.jjjerp.admin.controller.IndexController.base(IndexController.java:38) + at net.jjjerp.admin.controller.IndexController$$FastClassBySpringCGLIB$$55d4079f.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.AspectJAfterThrowingAdvice.invoke(AspectJAfterThrowingAdvice.java:62) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:88) + at net.jjjerp.framework.log.aop.BaseLogAop.handle(BaseLogAop.java:303) + at net.jjjerp.aop.LogAop.doAround(LogAop.java:35) + at net.jjjerp.aop.LogAop$$FastClassBySpringCGLIB$$189c4aae.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.aop.LogAop$$EnhancerBySpringCGLIB$$23eee050.doAround() + at sun.reflect.GeneratedMethodAccessor539.invoke(Unknown Source) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:644) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:633) + at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:95) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at net.jjjerp.admin.controller.IndexController$$EnhancerBySpringCGLIB$$43a5716d.base() + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:652) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:112) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) + at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy402.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 122 common frames omitted + +2024-06-26 11:30:51.735 ERROR [http-nio-8892-exec-3] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy402.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-26 11:30:51.735 ERROR [http-nio-8892-exec-4] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy402.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-26 11:30:58.431 ERROR [http-nio-8892-exec-6] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy402.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-26 11:30:58.433 ERROR [http-nio-8892-exec-5] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:131) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy402.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.protocol.CommandExpiryWriter.lambda$potentiallyExpire$0(CommandExpiryWriter.java:172) + at io.netty.util.concurrent.PromiseTask.runTask(PromiseTask.java:98) + at io.netty.util.concurrent.ScheduledFutureTask.run(ScheduledFutureTask.java:170) + at io.netty.util.concurrent.DefaultEventExecutor.run(DefaultEventExecutor.java:66) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + ... 1 common frames omitted + +2024-06-26 12:05:12.933 ERROR [http-nio-8892-exec-12] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy402.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-26 12:05:12.933 ERROR [http-nio-8892-exec-14] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy402.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-26 14:08:18.342 ERROR [http-nio-8892-exec-20] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy402.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-26 14:08:18.342 ERROR [http-nio-8892-exec-19] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:131) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy402.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.protocol.CommandExpiryWriter.lambda$potentiallyExpire$0(CommandExpiryWriter.java:172) + at io.netty.util.concurrent.PromiseTask.runTask(PromiseTask.java:98) + at io.netty.util.concurrent.ScheduledFutureTask.run(ScheduledFutureTask.java:170) + at io.netty.util.concurrent.DefaultEventExecutor.run(DefaultEventExecutor.java:66) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + ... 1 common frames omitted + +2024-06-26 14:08:18.343 ERROR [http-nio-8892-exec-16] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy402.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-26 14:08:18.345 ERROR [http-nio-8892-exec-15] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy402.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-26 14:54:45.676 ERROR [http-nio-8892-exec-5] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy402.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-26 14:54:45.676 ERROR [http-nio-8892-exec-6] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy402.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-26 14:54:45.676 ERROR [http-nio-8892-exec-8] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy402.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-26 14:54:45.676 ERROR [http-nio-8892-exec-7] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy402.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-26 14:54:45.712 ERROR [http-nio-8892-exec-10] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:131) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy402.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.protocol.CommandExpiryWriter.lambda$potentiallyExpire$0(CommandExpiryWriter.java:172) + at io.netty.util.concurrent.PromiseTask.runTask(PromiseTask.java:98) + at io.netty.util.concurrent.ScheduledFutureTask.run(ScheduledFutureTask.java:170) + at io.netty.util.concurrent.DefaultEventExecutor.run(DefaultEventExecutor.java:66) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + ... 1 common frames omitted + +2024-06-26 15:27:33.884 ERROR [http-nio-8892-exec-29] [] n.jjjerp.handler.GlobalExceptionHandler 233 : 异常来源:ip: 192.168.31.208, path: /api/admin/setting/basic/depotStorage/batchAdd +2024-06-26 15:27:33.884 ERROR [http-nio-8892-exec-29] [] n.jjjerp.handler.GlobalExceptionHandler 56 : errorCode: 5001, errorMessage: 请求参数校验异常:["库区id不能为空"] +2024-06-26 16:57:04.088 ERROR [http-nio-8892-exec-5] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy402.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-26 16:57:04.088 ERROR [http-nio-8892-exec-4] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy402.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-26 16:57:04.089 ERROR [http-nio-8892-exec-6] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy402.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-26 16:57:04.088 ERROR [http-nio-8892-exec-2] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy402.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-26 17:52:34.105 ERROR [http-nio-8892-exec-23] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy402.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-26 17:52:34.105 ERROR [http-nio-8892-exec-24] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy402.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-26 18:17:20.420 ERROR [http-nio-8892-exec-2] [] n.jjjerp.handler.GlobalExceptionHandler 233 : 异常来源:ip: 192.168.31.226, path: /api/admin/product/base/product/index +2024-06-26 18:17:20.420 ERROR [http-nio-8892-exec-27] [] n.jjjerp.handler.GlobalExceptionHandler 233 : 异常来源:ip: 192.168.31.226, path: /api/admin/product/base/product/add +2024-06-26 18:17:20.421 ERROR [http-nio-8892-exec-2] [] n.jjjerp.handler.GlobalExceptionHandler 257 : errorCode: 5000, errorMessage: 系统异常 + +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'jjj_erp_git.jjjerp_product' doesn't exist +### The error may exist in net/jjjerp/admin/mapper/product/ProductMapper.java (best guess) +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT COUNT(*) FROM jjjerp_product WHERE (delete_flag = ?) AND app_id = 10001 +### Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'jjj_erp_git.jjjerp_product' doesn't exist +; bad SQL grammar []; nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'jjj_erp_git.jjjerp_product' doesn't exist + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:239) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:72) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:88) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:440) + at com.sun.proxy.$Proxy115.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:223) + at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.executeForIPage(MybatisMapperMethod.java:122) + at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:87) + at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:148) + at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89) + at com.sun.proxy.$Proxy324.selectPage(Unknown Source) + at sun.reflect.GeneratedMethodAccessor908.invoke(Unknown Source) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:344) + at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:198) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:139) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:212) + at com.sun.proxy.$Proxy325.selectPage(Unknown Source) + at com.baomidou.mybatisplus.extension.service.IService.page(IService.java:298) + at net.jjjerp.admin.service.product.impl.ProductServiceImpl.getList(ProductServiceImpl.java:116) + at net.jjjerp.admin.service.product.impl.ProductServiceImpl$$FastClassBySpringCGLIB$$4edb1a59.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.admin.service.product.impl.ProductServiceImpl$$EnhancerBySpringCGLIB$$3774f6c4.getList() + at net.jjjerp.admin.controller.product.base.ProductController.index(ProductController.java:42) + at net.jjjerp.admin.controller.product.base.ProductController$$FastClassBySpringCGLIB$$588445fc.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.AspectJAfterThrowingAdvice.invoke(AspectJAfterThrowingAdvice.java:62) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:88) + at net.jjjerp.framework.log.aop.BaseLogAop.handle(BaseLogAop.java:303) + at net.jjjerp.aop.LogAop.doAround(LogAop.java:35) + at net.jjjerp.aop.LogAop$$FastClassBySpringCGLIB$$189c4aae.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.aop.LogAop$$EnhancerBySpringCGLIB$$df27172.doAround() + at sun.reflect.GeneratedMethodAccessor784.invoke(Unknown Source) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:644) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:633) + at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.apache.shiro.spring.security.interceptor.AopAllianceAnnotationsAuthorizingMethodInterceptor$1.proceed(AopAllianceAnnotationsAuthorizingMethodInterceptor.java:82) + at org.apache.shiro.authz.aop.AuthorizingMethodInterceptor.invoke(AuthorizingMethodInterceptor.java:39) + at org.apache.shiro.spring.security.interceptor.AopAllianceAnnotationsAuthorizingMethodInterceptor.invoke(AopAllianceAnnotationsAuthorizingMethodInterceptor.java:115) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:95) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at net.jjjerp.admin.controller.product.base.ProductController$$EnhancerBySpringCGLIB$$2bd863ee.index() + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:652) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:112) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) + at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'jjj_erp_git.jjjerp_product' doesn't exist + at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) + at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) + at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) + at java.lang.reflect.Constructor.newInstance(Constructor.java:423) + at com.mysql.jdbc.Util.handleNewInstance(Util.java:425) + at com.mysql.jdbc.Util.getInstance(Util.java:408) + at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:944) + at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3978) + at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3914) + at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2530) + at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2683) + at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2495) + at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1903) + at com.mysql.jdbc.PreparedStatement.execute(PreparedStatement.java:1242) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at sun.reflect.GeneratedMethodAccessor153.invoke(Unknown Source) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:59) + at com.sun.proxy.$Proxy409.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:64) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:79) + at sun.reflect.GeneratedMethodAccessor152.invoke(Unknown Source) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:63) + at com.sun.proxy.$Proxy407.query(Unknown Source) + at com.baomidou.mybatisplus.core.executor.MybatisSimpleExecutor.doQuery(MybatisSimpleExecutor.java:69) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:325) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:156) + at com.baomidou.mybatisplus.core.executor.MybatisCachingExecutor.query(MybatisCachingExecutor.java:165) + at com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor.willDoQuery(PaginationInnerInterceptor.java:134) + at com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor.intercept(MybatisPlusInterceptor.java:59) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:61) + at com.sun.proxy.$Proxy406.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:140) + at sun.reflect.GeneratedMethodAccessor175.invoke(Unknown Source) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:426) + ... 142 common frames omitted + +2024-06-26 18:17:20.421 ERROR [http-nio-8892-exec-27] [] n.jjjerp.handler.GlobalExceptionHandler 257 : errorCode: 5000, errorMessage: 系统异常 + +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'jjj_erp_git.jjjerp_product_category' doesn't exist +### The error may exist in net/jjjerp/common/mapper/product/ProductCategoryMapper.java (best guess) +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT category_id, name, parent_id, status, app_id, create_time, update_time FROM jjjerp_product_category WHERE app_id = 10001 ORDER BY create_time ASC +### Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'jjj_erp_git.jjjerp_product_category' doesn't exist +; bad SQL grammar []; nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'jjj_erp_git.jjjerp_product_category' doesn't exist + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:239) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:72) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:88) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:440) + at com.sun.proxy.$Proxy115.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:223) + at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.executeForMany(MybatisMapperMethod.java:173) + at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:78) + at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:148) + at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89) + at com.sun.proxy.$Proxy212.selectList(Unknown Source) + at sun.reflect.GeneratedMethodAccessor176.invoke(Unknown Source) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:344) + at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:198) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:139) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:212) + at com.sun.proxy.$Proxy213.selectList(Unknown Source) + at com.baomidou.mybatisplus.extension.service.IService.list(IService.java:279) + at net.jjjerp.admin.service.product.impl.ProductCategoryServiceImpl.getAll(ProductCategoryServiceImpl.java:42) + at net.jjjerp.admin.service.product.impl.ProductCategoryServiceImpl$$FastClassBySpringCGLIB$$b5a767b.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.admin.service.product.impl.ProductCategoryServiceImpl$$EnhancerBySpringCGLIB$$3414b06a.getAll() + at net.jjjerp.admin.service.product.impl.ProductServiceImpl.getBaseData(ProductServiceImpl.java:168) + at net.jjjerp.admin.service.product.impl.ProductServiceImpl$$FastClassBySpringCGLIB$$4edb1a59.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.admin.service.product.impl.ProductServiceImpl$$EnhancerBySpringCGLIB$$3774f6c4.getBaseData() + at net.jjjerp.admin.controller.product.base.ProductController.toAdd(ProductController.java:50) + at net.jjjerp.admin.controller.product.base.ProductController$$FastClassBySpringCGLIB$$588445fc.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.AspectJAfterThrowingAdvice.invoke(AspectJAfterThrowingAdvice.java:62) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:88) + at net.jjjerp.framework.log.aop.BaseLogAop.handle(BaseLogAop.java:303) + at net.jjjerp.aop.LogAop.doAround(LogAop.java:35) + at net.jjjerp.aop.LogAop$$FastClassBySpringCGLIB$$189c4aae.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.aop.LogAop$$EnhancerBySpringCGLIB$$df27172.doAround() + at sun.reflect.GeneratedMethodAccessor784.invoke(Unknown Source) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:644) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:633) + at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.apache.shiro.spring.security.interceptor.AopAllianceAnnotationsAuthorizingMethodInterceptor$1.proceed(AopAllianceAnnotationsAuthorizingMethodInterceptor.java:82) + at org.apache.shiro.authz.aop.AuthorizingMethodInterceptor.invoke(AuthorizingMethodInterceptor.java:39) + at org.apache.shiro.spring.security.interceptor.AopAllianceAnnotationsAuthorizingMethodInterceptor.invoke(AopAllianceAnnotationsAuthorizingMethodInterceptor.java:115) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:95) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at net.jjjerp.admin.controller.product.base.ProductController$$EnhancerBySpringCGLIB$$2bd863ee.toAdd() + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:626) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:112) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) + at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'jjj_erp_git.jjjerp_product_category' doesn't exist + at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) + at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) + at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) + at java.lang.reflect.Constructor.newInstance(Constructor.java:423) + at com.mysql.jdbc.Util.handleNewInstance(Util.java:425) + at com.mysql.jdbc.Util.getInstance(Util.java:408) + at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:944) + at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3978) + at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3914) + at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2530) + at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2683) + at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2495) + at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1903) + at com.mysql.jdbc.PreparedStatement.execute(PreparedStatement.java:1242) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at sun.reflect.GeneratedMethodAccessor153.invoke(Unknown Source) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:59) + at com.sun.proxy.$Proxy409.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:64) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:79) + at sun.reflect.GeneratedMethodAccessor152.invoke(Unknown Source) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:63) + at com.sun.proxy.$Proxy407.query(Unknown Source) + at com.baomidou.mybatisplus.core.executor.MybatisSimpleExecutor.doQuery(MybatisSimpleExecutor.java:69) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:325) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:156) + at com.baomidou.mybatisplus.core.executor.MybatisCachingExecutor.query(MybatisCachingExecutor.java:165) + at com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor.intercept(MybatisPlusInterceptor.java:65) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:61) + at com.sun.proxy.$Proxy406.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:140) + at sun.reflect.GeneratedMethodAccessor175.invoke(Unknown Source) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:426) + ... 147 common frames omitted + +2024-06-26 18:17:20.603 ERROR [http-nio-8892-exec-17] [] n.jjjerp.handler.GlobalExceptionHandler 233 : 异常来源:ip: 192.168.31.226, path: /api/admin/setting/system/user/getUserInfo +2024-06-26 18:17:20.604 ERROR [http-nio-8892-exec-17] [] n.jjjerp.handler.GlobalExceptionHandler 257 : errorCode: 5000, errorMessage: 系统异常 + +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'jjj_erp_git.jjjerp_app' doesn't exist +### The error may exist in net/jjjerp/common/mapper/app/AppMapper.java (best guess) +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT app_id, app_name, logo, passport_open, passport_type, is_recycle, expire_time, weixin_service, pay_type, wx_pay_kind, wx_cash_type, ali_cash_type, mchid, apikey, p12, cert_pem, key_pem, wechatpay_serial, alipay_appid, alipay_publickey, alipay_privatekey, account_id, is_delete, create_time, update_time FROM jjjerp_app WHERE app_id = ? AND app_id = 10001 +### Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'jjj_erp_git.jjjerp_app' doesn't exist +; bad SQL grammar []; nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'jjj_erp_git.jjjerp_app' doesn't exist + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:239) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:72) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:88) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:440) + at com.sun.proxy.$Proxy115.selectOne(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectOne(SqlSessionTemplate.java:159) + at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:90) + at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:148) + at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89) + at com.sun.proxy.$Proxy137.selectById(Unknown Source) + at sun.reflect.GeneratedMethodAccessor167.invoke(Unknown Source) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:344) + at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:198) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:139) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:212) + at com.sun.proxy.$Proxy138.selectById(Unknown Source) + at com.baomidou.mybatisplus.extension.service.IService.getById(IService.java:201) + at com.baomidou.mybatisplus.extension.service.IService$$FastClassBySpringCGLIB$$f8525d18.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.admin.service.app.impl.AppServiceImpl$$EnhancerBySpringCGLIB$$edcf9884.getById() + at net.jjjerp.admin.controller.setting.system.ShopUserController.getUserInfo(ShopUserController.java:67) + at net.jjjerp.admin.controller.setting.system.ShopUserController$$FastClassBySpringCGLIB$$1f77b5ef.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.AspectJAfterThrowingAdvice.invoke(AspectJAfterThrowingAdvice.java:62) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:88) + at net.jjjerp.framework.log.aop.BaseLogAop.handle(BaseLogAop.java:303) + at net.jjjerp.aop.LogAop.doAround(LogAop.java:35) + at net.jjjerp.aop.LogAop$$FastClassBySpringCGLIB$$189c4aae.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.aop.LogAop$$EnhancerBySpringCGLIB$$df27172.doAround() + at sun.reflect.GeneratedMethodAccessor784.invoke(Unknown Source) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:644) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:633) + at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:95) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at net.jjjerp.admin.controller.setting.system.ShopUserController$$EnhancerBySpringCGLIB$$fd72c3a7.getUserInfo() + at sun.reflect.GeneratedMethodAccessor1245.invoke(Unknown Source) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:652) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:112) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) + at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'jjj_erp_git.jjjerp_app' doesn't exist + at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) + at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) + at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) + at java.lang.reflect.Constructor.newInstance(Constructor.java:423) + at com.mysql.jdbc.Util.handleNewInstance(Util.java:425) + at com.mysql.jdbc.Util.getInstance(Util.java:408) + at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:944) + at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3978) + at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3914) + at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2530) + at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2683) + at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2495) + at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1903) + at com.mysql.jdbc.PreparedStatement.execute(PreparedStatement.java:1242) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at sun.reflect.GeneratedMethodAccessor153.invoke(Unknown Source) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:59) + at com.sun.proxy.$Proxy409.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:64) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:79) + at sun.reflect.GeneratedMethodAccessor152.invoke(Unknown Source) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:63) + at com.sun.proxy.$Proxy407.query(Unknown Source) + at com.baomidou.mybatisplus.core.executor.MybatisSimpleExecutor.doQuery(MybatisSimpleExecutor.java:69) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:325) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:156) + at com.baomidou.mybatisplus.core.executor.MybatisCachingExecutor.query(MybatisCachingExecutor.java:165) + at com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor.intercept(MybatisPlusInterceptor.java:65) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:61) + at com.sun.proxy.$Proxy406.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:140) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectOne(DefaultSqlSession.java:76) + at sun.reflect.GeneratedMethodAccessor166.invoke(Unknown Source) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:426) + ... 134 common frames omitted + diff --git a/jjj_erp/logs/spring-boot-jjj-error-2024-06-27.0.log b/jjj_erp/logs/spring-boot-jjj-error-2024-06-27.0.log new file mode 100644 index 0000000..92c98f8 --- /dev/null +++ b/jjj_erp/logs/spring-boot-jjj-error-2024-06-27.0.log @@ -0,0 +1,5546 @@ +2024-06-27 10:56:32.011 ERROR [http-nio-8892-exec-1] [] n.jjjerp.framework.shiro.jwt.JwtFilter 138 : 访问错误 + +org.apache.shiro.authc.AuthenticationException: JWT Token已过期,token:eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhdWQiOiJ3ZWIiLCJpc3MiOiJzcHJpbmctYm9vdC1qamoiLCJleHAiOjE3MTk0MDI1NDIsImlhdCI6MTcxOTM2NjU0MiwianRpIjoiYzE2NDUxNjYwYzVkNGE0NDg5ZDUzMDhlY2FjODliOGEiLCJ1c2VybmFtZSI6ImFkbWluIn0.MhMGQ_IA17MMOo1LuSVmfJrMHn1Q9hDJ8cQfYezRC5A + at net.jjjerp.framework.shiro.jwt.JwtFilter.createToken(JwtFilter.java:67) + at org.apache.shiro.web.filter.authc.AuthenticatingFilter.executeLogin(AuthenticatingFilter.java:45) + at net.jjjerp.framework.shiro.jwt.JwtFilter.isAccessAllowed(JwtFilter.java:134) + at org.apache.shiro.web.filter.AccessControlFilter.onPreHandle(AccessControlFilter.java:162) + at org.apache.shiro.web.filter.PathMatchingFilter.isFilterChainContinued(PathMatchingFilter.java:214) + at org.apache.shiro.web.filter.PathMatchingFilter.preHandle(PathMatchingFilter.java:189) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:131) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) + +2024-06-27 10:56:32.011 ERROR [http-nio-8892-exec-1] [] n.jjjerp.framework.shiro.jwt.JwtFilter 111 : onAccessDenied url:/api/admin/product/base/unit/add +2024-06-27 10:57:25.040 ERROR [http-nio-8892-exec-3] [] n.jjjerp.handler.GlobalExceptionHandler 233 : 异常来源:ip: 127.0.0.1, path: /api/admin/product/base/unit/add +2024-06-27 10:57:25.041 ERROR [http-nio-8892-exec-3] [] n.jjjerp.handler.GlobalExceptionHandler 257 : errorCode: 5000, errorMessage: 系统异常 + +org.springframework.dao.DataIntegrityViolationException: +### Error updating database. Cause: java.sql.SQLException: Field 'basic_unit_id' doesn't have a default value +### The error may exist in net/jjjerp/common/mapper/product/ProductDeputyUnitMapper.java (best guess) +### The error may involve net.jjjerp.common.mapper.product.ProductDeputyUnitMapper.insert-Inline +### The error occurred while setting parameters +### SQL: INSERT INTO jjjerp_product_deputy_unit (deputy_unit_name, ratio, deputy_num, app_id) VALUES (?, ?, ?, 10001) +### Cause: java.sql.SQLException: Field 'basic_unit_id' doesn't have a default value +; Field 'basic_unit_id' doesn't have a default value; nested exception is java.sql.SQLException: Field 'basic_unit_id' doesn't have a default value + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:251) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:72) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:88) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:440) + at com.sun.proxy.$Proxy114.insert(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.insert(SqlSessionTemplate.java:271) + at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:60) + at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:148) + at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89) + at com.sun.proxy.$Proxy214.insert(Unknown Source) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:344) + at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:198) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:139) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:212) + at com.sun.proxy.$Proxy215.insert(Unknown Source) + at com.baomidou.mybatisplus.extension.service.IService.save(IService.java:63) + at com.baomidou.mybatisplus.extension.service.IService$$FastClassBySpringCGLIB$$f8525d18.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.admin.service.product.impl.ProductDeputyUnitServiceImpl$$EnhancerBySpringCGLIB$$4f6f2f55.save() + at net.jjjerp.admin.service.product.impl.ProductUnitServiceImpl.parseNameByUnit(ProductUnitServiceImpl.java:137) + at net.jjjerp.admin.service.product.impl.ProductUnitServiceImpl.add(ProductUnitServiceImpl.java:99) + at net.jjjerp.admin.service.product.impl.ProductUnitServiceImpl$$FastClassBySpringCGLIB$$c1afc35.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.admin.service.product.impl.ProductUnitServiceImpl$$EnhancerBySpringCGLIB$$ffe74796.add() + at net.jjjerp.admin.controller.product.base.UnitController.add(UnitController.java:46) + at net.jjjerp.admin.controller.product.base.UnitController$$FastClassBySpringCGLIB$$e31e0dcf.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.AspectJAfterThrowingAdvice.invoke(AspectJAfterThrowingAdvice.java:62) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:88) + at net.jjjerp.framework.log.aop.BaseLogAop.handle(BaseLogAop.java:303) + at net.jjjerp.aop.LogAop.doAround(LogAop.java:35) + at net.jjjerp.aop.LogAop$$FastClassBySpringCGLIB$$189c4aae.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.aop.LogAop$$EnhancerBySpringCGLIB$$903b2614.doAround() + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:644) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:633) + at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.apache.shiro.spring.security.interceptor.AopAllianceAnnotationsAuthorizingMethodInterceptor$1.proceed(AopAllianceAnnotationsAuthorizingMethodInterceptor.java:82) + at org.apache.shiro.authz.aop.AuthorizingMethodInterceptor.invoke(AuthorizingMethodInterceptor.java:39) + at org.apache.shiro.spring.security.interceptor.AopAllianceAnnotationsAuthorizingMethodInterceptor.invoke(AopAllianceAnnotationsAuthorizingMethodInterceptor.java:115) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:95) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at net.jjjerp.admin.controller.product.base.UnitController$$EnhancerBySpringCGLIB$$9972696d.add() + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:652) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:112) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) + at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: java.sql.SQLException: Field 'basic_unit_id' doesn't have a default value + at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:965) + at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3978) + at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3914) + at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2530) + at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2683) + at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2495) + at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1903) + at com.mysql.jdbc.PreparedStatement.execute(PreparedStatement.java:1242) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:59) + at com.sun.proxy.$Proxy412.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.update(PreparedStatementHandler.java:47) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.update(RoutingStatementHandler.java:74) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:63) + at com.sun.proxy.$Proxy410.update(Unknown Source) + at com.baomidou.mybatisplus.core.executor.MybatisSimpleExecutor.doUpdate(MybatisSimpleExecutor.java:56) + at org.apache.ibatis.executor.BaseExecutor.update(BaseExecutor.java:117) + at com.baomidou.mybatisplus.core.executor.MybatisCachingExecutor.update(MybatisCachingExecutor.java:85) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.apache.ibatis.plugin.Invocation.proceed(Invocation.java:49) + at com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor.intercept(MybatisPlusInterceptor.java:83) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:61) + at com.sun.proxy.$Proxy409.update(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.update(DefaultSqlSession.java:197) + at org.apache.ibatis.session.defaults.DefaultSqlSession.insert(DefaultSqlSession.java:184) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:426) + ... 148 common frames omitted + +2024-06-27 11:03:59.518 ERROR [http-nio-8892-exec-4] [] n.jjjerp.handler.GlobalExceptionHandler 233 : 异常来源:ip: 127.0.0.1, path: /api/admin/product/base/unit/add +2024-06-27 11:03:59.520 ERROR [http-nio-8892-exec-4] [] n.jjjerp.handler.GlobalExceptionHandler 257 : errorCode: 5000, errorMessage: 系统异常 + +java.lang.NullPointerException: null + at net.jjjerp.admin.service.product.impl.ProductUnitServiceImpl.parseNameByUnit(ProductUnitServiceImpl.java:137) + at net.jjjerp.admin.service.product.impl.ProductUnitServiceImpl.add(ProductUnitServiceImpl.java:99) + at net.jjjerp.admin.service.product.impl.ProductUnitServiceImpl$$FastClassBySpringCGLIB$$c1afc35.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.admin.service.product.impl.ProductUnitServiceImpl$$EnhancerBySpringCGLIB$$ac8cad51.add() + at net.jjjerp.admin.controller.product.base.UnitController.add(UnitController.java:46) + at net.jjjerp.admin.controller.product.base.UnitController$$FastClassBySpringCGLIB$$e31e0dcf.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.AspectJAfterThrowingAdvice.invoke(AspectJAfterThrowingAdvice.java:62) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:88) + at net.jjjerp.framework.log.aop.BaseLogAop.handle(BaseLogAop.java:303) + at net.jjjerp.aop.LogAop.doAround(LogAop.java:35) + at net.jjjerp.aop.LogAop$$FastClassBySpringCGLIB$$189c4aae.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.aop.LogAop$$EnhancerBySpringCGLIB$$546e5155.doAround() + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:644) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:633) + at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.apache.shiro.spring.security.interceptor.AopAllianceAnnotationsAuthorizingMethodInterceptor$1.proceed(AopAllianceAnnotationsAuthorizingMethodInterceptor.java:82) + at org.apache.shiro.authz.aop.AuthorizingMethodInterceptor.invoke(AuthorizingMethodInterceptor.java:39) + at org.apache.shiro.spring.security.interceptor.AopAllianceAnnotationsAuthorizingMethodInterceptor.invoke(AopAllianceAnnotationsAuthorizingMethodInterceptor.java:115) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:95) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at net.jjjerp.admin.controller.product.base.UnitController$$EnhancerBySpringCGLIB$$ad37bfb9.add() + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:652) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:112) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) + at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) + +2024-06-27 11:04:13.606 ERROR [http-nio-8892-exec-3] [] n.jjjerp.handler.GlobalExceptionHandler 233 : 异常来源:ip: 127.0.0.1, path: /api/admin/product/base/unit/add +2024-06-27 11:04:13.607 ERROR [http-nio-8892-exec-3] [] n.jjjerp.handler.GlobalExceptionHandler 257 : errorCode: 5000, errorMessage: 系统异常 + +java.lang.NullPointerException: null + at net.jjjerp.admin.service.product.impl.ProductUnitServiceImpl.parseNameByUnit(ProductUnitServiceImpl.java:137) + at net.jjjerp.admin.service.product.impl.ProductUnitServiceImpl.add(ProductUnitServiceImpl.java:99) + at net.jjjerp.admin.service.product.impl.ProductUnitServiceImpl$$FastClassBySpringCGLIB$$c1afc35.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.admin.service.product.impl.ProductUnitServiceImpl$$EnhancerBySpringCGLIB$$ac8cad51.add() + at net.jjjerp.admin.controller.product.base.UnitController.add(UnitController.java:46) + at net.jjjerp.admin.controller.product.base.UnitController$$FastClassBySpringCGLIB$$e31e0dcf.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.AspectJAfterThrowingAdvice.invoke(AspectJAfterThrowingAdvice.java:62) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:88) + at net.jjjerp.framework.log.aop.BaseLogAop.handle(BaseLogAop.java:303) + at net.jjjerp.aop.LogAop.doAround(LogAop.java:35) + at net.jjjerp.aop.LogAop$$FastClassBySpringCGLIB$$189c4aae.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.aop.LogAop$$EnhancerBySpringCGLIB$$546e5155.doAround() + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:644) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:633) + at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.apache.shiro.spring.security.interceptor.AopAllianceAnnotationsAuthorizingMethodInterceptor$1.proceed(AopAllianceAnnotationsAuthorizingMethodInterceptor.java:82) + at org.apache.shiro.authz.aop.AuthorizingMethodInterceptor.invoke(AuthorizingMethodInterceptor.java:39) + at org.apache.shiro.spring.security.interceptor.AopAllianceAnnotationsAuthorizingMethodInterceptor.invoke(AopAllianceAnnotationsAuthorizingMethodInterceptor.java:115) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:95) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at net.jjjerp.admin.controller.product.base.UnitController$$EnhancerBySpringCGLIB$$ad37bfb9.add() + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:652) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:112) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) + at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) + +2024-06-27 11:06:52.301 ERROR [http-nio-8892-exec-2] [] n.jjjerp.handler.GlobalExceptionHandler 233 : 异常来源:ip: 127.0.0.1, path: /api/admin/product/base/unit/add +2024-06-27 11:06:52.304 ERROR [http-nio-8892-exec-2] [] n.jjjerp.handler.GlobalExceptionHandler 257 : errorCode: 5000, errorMessage: 系统异常 + +java.lang.NullPointerException: null + at net.jjjerp.admin.service.product.impl.ProductUnitServiceImpl.parseNameByUnit(ProductUnitServiceImpl.java:140) + at net.jjjerp.admin.service.product.impl.ProductUnitServiceImpl.add(ProductUnitServiceImpl.java:99) + at net.jjjerp.admin.service.product.impl.ProductUnitServiceImpl$$FastClassBySpringCGLIB$$c1afc35.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.admin.service.product.impl.ProductUnitServiceImpl$$EnhancerBySpringCGLIB$$ae61978a.add() + at net.jjjerp.admin.controller.product.base.UnitController.add(UnitController.java:46) + at net.jjjerp.admin.controller.product.base.UnitController$$FastClassBySpringCGLIB$$e31e0dcf.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.AspectJAfterThrowingAdvice.invoke(AspectJAfterThrowingAdvice.java:62) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:88) + at net.jjjerp.framework.log.aop.BaseLogAop.handle(BaseLogAop.java:303) + at net.jjjerp.aop.LogAop.doAround(LogAop.java:35) + at net.jjjerp.aop.LogAop$$FastClassBySpringCGLIB$$189c4aae.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.aop.LogAop$$EnhancerBySpringCGLIB$$afb7f6df.doAround() + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:644) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:633) + at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.apache.shiro.spring.security.interceptor.AopAllianceAnnotationsAuthorizingMethodInterceptor$1.proceed(AopAllianceAnnotationsAuthorizingMethodInterceptor.java:82) + at org.apache.shiro.authz.aop.AuthorizingMethodInterceptor.invoke(AuthorizingMethodInterceptor.java:39) + at org.apache.shiro.spring.security.interceptor.AopAllianceAnnotationsAuthorizingMethodInterceptor.invoke(AopAllianceAnnotationsAuthorizingMethodInterceptor.java:115) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:95) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at net.jjjerp.admin.controller.product.base.UnitController$$EnhancerBySpringCGLIB$$d7f77b99.add() + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:652) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:112) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) + at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) + +2024-06-27 11:07:04.608 ERROR [http-nio-8892-exec-1] [] n.jjjerp.handler.GlobalExceptionHandler 233 : 异常来源:ip: 127.0.0.1, path: /api/admin/product/base/unit/add +2024-06-27 11:07:04.609 ERROR [http-nio-8892-exec-1] [] n.jjjerp.handler.GlobalExceptionHandler 257 : errorCode: 5000, errorMessage: 系统异常 + +java.lang.NullPointerException: null + at net.jjjerp.admin.service.product.impl.ProductUnitServiceImpl.parseNameByUnit(ProductUnitServiceImpl.java:140) + at net.jjjerp.admin.service.product.impl.ProductUnitServiceImpl.add(ProductUnitServiceImpl.java:99) + at net.jjjerp.admin.service.product.impl.ProductUnitServiceImpl$$FastClassBySpringCGLIB$$c1afc35.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.admin.service.product.impl.ProductUnitServiceImpl$$EnhancerBySpringCGLIB$$ae61978a.add() + at net.jjjerp.admin.controller.product.base.UnitController.add(UnitController.java:46) + at net.jjjerp.admin.controller.product.base.UnitController$$FastClassBySpringCGLIB$$e31e0dcf.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.AspectJAfterThrowingAdvice.invoke(AspectJAfterThrowingAdvice.java:62) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:88) + at net.jjjerp.framework.log.aop.BaseLogAop.handle(BaseLogAop.java:303) + at net.jjjerp.aop.LogAop.doAround(LogAop.java:35) + at net.jjjerp.aop.LogAop$$FastClassBySpringCGLIB$$189c4aae.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.aop.LogAop$$EnhancerBySpringCGLIB$$afb7f6df.doAround() + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:644) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:633) + at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.apache.shiro.spring.security.interceptor.AopAllianceAnnotationsAuthorizingMethodInterceptor$1.proceed(AopAllianceAnnotationsAuthorizingMethodInterceptor.java:82) + at org.apache.shiro.authz.aop.AuthorizingMethodInterceptor.invoke(AuthorizingMethodInterceptor.java:39) + at org.apache.shiro.spring.security.interceptor.AopAllianceAnnotationsAuthorizingMethodInterceptor.invoke(AopAllianceAnnotationsAuthorizingMethodInterceptor.java:115) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:95) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at net.jjjerp.admin.controller.product.base.UnitController$$EnhancerBySpringCGLIB$$d7f77b99.add() + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:652) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:112) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) + at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) + +2024-06-27 11:18:10.314 ERROR [http-nio-8892-exec-1] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy405.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-27 11:18:10.353 ERROR [http-nio-8892-exec-4] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy405.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-27 11:26:12.717 ERROR [http-nio-8892-exec-9] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy405.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-27 11:43:47.908 ERROR [http-nio-8892-exec-5] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy405.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-27 11:43:47.908 ERROR [http-nio-8892-exec-7] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy405.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-27 13:34:20.927 ERROR [http-nio-8892-exec-5] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy404.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-27 13:34:20.938 ERROR [http-nio-8892-exec-6] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy404.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-27 13:46:15.411 ERROR [http-nio-8892-exec-11] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy404.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-27 13:46:55.256 ERROR [http-nio-8892-exec-12] [] n.jjjerp.handler.GlobalExceptionHandler 233 : 异常来源:ip: 192.168.31.226, path: /api/admin/product/base/product/index +2024-06-27 13:46:55.256 ERROR [http-nio-8892-exec-12] [] n.jjjerp.handler.GlobalExceptionHandler 257 : errorCode: 5000, errorMessage: 系统异常 + +org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is java.sql.SQLTransientConnectionException: HikariPool-1 - Connection is not available, request timed out after 30060ms. +### The error may exist in net/jjjerp/admin/mapper/product/ProductMapper.java (best guess) +### The error may involve net.jjjerp.admin.mapper.product.ProductMapper.selectPage_mpCount +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is java.sql.SQLTransientConnectionException: HikariPool-1 - Connection is not available, request timed out after 30060ms. + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:440) + at com.sun.proxy.$Proxy114.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:223) + at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.executeForIPage(MybatisMapperMethod.java:122) + at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:87) + at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:148) + at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89) + at com.sun.proxy.$Proxy327.selectPage(Unknown Source) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:344) + at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:198) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:139) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:212) + at com.sun.proxy.$Proxy328.selectPage(Unknown Source) + at com.baomidou.mybatisplus.extension.service.IService.page(IService.java:298) + at net.jjjerp.admin.service.product.impl.ProductServiceImpl.getList(ProductServiceImpl.java:116) + at net.jjjerp.admin.service.product.impl.ProductServiceImpl$$FastClassBySpringCGLIB$$4edb1a59.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.admin.service.product.impl.ProductServiceImpl$$EnhancerBySpringCGLIB$$ddce4732.getList() + at net.jjjerp.admin.controller.product.base.ProductController.index(ProductController.java:42) + at net.jjjerp.admin.controller.product.base.ProductController$$FastClassBySpringCGLIB$$588445fc.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.AspectJAfterThrowingAdvice.invoke(AspectJAfterThrowingAdvice.java:62) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:88) + at net.jjjerp.framework.log.aop.BaseLogAop.handle(BaseLogAop.java:303) + at net.jjjerp.aop.LogAop.doAround(LogAop.java:35) + at net.jjjerp.aop.LogAop$$FastClassBySpringCGLIB$$189c4aae.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.aop.LogAop$$EnhancerBySpringCGLIB$$565b8923.doAround() + at sun.reflect.GeneratedMethodAccessor462.invoke(Unknown Source) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:644) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:633) + at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.apache.shiro.spring.security.interceptor.AopAllianceAnnotationsAuthorizingMethodInterceptor$1.proceed(AopAllianceAnnotationsAuthorizingMethodInterceptor.java:82) + at org.apache.shiro.authz.aop.AuthorizingMethodInterceptor.invoke(AuthorizingMethodInterceptor.java:39) + at org.apache.shiro.spring.security.interceptor.AopAllianceAnnotationsAuthorizingMethodInterceptor.invoke(AopAllianceAnnotationsAuthorizingMethodInterceptor.java:115) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:95) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at net.jjjerp.admin.controller.product.base.ProductController$$EnhancerBySpringCGLIB$$a00462a.index() + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:652) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:112) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) + at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is java.sql.SQLTransientConnectionException: HikariPool-1 - Connection is not available, request timed out after 30060ms. +### The error may exist in net/jjjerp/admin/mapper/product/ProductMapper.java (best guess) +### The error may involve net.jjjerp.admin.mapper.product.ProductMapper.selectPage_mpCount +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is java.sql.SQLTransientConnectionException: HikariPool-1 - Connection is not available, request timed out after 30060ms. + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:149) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:140) + at sun.reflect.GeneratedMethodAccessor273.invoke(Unknown Source) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:426) + ... 143 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is java.sql.SQLTransientConnectionException: HikariPool-1 - Connection is not available, request timed out after 30060ms. + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:82) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:337) + at com.baomidou.mybatisplus.core.executor.MybatisSimpleExecutor.prepareStatement(MybatisSimpleExecutor.java:93) + at com.baomidou.mybatisplus.core.executor.MybatisSimpleExecutor.doQuery(MybatisSimpleExecutor.java:68) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:325) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:156) + at com.baomidou.mybatisplus.core.executor.MybatisCachingExecutor.query(MybatisCachingExecutor.java:165) + at com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor.willDoQuery(PaginationInnerInterceptor.java:134) + at com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor.intercept(MybatisPlusInterceptor.java:59) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:61) + at com.sun.proxy.$Proxy409.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + ... 148 common frames omitted +Caused by: java.sql.SQLTransientConnectionException: HikariPool-1 - Connection is not available, request timed out after 30060ms. + at com.zaxxer.hikari.pool.HikariPool.createTimeoutException(HikariPool.java:695) + at com.zaxxer.hikari.pool.HikariPool.getConnection(HikariPool.java:197) + at com.zaxxer.hikari.pool.HikariPool.getConnection(HikariPool.java:162) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:128) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:158) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:116) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:79) + ... 161 common frames omitted +Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: No operations allowed after connection closed. + at sun.reflect.GeneratedConstructorAccessor111.newInstance(Unknown Source) + at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) + at java.lang.reflect.Constructor.newInstance(Constructor.java:423) + at com.mysql.jdbc.Util.handleNewInstance(Util.java:425) + at com.mysql.jdbc.Util.getInstance(Util.java:408) + at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:919) + at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:898) + at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:887) + at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:861) + at com.mysql.jdbc.ConnectionImpl.throwConnectionClosedException(ConnectionImpl.java:1192) + at com.mysql.jdbc.ConnectionImpl.checkClosed(ConnectionImpl.java:1187) + at com.mysql.jdbc.ConnectionImpl.setNetworkTimeout(ConnectionImpl.java:5494) + at com.zaxxer.hikari.pool.PoolBase.setNetworkTimeout(PoolBase.java:560) + at com.zaxxer.hikari.pool.PoolBase.isConnectionAlive(PoolBase.java:173) + at com.zaxxer.hikari.pool.HikariPool.getConnection(HikariPool.java:186) + ... 166 common frames omitted + +2024-06-27 14:38:41.820 ERROR [http-nio-8892-exec-5] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy405.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-27 14:38:41.820 ERROR [http-nio-8892-exec-4] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy405.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-27 14:52:17.087 ERROR [http-nio-8892-exec-20] [] n.jjjerp.handler.GlobalExceptionHandler 233 : 异常来源:ip: 192.168.31.226, path: /api/admin/index/base +2024-06-27 14:52:17.087 ERROR [http-nio-8892-exec-20] [] n.jjjerp.handler.GlobalExceptionHandler 257 : errorCode: 5000, errorMessage: 系统异常 + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.common.util.SettingUtils.getSetting(SettingUtils.java:39) + at net.jjjerp.admin.controller.IndexController.base(IndexController.java:38) + at net.jjjerp.admin.controller.IndexController$$FastClassBySpringCGLIB$$55d4079f.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.AspectJAfterThrowingAdvice.invoke(AspectJAfterThrowingAdvice.java:62) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:88) + at net.jjjerp.framework.log.aop.BaseLogAop.handle(BaseLogAop.java:303) + at net.jjjerp.aop.LogAop.doAround(LogAop.java:35) + at net.jjjerp.aop.LogAop$$FastClassBySpringCGLIB$$189c4aae.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.aop.LogAop$$EnhancerBySpringCGLIB$$883a2a7f.doAround() + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:644) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:633) + at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:95) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at net.jjjerp.admin.controller.IndexController$$EnhancerBySpringCGLIB$$1884e565.base() + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:652) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:112) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) + at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy405.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 123 common frames omitted + +2024-06-27 14:52:38.409 ERROR [http-nio-8892-exec-12] [] n.jjjerp.handler.GlobalExceptionHandler 233 : 异常来源:ip: 192.168.31.226, path: /api/admin/passport/login +2024-06-27 14:52:38.410 ERROR [http-nio-8892-exec-12] [] n.jjjerp.handler.GlobalExceptionHandler 257 : errorCode: 5000, errorMessage: 系统异常 + +org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is java.sql.SQLTransientConnectionException: HikariPool-1 - Connection is not available, request timed out after 30052ms. +### The error may exist in net/jjjerp/admin/mapper/shop/ShopUserMapper.java (best guess) +### The error may involve net.jjjerp.admin.mapper.shop.ShopUserMapper.selectOne +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is java.sql.SQLTransientConnectionException: HikariPool-1 - Connection is not available, request timed out after 30052ms. + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:440) + at com.sun.proxy.$Proxy114.selectOne(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectOne(SqlSessionTemplate.java:159) + at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:90) + at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:148) + at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89) + at com.sun.proxy.$Proxy310.selectOne(Unknown Source) + at sun.reflect.GeneratedMethodAccessor390.invoke(Unknown Source) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:344) + at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:198) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:139) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:212) + at com.sun.proxy.$Proxy311.selectOne(Unknown Source) + at com.baomidou.mybatisplus.extension.service.impl.ServiceImpl.getOne(ServiceImpl.java:201) + at com.baomidou.mybatisplus.extension.service.IService.getOne(IService.java:229) + at net.jjjerp.admin.service.shop.impl.ShopUserServiceImpl.login(ShopUserServiceImpl.java:116) + at net.jjjerp.admin.service.shop.impl.ShopUserServiceImpl$$FastClassBySpringCGLIB$$4f5aed82.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.admin.service.shop.impl.ShopUserServiceImpl$$EnhancerBySpringCGLIB$$a1546005.login() + at net.jjjerp.admin.controller.PassportController.login(PassportController.java:36) + at net.jjjerp.admin.controller.PassportController$$FastClassBySpringCGLIB$$a5512a1d.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.AspectJAfterThrowingAdvice.invoke(AspectJAfterThrowingAdvice.java:62) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:88) + at net.jjjerp.framework.log.aop.BaseLogAop.handle(BaseLogAop.java:303) + at net.jjjerp.aop.LogAop.doAround(LogAop.java:35) + at net.jjjerp.aop.LogAop$$FastClassBySpringCGLIB$$189c4aae.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.aop.LogAop$$EnhancerBySpringCGLIB$$883a2a7f.doAround() + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:644) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:633) + at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:95) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at net.jjjerp.admin.controller.PassportController$$EnhancerBySpringCGLIB$$6bcecb9f.login() + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:652) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:112) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) + at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is java.sql.SQLTransientConnectionException: HikariPool-1 - Connection is not available, request timed out after 30052ms. +### The error may exist in net/jjjerp/admin/mapper/shop/ShopUserMapper.java (best guess) +### The error may involve net.jjjerp.admin.mapper.shop.ShopUserMapper.selectOne +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is java.sql.SQLTransientConnectionException: HikariPool-1 - Connection is not available, request timed out after 30052ms. + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:149) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:140) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectOne(DefaultSqlSession.java:76) + at sun.reflect.GeneratedMethodAccessor214.invoke(Unknown Source) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:426) + ... 138 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is java.sql.SQLTransientConnectionException: HikariPool-1 - Connection is not available, request timed out after 30052ms. + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:82) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:337) + at com.baomidou.mybatisplus.core.executor.MybatisSimpleExecutor.prepareStatement(MybatisSimpleExecutor.java:93) + at com.baomidou.mybatisplus.core.executor.MybatisSimpleExecutor.doQuery(MybatisSimpleExecutor.java:68) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:325) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:156) + at com.baomidou.mybatisplus.core.executor.MybatisCachingExecutor.query(MybatisCachingExecutor.java:165) + at com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor.intercept(MybatisPlusInterceptor.java:65) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:61) + at com.sun.proxy.$Proxy409.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + ... 144 common frames omitted +Caused by: java.sql.SQLTransientConnectionException: HikariPool-1 - Connection is not available, request timed out after 30052ms. + at com.zaxxer.hikari.pool.HikariPool.createTimeoutException(HikariPool.java:695) + at com.zaxxer.hikari.pool.HikariPool.getConnection(HikariPool.java:197) + at com.zaxxer.hikari.pool.HikariPool.getConnection(HikariPool.java:162) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:128) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:158) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:116) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:79) + ... 156 common frames omitted +Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: No operations allowed after connection closed. + at sun.reflect.GeneratedConstructorAccessor89.newInstance(Unknown Source) + at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) + at java.lang.reflect.Constructor.newInstance(Constructor.java:423) + at com.mysql.jdbc.Util.handleNewInstance(Util.java:425) + at com.mysql.jdbc.Util.getInstance(Util.java:408) + at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:919) + at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:898) + at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:887) + at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:861) + at com.mysql.jdbc.ConnectionImpl.throwConnectionClosedException(ConnectionImpl.java:1192) + at com.mysql.jdbc.ConnectionImpl.checkClosed(ConnectionImpl.java:1187) + at com.mysql.jdbc.ConnectionImpl.setNetworkTimeout(ConnectionImpl.java:5494) + at com.zaxxer.hikari.pool.PoolBase.setNetworkTimeout(PoolBase.java:560) + at com.zaxxer.hikari.pool.PoolBase.isConnectionAlive(PoolBase.java:173) + at com.zaxxer.hikari.pool.HikariPool.getConnection(HikariPool.java:186) + ... 161 common frames omitted + +2024-06-27 15:18:41.503 ERROR [http-nio-8892-exec-22] [] n.jjjerp.handler.GlobalExceptionHandler 233 : 异常来源:ip: 192.168.31.226, path: /api/admin/purchase/purchase/order/index +2024-06-27 15:18:41.504 ERROR [http-nio-8892-exec-22] [] n.jjjerp.handler.GlobalExceptionHandler 257 : errorCode: 5000, errorMessage: 系统异常 + +org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is java.sql.SQLTransientConnectionException: HikariPool-1 - Connection is not available, request timed out after 30060ms. +### The error may exist in net/jjjerp/admin/mapper/bill/BillHeadMapper.java (best guess) +### The error may involve net.jjjerp.admin.mapper.bill.BillHeadMapper.selectPage_mpCount +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is java.sql.SQLTransientConnectionException: HikariPool-1 - Connection is not available, request timed out after 30060ms. + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:440) + at com.sun.proxy.$Proxy114.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:223) + at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.executeForIPage(MybatisMapperMethod.java:122) + at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:87) + at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:148) + at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89) + at com.sun.proxy.$Proxy304.selectPage(Unknown Source) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:344) + at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:198) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:139) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:212) + at com.sun.proxy.$Proxy305.selectPage(Unknown Source) + at com.baomidou.mybatisplus.extension.service.IService.page(IService.java:298) + at net.jjjerp.admin.service.bill.impl.BillHeadServiceImpl.indexOrder(BillHeadServiceImpl.java:145) + at net.jjjerp.admin.service.bill.impl.BillHeadServiceImpl$$FastClassBySpringCGLIB$$62790b2b.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.admin.service.bill.impl.BillHeadServiceImpl$$EnhancerBySpringCGLIB$$4d960aa0.indexOrder() + at net.jjjerp.admin.controller.purchase.purchase.PurchaseOrderController.index(PurchaseOrderController.java:37) + at net.jjjerp.admin.controller.purchase.purchase.PurchaseOrderController$$FastClassBySpringCGLIB$$11e005fa.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.AspectJAfterThrowingAdvice.invoke(AspectJAfterThrowingAdvice.java:62) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:88) + at net.jjjerp.framework.log.aop.BaseLogAop.handle(BaseLogAop.java:303) + at net.jjjerp.aop.LogAop.doAround(LogAop.java:35) + at net.jjjerp.aop.LogAop$$FastClassBySpringCGLIB$$189c4aae.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.aop.LogAop$$EnhancerBySpringCGLIB$$883a2a7f.doAround() + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:644) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:633) + at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.apache.shiro.spring.security.interceptor.AopAllianceAnnotationsAuthorizingMethodInterceptor$1.proceed(AopAllianceAnnotationsAuthorizingMethodInterceptor.java:82) + at org.apache.shiro.authz.aop.AuthorizingMethodInterceptor.invoke(AuthorizingMethodInterceptor.java:39) + at org.apache.shiro.spring.security.interceptor.AopAllianceAnnotationsAuthorizingMethodInterceptor.invoke(AopAllianceAnnotationsAuthorizingMethodInterceptor.java:115) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:95) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at net.jjjerp.admin.controller.purchase.purchase.PurchaseOrderController$$EnhancerBySpringCGLIB$$8f0cf003.index() + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:652) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:112) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) + at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: org.apache.ibatis.exceptions.PersistenceException: +### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is java.sql.SQLTransientConnectionException: HikariPool-1 - Connection is not available, request timed out after 30060ms. +### The error may exist in net/jjjerp/admin/mapper/bill/BillHeadMapper.java (best guess) +### The error may involve net.jjjerp.admin.mapper.bill.BillHeadMapper.selectPage_mpCount +### The error occurred while executing a query +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is java.sql.SQLTransientConnectionException: HikariPool-1 - Connection is not available, request timed out after 30060ms. + at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:149) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:140) + at sun.reflect.GeneratedMethodAccessor212.invoke(Unknown Source) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:426) + ... 144 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is java.sql.SQLTransientConnectionException: HikariPool-1 - Connection is not available, request timed out after 30060ms. + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:82) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:337) + at com.baomidou.mybatisplus.core.executor.MybatisSimpleExecutor.prepareStatement(MybatisSimpleExecutor.java:93) + at com.baomidou.mybatisplus.core.executor.MybatisSimpleExecutor.doQuery(MybatisSimpleExecutor.java:68) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:325) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:156) + at com.baomidou.mybatisplus.core.executor.MybatisCachingExecutor.query(MybatisCachingExecutor.java:165) + at com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor.willDoQuery(PaginationInnerInterceptor.java:134) + at com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor.intercept(MybatisPlusInterceptor.java:59) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:61) + at com.sun.proxy.$Proxy409.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + ... 149 common frames omitted +Caused by: java.sql.SQLTransientConnectionException: HikariPool-1 - Connection is not available, request timed out after 30060ms. + at com.zaxxer.hikari.pool.HikariPool.createTimeoutException(HikariPool.java:695) + at com.zaxxer.hikari.pool.HikariPool.getConnection(HikariPool.java:197) + at com.zaxxer.hikari.pool.HikariPool.getConnection(HikariPool.java:162) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:128) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:158) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:116) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:79) + ... 162 common frames omitted +Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: No operations allowed after connection closed. + at sun.reflect.GeneratedConstructorAccessor89.newInstance(Unknown Source) + at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) + at java.lang.reflect.Constructor.newInstance(Constructor.java:423) + at com.mysql.jdbc.Util.handleNewInstance(Util.java:425) + at com.mysql.jdbc.Util.getInstance(Util.java:408) + at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:919) + at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:898) + at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:887) + at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:861) + at com.mysql.jdbc.ConnectionImpl.throwConnectionClosedException(ConnectionImpl.java:1192) + at com.mysql.jdbc.ConnectionImpl.checkClosed(ConnectionImpl.java:1187) + at com.mysql.jdbc.ConnectionImpl.setNetworkTimeout(ConnectionImpl.java:5494) + at com.zaxxer.hikari.pool.PoolBase.setNetworkTimeout(PoolBase.java:560) + at com.zaxxer.hikari.pool.PoolBase.isConnectionAlive(PoolBase.java:173) + at com.zaxxer.hikari.pool.HikariPool.getConnection(HikariPool.java:186) + ... 167 common frames omitted + +2024-06-27 15:32:26.463 ERROR [http-nio-8892-exec-9] [] n.jjjerp.handler.GlobalExceptionHandler 233 : 异常来源:ip: 192.168.31.226, path: /api/admin/purchase/purchase/order/edit +2024-06-27 15:32:26.464 ERROR [http-nio-8892-exec-9] [] n.jjjerp.handler.GlobalExceptionHandler 257 : errorCode: 5001, errorMessage: 请求参数校验异常 + +org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: 不能解析日期:NaN-NaN-NaN NaN:NaN:NaN; nested exception is com.fasterxml.jackson.databind.JsonMappingException: 不能解析日期:NaN-NaN-NaN NaN:NaN:NaN (through reference chain: net.jjjerp.common.entity.bill.BillHead["billItemList"]->java.util.ArrayList[0]->net.jjjerp.common.entity.bill.BillItem["arrivalDate"]) + at org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.readJavaType(AbstractJackson2HttpMessageConverter.java:285) + at org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.read(AbstractJackson2HttpMessageConverter.java:243) + at org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodArgumentResolver.readWithMessageConverters(AbstractMessageConverterMethodArgumentResolver.java:205) + at org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.readWithMessageConverters(RequestResponseBodyMethodProcessor.java:158) + at org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.resolveArgument(RequestResponseBodyMethodProcessor.java:131) + at org.springframework.web.method.support.HandlerMethodArgumentResolverComposite.resolveArgument(HandlerMethodArgumentResolverComposite.java:121) + at org.springframework.web.method.support.InvocableHandlerMethod.getMethodArgumentValues(InvocableHandlerMethod.java:167) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:134) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:652) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:112) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) + at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: com.fasterxml.jackson.databind.JsonMappingException: 不能解析日期:NaN-NaN-NaN NaN:NaN:NaN (through reference chain: net.jjjerp.common.entity.bill.BillHead["billItemList"]->java.util.ArrayList[0]->net.jjjerp.common.entity.bill.BillItem["arrivalDate"]) + at com.fasterxml.jackson.databind.JsonMappingException.wrapWithPath(JsonMappingException.java:397) + at com.fasterxml.jackson.databind.JsonMappingException.wrapWithPath(JsonMappingException.java:356) + at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.wrapAndThrow(BeanDeserializerBase.java:1726) + at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:373) + at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:164) + at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:290) + at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:249) + at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:26) + at com.fasterxml.jackson.databind.deser.impl.MethodProperty.deserializeAndSet(MethodProperty.java:129) + at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:371) + at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:164) + at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:4526) + at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3521) + at org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.readJavaType(AbstractJackson2HttpMessageConverter.java:274) + ... 86 common frames omitted +Caused by: java.lang.IllegalArgumentException: 不能解析日期:NaN-NaN-NaN NaN:NaN:NaN + at net.jjjerp.framework.config.converter.StringToDateUtil.convert(StringToDateUtil.java:84) + at net.jjjerp.framework.config.jackson.deserializer.JacksonDateDeserializer.deserialize(JacksonDateDeserializer.java:21) + at net.jjjerp.framework.config.jackson.deserializer.JacksonDateDeserializer.deserialize(JacksonDateDeserializer.java:17) + at com.fasterxml.jackson.databind.deser.impl.MethodProperty.deserializeAndSet(MethodProperty.java:129) + at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:371) + ... 96 common frames omitted + +2024-06-27 15:36:48.165 ERROR [http-nio-8892-exec-11] [] n.jjjerp.handler.GlobalExceptionHandler 233 : 异常来源:ip: 192.168.31.226, path: /api/admin/purchase/purchase/order/edit +2024-06-27 15:36:48.165 ERROR [http-nio-8892-exec-11] [] n.jjjerp.handler.GlobalExceptionHandler 257 : errorCode: 5001, errorMessage: 请求参数校验异常 + +org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: 不能解析日期:NaN-NaN-NaN NaN:NaN:NaN; nested exception is com.fasterxml.jackson.databind.JsonMappingException: 不能解析日期:NaN-NaN-NaN NaN:NaN:NaN (through reference chain: net.jjjerp.common.entity.bill.BillHead["billItemList"]->java.util.ArrayList[0]->net.jjjerp.common.entity.bill.BillItem["arrivalDate"]) + at org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.readJavaType(AbstractJackson2HttpMessageConverter.java:285) + at org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.read(AbstractJackson2HttpMessageConverter.java:243) + at org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodArgumentResolver.readWithMessageConverters(AbstractMessageConverterMethodArgumentResolver.java:205) + at org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.readWithMessageConverters(RequestResponseBodyMethodProcessor.java:158) + at org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.resolveArgument(RequestResponseBodyMethodProcessor.java:131) + at org.springframework.web.method.support.HandlerMethodArgumentResolverComposite.resolveArgument(HandlerMethodArgumentResolverComposite.java:121) + at org.springframework.web.method.support.InvocableHandlerMethod.getMethodArgumentValues(InvocableHandlerMethod.java:167) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:134) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:652) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:112) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) + at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: com.fasterxml.jackson.databind.JsonMappingException: 不能解析日期:NaN-NaN-NaN NaN:NaN:NaN (through reference chain: net.jjjerp.common.entity.bill.BillHead["billItemList"]->java.util.ArrayList[0]->net.jjjerp.common.entity.bill.BillItem["arrivalDate"]) + at com.fasterxml.jackson.databind.JsonMappingException.wrapWithPath(JsonMappingException.java:397) + at com.fasterxml.jackson.databind.JsonMappingException.wrapWithPath(JsonMappingException.java:356) + at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.wrapAndThrow(BeanDeserializerBase.java:1726) + at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:373) + at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:164) + at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:290) + at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:249) + at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:26) + at com.fasterxml.jackson.databind.deser.impl.MethodProperty.deserializeAndSet(MethodProperty.java:129) + at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:371) + at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:164) + at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:4526) + at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3521) + at org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.readJavaType(AbstractJackson2HttpMessageConverter.java:274) + ... 86 common frames omitted +Caused by: java.lang.IllegalArgumentException: 不能解析日期:NaN-NaN-NaN NaN:NaN:NaN + at net.jjjerp.framework.config.converter.StringToDateUtil.convert(StringToDateUtil.java:84) + at net.jjjerp.framework.config.jackson.deserializer.JacksonDateDeserializer.deserialize(JacksonDateDeserializer.java:21) + at net.jjjerp.framework.config.jackson.deserializer.JacksonDateDeserializer.deserialize(JacksonDateDeserializer.java:17) + at com.fasterxml.jackson.databind.deser.impl.MethodProperty.deserializeAndSet(MethodProperty.java:129) + at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:371) + ... 96 common frames omitted + +2024-06-27 15:37:02.960 ERROR [http-nio-8892-exec-20] [] n.jjjerp.handler.GlobalExceptionHandler 233 : 异常来源:ip: 192.168.31.226, path: /api/admin/purchase/purchase/order/edit +2024-06-27 15:37:02.961 ERROR [http-nio-8892-exec-20] [] n.jjjerp.handler.GlobalExceptionHandler 257 : errorCode: 5001, errorMessage: 请求参数校验异常 + +org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: 不能解析日期:NaN-NaN-NaN NaN:NaN:NaN; nested exception is com.fasterxml.jackson.databind.JsonMappingException: 不能解析日期:NaN-NaN-NaN NaN:NaN:NaN (through reference chain: net.jjjerp.common.entity.bill.BillHead["billItemList"]->java.util.ArrayList[0]->net.jjjerp.common.entity.bill.BillItem["arrivalDate"]) + at org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.readJavaType(AbstractJackson2HttpMessageConverter.java:285) + at org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.read(AbstractJackson2HttpMessageConverter.java:243) + at org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodArgumentResolver.readWithMessageConverters(AbstractMessageConverterMethodArgumentResolver.java:205) + at org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.readWithMessageConverters(RequestResponseBodyMethodProcessor.java:158) + at org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.resolveArgument(RequestResponseBodyMethodProcessor.java:131) + at org.springframework.web.method.support.HandlerMethodArgumentResolverComposite.resolveArgument(HandlerMethodArgumentResolverComposite.java:121) + at org.springframework.web.method.support.InvocableHandlerMethod.getMethodArgumentValues(InvocableHandlerMethod.java:167) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:134) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:652) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:112) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) + at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: com.fasterxml.jackson.databind.JsonMappingException: 不能解析日期:NaN-NaN-NaN NaN:NaN:NaN (through reference chain: net.jjjerp.common.entity.bill.BillHead["billItemList"]->java.util.ArrayList[0]->net.jjjerp.common.entity.bill.BillItem["arrivalDate"]) + at com.fasterxml.jackson.databind.JsonMappingException.wrapWithPath(JsonMappingException.java:397) + at com.fasterxml.jackson.databind.JsonMappingException.wrapWithPath(JsonMappingException.java:356) + at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.wrapAndThrow(BeanDeserializerBase.java:1726) + at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:373) + at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:164) + at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:290) + at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:249) + at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:26) + at com.fasterxml.jackson.databind.deser.impl.MethodProperty.deserializeAndSet(MethodProperty.java:129) + at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:371) + at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:164) + at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:4526) + at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3521) + at org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.readJavaType(AbstractJackson2HttpMessageConverter.java:274) + ... 86 common frames omitted +Caused by: java.lang.IllegalArgumentException: 不能解析日期:NaN-NaN-NaN NaN:NaN:NaN + at net.jjjerp.framework.config.converter.StringToDateUtil.convert(StringToDateUtil.java:84) + at net.jjjerp.framework.config.jackson.deserializer.JacksonDateDeserializer.deserialize(JacksonDateDeserializer.java:21) + at net.jjjerp.framework.config.jackson.deserializer.JacksonDateDeserializer.deserialize(JacksonDateDeserializer.java:17) + at com.fasterxml.jackson.databind.deser.impl.MethodProperty.deserializeAndSet(MethodProperty.java:129) + at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:371) + ... 96 common frames omitted + +2024-06-27 15:58:22.623 ERROR [http-nio-8892-exec-20] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy405.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-27 15:58:22.623 ERROR [http-nio-8892-exec-19] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy405.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-27 15:58:30.881 ERROR [http-nio-8892-exec-18] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy405.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-27 16:09:55.589 ERROR [http-nio-8892-exec-5] [] n.jjjerp.handler.GlobalExceptionHandler 233 : 异常来源:ip: 192.168.31.208, path: /api/admin/product/base/unit/add +2024-06-27 16:09:55.591 ERROR [http-nio-8892-exec-5] [] n.jjjerp.handler.GlobalExceptionHandler 257 : errorCode: 5000, errorMessage: 系统异常 + +java.lang.NullPointerException: null + at java.util.Comparator.lambda$comparingInt$7b0bb60$1(Comparator.java:490) + at java.util.TimSort.countRunAndMakeAscending(TimSort.java:360) + at java.util.TimSort.sort(TimSort.java:220) + at java.util.Arrays.sort(Arrays.java:1512) + at java.util.stream.SortedOps$SizedRefSortingSink.end(SortedOps.java:348) + at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:483) + at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472) + at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708) + at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) + at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:499) + at net.jjjerp.admin.service.product.impl.ProductUnitServiceImpl.parseNameByUnit(ProductUnitServiceImpl.java:149) + at net.jjjerp.admin.service.product.impl.ProductUnitServiceImpl.add(ProductUnitServiceImpl.java:109) + at net.jjjerp.admin.service.product.impl.ProductUnitServiceImpl$$FastClassBySpringCGLIB$$c1afc35.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:367) + at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:118) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at net.jjjerp.admin.service.product.impl.ProductUnitServiceImpl$$EnhancerBySpringCGLIB$$8fabaa28.add() + at net.jjjerp.admin.controller.product.base.UnitController.add(UnitController.java:46) + at net.jjjerp.admin.controller.product.base.UnitController$$FastClassBySpringCGLIB$$e31e0dcf.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.AspectJAfterThrowingAdvice.invoke(AspectJAfterThrowingAdvice.java:62) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:88) + at net.jjjerp.framework.log.aop.BaseLogAop.handle(BaseLogAop.java:303) + at net.jjjerp.aop.LogAop.doAround(LogAop.java:35) + at net.jjjerp.aop.LogAop$$FastClassBySpringCGLIB$$189c4aae.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.aop.LogAop$$EnhancerBySpringCGLIB$$496ca606.doAround() + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:644) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:633) + at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.apache.shiro.spring.security.interceptor.AopAllianceAnnotationsAuthorizingMethodInterceptor$1.proceed(AopAllianceAnnotationsAuthorizingMethodInterceptor.java:82) + at org.apache.shiro.authz.aop.AuthorizingMethodInterceptor.invoke(AuthorizingMethodInterceptor.java:39) + at org.apache.shiro.spring.security.interceptor.AopAllianceAnnotationsAuthorizingMethodInterceptor.invoke(AopAllianceAnnotationsAuthorizingMethodInterceptor.java:115) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:95) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at net.jjjerp.admin.controller.product.base.UnitController$$EnhancerBySpringCGLIB$$ef6db98c.add() + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:652) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:112) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) + at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) + +2024-06-27 16:11:03.616 ERROR [http-nio-8892-exec-8] [] n.jjjerp.handler.GlobalExceptionHandler 233 : 异常来源:ip: 192.168.31.208, path: /api/admin/product/base/unit/edit +2024-06-27 16:11:03.617 ERROR [http-nio-8892-exec-8] [] n.jjjerp.handler.GlobalExceptionHandler 257 : errorCode: 5000, errorMessage: 系统异常 + +java.lang.NullPointerException: null + at java.util.Comparator.lambda$comparingInt$7b0bb60$1(Comparator.java:490) + at java.util.TimSort.countRunAndMakeAscending(TimSort.java:360) + at java.util.TimSort.sort(TimSort.java:220) + at java.util.Arrays.sort(Arrays.java:1512) + at java.util.stream.SortedOps$SizedRefSortingSink.end(SortedOps.java:348) + at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:483) + at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472) + at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708) + at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) + at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:499) + at net.jjjerp.admin.service.product.impl.ProductUnitServiceImpl.parseNameByUnit(ProductUnitServiceImpl.java:149) + at net.jjjerp.admin.service.product.impl.ProductUnitServiceImpl.edit(ProductUnitServiceImpl.java:120) + at net.jjjerp.admin.service.product.impl.ProductUnitServiceImpl$$FastClassBySpringCGLIB$$c1afc35.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:367) + at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:118) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at net.jjjerp.admin.service.product.impl.ProductUnitServiceImpl$$EnhancerBySpringCGLIB$$8fabaa28.edit() + at net.jjjerp.admin.controller.product.base.UnitController.edit(UnitController.java:58) + at net.jjjerp.admin.controller.product.base.UnitController$$FastClassBySpringCGLIB$$e31e0dcf.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.AspectJAfterThrowingAdvice.invoke(AspectJAfterThrowingAdvice.java:62) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:88) + at net.jjjerp.framework.log.aop.BaseLogAop.handle(BaseLogAop.java:303) + at net.jjjerp.aop.LogAop.doAround(LogAop.java:35) + at net.jjjerp.aop.LogAop$$FastClassBySpringCGLIB$$189c4aae.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.aop.LogAop$$EnhancerBySpringCGLIB$$496ca606.doAround() + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:644) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:633) + at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.apache.shiro.spring.security.interceptor.AopAllianceAnnotationsAuthorizingMethodInterceptor$1.proceed(AopAllianceAnnotationsAuthorizingMethodInterceptor.java:82) + at org.apache.shiro.authz.aop.AuthorizingMethodInterceptor.invoke(AuthorizingMethodInterceptor.java:39) + at org.apache.shiro.spring.security.interceptor.AopAllianceAnnotationsAuthorizingMethodInterceptor.invoke(AopAllianceAnnotationsAuthorizingMethodInterceptor.java:115) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:95) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at net.jjjerp.admin.controller.product.base.UnitController$$EnhancerBySpringCGLIB$$ef6db98c.edit() + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:652) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:112) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) + at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) + +2024-06-27 16:13:35.649 ERROR [http-nio-8892-exec-11] [] n.jjjerp.handler.GlobalExceptionHandler 233 : 异常来源:ip: 192.168.31.208, path: /api/admin/product/base/unit/delete +2024-06-27 16:13:35.650 ERROR [http-nio-8892-exec-11] [] n.jjjerp.handler.GlobalExceptionHandler 257 : errorCode: 5000, errorMessage: 系统异常 + +java.lang.NumberFormatException: For input string: "" + at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65) + at java.lang.Long.parseLong(Long.java:601) + at java.lang.Long.parseLong(Long.java:631) + at net.jjjerp.common.util.StringUtil.strToLongList(StringUtil.java:199) + at net.jjjerp.admin.service.product.impl.ProductUnitServiceImpl.delById(ProductUnitServiceImpl.java:174) + at net.jjjerp.admin.service.product.impl.ProductUnitServiceImpl$$FastClassBySpringCGLIB$$c1afc35.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.admin.service.product.impl.ProductUnitServiceImpl$$EnhancerBySpringCGLIB$$8fabaa28.delById() + at net.jjjerp.admin.controller.product.base.UnitController.delete(UnitController.java:70) + at net.jjjerp.admin.controller.product.base.UnitController$$FastClassBySpringCGLIB$$e31e0dcf.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.AspectJAfterThrowingAdvice.invoke(AspectJAfterThrowingAdvice.java:62) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:88) + at net.jjjerp.framework.log.aop.BaseLogAop.handle(BaseLogAop.java:303) + at net.jjjerp.aop.LogAop.doAround(LogAop.java:35) + at net.jjjerp.aop.LogAop$$FastClassBySpringCGLIB$$189c4aae.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.aop.LogAop$$EnhancerBySpringCGLIB$$496ca606.doAround() + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:644) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:633) + at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.apache.shiro.spring.security.interceptor.AopAllianceAnnotationsAuthorizingMethodInterceptor$1.proceed(AopAllianceAnnotationsAuthorizingMethodInterceptor.java:82) + at org.apache.shiro.authz.aop.AuthorizingMethodInterceptor.invoke(AuthorizingMethodInterceptor.java:39) + at org.apache.shiro.spring.security.interceptor.AopAllianceAnnotationsAuthorizingMethodInterceptor.invoke(AopAllianceAnnotationsAuthorizingMethodInterceptor.java:115) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:95) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at net.jjjerp.admin.controller.product.base.UnitController$$EnhancerBySpringCGLIB$$ef6db98c.delete() + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:652) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:112) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) + at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) + +2024-06-27 16:46:48.590 ERROR [http-nio-8892-exec-23] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy405.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-27 16:55:52.773 ERROR [http-nio-8892-exec-7] [] n.jjjerp.handler.GlobalExceptionHandler 233 : 异常来源:ip: 192.168.31.208, path: /api/admin/product/base/unit/edit +2024-06-27 16:55:52.775 ERROR [http-nio-8892-exec-7] [] n.jjjerp.handler.GlobalExceptionHandler 257 : errorCode: 5001, errorMessage: 请求参数校验异常 + +org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: Cannot deserialize instance of `java.util.ArrayList` out of VALUE_NUMBER_INT token; nested exception is com.fasterxml.jackson.databind.exc.MismatchedInputException: Cannot deserialize instance of `java.util.ArrayList` out of VALUE_NUMBER_INT token + at [Source: (PushbackInputStream); line: 1, column: 33] (through reference chain: net.jjjerp.common.entity.product.ProductUnit["deleteList"]) + at org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.readJavaType(AbstractJackson2HttpMessageConverter.java:285) + at org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.read(AbstractJackson2HttpMessageConverter.java:243) + at org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodArgumentResolver.readWithMessageConverters(AbstractMessageConverterMethodArgumentResolver.java:205) + at org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.readWithMessageConverters(RequestResponseBodyMethodProcessor.java:158) + at org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.resolveArgument(RequestResponseBodyMethodProcessor.java:131) + at org.springframework.web.method.support.HandlerMethodArgumentResolverComposite.resolveArgument(HandlerMethodArgumentResolverComposite.java:121) + at org.springframework.web.method.support.InvocableHandlerMethod.getMethodArgumentValues(InvocableHandlerMethod.java:167) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:134) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:652) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:112) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) + at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: com.fasterxml.jackson.databind.exc.MismatchedInputException: Cannot deserialize instance of `java.util.ArrayList` out of VALUE_NUMBER_INT token + at [Source: (PushbackInputStream); line: 1, column: 33] (through reference chain: net.jjjerp.common.entity.product.ProductUnit["deleteList"]) + at com.fasterxml.jackson.databind.exc.MismatchedInputException.from(MismatchedInputException.java:59) + at com.fasterxml.jackson.databind.DeserializationContext.reportInputMismatch(DeserializationContext.java:1468) + at com.fasterxml.jackson.databind.DeserializationContext.handleUnexpectedToken(DeserializationContext.java:1242) + at com.fasterxml.jackson.databind.DeserializationContext.handleUnexpectedToken(DeserializationContext.java:1190) + at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.handleNonArray(CollectionDeserializer.java:336) + at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:269) + at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:249) + at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:26) + at com.fasterxml.jackson.databind.deser.impl.MethodProperty.deserializeAndSet(MethodProperty.java:129) + at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:371) + at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:164) + at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:4526) + at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3521) + at org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.readJavaType(AbstractJackson2HttpMessageConverter.java:274) + ... 86 common frames omitted + +2024-06-27 16:57:23.996 ERROR [http-nio-8892-exec-1] [] n.jjjerp.handler.GlobalExceptionHandler 233 : 异常来源:ip: 192.168.31.226, path: /api/admin/product/base/unit/index +2024-06-27 16:57:24.000 ERROR [http-nio-8892-exec-1] [] n.jjjerp.handler.GlobalExceptionHandler 257 : errorCode: 5000, errorMessage: 系统异常 + +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'basic_unit_id' in 'field list' +### The error may exist in net/jjjerp/common/mapper/product/ProductUnitMapper.java (best guess) +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT basic_unit_id, name, basic_unit, enabled, app_id, delete_flag, create_time, update_time FROM jjjerp_product_unit WHERE (delete_flag = ?) AND app_id = 10001 ORDER BY create_time DESC LIMIT ? +### Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'basic_unit_id' in 'field list' +; bad SQL grammar []; nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'basic_unit_id' in 'field list' + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:239) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:72) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:88) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:440) + at com.sun.proxy.$Proxy114.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:223) + at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.executeForIPage(MybatisMapperMethod.java:122) + at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:87) + at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:148) + at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89) + at com.sun.proxy.$Proxy229.selectPage(Unknown Source) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:344) + at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:198) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:139) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:212) + at com.sun.proxy.$Proxy230.selectPage(Unknown Source) + at com.baomidou.mybatisplus.extension.service.IService.page(IService.java:298) + at net.jjjerp.admin.service.product.impl.ProductUnitServiceImpl.index(ProductUnitServiceImpl.java:80) + at net.jjjerp.admin.service.product.impl.ProductUnitServiceImpl$$FastClassBySpringCGLIB$$c1afc35.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.admin.service.product.impl.ProductUnitServiceImpl$$EnhancerBySpringCGLIB$$f6176bc.index() + at net.jjjerp.admin.controller.product.base.UnitController.index(UnitController.java:38) + at net.jjjerp.admin.controller.product.base.UnitController$$FastClassBySpringCGLIB$$e31e0dcf.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.AspectJAfterThrowingAdvice.invoke(AspectJAfterThrowingAdvice.java:62) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:88) + at net.jjjerp.framework.log.aop.BaseLogAop.handle(BaseLogAop.java:303) + at net.jjjerp.aop.LogAop.doAround(LogAop.java:35) + at net.jjjerp.aop.LogAop$$FastClassBySpringCGLIB$$189c4aae.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.aop.LogAop$$EnhancerBySpringCGLIB$$5c5051e0.doAround() + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:644) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:633) + at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.apache.shiro.spring.security.interceptor.AopAllianceAnnotationsAuthorizingMethodInterceptor$1.proceed(AopAllianceAnnotationsAuthorizingMethodInterceptor.java:82) + at org.apache.shiro.authz.aop.AuthorizingMethodInterceptor.invoke(AuthorizingMethodInterceptor.java:39) + at org.apache.shiro.spring.security.interceptor.AopAllianceAnnotationsAuthorizingMethodInterceptor.invoke(AopAllianceAnnotationsAuthorizingMethodInterceptor.java:115) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:95) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at net.jjjerp.admin.controller.product.base.UnitController$$EnhancerBySpringCGLIB$$539a4824.index() + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:652) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:112) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) + at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'basic_unit_id' in 'field list' + at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) + at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) + at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) + at java.lang.reflect.Constructor.newInstance(Constructor.java:423) + at com.mysql.jdbc.Util.handleNewInstance(Util.java:425) + at com.mysql.jdbc.Util.getInstance(Util.java:408) + at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:944) + at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3978) + at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3914) + at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2530) + at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2683) + at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2495) + at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1903) + at com.mysql.jdbc.PreparedStatement.execute(PreparedStatement.java:1242) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:59) + at com.sun.proxy.$Proxy412.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:64) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:79) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:63) + at com.sun.proxy.$Proxy410.query(Unknown Source) + at com.baomidou.mybatisplus.core.executor.MybatisSimpleExecutor.doQuery(MybatisSimpleExecutor.java:69) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:325) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:156) + at com.baomidou.mybatisplus.core.executor.MybatisCachingExecutor.query(MybatisCachingExecutor.java:165) + at com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor.intercept(MybatisPlusInterceptor.java:65) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:61) + at com.sun.proxy.$Proxy409.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:140) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:426) + ... 144 common frames omitted + +2024-06-27 16:57:29.627 ERROR [http-nio-8892-exec-5] [] n.jjjerp.handler.GlobalExceptionHandler 233 : 异常来源:ip: 192.168.31.226, path: /api/admin/product/base/unit/index +2024-06-27 16:57:29.628 ERROR [http-nio-8892-exec-5] [] n.jjjerp.handler.GlobalExceptionHandler 257 : errorCode: 5000, errorMessage: 系统异常 + +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'basic_unit_id' in 'field list' +### The error may exist in net/jjjerp/common/mapper/product/ProductUnitMapper.java (best guess) +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT basic_unit_id, name, basic_unit, enabled, app_id, delete_flag, create_time, update_time FROM jjjerp_product_unit WHERE (delete_flag = ?) AND app_id = 10001 ORDER BY create_time DESC LIMIT ? +### Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'basic_unit_id' in 'field list' +; bad SQL grammar []; nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'basic_unit_id' in 'field list' + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:239) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:72) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:88) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:440) + at com.sun.proxy.$Proxy114.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:223) + at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.executeForIPage(MybatisMapperMethod.java:122) + at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:87) + at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:148) + at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89) + at com.sun.proxy.$Proxy229.selectPage(Unknown Source) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:344) + at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:198) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:139) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:212) + at com.sun.proxy.$Proxy230.selectPage(Unknown Source) + at com.baomidou.mybatisplus.extension.service.IService.page(IService.java:298) + at net.jjjerp.admin.service.product.impl.ProductUnitServiceImpl.index(ProductUnitServiceImpl.java:80) + at net.jjjerp.admin.service.product.impl.ProductUnitServiceImpl$$FastClassBySpringCGLIB$$c1afc35.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.admin.service.product.impl.ProductUnitServiceImpl$$EnhancerBySpringCGLIB$$f6176bc.index() + at net.jjjerp.admin.controller.product.base.UnitController.index(UnitController.java:38) + at net.jjjerp.admin.controller.product.base.UnitController$$FastClassBySpringCGLIB$$e31e0dcf.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.AspectJAfterThrowingAdvice.invoke(AspectJAfterThrowingAdvice.java:62) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:88) + at net.jjjerp.framework.log.aop.BaseLogAop.handle(BaseLogAop.java:303) + at net.jjjerp.aop.LogAop.doAround(LogAop.java:35) + at net.jjjerp.aop.LogAop$$FastClassBySpringCGLIB$$189c4aae.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.aop.LogAop$$EnhancerBySpringCGLIB$$5c5051e0.doAround() + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:644) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:633) + at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.apache.shiro.spring.security.interceptor.AopAllianceAnnotationsAuthorizingMethodInterceptor$1.proceed(AopAllianceAnnotationsAuthorizingMethodInterceptor.java:82) + at org.apache.shiro.authz.aop.AuthorizingMethodInterceptor.invoke(AuthorizingMethodInterceptor.java:39) + at org.apache.shiro.spring.security.interceptor.AopAllianceAnnotationsAuthorizingMethodInterceptor.invoke(AopAllianceAnnotationsAuthorizingMethodInterceptor.java:115) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:95) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at net.jjjerp.admin.controller.product.base.UnitController$$EnhancerBySpringCGLIB$$539a4824.index() + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:652) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:112) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) + at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'basic_unit_id' in 'field list' + at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) + at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) + at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) + at java.lang.reflect.Constructor.newInstance(Constructor.java:423) + at com.mysql.jdbc.Util.handleNewInstance(Util.java:425) + at com.mysql.jdbc.Util.getInstance(Util.java:408) + at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:944) + at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3978) + at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3914) + at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2530) + at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2683) + at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2495) + at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1903) + at com.mysql.jdbc.PreparedStatement.execute(PreparedStatement.java:1242) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:59) + at com.sun.proxy.$Proxy412.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:64) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:79) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:63) + at com.sun.proxy.$Proxy410.query(Unknown Source) + at com.baomidou.mybatisplus.core.executor.MybatisSimpleExecutor.doQuery(MybatisSimpleExecutor.java:69) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:325) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:156) + at com.baomidou.mybatisplus.core.executor.MybatisCachingExecutor.query(MybatisCachingExecutor.java:165) + at com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor.intercept(MybatisPlusInterceptor.java:65) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:61) + at com.sun.proxy.$Proxy409.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:140) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:426) + ... 144 common frames omitted + +2024-06-27 16:58:46.991 ERROR [http-nio-8892-exec-4] [] n.jjjerp.handler.GlobalExceptionHandler 233 : 异常来源:ip: 192.168.31.208, path: /api/admin/product/base/unit/index +2024-06-27 16:58:46.993 ERROR [http-nio-8892-exec-4] [] n.jjjerp.handler.GlobalExceptionHandler 257 : errorCode: 5000, errorMessage: 系统异常 + +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'basic_unit_id' in 'field list' +### The error may exist in net/jjjerp/common/mapper/product/ProductUnitMapper.java (best guess) +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT basic_unit_id, name, basic_unit, enabled, app_id, delete_flag, create_time, update_time FROM jjjerp_product_unit WHERE (delete_flag = ?) AND app_id = 10001 ORDER BY create_time DESC LIMIT ? +### Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'basic_unit_id' in 'field list' +; bad SQL grammar []; nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'basic_unit_id' in 'field list' + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:239) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:72) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:88) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:440) + at com.sun.proxy.$Proxy114.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:223) + at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.executeForIPage(MybatisMapperMethod.java:122) + at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:87) + at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:148) + at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89) + at com.sun.proxy.$Proxy229.selectPage(Unknown Source) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:344) + at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:198) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:139) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:212) + at com.sun.proxy.$Proxy230.selectPage(Unknown Source) + at com.baomidou.mybatisplus.extension.service.IService.page(IService.java:298) + at net.jjjerp.admin.service.product.impl.ProductUnitServiceImpl.index(ProductUnitServiceImpl.java:80) + at net.jjjerp.admin.service.product.impl.ProductUnitServiceImpl$$FastClassBySpringCGLIB$$c1afc35.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.admin.service.product.impl.ProductUnitServiceImpl$$EnhancerBySpringCGLIB$$f6176bc.index() + at net.jjjerp.admin.controller.product.base.UnitController.index(UnitController.java:38) + at net.jjjerp.admin.controller.product.base.UnitController$$FastClassBySpringCGLIB$$e31e0dcf.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.AspectJAfterThrowingAdvice.invoke(AspectJAfterThrowingAdvice.java:62) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:88) + at net.jjjerp.framework.log.aop.BaseLogAop.handle(BaseLogAop.java:303) + at net.jjjerp.aop.LogAop.doAround(LogAop.java:35) + at net.jjjerp.aop.LogAop$$FastClassBySpringCGLIB$$189c4aae.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.aop.LogAop$$EnhancerBySpringCGLIB$$5c5051e0.doAround() + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:644) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:633) + at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.apache.shiro.spring.security.interceptor.AopAllianceAnnotationsAuthorizingMethodInterceptor$1.proceed(AopAllianceAnnotationsAuthorizingMethodInterceptor.java:82) + at org.apache.shiro.authz.aop.AuthorizingMethodInterceptor.invoke(AuthorizingMethodInterceptor.java:39) + at org.apache.shiro.spring.security.interceptor.AopAllianceAnnotationsAuthorizingMethodInterceptor.invoke(AopAllianceAnnotationsAuthorizingMethodInterceptor.java:115) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:95) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at net.jjjerp.admin.controller.product.base.UnitController$$EnhancerBySpringCGLIB$$539a4824.index() + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:652) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:112) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) + at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'basic_unit_id' in 'field list' + at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) + at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) + at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) + at java.lang.reflect.Constructor.newInstance(Constructor.java:423) + at com.mysql.jdbc.Util.handleNewInstance(Util.java:425) + at com.mysql.jdbc.Util.getInstance(Util.java:408) + at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:944) + at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3978) + at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3914) + at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2530) + at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2683) + at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2495) + at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1903) + at com.mysql.jdbc.PreparedStatement.execute(PreparedStatement.java:1242) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:59) + at com.sun.proxy.$Proxy412.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:64) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:79) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:63) + at com.sun.proxy.$Proxy410.query(Unknown Source) + at com.baomidou.mybatisplus.core.executor.MybatisSimpleExecutor.doQuery(MybatisSimpleExecutor.java:69) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:325) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:156) + at com.baomidou.mybatisplus.core.executor.MybatisCachingExecutor.query(MybatisCachingExecutor.java:165) + at com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor.intercept(MybatisPlusInterceptor.java:65) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:61) + at com.sun.proxy.$Proxy409.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:140) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:426) + ... 144 common frames omitted + +2024-06-27 16:58:55.229 ERROR [http-nio-8892-exec-7] [] n.jjjerp.handler.GlobalExceptionHandler 233 : 异常来源:ip: 192.168.31.208, path: /api/admin/product/base/unit/index +2024-06-27 16:58:55.230 ERROR [http-nio-8892-exec-7] [] n.jjjerp.handler.GlobalExceptionHandler 257 : errorCode: 5000, errorMessage: 系统异常 + +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'basic_unit_id' in 'field list' +### The error may exist in net/jjjerp/common/mapper/product/ProductUnitMapper.java (best guess) +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT basic_unit_id, name, basic_unit, enabled, app_id, delete_flag, create_time, update_time FROM jjjerp_product_unit WHERE (delete_flag = ?) AND app_id = 10001 ORDER BY create_time DESC LIMIT ? +### Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'basic_unit_id' in 'field list' +; bad SQL grammar []; nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'basic_unit_id' in 'field list' + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:239) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:72) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:88) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:440) + at com.sun.proxy.$Proxy114.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:223) + at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.executeForIPage(MybatisMapperMethod.java:122) + at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:87) + at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:148) + at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89) + at com.sun.proxy.$Proxy229.selectPage(Unknown Source) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:344) + at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:198) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:139) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:212) + at com.sun.proxy.$Proxy230.selectPage(Unknown Source) + at com.baomidou.mybatisplus.extension.service.IService.page(IService.java:298) + at net.jjjerp.admin.service.product.impl.ProductUnitServiceImpl.index(ProductUnitServiceImpl.java:80) + at net.jjjerp.admin.service.product.impl.ProductUnitServiceImpl$$FastClassBySpringCGLIB$$c1afc35.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.admin.service.product.impl.ProductUnitServiceImpl$$EnhancerBySpringCGLIB$$f6176bc.index() + at net.jjjerp.admin.controller.product.base.UnitController.index(UnitController.java:38) + at net.jjjerp.admin.controller.product.base.UnitController$$FastClassBySpringCGLIB$$e31e0dcf.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.AspectJAfterThrowingAdvice.invoke(AspectJAfterThrowingAdvice.java:62) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:88) + at net.jjjerp.framework.log.aop.BaseLogAop.handle(BaseLogAop.java:303) + at net.jjjerp.aop.LogAop.doAround(LogAop.java:35) + at net.jjjerp.aop.LogAop$$FastClassBySpringCGLIB$$189c4aae.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.aop.LogAop$$EnhancerBySpringCGLIB$$5c5051e0.doAround() + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:644) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:633) + at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.apache.shiro.spring.security.interceptor.AopAllianceAnnotationsAuthorizingMethodInterceptor$1.proceed(AopAllianceAnnotationsAuthorizingMethodInterceptor.java:82) + at org.apache.shiro.authz.aop.AuthorizingMethodInterceptor.invoke(AuthorizingMethodInterceptor.java:39) + at org.apache.shiro.spring.security.interceptor.AopAllianceAnnotationsAuthorizingMethodInterceptor.invoke(AopAllianceAnnotationsAuthorizingMethodInterceptor.java:115) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:95) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at net.jjjerp.admin.controller.product.base.UnitController$$EnhancerBySpringCGLIB$$539a4824.index() + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:652) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:112) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) + at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'basic_unit_id' in 'field list' + at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) + at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) + at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) + at java.lang.reflect.Constructor.newInstance(Constructor.java:423) + at com.mysql.jdbc.Util.handleNewInstance(Util.java:425) + at com.mysql.jdbc.Util.getInstance(Util.java:408) + at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:944) + at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3978) + at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3914) + at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2530) + at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2683) + at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2495) + at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1903) + at com.mysql.jdbc.PreparedStatement.execute(PreparedStatement.java:1242) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:59) + at com.sun.proxy.$Proxy412.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:64) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:79) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:63) + at com.sun.proxy.$Proxy410.query(Unknown Source) + at com.baomidou.mybatisplus.core.executor.MybatisSimpleExecutor.doQuery(MybatisSimpleExecutor.java:69) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:325) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:156) + at com.baomidou.mybatisplus.core.executor.MybatisCachingExecutor.query(MybatisCachingExecutor.java:165) + at com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor.intercept(MybatisPlusInterceptor.java:65) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:61) + at com.sun.proxy.$Proxy409.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:140) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:426) + ... 144 common frames omitted + +2024-06-27 16:59:08.934 ERROR [http-nio-8892-exec-9] [] n.jjjerp.handler.GlobalExceptionHandler 233 : 异常来源:ip: 192.168.31.208, path: /api/admin/product/base/product/add +2024-06-27 16:59:08.934 ERROR [http-nio-8892-exec-9] [] n.jjjerp.handler.GlobalExceptionHandler 257 : errorCode: 5000, errorMessage: 系统异常 + +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'basic_unit_id' in 'field list' +### The error may exist in net/jjjerp/common/mapper/product/ProductUnitMapper.java (best guess) +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT basic_unit_id, name, basic_unit, enabled, app_id, delete_flag, create_time, update_time FROM jjjerp_product_unit WHERE (delete_flag = ?) AND app_id = 10001 ORDER BY create_time DESC +### Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'basic_unit_id' in 'field list' +; bad SQL grammar []; nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'basic_unit_id' in 'field list' + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:239) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:72) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:88) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:440) + at com.sun.proxy.$Proxy114.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:223) + at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.executeForMany(MybatisMapperMethod.java:173) + at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:78) + at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:148) + at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89) + at com.sun.proxy.$Proxy229.selectList(Unknown Source) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:344) + at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:198) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:139) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:212) + at com.sun.proxy.$Proxy230.selectList(Unknown Source) + at com.baomidou.mybatisplus.extension.service.IService.list(IService.java:279) + at net.jjjerp.admin.service.product.impl.ProductUnitServiceImpl.getAll(ProductUnitServiceImpl.java:206) + at net.jjjerp.admin.service.product.impl.ProductUnitServiceImpl$$FastClassBySpringCGLIB$$c1afc35.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.admin.service.product.impl.ProductUnitServiceImpl$$EnhancerBySpringCGLIB$$f6176bc.getAll() + at net.jjjerp.admin.service.product.impl.ProductServiceImpl.getBaseData(ProductServiceImpl.java:172) + at net.jjjerp.admin.service.product.impl.ProductServiceImpl$$FastClassBySpringCGLIB$$4edb1a59.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.admin.service.product.impl.ProductServiceImpl$$EnhancerBySpringCGLIB$$8b83c7a8.getBaseData() + at net.jjjerp.admin.controller.product.base.ProductController.toAdd(ProductController.java:50) + at net.jjjerp.admin.controller.product.base.ProductController$$FastClassBySpringCGLIB$$588445fc.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.AspectJAfterThrowingAdvice.invoke(AspectJAfterThrowingAdvice.java:62) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:88) + at net.jjjerp.framework.log.aop.BaseLogAop.handle(BaseLogAop.java:303) + at net.jjjerp.aop.LogAop.doAround(LogAop.java:35) + at net.jjjerp.aop.LogAop$$FastClassBySpringCGLIB$$189c4aae.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.aop.LogAop$$EnhancerBySpringCGLIB$$5c5051e0.doAround() + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:644) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:633) + at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.apache.shiro.spring.security.interceptor.AopAllianceAnnotationsAuthorizingMethodInterceptor$1.proceed(AopAllianceAnnotationsAuthorizingMethodInterceptor.java:82) + at org.apache.shiro.authz.aop.AuthorizingMethodInterceptor.invoke(AuthorizingMethodInterceptor.java:39) + at org.apache.shiro.spring.security.interceptor.AopAllianceAnnotationsAuthorizingMethodInterceptor.invoke(AopAllianceAnnotationsAuthorizingMethodInterceptor.java:115) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:95) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at net.jjjerp.admin.controller.product.base.ProductController$$EnhancerBySpringCGLIB$$bbc6f4cb.toAdd() + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:626) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:112) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) + at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'basic_unit_id' in 'field list' + at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) + at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) + at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) + at java.lang.reflect.Constructor.newInstance(Constructor.java:423) + at com.mysql.jdbc.Util.handleNewInstance(Util.java:425) + at com.mysql.jdbc.Util.getInstance(Util.java:408) + at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:944) + at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3978) + at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3914) + at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2530) + at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2683) + at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2495) + at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1903) + at com.mysql.jdbc.PreparedStatement.execute(PreparedStatement.java:1242) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at sun.reflect.GeneratedMethodAccessor192.invoke(Unknown Source) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:59) + at com.sun.proxy.$Proxy412.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:64) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:79) + at sun.reflect.GeneratedMethodAccessor191.invoke(Unknown Source) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:63) + at com.sun.proxy.$Proxy410.query(Unknown Source) + at com.baomidou.mybatisplus.core.executor.MybatisSimpleExecutor.doQuery(MybatisSimpleExecutor.java:69) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:325) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:156) + at com.baomidou.mybatisplus.core.executor.MybatisCachingExecutor.query(MybatisCachingExecutor.java:165) + at com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor.intercept(MybatisPlusInterceptor.java:65) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:61) + at com.sun.proxy.$Proxy409.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:140) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:426) + ... 149 common frames omitted + +2024-06-27 16:59:08.957 ERROR [http-nio-8892-exec-10] [] n.jjjerp.handler.GlobalExceptionHandler 233 : 异常来源:ip: 192.168.31.208, path: /api/admin/product/base/product/index +2024-06-27 16:59:08.958 ERROR [http-nio-8892-exec-10] [] n.jjjerp.handler.GlobalExceptionHandler 257 : errorCode: 5000, errorMessage: 系统异常 + +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'basic_unit_id' in 'field list' +### The error may exist in net/jjjerp/common/mapper/product/ProductUnitMapper.java (best guess) +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT basic_unit_id, name, basic_unit, enabled, app_id, delete_flag, create_time, update_time FROM jjjerp_product_unit WHERE basic_unit_id = ? AND app_id = 10001 +### Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'basic_unit_id' in 'field list' +; bad SQL grammar []; nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'basic_unit_id' in 'field list' + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:239) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:72) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:88) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:440) + at com.sun.proxy.$Proxy114.selectOne(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectOne(SqlSessionTemplate.java:159) + at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:90) + at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:148) + at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89) + at com.sun.proxy.$Proxy229.selectById(Unknown Source) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:344) + at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:198) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:139) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:212) + at com.sun.proxy.$Proxy230.selectById(Unknown Source) + at com.baomidou.mybatisplus.extension.service.IService.getById(IService.java:201) + at com.baomidou.mybatisplus.extension.service.IService$$FastClassBySpringCGLIB$$f8525d18.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.admin.service.product.impl.ProductUnitServiceImpl$$EnhancerBySpringCGLIB$$f6176bc.getById() + at net.jjjerp.admin.service.product.impl.ProductServiceImpl.transVo(ProductServiceImpl.java:136) + at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193) + at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1384) + at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:482) + at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472) + at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708) + at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) + at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:499) + at com.baomidou.mybatisplus.core.metadata.IPage.convert(IPage.java:196) + at net.jjjerp.admin.service.product.impl.ProductServiceImpl.getList(ProductServiceImpl.java:118) + at net.jjjerp.admin.service.product.impl.ProductServiceImpl$$FastClassBySpringCGLIB$$4edb1a59.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.admin.service.product.impl.ProductServiceImpl$$EnhancerBySpringCGLIB$$8b83c7a8.getList() + at net.jjjerp.admin.controller.product.base.ProductController.index(ProductController.java:42) + at net.jjjerp.admin.controller.product.base.ProductController$$FastClassBySpringCGLIB$$588445fc.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.AspectJAfterThrowingAdvice.invoke(AspectJAfterThrowingAdvice.java:62) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:88) + at net.jjjerp.framework.log.aop.BaseLogAop.handle(BaseLogAop.java:303) + at net.jjjerp.aop.LogAop.doAround(LogAop.java:35) + at net.jjjerp.aop.LogAop$$FastClassBySpringCGLIB$$189c4aae.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.aop.LogAop$$EnhancerBySpringCGLIB$$5c5051e0.doAround() + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:644) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:633) + at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.apache.shiro.spring.security.interceptor.AopAllianceAnnotationsAuthorizingMethodInterceptor$1.proceed(AopAllianceAnnotationsAuthorizingMethodInterceptor.java:82) + at org.apache.shiro.authz.aop.AuthorizingMethodInterceptor.invoke(AuthorizingMethodInterceptor.java:39) + at org.apache.shiro.spring.security.interceptor.AopAllianceAnnotationsAuthorizingMethodInterceptor.invoke(AopAllianceAnnotationsAuthorizingMethodInterceptor.java:115) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:95) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at net.jjjerp.admin.controller.product.base.ProductController$$EnhancerBySpringCGLIB$$bbc6f4cb.index() + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:652) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:112) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) + at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'basic_unit_id' in 'field list' + at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) + at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) + at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) + at java.lang.reflect.Constructor.newInstance(Constructor.java:423) + at com.mysql.jdbc.Util.handleNewInstance(Util.java:425) + at com.mysql.jdbc.Util.getInstance(Util.java:408) + at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:944) + at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3978) + at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3914) + at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2530) + at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2683) + at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2495) + at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1903) + at com.mysql.jdbc.PreparedStatement.execute(PreparedStatement.java:1242) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at sun.reflect.GeneratedMethodAccessor192.invoke(Unknown Source) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:59) + at com.sun.proxy.$Proxy412.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:64) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:79) + at sun.reflect.GeneratedMethodAccessor191.invoke(Unknown Source) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:63) + at com.sun.proxy.$Proxy410.query(Unknown Source) + at com.baomidou.mybatisplus.core.executor.MybatisSimpleExecutor.doQuery(MybatisSimpleExecutor.java:69) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:325) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:156) + at com.baomidou.mybatisplus.core.executor.MybatisCachingExecutor.query(MybatisCachingExecutor.java:165) + at com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor.intercept(MybatisPlusInterceptor.java:65) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:61) + at com.sun.proxy.$Proxy409.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:140) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectOne(DefaultSqlSession.java:76) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:426) + ... 156 common frames omitted + +2024-06-27 16:59:15.313 ERROR [http-nio-8892-exec-11] [] n.jjjerp.handler.GlobalExceptionHandler 233 : 异常来源:ip: 192.168.31.208, path: /api/admin/product/base/unit/index +2024-06-27 16:59:15.314 ERROR [http-nio-8892-exec-11] [] n.jjjerp.handler.GlobalExceptionHandler 257 : errorCode: 5000, errorMessage: 系统异常 + +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'basic_unit_id' in 'field list' +### The error may exist in net/jjjerp/common/mapper/product/ProductUnitMapper.java (best guess) +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT basic_unit_id, name, basic_unit, enabled, app_id, delete_flag, create_time, update_time FROM jjjerp_product_unit WHERE (delete_flag = ?) AND app_id = 10001 ORDER BY create_time DESC LIMIT ? +### Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'basic_unit_id' in 'field list' +; bad SQL grammar []; nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'basic_unit_id' in 'field list' + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:239) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:72) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:88) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:440) + at com.sun.proxy.$Proxy114.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:223) + at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.executeForIPage(MybatisMapperMethod.java:122) + at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:87) + at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:148) + at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89) + at com.sun.proxy.$Proxy229.selectPage(Unknown Source) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:344) + at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:198) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:139) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:212) + at com.sun.proxy.$Proxy230.selectPage(Unknown Source) + at com.baomidou.mybatisplus.extension.service.IService.page(IService.java:298) + at net.jjjerp.admin.service.product.impl.ProductUnitServiceImpl.index(ProductUnitServiceImpl.java:80) + at net.jjjerp.admin.service.product.impl.ProductUnitServiceImpl$$FastClassBySpringCGLIB$$c1afc35.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.admin.service.product.impl.ProductUnitServiceImpl$$EnhancerBySpringCGLIB$$f6176bc.index() + at net.jjjerp.admin.controller.product.base.UnitController.index(UnitController.java:38) + at net.jjjerp.admin.controller.product.base.UnitController$$FastClassBySpringCGLIB$$e31e0dcf.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.AspectJAfterThrowingAdvice.invoke(AspectJAfterThrowingAdvice.java:62) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:88) + at net.jjjerp.framework.log.aop.BaseLogAop.handle(BaseLogAop.java:303) + at net.jjjerp.aop.LogAop.doAround(LogAop.java:35) + at net.jjjerp.aop.LogAop$$FastClassBySpringCGLIB$$189c4aae.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.aop.LogAop$$EnhancerBySpringCGLIB$$5c5051e0.doAround() + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:644) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:633) + at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.apache.shiro.spring.security.interceptor.AopAllianceAnnotationsAuthorizingMethodInterceptor$1.proceed(AopAllianceAnnotationsAuthorizingMethodInterceptor.java:82) + at org.apache.shiro.authz.aop.AuthorizingMethodInterceptor.invoke(AuthorizingMethodInterceptor.java:39) + at org.apache.shiro.spring.security.interceptor.AopAllianceAnnotationsAuthorizingMethodInterceptor.invoke(AopAllianceAnnotationsAuthorizingMethodInterceptor.java:115) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:95) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at net.jjjerp.admin.controller.product.base.UnitController$$EnhancerBySpringCGLIB$$539a4824.index() + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:652) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:112) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) + at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'basic_unit_id' in 'field list' + at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) + at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) + at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) + at java.lang.reflect.Constructor.newInstance(Constructor.java:423) + at com.mysql.jdbc.Util.handleNewInstance(Util.java:425) + at com.mysql.jdbc.Util.getInstance(Util.java:408) + at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:944) + at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3978) + at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3914) + at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2530) + at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2683) + at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2495) + at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1903) + at com.mysql.jdbc.PreparedStatement.execute(PreparedStatement.java:1242) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at sun.reflect.GeneratedMethodAccessor192.invoke(Unknown Source) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:59) + at com.sun.proxy.$Proxy412.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:64) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:79) + at sun.reflect.GeneratedMethodAccessor191.invoke(Unknown Source) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:63) + at com.sun.proxy.$Proxy410.query(Unknown Source) + at com.baomidou.mybatisplus.core.executor.MybatisSimpleExecutor.doQuery(MybatisSimpleExecutor.java:69) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:325) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:156) + at com.baomidou.mybatisplus.core.executor.MybatisCachingExecutor.query(MybatisCachingExecutor.java:165) + at com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor.intercept(MybatisPlusInterceptor.java:65) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:61) + at com.sun.proxy.$Proxy409.query(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:140) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:426) + ... 144 common frames omitted + +2024-06-27 17:41:24.278 ERROR [http-nio-8892-exec-16] [] n.jjjerp.handler.GlobalExceptionHandler 233 : 异常来源:ip: 192.168.31.226, path: /api/admin/bill/editAddress +2024-06-27 17:41:24.280 ERROR [http-nio-8892-exec-16] [] n.jjjerp.handler.GlobalExceptionHandler 257 : errorCode: 5003, errorMessage: HTTP内容类型异常 + +org.springframework.web.HttpMediaTypeNotSupportedException: Content type 'application/x-www-form-urlencoded;charset=UTF-8' not supported + at org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodArgumentResolver.readWithMessageConverters(AbstractMessageConverterMethodArgumentResolver.java:225) + at org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.readWithMessageConverters(RequestResponseBodyMethodProcessor.java:158) + at org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.resolveArgument(RequestResponseBodyMethodProcessor.java:131) + at org.springframework.web.method.support.HandlerMethodArgumentResolverComposite.resolveArgument(HandlerMethodArgumentResolverComposite.java:121) + at org.springframework.web.method.support.InvocableHandlerMethod.getMethodArgumentValues(InvocableHandlerMethod.java:167) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:134) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:652) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:112) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) + at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) + +2024-06-27 18:00:21.110 ERROR [http-nio-8892-exec-11] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy405.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-27 18:00:21.110 ERROR [http-nio-8892-exec-12] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy405.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-27 18:00:21.233 ERROR [http-nio-8892-exec-10] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy405.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-27 18:09:15.133 ERROR [http-nio-8892-exec-28] [] n.jjjerp.handler.GlobalExceptionHandler 233 : 异常来源:ip: 192.168.31.226, path: /api/admin/market/audit/order/edit +2024-06-27 18:09:15.133 ERROR [http-nio-8892-exec-28] [] n.jjjerp.handler.GlobalExceptionHandler 257 : errorCode: 5000, errorMessage: 系统异常 + +java.lang.NullPointerException: null + at net.jjjerp.admin.service.bill.impl.BillHeadServiceImpl.editOrder(BillHeadServiceImpl.java:1575) + at net.jjjerp.admin.service.bill.impl.BillHeadServiceImpl$$FastClassBySpringCGLIB$$62790b2b.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.admin.service.bill.impl.BillHeadServiceImpl$$EnhancerBySpringCGLIB$$ec49462b.editOrder() + at net.jjjerp.admin.controller.market.audit.MarketOrderController.edit(MarketOrderController.java:65) + at net.jjjerp.admin.controller.market.audit.MarketOrderController$$FastClassBySpringCGLIB$$908cb7b8.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.AspectJAfterThrowingAdvice.invoke(AspectJAfterThrowingAdvice.java:62) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:88) + at net.jjjerp.framework.log.aop.BaseLogAop.handle(BaseLogAop.java:303) + at net.jjjerp.aop.LogAop.doAround(LogAop.java:35) + at net.jjjerp.aop.LogAop$$FastClassBySpringCGLIB$$189c4aae.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.aop.LogAop$$EnhancerBySpringCGLIB$$49ed1d0e.doAround() + at sun.reflect.GeneratedMethodAccessor777.invoke(Unknown Source) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:644) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:633) + at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.apache.shiro.spring.security.interceptor.AopAllianceAnnotationsAuthorizingMethodInterceptor$1.proceed(AopAllianceAnnotationsAuthorizingMethodInterceptor.java:82) + at org.apache.shiro.authz.aop.AuthorizingMethodInterceptor.invoke(AuthorizingMethodInterceptor.java:39) + at org.apache.shiro.spring.security.interceptor.AopAllianceAnnotationsAuthorizingMethodInterceptor.invoke(AopAllianceAnnotationsAuthorizingMethodInterceptor.java:115) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:95) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at net.jjjerp.admin.controller.market.audit.MarketOrderController$$EnhancerBySpringCGLIB$$839af878.edit() + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:652) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:112) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) + at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) + +2024-06-27 18:16:06.161 ERROR [main] [] o.s.boot.SpringApplication 834 : Application run failed + +org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'documentationPluginsBootstrapper' defined in URL [jar:file:/D:/Maven/maven-repository/io/springfox/springfox-spring-web/2.9.2/springfox-spring-web-2.9.2.jar!/springfox/documentation/spring/web/plugins/DocumentationPluginsBootstrapper.class]: Unsatisfied dependency expressed through constructor parameter 1; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'webMvcRequestHandlerProvider' defined in URL [jar:file:/D:/Maven/maven-repository/io/springfox/springfox-spring-web/2.9.2/springfox-spring-web-2.9.2.jar!/springfox/documentation/spring/web/plugins/WebMvcRequestHandlerProvider.class]: Unsatisfied dependency expressed through constructor parameter 1; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'requestMappingHandlerMapping' defined in class path resource [org/springframework/boot/autoconfigure/web/servlet/WebMvcAutoConfiguration$EnableWebMvcConfiguration.class]: Invocation of init method failed; nested exception is java.lang.IllegalStateException: Ambiguous mapping. Cannot map 'net.jjjerp.admin.controller.bill.BillController' method +net.jjjerp.admin.controller.bill.BillController#editRemark(BillHead) +to {POST /admin/bill/editAddress}: There is already 'net.jjjerp.admin.controller.bill.BillController' bean method +net.jjjerp.admin.controller.bill.BillController#editAddress(BillAddress) mapped. + at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:799) + at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:228) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1361) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1208) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:556) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:516) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:324) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:322) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:897) + at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:879) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:551) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:143) + at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:755) + at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:747) + at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:402) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:312) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:1247) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:1236) + at net.jjjerp.SpringBootJjjApplication.main(SpringBootJjjApplication.java:33) +Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'webMvcRequestHandlerProvider' defined in URL [jar:file:/D:/Maven/maven-repository/io/springfox/springfox-spring-web/2.9.2/springfox-spring-web-2.9.2.jar!/springfox/documentation/spring/web/plugins/WebMvcRequestHandlerProvider.class]: Unsatisfied dependency expressed through constructor parameter 1; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'requestMappingHandlerMapping' defined in class path resource [org/springframework/boot/autoconfigure/web/servlet/WebMvcAutoConfiguration$EnableWebMvcConfiguration.class]: Invocation of init method failed; nested exception is java.lang.IllegalStateException: Ambiguous mapping. Cannot map 'net.jjjerp.admin.controller.bill.BillController' method +net.jjjerp.admin.controller.bill.BillController#editRemark(BillHead) +to {POST /admin/bill/editAddress}: There is already 'net.jjjerp.admin.controller.bill.BillController' bean method +net.jjjerp.admin.controller.bill.BillController#editAddress(BillAddress) mapped. + at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:799) + at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:228) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1361) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1208) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:556) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:516) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:324) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:322) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202) + at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.addCandidateEntry(DefaultListableBeanFactory.java:1525) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.findAutowireCandidates(DefaultListableBeanFactory.java:1489) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveMultipleBeans(DefaultListableBeanFactory.java:1378) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1265) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1227) + at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:886) + at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:790) + ... 20 common frames omitted +Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'requestMappingHandlerMapping' defined in class path resource [org/springframework/boot/autoconfigure/web/servlet/WebMvcAutoConfiguration$EnableWebMvcConfiguration.class]: Invocation of init method failed; nested exception is java.lang.IllegalStateException: Ambiguous mapping. Cannot map 'net.jjjerp.admin.controller.bill.BillController' method +net.jjjerp.admin.controller.bill.BillController#editRemark(BillHead) +to {POST /admin/bill/editAddress}: There is already 'net.jjjerp.admin.controller.bill.BillController' bean method +net.jjjerp.admin.controller.bill.BillController#editAddress(BillAddress) mapped. + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1799) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:594) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:516) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:324) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:322) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202) + at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.addCandidateEntry(DefaultListableBeanFactory.java:1525) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.findAutowireCandidates(DefaultListableBeanFactory.java:1489) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveMultipleBeans(DefaultListableBeanFactory.java:1378) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1265) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1227) + at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:886) + at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:790) + ... 37 common frames omitted +Caused by: java.lang.IllegalStateException: Ambiguous mapping. Cannot map 'net.jjjerp.admin.controller.bill.BillController' method +net.jjjerp.admin.controller.bill.BillController#editRemark(BillHead) +to {POST /admin/bill/editAddress}: There is already 'net.jjjerp.admin.controller.bill.BillController' bean method +net.jjjerp.admin.controller.bill.BillController#editAddress(BillAddress) mapped. + at org.springframework.web.servlet.handler.AbstractHandlerMethodMapping$MappingRegistry.validateMethodMapping(AbstractHandlerMethodMapping.java:636) + at org.springframework.web.servlet.handler.AbstractHandlerMethodMapping$MappingRegistry.register(AbstractHandlerMethodMapping.java:603) + at org.springframework.web.servlet.handler.AbstractHandlerMethodMapping.registerHandlerMethod(AbstractHandlerMethodMapping.java:318) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping.registerHandlerMethod(RequestMappingHandlerMapping.java:378) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping.registerHandlerMethod(RequestMappingHandlerMapping.java:75) + at org.springframework.web.servlet.handler.AbstractHandlerMethodMapping.lambda$detectHandlerMethods$1(AbstractHandlerMethodMapping.java:288) + at java.util.LinkedHashMap.forEach(LinkedHashMap.java:684) + at org.springframework.web.servlet.handler.AbstractHandlerMethodMapping.detectHandlerMethods(AbstractHandlerMethodMapping.java:286) + at org.springframework.web.servlet.handler.AbstractHandlerMethodMapping.processCandidateBean(AbstractHandlerMethodMapping.java:258) + at org.springframework.web.servlet.handler.AbstractHandlerMethodMapping.initHandlerMethods(AbstractHandlerMethodMapping.java:217) + at org.springframework.web.servlet.handler.AbstractHandlerMethodMapping.afterPropertiesSet(AbstractHandlerMethodMapping.java:205) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping.afterPropertiesSet(RequestMappingHandlerMapping.java:189) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1858) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1795) + ... 51 common frames omitted + +2024-06-27 18:22:54.285 ERROR [http-nio-8892-exec-8] [] n.jjjerp.handler.GlobalExceptionHandler 233 : 异常来源:ip: 192.168.31.226, path: /api/admin/market/audit/order/edit +2024-06-27 18:22:54.287 ERROR [http-nio-8892-exec-8] [] n.jjjerp.handler.GlobalExceptionHandler 257 : errorCode: 5000, errorMessage: 系统异常 + +java.lang.NullPointerException: null + at net.jjjerp.admin.service.bill.impl.BillHeadServiceImpl.editOrder(BillHeadServiceImpl.java:1592) + at net.jjjerp.admin.service.bill.impl.BillHeadServiceImpl$$FastClassBySpringCGLIB$$62790b2b.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.admin.service.bill.impl.BillHeadServiceImpl$$EnhancerBySpringCGLIB$$ad824443.editOrder() + at net.jjjerp.admin.controller.market.audit.MarketOrderController.edit(MarketOrderController.java:65) + at net.jjjerp.admin.controller.market.audit.MarketOrderController$$FastClassBySpringCGLIB$$908cb7b8.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.AspectJAfterThrowingAdvice.invoke(AspectJAfterThrowingAdvice.java:62) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:88) + at net.jjjerp.framework.log.aop.BaseLogAop.handle(BaseLogAop.java:303) + at net.jjjerp.aop.LogAop.doAround(LogAop.java:35) + at net.jjjerp.aop.LogAop$$FastClassBySpringCGLIB$$189c4aae.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.aop.LogAop$$EnhancerBySpringCGLIB$$a500e9ac.doAround() + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:644) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:633) + at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.apache.shiro.spring.security.interceptor.AopAllianceAnnotationsAuthorizingMethodInterceptor$1.proceed(AopAllianceAnnotationsAuthorizingMethodInterceptor.java:82) + at org.apache.shiro.authz.aop.AuthorizingMethodInterceptor.invoke(AuthorizingMethodInterceptor.java:39) + at org.apache.shiro.spring.security.interceptor.AopAllianceAnnotationsAuthorizingMethodInterceptor.invoke(AopAllianceAnnotationsAuthorizingMethodInterceptor.java:115) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:95) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at net.jjjerp.admin.controller.market.audit.MarketOrderController$$EnhancerBySpringCGLIB$$660a537c.edit() + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:652) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:112) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) + at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) + +2024-06-27 18:23:09.224 ERROR [http-nio-8892-exec-10] [] n.jjjerp.handler.GlobalExceptionHandler 233 : 异常来源:ip: 192.168.31.226, path: /api/admin/market/audit/order/edit +2024-06-27 18:23:09.225 ERROR [http-nio-8892-exec-10] [] n.jjjerp.handler.GlobalExceptionHandler 257 : errorCode: 5000, errorMessage: 系统异常 + +java.lang.NullPointerException: null + at net.jjjerp.admin.service.bill.impl.BillHeadServiceImpl.editOrder(BillHeadServiceImpl.java:1592) + at net.jjjerp.admin.service.bill.impl.BillHeadServiceImpl$$FastClassBySpringCGLIB$$62790b2b.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.admin.service.bill.impl.BillHeadServiceImpl$$EnhancerBySpringCGLIB$$ad824443.editOrder() + at net.jjjerp.admin.controller.market.audit.MarketOrderController.edit(MarketOrderController.java:65) + at net.jjjerp.admin.controller.market.audit.MarketOrderController$$FastClassBySpringCGLIB$$908cb7b8.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.AspectJAfterThrowingAdvice.invoke(AspectJAfterThrowingAdvice.java:62) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:88) + at net.jjjerp.framework.log.aop.BaseLogAop.handle(BaseLogAop.java:303) + at net.jjjerp.aop.LogAop.doAround(LogAop.java:35) + at net.jjjerp.aop.LogAop$$FastClassBySpringCGLIB$$189c4aae.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.aop.LogAop$$EnhancerBySpringCGLIB$$a500e9ac.doAround() + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:644) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:633) + at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.apache.shiro.spring.security.interceptor.AopAllianceAnnotationsAuthorizingMethodInterceptor$1.proceed(AopAllianceAnnotationsAuthorizingMethodInterceptor.java:82) + at org.apache.shiro.authz.aop.AuthorizingMethodInterceptor.invoke(AuthorizingMethodInterceptor.java:39) + at org.apache.shiro.spring.security.interceptor.AopAllianceAnnotationsAuthorizingMethodInterceptor.invoke(AopAllianceAnnotationsAuthorizingMethodInterceptor.java:115) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:95) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at net.jjjerp.admin.controller.market.audit.MarketOrderController$$EnhancerBySpringCGLIB$$660a537c.edit() + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:652) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:112) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) + at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) + diff --git a/jjj_erp/logs/spring-boot-jjj-error-2024-06-28.0.log b/jjj_erp/logs/spring-boot-jjj-error-2024-06-28.0.log new file mode 100644 index 0000000..b3720c6 --- /dev/null +++ b/jjj_erp/logs/spring-boot-jjj-error-2024-06-28.0.log @@ -0,0 +1,2247 @@ +2024-06-28 09:05:08.647 ERROR [http-nio-8892-exec-21] [] n.jjjerp.handler.GlobalExceptionHandler 233 : 异常来源:ip: 192.168.31.208, path: /api/admin/region/index +2024-06-28 09:05:08.650 ERROR [http-nio-8892-exec-21] [] n.jjjerp.handler.GlobalExceptionHandler 257 : errorCode: 5000, errorMessage: 系统异常 + +org.apache.catalina.connector.ClientAbortException: java.net.SocketTimeoutException + at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:353) + at org.apache.catalina.connector.OutputBuffer.flushByteBuffer(OutputBuffer.java:783) + at org.apache.catalina.connector.OutputBuffer.append(OutputBuffer.java:688) + at org.apache.catalina.connector.OutputBuffer.writeBytes(OutputBuffer.java:388) + at org.apache.catalina.connector.OutputBuffer.write(OutputBuffer.java:366) + at org.apache.catalina.connector.CoyoteOutputStream.write(CoyoteOutputStream.java:96) + at org.springframework.util.StreamUtils$NonClosingOutputStream.write(StreamUtils.java:287) + at com.fasterxml.jackson.core.json.UTF8JsonGenerator._flushBuffer(UTF8JsonGenerator.java:2161) + at com.fasterxml.jackson.core.json.UTF8JsonGenerator._writeStringSegment2(UTF8JsonGenerator.java:1476) + at com.fasterxml.jackson.core.json.UTF8JsonGenerator._writeStringSegment(UTF8JsonGenerator.java:1423) + at com.fasterxml.jackson.core.json.UTF8JsonGenerator.writeString(UTF8JsonGenerator.java:509) + at net.jjjerp.framework.core.xss.XssJacksonSerializer.serialize(XssJacksonSerializer.java:26) + at net.jjjerp.framework.core.xss.XssJacksonSerializer.serialize(XssJacksonSerializer.java:17) + at com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:728) + at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:755) + at com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:178) + at com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serializeContents(IndexedListSerializer.java:119) + at com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serialize(IndexedListSerializer.java:79) + at com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serialize(IndexedListSerializer.java:18) + at com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:728) + at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:755) + at com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:178) + at com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serializeContents(IndexedListSerializer.java:119) + at com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serialize(IndexedListSerializer.java:79) + at com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serialize(IndexedListSerializer.java:18) + at com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:728) + at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:755) + at com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:178) + at com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serializeContents(IndexedListSerializer.java:119) + at com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serialize(IndexedListSerializer.java:79) + at com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serialize(IndexedListSerializer.java:18) + at com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:728) + at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:755) + at com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:178) + at com.fasterxml.jackson.databind.ser.DefaultSerializerProvider._serialize(DefaultSerializerProvider.java:480) + at com.fasterxml.jackson.databind.ser.DefaultSerializerProvider.serializeValue(DefaultSerializerProvider.java:319) + at com.fasterxml.jackson.databind.ObjectWriter$Prefetch.serialize(ObjectWriter.java:1516) + at com.fasterxml.jackson.databind.ObjectWriter.writeValue(ObjectWriter.java:1006) + at org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.writeInternal(AbstractJackson2HttpMessageConverter.java:346) + at org.springframework.http.converter.AbstractGenericHttpMessageConverter.write(AbstractGenericHttpMessageConverter.java:104) + at org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodProcessor.writeWithMessageConverters(AbstractMessageConverterMethodProcessor.java:277) + at org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.handleReturnValue(RequestResponseBodyMethodProcessor.java:181) + at org.springframework.web.method.support.HandlerMethodReturnValueHandlerComposite.handleReturnValue(HandlerMethodReturnValueHandlerComposite.java:82) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:123) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:626) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:112) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) + at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: java.net.SocketTimeoutException: null + at org.apache.tomcat.util.net.NioBlockingSelector.write(NioBlockingSelector.java:151) + at org.apache.tomcat.util.net.NioSelectorPool.write(NioSelectorPool.java:151) + at org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.doWrite(NioEndpoint.java:1367) + at org.apache.tomcat.util.net.SocketWrapperBase.doWrite(SocketWrapperBase.java:766) + at org.apache.tomcat.util.net.SocketWrapperBase.writeBlocking(SocketWrapperBase.java:586) + at org.apache.tomcat.util.net.SocketWrapperBase.write(SocketWrapperBase.java:530) + at org.apache.coyote.http11.Http11OutputBuffer$SocketOutputBuffer.doWrite(Http11OutputBuffer.java:546) + at org.apache.coyote.http11.filters.ChunkedOutputFilter.doWrite(ChunkedOutputFilter.java:112) + at org.apache.coyote.http11.Http11OutputBuffer.doWrite(Http11OutputBuffer.java:193) + at org.apache.coyote.Response.doWrite(Response.java:606) + at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:340) + ... 121 common frames omitted + +2024-06-28 09:13:05.126 ERROR [http-nio-8892-exec-14] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy404.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-28 09:13:05.126 ERROR [http-nio-8892-exec-25] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy404.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-28 09:44:22.736 ERROR [http-nio-8892-exec-27] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy404.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-28 09:44:22.736 ERROR [http-nio-8892-exec-26] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy404.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-28 09:44:26.901 ERROR [http-nio-8892-exec-28] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy404.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-28 09:44:26.901 ERROR [http-nio-8892-exec-29] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy404.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-28 09:44:27.809 ERROR [http-nio-8892-exec-22] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy404.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-28 09:44:27.809 ERROR [http-nio-8892-exec-2] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy404.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-28 10:51:17.026 ERROR [http-nio-8892-exec-4] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy404.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-28 11:10:49.295 ERROR [http-nio-8892-exec-1] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy405.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-28 11:10:49.307 ERROR [http-nio-8892-exec-3] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy405.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-28 11:37:24.868 ERROR [http-nio-8892-exec-6] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy405.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-28 11:37:32.933 ERROR [http-nio-8892-exec-8] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy405.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-28 11:37:32.934 ERROR [http-nio-8892-exec-7] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:131) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy405.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.protocol.CommandExpiryWriter.lambda$potentiallyExpire$0(CommandExpiryWriter.java:172) + at io.netty.util.concurrent.PromiseTask.runTask(PromiseTask.java:98) + at io.netty.util.concurrent.ScheduledFutureTask.run(ScheduledFutureTask.java:170) + at io.netty.util.concurrent.DefaultEventExecutor.run(DefaultEventExecutor.java:66) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + ... 1 common frames omitted + +2024-06-28 13:43:47.683 ERROR [http-nio-8892-exec-11] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy405.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-28 13:43:50.960 ERROR [http-nio-8892-exec-18] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy405.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-28 13:43:50.960 ERROR [http-nio-8892-exec-16] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy405.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-28 14:55:36.462 ERROR [http-nio-8892-exec-8] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy405.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-28 14:55:36.462 ERROR [http-nio-8892-exec-7] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy405.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-28 14:55:36.473 ERROR [http-nio-8892-exec-9] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy405.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-28 15:27:54.863 ERROR [http-nio-8892-exec-8] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy405.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-28 15:52:03.914 ERROR [http-nio-8892-exec-8] [] n.jjjerp.handler.GlobalExceptionHandler 233 : 异常来源:ip: 192.168.31.226, path: /api/admin/region/index +2024-06-28 15:52:03.921 ERROR [http-nio-8892-exec-8] [] n.jjjerp.handler.GlobalExceptionHandler 257 : errorCode: 5000, errorMessage: 系统异常 + +org.apache.catalina.connector.ClientAbortException: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:353) + at org.apache.catalina.connector.OutputBuffer.flushByteBuffer(OutputBuffer.java:783) + at org.apache.catalina.connector.OutputBuffer.append(OutputBuffer.java:688) + at org.apache.catalina.connector.OutputBuffer.writeBytes(OutputBuffer.java:388) + at org.apache.catalina.connector.OutputBuffer.write(OutputBuffer.java:366) + at org.apache.catalina.connector.CoyoteOutputStream.write(CoyoteOutputStream.java:96) + at org.springframework.util.StreamUtils$NonClosingOutputStream.write(StreamUtils.java:287) + at com.fasterxml.jackson.core.json.UTF8JsonGenerator._flushBuffer(UTF8JsonGenerator.java:2161) + at com.fasterxml.jackson.core.json.UTF8JsonGenerator.writeNumber(UTF8JsonGenerator.java:952) + at com.fasterxml.jackson.databind.ser.std.NumberSerializers$IntegerSerializer.serialize(NumberSerializers.java:152) + at com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:728) + at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:755) + at com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:178) + at com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serializeContents(IndexedListSerializer.java:119) + at com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serialize(IndexedListSerializer.java:79) + at com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serialize(IndexedListSerializer.java:18) + at com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:728) + at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:755) + at com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:178) + at com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serializeContents(IndexedListSerializer.java:119) + at com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serialize(IndexedListSerializer.java:79) + at com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serialize(IndexedListSerializer.java:18) + at com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:728) + at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:755) + at com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:178) + at com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serializeContents(IndexedListSerializer.java:119) + at com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serialize(IndexedListSerializer.java:79) + at com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serialize(IndexedListSerializer.java:18) + at com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:728) + at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:755) + at com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:178) + at com.fasterxml.jackson.databind.ser.DefaultSerializerProvider._serialize(DefaultSerializerProvider.java:480) + at com.fasterxml.jackson.databind.ser.DefaultSerializerProvider.serializeValue(DefaultSerializerProvider.java:319) + at com.fasterxml.jackson.databind.ObjectWriter$Prefetch.serialize(ObjectWriter.java:1516) + at com.fasterxml.jackson.databind.ObjectWriter.writeValue(ObjectWriter.java:1006) + at org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.writeInternal(AbstractJackson2HttpMessageConverter.java:346) + at org.springframework.http.converter.AbstractGenericHttpMessageConverter.write(AbstractGenericHttpMessageConverter.java:104) + at org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodProcessor.writeWithMessageConverters(AbstractMessageConverterMethodProcessor.java:277) + at org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.handleReturnValue(RequestResponseBodyMethodProcessor.java:181) + at org.springframework.web.method.support.HandlerMethodReturnValueHandlerComposite.handleReturnValue(HandlerMethodReturnValueHandlerComposite.java:82) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:123) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:626) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:112) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) + at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.write0(Native Method) + at sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:51) + at sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:93) + at sun.nio.ch.IOUtil.write(IOUtil.java:65) + at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:469) + at org.apache.tomcat.util.net.NioChannel.write(NioChannel.java:135) + at org.apache.tomcat.util.net.NioBlockingSelector.write(NioBlockingSelector.java:118) + at org.apache.tomcat.util.net.NioSelectorPool.write(NioSelectorPool.java:151) + at org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.doWrite(NioEndpoint.java:1367) + at org.apache.tomcat.util.net.SocketWrapperBase.doWrite(SocketWrapperBase.java:766) + at org.apache.tomcat.util.net.SocketWrapperBase.writeBlocking(SocketWrapperBase.java:586) + at org.apache.tomcat.util.net.SocketWrapperBase.write(SocketWrapperBase.java:530) + at org.apache.coyote.http11.Http11OutputBuffer$SocketOutputBuffer.doWrite(Http11OutputBuffer.java:546) + at org.apache.coyote.http11.filters.ChunkedOutputFilter.doWrite(ChunkedOutputFilter.java:112) + at org.apache.coyote.http11.Http11OutputBuffer.doWrite(Http11OutputBuffer.java:193) + at org.apache.coyote.Response.doWrite(Response.java:606) + at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:340) + ... 118 common frames omitted + +2024-06-28 16:56:23.387 ERROR [http-nio-8892-exec-9] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy405.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-28 16:56:23.387 ERROR [http-nio-8892-exec-15] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy405.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-28 16:56:23.387 ERROR [http-nio-8892-exec-8] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy405.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-28 16:56:23.387 ERROR [http-nio-8892-exec-13] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy405.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-28 16:56:23.406 ERROR [http-nio-8892-exec-16] [] o.a.c.c.C.[.[.[.[dispatcherServlet] 175 : Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception + +org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70) + at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) + at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) + at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) + at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:275) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68) + at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:266) + at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57) + at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:60) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228) + at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188) + at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) + at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53) + at net.jjjerp.framework.util.ShopLoginUtil.getLoginShopUserRedisVo(ShopLoginUtil.java:41) + at net.jjjerp.framework.core.filter.RequestDetailFilter.getShopAppId(RequestDetailFilter.java:80) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:45) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s) + at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51) + at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:119) + at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:75) + at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:79) + at com.sun.proxy.$Proxy405.get(Unknown Source) + at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66) + ... 44 common frames omitted + +2024-06-28 17:00:12.469 ERROR [http-nio-8892-exec-4] [] n.jjjerp.framework.shiro.jwt.JwtFilter 138 : 访问错误 + +org.apache.shiro.authc.AuthenticationException: Redis Token不存在,token:eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhdWQiOiJ3ZWIiLCJpc3MiOiJzcHJpbmctYm9vdC1qamoiLCJleHAiOjE3MTk1NzE0OTMsImlhdCI6MTcxOTUzNTQ5MywianRpIjoiNWFkYjZkZGRlZWY4NGZjZThhNmFmZjA0ZjczYzEyNzUiLCJ1c2VybmFtZSI6ImFkbWluIn0.I-0Zxvzz-r2cLpmpPIfxfkbraYFloKqP31J1lUowIMY + at net.jjjerp.framework.shiro.jwt.JwtFilter.createToken(JwtFilter.java:79) + at org.apache.shiro.web.filter.authc.AuthenticatingFilter.executeLogin(AuthenticatingFilter.java:45) + at net.jjjerp.framework.shiro.jwt.JwtFilter.isAccessAllowed(JwtFilter.java:134) + at org.apache.shiro.web.filter.AccessControlFilter.onPreHandle(AccessControlFilter.java:162) + at org.apache.shiro.web.filter.PathMatchingFilter.isFilterChainContinued(PathMatchingFilter.java:214) + at org.apache.shiro.web.filter.PathMatchingFilter.preHandle(PathMatchingFilter.java:189) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:131) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) + +2024-06-28 17:00:12.469 ERROR [http-nio-8892-exec-6] [] n.jjjerp.framework.shiro.jwt.JwtFilter 138 : 访问错误 + +org.apache.shiro.authc.AuthenticationException: Redis Token不存在,token:eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhdWQiOiJ3ZWIiLCJpc3MiOiJzcHJpbmctYm9vdC1qamoiLCJleHAiOjE3MTk1NzE0OTMsImlhdCI6MTcxOTUzNTQ5MywianRpIjoiNWFkYjZkZGRlZWY4NGZjZThhNmFmZjA0ZjczYzEyNzUiLCJ1c2VybmFtZSI6ImFkbWluIn0.I-0Zxvzz-r2cLpmpPIfxfkbraYFloKqP31J1lUowIMY + at net.jjjerp.framework.shiro.jwt.JwtFilter.createToken(JwtFilter.java:79) + at org.apache.shiro.web.filter.authc.AuthenticatingFilter.executeLogin(AuthenticatingFilter.java:45) + at net.jjjerp.framework.shiro.jwt.JwtFilter.isAccessAllowed(JwtFilter.java:134) + at org.apache.shiro.web.filter.AccessControlFilter.onPreHandle(AccessControlFilter.java:162) + at org.apache.shiro.web.filter.PathMatchingFilter.isFilterChainContinued(PathMatchingFilter.java:214) + at org.apache.shiro.web.filter.PathMatchingFilter.preHandle(PathMatchingFilter.java:189) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:131) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) + +2024-06-28 17:00:12.469 ERROR [http-nio-8892-exec-1] [] n.jjjerp.framework.shiro.jwt.JwtFilter 138 : 访问错误 + +org.apache.shiro.authc.AuthenticationException: Redis Token不存在,token:eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhdWQiOiJ3ZWIiLCJpc3MiOiJzcHJpbmctYm9vdC1qamoiLCJleHAiOjE3MTk1NzE0OTMsImlhdCI6MTcxOTUzNTQ5MywianRpIjoiNWFkYjZkZGRlZWY4NGZjZThhNmFmZjA0ZjczYzEyNzUiLCJ1c2VybmFtZSI6ImFkbWluIn0.I-0Zxvzz-r2cLpmpPIfxfkbraYFloKqP31J1lUowIMY + at net.jjjerp.framework.shiro.jwt.JwtFilter.createToken(JwtFilter.java:79) + at org.apache.shiro.web.filter.authc.AuthenticatingFilter.executeLogin(AuthenticatingFilter.java:45) + at net.jjjerp.framework.shiro.jwt.JwtFilter.isAccessAllowed(JwtFilter.java:134) + at org.apache.shiro.web.filter.AccessControlFilter.onPreHandle(AccessControlFilter.java:162) + at org.apache.shiro.web.filter.PathMatchingFilter.isFilterChainContinued(PathMatchingFilter.java:214) + at org.apache.shiro.web.filter.PathMatchingFilter.preHandle(PathMatchingFilter.java:189) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:131) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) + +2024-06-28 17:00:12.469 ERROR [http-nio-8892-exec-2] [] n.jjjerp.framework.shiro.jwt.JwtFilter 138 : 访问错误 + +org.apache.shiro.authc.AuthenticationException: Redis Token不存在,token:eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhdWQiOiJ3ZWIiLCJpc3MiOiJzcHJpbmctYm9vdC1qamoiLCJleHAiOjE3MTk1NzE0OTMsImlhdCI6MTcxOTUzNTQ5MywianRpIjoiNWFkYjZkZGRlZWY4NGZjZThhNmFmZjA0ZjczYzEyNzUiLCJ1c2VybmFtZSI6ImFkbWluIn0.I-0Zxvzz-r2cLpmpPIfxfkbraYFloKqP31J1lUowIMY + at net.jjjerp.framework.shiro.jwt.JwtFilter.createToken(JwtFilter.java:79) + at org.apache.shiro.web.filter.authc.AuthenticatingFilter.executeLogin(AuthenticatingFilter.java:45) + at net.jjjerp.framework.shiro.jwt.JwtFilter.isAccessAllowed(JwtFilter.java:134) + at org.apache.shiro.web.filter.AccessControlFilter.onPreHandle(AccessControlFilter.java:162) + at org.apache.shiro.web.filter.PathMatchingFilter.isFilterChainContinued(PathMatchingFilter.java:214) + at org.apache.shiro.web.filter.PathMatchingFilter.preHandle(PathMatchingFilter.java:189) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:131) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) + +2024-06-28 17:00:12.469 ERROR [http-nio-8892-exec-3] [] n.jjjerp.framework.shiro.jwt.JwtFilter 138 : 访问错误 + +org.apache.shiro.authc.AuthenticationException: Redis Token不存在,token:eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhdWQiOiJ3ZWIiLCJpc3MiOiJzcHJpbmctYm9vdC1qamoiLCJleHAiOjE3MTk1NzE0OTMsImlhdCI6MTcxOTUzNTQ5MywianRpIjoiNWFkYjZkZGRlZWY4NGZjZThhNmFmZjA0ZjczYzEyNzUiLCJ1c2VybmFtZSI6ImFkbWluIn0.I-0Zxvzz-r2cLpmpPIfxfkbraYFloKqP31J1lUowIMY + at net.jjjerp.framework.shiro.jwt.JwtFilter.createToken(JwtFilter.java:79) + at org.apache.shiro.web.filter.authc.AuthenticatingFilter.executeLogin(AuthenticatingFilter.java:45) + at net.jjjerp.framework.shiro.jwt.JwtFilter.isAccessAllowed(JwtFilter.java:134) + at org.apache.shiro.web.filter.AccessControlFilter.onPreHandle(AccessControlFilter.java:162) + at org.apache.shiro.web.filter.PathMatchingFilter.isFilterChainContinued(PathMatchingFilter.java:214) + at org.apache.shiro.web.filter.PathMatchingFilter.preHandle(PathMatchingFilter.java:189) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:131) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) + +2024-06-28 17:00:12.470 ERROR [http-nio-8892-exec-6] [] n.jjjerp.framework.shiro.jwt.JwtFilter 111 : onAccessDenied url:/api/admin/setting/system/user/getUserInfo +2024-06-28 17:00:12.470 ERROR [http-nio-8892-exec-4] [] n.jjjerp.framework.shiro.jwt.JwtFilter 111 : onAccessDenied url:/api/admin/market/audit/order/index +2024-06-28 17:00:12.470 ERROR [http-nio-8892-exec-1] [] n.jjjerp.framework.shiro.jwt.JwtFilter 111 : onAccessDenied url:/api/admin/finance/capital/account/index +2024-06-28 17:00:12.470 ERROR [http-nio-8892-exec-2] [] n.jjjerp.framework.shiro.jwt.JwtFilter 111 : onAccessDenied url:/api/admin/setting/basic/user/index +2024-06-28 17:00:12.470 ERROR [http-nio-8892-exec-3] [] n.jjjerp.framework.shiro.jwt.JwtFilter 111 : onAccessDenied url:/api/admin/region/index +2024-06-28 17:44:29.948 ERROR [http-nio-8892-exec-9] [] n.jjjerp.handler.GlobalExceptionHandler 233 : 异常来源:ip: 192.168.31.226, path: /api/admin/setting/basic/supplier/add +2024-06-28 17:44:29.948 ERROR [http-nio-8892-exec-9] [] n.jjjerp.handler.GlobalExceptionHandler 56 : errorCode: 5001, errorMessage: 请求参数校验异常:["期初应付不能为空","欠款不能为空"] diff --git a/jjj_erp/logs/spring-boot-jjj-error.log b/jjj_erp/logs/spring-boot-jjj-error.log new file mode 100644 index 0000000..d7583ff --- /dev/null +++ b/jjj_erp/logs/spring-boot-jjj-error.log @@ -0,0 +1,1827 @@ +2024-06-29 11:28:26.779 ERROR [http-nio-8892-exec-7] [] n.jjjerp.handler.GlobalExceptionHandler 233 : 异常来源:ip: 192.168.31.226, path: /api/admin/purchase/purchase/order/audit +2024-06-29 11:28:26.779 ERROR [http-nio-8892-exec-7] [] n.jjjerp.handler.GlobalExceptionHandler 257 : errorCode: 5000, errorMessage: 系统异常 + +java.lang.NullPointerException: null + at net.jjjerp.admin.service.bill.impl.BillHeadServiceImpl.supplierSettlement(BillHeadServiceImpl.java:2135) + at net.jjjerp.admin.service.bill.impl.BillHeadServiceImpl.outStock(BillHeadServiceImpl.java:1953) + at net.jjjerp.admin.service.bill.impl.BillHeadServiceImpl.auditOrder(BillHeadServiceImpl.java:1902) + at net.jjjerp.admin.service.bill.impl.BillHeadServiceImpl$$FastClassBySpringCGLIB$$62790b2b.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:367) + at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:118) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at net.jjjerp.admin.service.bill.impl.BillHeadServiceImpl$$EnhancerBySpringCGLIB$$9a3576d0.auditOrder() + at net.jjjerp.admin.controller.purchase.purchase.PurchaseOrderController.audit(PurchaseOrderController.java:84) + at net.jjjerp.admin.controller.purchase.purchase.PurchaseOrderController$$FastClassBySpringCGLIB$$11e005fa.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.AspectJAfterThrowingAdvice.invoke(AspectJAfterThrowingAdvice.java:62) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:88) + at net.jjjerp.framework.log.aop.BaseLogAop.handle(BaseLogAop.java:303) + at net.jjjerp.aop.LogAop.doAround(LogAop.java:35) + at net.jjjerp.aop.LogAop$$FastClassBySpringCGLIB$$189c4aae.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.aop.LogAop$$EnhancerBySpringCGLIB$$afb7f6df.doAround() + at sun.reflect.GeneratedMethodAccessor346.invoke(Unknown Source) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:644) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:633) + at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.apache.shiro.spring.security.interceptor.AopAllianceAnnotationsAuthorizingMethodInterceptor$1.proceed(AopAllianceAnnotationsAuthorizingMethodInterceptor.java:82) + at org.apache.shiro.authz.aop.AuthorizingMethodInterceptor.invoke(AuthorizingMethodInterceptor.java:39) + at org.apache.shiro.spring.security.interceptor.AopAllianceAnnotationsAuthorizingMethodInterceptor.invoke(AopAllianceAnnotationsAuthorizingMethodInterceptor.java:115) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:95) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at net.jjjerp.admin.controller.purchase.purchase.PurchaseOrderController$$EnhancerBySpringCGLIB$$549b4a5d.audit() + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:652) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:112) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) + at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 11:29:28.797 ERROR [http-nio-8892-exec-9] [] n.jjjerp.handler.GlobalExceptionHandler 233 : 异常来源:ip: 192.168.31.226, path: /api/admin/purchase/purchase/order/audit +2024-06-29 11:29:28.797 ERROR [http-nio-8892-exec-9] [] n.jjjerp.handler.GlobalExceptionHandler 257 : errorCode: 5000, errorMessage: 系统异常 + +java.lang.NullPointerException: null + at net.jjjerp.admin.service.bill.impl.BillHeadServiceImpl.supplierSettlement(BillHeadServiceImpl.java:2135) + at net.jjjerp.admin.service.bill.impl.BillHeadServiceImpl.outStock(BillHeadServiceImpl.java:1953) + at net.jjjerp.admin.service.bill.impl.BillHeadServiceImpl.auditOrder(BillHeadServiceImpl.java:1902) + at net.jjjerp.admin.service.bill.impl.BillHeadServiceImpl$$FastClassBySpringCGLIB$$62790b2b.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:367) + at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:118) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at net.jjjerp.admin.service.bill.impl.BillHeadServiceImpl$$EnhancerBySpringCGLIB$$9a3576d0.auditOrder() + at net.jjjerp.admin.controller.purchase.purchase.PurchaseOrderController.audit(PurchaseOrderController.java:84) + at net.jjjerp.admin.controller.purchase.purchase.PurchaseOrderController$$FastClassBySpringCGLIB$$11e005fa.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.AspectJAfterThrowingAdvice.invoke(AspectJAfterThrowingAdvice.java:62) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:88) + at net.jjjerp.framework.log.aop.BaseLogAop.handle(BaseLogAop.java:303) + at net.jjjerp.aop.LogAop.doAround(LogAop.java:35) + at net.jjjerp.aop.LogAop$$FastClassBySpringCGLIB$$189c4aae.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.aop.LogAop$$EnhancerBySpringCGLIB$$afb7f6df.doAround() + at sun.reflect.GeneratedMethodAccessor346.invoke(Unknown Source) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:644) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:633) + at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.apache.shiro.spring.security.interceptor.AopAllianceAnnotationsAuthorizingMethodInterceptor$1.proceed(AopAllianceAnnotationsAuthorizingMethodInterceptor.java:82) + at org.apache.shiro.authz.aop.AuthorizingMethodInterceptor.invoke(AuthorizingMethodInterceptor.java:39) + at org.apache.shiro.spring.security.interceptor.AopAllianceAnnotationsAuthorizingMethodInterceptor.invoke(AopAllianceAnnotationsAuthorizingMethodInterceptor.java:115) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:95) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at net.jjjerp.admin.controller.purchase.purchase.PurchaseOrderController$$EnhancerBySpringCGLIB$$549b4a5d.audit() + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:652) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:112) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) + at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 11:30:13.872 ERROR [http-nio-8892-exec-10] [] n.jjjerp.handler.GlobalExceptionHandler 233 : 异常来源:ip: 192.168.31.226, path: /api/admin/purchase/purchase/order/audit +2024-06-29 11:30:13.873 ERROR [http-nio-8892-exec-10] [] n.jjjerp.handler.GlobalExceptionHandler 257 : errorCode: 5000, errorMessage: 系统异常 + +java.lang.NullPointerException: null + at net.jjjerp.admin.service.bill.impl.BillHeadServiceImpl.supplierSettlement(BillHeadServiceImpl.java:2135) + at net.jjjerp.admin.service.bill.impl.BillHeadServiceImpl.outStock(BillHeadServiceImpl.java:1953) + at net.jjjerp.admin.service.bill.impl.BillHeadServiceImpl.auditOrder(BillHeadServiceImpl.java:1902) + at net.jjjerp.admin.service.bill.impl.BillHeadServiceImpl$$FastClassBySpringCGLIB$$62790b2b.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:367) + at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:118) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at net.jjjerp.admin.service.bill.impl.BillHeadServiceImpl$$EnhancerBySpringCGLIB$$9a3576d0.auditOrder() + at net.jjjerp.admin.controller.purchase.purchase.PurchaseOrderController.audit(PurchaseOrderController.java:84) + at net.jjjerp.admin.controller.purchase.purchase.PurchaseOrderController$$FastClassBySpringCGLIB$$11e005fa.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.AspectJAfterThrowingAdvice.invoke(AspectJAfterThrowingAdvice.java:62) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:88) + at net.jjjerp.framework.log.aop.BaseLogAop.handle(BaseLogAop.java:303) + at net.jjjerp.aop.LogAop.doAround(LogAop.java:35) + at net.jjjerp.aop.LogAop$$FastClassBySpringCGLIB$$189c4aae.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.aop.LogAop$$EnhancerBySpringCGLIB$$afb7f6df.doAround() + at sun.reflect.GeneratedMethodAccessor346.invoke(Unknown Source) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:644) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:633) + at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.apache.shiro.spring.security.interceptor.AopAllianceAnnotationsAuthorizingMethodInterceptor$1.proceed(AopAllianceAnnotationsAuthorizingMethodInterceptor.java:82) + at org.apache.shiro.authz.aop.AuthorizingMethodInterceptor.invoke(AuthorizingMethodInterceptor.java:39) + at org.apache.shiro.spring.security.interceptor.AopAllianceAnnotationsAuthorizingMethodInterceptor.invoke(AopAllianceAnnotationsAuthorizingMethodInterceptor.java:115) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:95) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at net.jjjerp.admin.controller.purchase.purchase.PurchaseOrderController$$EnhancerBySpringCGLIB$$549b4a5d.audit() + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:652) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:112) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) + at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 11:31:13.549 ERROR [http-nio-8892-exec-11] [] n.jjjerp.handler.GlobalExceptionHandler 233 : 异常来源:ip: 192.168.31.226, path: /api/admin/purchase/purchase/order/audit +2024-06-29 11:31:13.550 ERROR [http-nio-8892-exec-11] [] n.jjjerp.handler.GlobalExceptionHandler 257 : errorCode: 5000, errorMessage: 系统异常 + +java.lang.NullPointerException: null + at net.jjjerp.admin.service.bill.impl.BillHeadServiceImpl.supplierSettlement(BillHeadServiceImpl.java:2135) + at net.jjjerp.admin.service.bill.impl.BillHeadServiceImpl.outStock(BillHeadServiceImpl.java:1953) + at net.jjjerp.admin.service.bill.impl.BillHeadServiceImpl.auditOrder(BillHeadServiceImpl.java:1902) + at net.jjjerp.admin.service.bill.impl.BillHeadServiceImpl$$FastClassBySpringCGLIB$$62790b2b.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:367) + at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:118) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at net.jjjerp.admin.service.bill.impl.BillHeadServiceImpl$$EnhancerBySpringCGLIB$$9a3576d0.auditOrder() + at net.jjjerp.admin.controller.purchase.purchase.PurchaseOrderController.audit(PurchaseOrderController.java:84) + at net.jjjerp.admin.controller.purchase.purchase.PurchaseOrderController$$FastClassBySpringCGLIB$$11e005fa.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.AspectJAfterThrowingAdvice.invoke(AspectJAfterThrowingAdvice.java:62) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:88) + at net.jjjerp.framework.log.aop.BaseLogAop.handle(BaseLogAop.java:303) + at net.jjjerp.aop.LogAop.doAround(LogAop.java:35) + at net.jjjerp.aop.LogAop$$FastClassBySpringCGLIB$$189c4aae.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.aop.LogAop$$EnhancerBySpringCGLIB$$afb7f6df.doAround() + at sun.reflect.GeneratedMethodAccessor346.invoke(Unknown Source) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:644) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:633) + at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.apache.shiro.spring.security.interceptor.AopAllianceAnnotationsAuthorizingMethodInterceptor$1.proceed(AopAllianceAnnotationsAuthorizingMethodInterceptor.java:82) + at org.apache.shiro.authz.aop.AuthorizingMethodInterceptor.invoke(AuthorizingMethodInterceptor.java:39) + at org.apache.shiro.spring.security.interceptor.AopAllianceAnnotationsAuthorizingMethodInterceptor.invoke(AopAllianceAnnotationsAuthorizingMethodInterceptor.java:115) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:95) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at net.jjjerp.admin.controller.purchase.purchase.PurchaseOrderController$$EnhancerBySpringCGLIB$$549b4a5d.audit() + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:652) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:112) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) + at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 11:31:56.528 ERROR [http-nio-8892-exec-12] [] n.jjjerp.handler.GlobalExceptionHandler 233 : 异常来源:ip: 192.168.31.226, path: /api/admin/purchase/purchase/order/audit +2024-06-29 11:31:56.528 ERROR [http-nio-8892-exec-12] [] n.jjjerp.handler.GlobalExceptionHandler 257 : errorCode: 5000, errorMessage: 系统异常 + +java.lang.NullPointerException: null + at net.jjjerp.admin.service.bill.impl.BillHeadServiceImpl.supplierSettlement(BillHeadServiceImpl.java:2135) + at net.jjjerp.admin.service.bill.impl.BillHeadServiceImpl.outStock(BillHeadServiceImpl.java:1953) + at net.jjjerp.admin.service.bill.impl.BillHeadServiceImpl.auditOrder(BillHeadServiceImpl.java:1902) + at net.jjjerp.admin.service.bill.impl.BillHeadServiceImpl$$FastClassBySpringCGLIB$$62790b2b.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:367) + at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:118) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at net.jjjerp.admin.service.bill.impl.BillHeadServiceImpl$$EnhancerBySpringCGLIB$$9a3576d0.auditOrder() + at net.jjjerp.admin.controller.purchase.purchase.PurchaseOrderController.audit(PurchaseOrderController.java:84) + at net.jjjerp.admin.controller.purchase.purchase.PurchaseOrderController$$FastClassBySpringCGLIB$$11e005fa.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.AspectJAfterThrowingAdvice.invoke(AspectJAfterThrowingAdvice.java:62) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:88) + at net.jjjerp.framework.log.aop.BaseLogAop.handle(BaseLogAop.java:303) + at net.jjjerp.aop.LogAop.doAround(LogAop.java:35) + at net.jjjerp.aop.LogAop$$FastClassBySpringCGLIB$$189c4aae.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.aop.LogAop$$EnhancerBySpringCGLIB$$afb7f6df.doAround() + at sun.reflect.GeneratedMethodAccessor346.invoke(Unknown Source) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:644) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:633) + at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.apache.shiro.spring.security.interceptor.AopAllianceAnnotationsAuthorizingMethodInterceptor$1.proceed(AopAllianceAnnotationsAuthorizingMethodInterceptor.java:82) + at org.apache.shiro.authz.aop.AuthorizingMethodInterceptor.invoke(AuthorizingMethodInterceptor.java:39) + at org.apache.shiro.spring.security.interceptor.AopAllianceAnnotationsAuthorizingMethodInterceptor.invoke(AopAllianceAnnotationsAuthorizingMethodInterceptor.java:115) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:95) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at net.jjjerp.admin.controller.purchase.purchase.PurchaseOrderController$$EnhancerBySpringCGLIB$$549b4a5d.audit() + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:652) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:112) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) + at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 14:14:30.914 ERROR [http-nio-8892-exec-1] [] n.jjjerp.handler.GlobalExceptionHandler 233 : 异常来源:ip: 192.168.31.226, path: /api/admin/product/base/category/index +2024-06-29 14:14:30.916 ERROR [http-nio-8892-exec-1] [] n.jjjerp.handler.GlobalExceptionHandler 257 : errorCode: 5001, errorMessage: 请求参数校验异常 + +org.springframework.http.converter.HttpMessageNotReadableException: Required request body is missing: public net.jjjerp.framework.common.api.ApiResult> net.jjjerp.admin.controller.product.base.CategoryController.index(net.jjjerp.common.param.product.CategoryParam) + at org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.readWithMessageConverters(RequestResponseBodyMethodProcessor.java:161) + at org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.resolveArgument(RequestResponseBodyMethodProcessor.java:131) + at org.springframework.web.method.support.HandlerMethodArgumentResolverComposite.resolveArgument(HandlerMethodArgumentResolverComposite.java:121) + at org.springframework.web.method.support.InvocableHandlerMethod.getMethodArgumentValues(InvocableHandlerMethod.java:167) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:134) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:652) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:112) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) + at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 14:15:15.553 ERROR [http-nio-8892-exec-6] [] n.jjjerp.framework.shiro.jwt.JwtFilter 138 : 访问错误 + +org.apache.shiro.authc.AuthenticationException: JWT Token已过期,token:eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhdWQiOiJ3ZWIiLCJpc3MiOiJzcHJpbmctYm9vdC1qamoiLCJleHAiOjE3MTk0OTMwMTgsImlhdCI6MTcxOTQ1NzAxOCwianRpIjoiOTdkOTliZDMzOTE5NDc1YWE1MGM5YWQ5NTBhMTc0MGEiLCJ1c2VybmFtZSI6ImFkbWluIn0.5R-gqJFnQZZ03xXA5zT05PrLCezV5LwkgYDiqsdq98E + at net.jjjerp.framework.shiro.jwt.JwtFilter.createToken(JwtFilter.java:67) + at org.apache.shiro.web.filter.authc.AuthenticatingFilter.executeLogin(AuthenticatingFilter.java:45) + at net.jjjerp.framework.shiro.jwt.JwtFilter.isAccessAllowed(JwtFilter.java:134) + at org.apache.shiro.web.filter.AccessControlFilter.onPreHandle(AccessControlFilter.java:162) + at org.apache.shiro.web.filter.PathMatchingFilter.isFilterChainContinued(PathMatchingFilter.java:214) + at org.apache.shiro.web.filter.PathMatchingFilter.preHandle(PathMatchingFilter.java:189) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:131) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 14:15:15.554 ERROR [http-nio-8892-exec-6] [] n.jjjerp.framework.shiro.jwt.JwtFilter 111 : onAccessDenied url:/api/admin/product/base/category/index +2024-06-29 14:15:34.717 ERROR [http-nio-8892-exec-7] [] n.jjjerp.handler.GlobalExceptionHandler 233 : 异常来源:ip: 127.0.0.1, path: /api/admin/product/base/category/index +2024-06-29 14:15:34.717 ERROR [http-nio-8892-exec-7] [] n.jjjerp.handler.GlobalExceptionHandler 257 : errorCode: 5003, errorMessage: HTTP内容类型异常 + +org.springframework.web.HttpMediaTypeNotSupportedException: Content type 'application/x-www-form-urlencoded;charset=UTF-8' not supported + at org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodArgumentResolver.readWithMessageConverters(AbstractMessageConverterMethodArgumentResolver.java:225) + at org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.readWithMessageConverters(RequestResponseBodyMethodProcessor.java:158) + at org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.resolveArgument(RequestResponseBodyMethodProcessor.java:131) + at org.springframework.web.method.support.HandlerMethodArgumentResolverComposite.resolveArgument(HandlerMethodArgumentResolverComposite.java:121) + at org.springframework.web.method.support.InvocableHandlerMethod.getMethodArgumentValues(InvocableHandlerMethod.java:167) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:134) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:652) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:112) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) + at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 14:15:40.751 ERROR [http-nio-8892-exec-8] [] n.jjjerp.handler.GlobalExceptionHandler 233 : 异常来源:ip: 127.0.0.1, path: /api/admin/product/base/category/index +2024-06-29 14:15:40.751 ERROR [http-nio-8892-exec-8] [] n.jjjerp.handler.GlobalExceptionHandler 257 : errorCode: 5003, errorMessage: HTTP内容类型异常 + +org.springframework.web.HttpMediaTypeNotSupportedException: Content type 'application/x-www-form-urlencoded;charset=UTF-8' not supported + at org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodArgumentResolver.readWithMessageConverters(AbstractMessageConverterMethodArgumentResolver.java:225) + at org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.readWithMessageConverters(RequestResponseBodyMethodProcessor.java:158) + at org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.resolveArgument(RequestResponseBodyMethodProcessor.java:131) + at org.springframework.web.method.support.HandlerMethodArgumentResolverComposite.resolveArgument(HandlerMethodArgumentResolverComposite.java:121) + at org.springframework.web.method.support.InvocableHandlerMethod.getMethodArgumentValues(InvocableHandlerMethod.java:167) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:134) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:652) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:112) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) + at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 14:15:44.290 ERROR [http-nio-8892-exec-9] [] n.jjjerp.handler.GlobalExceptionHandler 233 : 异常来源:ip: 127.0.0.1, path: /api/admin/product/base/category/index +2024-06-29 14:15:44.290 ERROR [http-nio-8892-exec-9] [] n.jjjerp.handler.GlobalExceptionHandler 257 : errorCode: 5003, errorMessage: HTTP内容类型异常 + +org.springframework.web.HttpMediaTypeNotSupportedException: Content type 'application/x-www-form-urlencoded;charset=UTF-8' not supported + at org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodArgumentResolver.readWithMessageConverters(AbstractMessageConverterMethodArgumentResolver.java:225) + at org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.readWithMessageConverters(RequestResponseBodyMethodProcessor.java:158) + at org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.resolveArgument(RequestResponseBodyMethodProcessor.java:131) + at org.springframework.web.method.support.HandlerMethodArgumentResolverComposite.resolveArgument(HandlerMethodArgumentResolverComposite.java:121) + at org.springframework.web.method.support.InvocableHandlerMethod.getMethodArgumentValues(InvocableHandlerMethod.java:167) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:134) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:652) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:112) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) + at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 14:17:40.289 ERROR [http-nio-8892-exec-16] [] n.jjjerp.handler.GlobalExceptionHandler 233 : 异常来源:ip: 192.168.31.226, path: /api/admin/product/base/category/index +2024-06-29 14:17:40.290 ERROR [http-nio-8892-exec-16] [] n.jjjerp.handler.GlobalExceptionHandler 257 : errorCode: 5001, errorMessage: 请求参数校验异常 + +org.springframework.http.converter.HttpMessageNotReadableException: Required request body is missing: public net.jjjerp.framework.common.api.ApiResult> net.jjjerp.admin.controller.product.base.CategoryController.index(net.jjjerp.common.param.product.CategoryParam) + at org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.readWithMessageConverters(RequestResponseBodyMethodProcessor.java:161) + at org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.resolveArgument(RequestResponseBodyMethodProcessor.java:131) + at org.springframework.web.method.support.HandlerMethodArgumentResolverComposite.resolveArgument(HandlerMethodArgumentResolverComposite.java:121) + at org.springframework.web.method.support.InvocableHandlerMethod.getMethodArgumentValues(InvocableHandlerMethod.java:167) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:134) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:652) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:112) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) + at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 14:24:37.823 ERROR [http-nio-8892-exec-28] [] n.jjjerp.handler.GlobalExceptionHandler 233 : 异常来源:ip: 192.168.31.226, path: /api/admin/product/base/category/index +2024-06-29 14:24:37.824 ERROR [http-nio-8892-exec-28] [] n.jjjerp.handler.GlobalExceptionHandler 257 : errorCode: 5001, errorMessage: 请求参数校验异常 + +org.springframework.http.converter.HttpMessageNotReadableException: Required request body is missing: public net.jjjerp.framework.common.api.ApiResult> net.jjjerp.admin.controller.product.base.CategoryController.index(net.jjjerp.common.param.product.CategoryParam) + at org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.readWithMessageConverters(RequestResponseBodyMethodProcessor.java:161) + at org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.resolveArgument(RequestResponseBodyMethodProcessor.java:131) + at org.springframework.web.method.support.HandlerMethodArgumentResolverComposite.resolveArgument(HandlerMethodArgumentResolverComposite.java:121) + at org.springframework.web.method.support.InvocableHandlerMethod.getMethodArgumentValues(InvocableHandlerMethod.java:167) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:134) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:652) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:112) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) + at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 14:25:51.609 ERROR [http-nio-8892-exec-4] [] n.jjjerp.handler.GlobalExceptionHandler 233 : 异常来源:ip: 192.168.31.226, path: /api/admin/market/audit/order/edit +2024-06-29 14:25:51.609 ERROR [http-nio-8892-exec-4] [] n.jjjerp.handler.GlobalExceptionHandler 257 : errorCode: 5000, errorMessage: 系统异常 + +java.lang.NullPointerException: null + at net.jjjerp.admin.service.bill.impl.BillHeadServiceImpl.editOrder(BillHeadServiceImpl.java:1621) + at net.jjjerp.admin.service.bill.impl.BillHeadServiceImpl$$FastClassBySpringCGLIB$$62790b2b.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.admin.service.bill.impl.BillHeadServiceImpl$$EnhancerBySpringCGLIB$$461d384c.editOrder() + at net.jjjerp.admin.controller.market.audit.MarketOrderController.edit(MarketOrderController.java:65) + at net.jjjerp.admin.controller.market.audit.MarketOrderController$$FastClassBySpringCGLIB$$908cb7b8.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.AspectJAfterThrowingAdvice.invoke(AspectJAfterThrowingAdvice.java:62) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:88) + at net.jjjerp.framework.log.aop.BaseLogAop.handle(BaseLogAop.java:303) + at net.jjjerp.aop.LogAop.doAround(LogAop.java:35) + at net.jjjerp.aop.LogAop$$FastClassBySpringCGLIB$$189c4aae.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.aop.LogAop$$EnhancerBySpringCGLIB$$a6862059.doAround() + at sun.reflect.GeneratedMethodAccessor949.invoke(Unknown Source) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:644) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:633) + at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.apache.shiro.spring.security.interceptor.AopAllianceAnnotationsAuthorizingMethodInterceptor$1.proceed(AopAllianceAnnotationsAuthorizingMethodInterceptor.java:82) + at org.apache.shiro.authz.aop.AuthorizingMethodInterceptor.invoke(AuthorizingMethodInterceptor.java:39) + at org.apache.shiro.spring.security.interceptor.AopAllianceAnnotationsAuthorizingMethodInterceptor.invoke(AopAllianceAnnotationsAuthorizingMethodInterceptor.java:115) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:95) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at net.jjjerp.admin.controller.market.audit.MarketOrderController$$EnhancerBySpringCGLIB$$84ef418f.edit() + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:652) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:112) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) + at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 14:27:11.046 ERROR [http-nio-8892-exec-2] [] n.jjjerp.handler.GlobalExceptionHandler 233 : 异常来源:ip: 192.168.31.226, path: /api/admin/market/audit/order/edit +2024-06-29 14:27:11.047 ERROR [http-nio-8892-exec-2] [] n.jjjerp.handler.GlobalExceptionHandler 257 : errorCode: 5000, errorMessage: 系统异常 + +java.lang.NullPointerException: null + at net.jjjerp.admin.service.bill.impl.BillHeadServiceImpl.editOrder(BillHeadServiceImpl.java:1621) + at net.jjjerp.admin.service.bill.impl.BillHeadServiceImpl$$FastClassBySpringCGLIB$$62790b2b.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.admin.service.bill.impl.BillHeadServiceImpl$$EnhancerBySpringCGLIB$$461d384c.editOrder() + at net.jjjerp.admin.controller.market.audit.MarketOrderController.edit(MarketOrderController.java:65) + at net.jjjerp.admin.controller.market.audit.MarketOrderController$$FastClassBySpringCGLIB$$908cb7b8.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.AspectJAfterThrowingAdvice.invoke(AspectJAfterThrowingAdvice.java:62) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:88) + at net.jjjerp.framework.log.aop.BaseLogAop.handle(BaseLogAop.java:303) + at net.jjjerp.aop.LogAop.doAround(LogAop.java:35) + at net.jjjerp.aop.LogAop$$FastClassBySpringCGLIB$$189c4aae.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.aop.LogAop$$EnhancerBySpringCGLIB$$a6862059.doAround() + at sun.reflect.GeneratedMethodAccessor949.invoke(Unknown Source) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:644) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:633) + at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.apache.shiro.spring.security.interceptor.AopAllianceAnnotationsAuthorizingMethodInterceptor$1.proceed(AopAllianceAnnotationsAuthorizingMethodInterceptor.java:82) + at org.apache.shiro.authz.aop.AuthorizingMethodInterceptor.invoke(AuthorizingMethodInterceptor.java:39) + at org.apache.shiro.spring.security.interceptor.AopAllianceAnnotationsAuthorizingMethodInterceptor.invoke(AopAllianceAnnotationsAuthorizingMethodInterceptor.java:115) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:95) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at net.jjjerp.admin.controller.market.audit.MarketOrderController$$EnhancerBySpringCGLIB$$84ef418f.edit() + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:652) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:112) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) + at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 14:40:36.740 ERROR [http-nio-8892-exec-10] [] n.jjjerp.handler.GlobalExceptionHandler 233 : 异常来源:ip: 192.168.31.226, path: /api/admin/product/base/category/index +2024-06-29 14:40:36.741 ERROR [http-nio-8892-exec-10] [] n.jjjerp.handler.GlobalExceptionHandler 257 : errorCode: 5001, errorMessage: 请求参数校验异常 + +org.springframework.http.converter.HttpMessageNotReadableException: Required request body is missing: public net.jjjerp.framework.common.api.ApiResult> net.jjjerp.admin.controller.product.base.CategoryController.index(net.jjjerp.common.param.product.CategoryParam) + at org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.readWithMessageConverters(RequestResponseBodyMethodProcessor.java:161) + at org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.resolveArgument(RequestResponseBodyMethodProcessor.java:131) + at org.springframework.web.method.support.HandlerMethodArgumentResolverComposite.resolveArgument(HandlerMethodArgumentResolverComposite.java:121) + at org.springframework.web.method.support.InvocableHandlerMethod.getMethodArgumentValues(InvocableHandlerMethod.java:167) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:134) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:652) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:112) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) + at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 14:41:03.204 ERROR [http-nio-8892-exec-16] [] n.jjjerp.handler.GlobalExceptionHandler 233 : 异常来源:ip: 192.168.31.226, path: /api/admin/product/base/category/index +2024-06-29 14:41:03.204 ERROR [http-nio-8892-exec-16] [] n.jjjerp.handler.GlobalExceptionHandler 257 : errorCode: 5001, errorMessage: 请求参数校验异常 + +org.springframework.http.converter.HttpMessageNotReadableException: Required request body is missing: public net.jjjerp.framework.common.api.ApiResult> net.jjjerp.admin.controller.product.base.CategoryController.index(net.jjjerp.common.param.product.CategoryParam) + at org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.readWithMessageConverters(RequestResponseBodyMethodProcessor.java:161) + at org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.resolveArgument(RequestResponseBodyMethodProcessor.java:131) + at org.springframework.web.method.support.HandlerMethodArgumentResolverComposite.resolveArgument(HandlerMethodArgumentResolverComposite.java:121) + at org.springframework.web.method.support.InvocableHandlerMethod.getMethodArgumentValues(InvocableHandlerMethod.java:167) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:134) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:652) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:112) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) + at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 14:41:06.552 ERROR [http-nio-8892-exec-20] [] n.jjjerp.handler.GlobalExceptionHandler 233 : 异常来源:ip: 192.168.31.226, path: /api/admin/product/base/category/index +2024-06-29 14:41:06.553 ERROR [http-nio-8892-exec-20] [] n.jjjerp.handler.GlobalExceptionHandler 257 : errorCode: 5001, errorMessage: 请求参数校验异常 + +org.springframework.http.converter.HttpMessageNotReadableException: Required request body is missing: public net.jjjerp.framework.common.api.ApiResult> net.jjjerp.admin.controller.product.base.CategoryController.index(net.jjjerp.common.param.product.CategoryParam) + at org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.readWithMessageConverters(RequestResponseBodyMethodProcessor.java:161) + at org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.resolveArgument(RequestResponseBodyMethodProcessor.java:131) + at org.springframework.web.method.support.HandlerMethodArgumentResolverComposite.resolveArgument(HandlerMethodArgumentResolverComposite.java:121) + at org.springframework.web.method.support.InvocableHandlerMethod.getMethodArgumentValues(InvocableHandlerMethod.java:167) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:134) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:652) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:112) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) + at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 15:26:20.858 ERROR [http-nio-8892-exec-8] [] n.jjjerp.handler.GlobalExceptionHandler 233 : 异常来源:ip: 192.168.31.226, path: /api/admin/setting/basic/store/add +2024-06-29 15:26:20.858 ERROR [http-nio-8892-exec-8] [] n.jjjerp.handler.GlobalExceptionHandler 56 : errorCode: 5001, errorMessage: 请求参数校验异常:["店铺名称不能为空","绑定账户不能为空"] +2024-06-29 15:26:33.182 ERROR [http-nio-8892-exec-12] [] n.jjjerp.handler.GlobalExceptionHandler 233 : 异常来源:ip: 192.168.31.226, path: /api/admin/setting/basic/store/add +2024-06-29 15:26:33.182 ERROR [http-nio-8892-exec-12] [] n.jjjerp.handler.GlobalExceptionHandler 56 : errorCode: 5001, errorMessage: 请求参数校验异常:["绑定账户不能为空"] +2024-06-29 15:26:34.510 ERROR [http-nio-8892-exec-9] [] n.jjjerp.handler.GlobalExceptionHandler 233 : 异常来源:ip: 192.168.31.226, path: /api/admin/setting/basic/store/add +2024-06-29 15:26:34.511 ERROR [http-nio-8892-exec-9] [] n.jjjerp.handler.GlobalExceptionHandler 56 : errorCode: 5001, errorMessage: 请求参数校验异常:["绑定账户不能为空"] +2024-06-29 15:26:34.942 ERROR [http-nio-8892-exec-10] [] n.jjjerp.handler.GlobalExceptionHandler 233 : 异常来源:ip: 192.168.31.226, path: /api/admin/setting/basic/store/add +2024-06-29 15:26:34.942 ERROR [http-nio-8892-exec-10] [] n.jjjerp.handler.GlobalExceptionHandler 56 : errorCode: 5001, errorMessage: 请求参数校验异常:["绑定账户不能为空"] +2024-06-29 15:27:05.649 ERROR [http-nio-8892-exec-17] [] n.jjjerp.handler.GlobalExceptionHandler 233 : 异常来源:ip: 192.168.31.226, path: /api/admin/finance/capital/account/add +2024-06-29 15:27:05.649 ERROR [http-nio-8892-exec-17] [] n.jjjerp.handler.GlobalExceptionHandler 56 : errorCode: 5001, errorMessage: 请求参数校验异常:["期初余额不能为空"] +2024-06-29 15:27:54.233 ERROR [http-nio-8892-exec-30] [] n.jjjerp.handler.GlobalExceptionHandler 233 : 异常来源:ip: 192.168.31.226, path: /api/admin/setting/basic/store/add +2024-06-29 15:27:54.234 ERROR [http-nio-8892-exec-30] [] n.jjjerp.handler.GlobalExceptionHandler 56 : errorCode: 5001, errorMessage: 请求参数校验异常:["店铺名称不能为空"] diff --git a/jjj_erp/logs/spring-boot-jjj.log b/jjj_erp/logs/spring-boot-jjj.log new file mode 100644 index 0000000..6d35e40 --- /dev/null +++ b/jjj_erp/logs/spring-boot-jjj.log @@ -0,0 +1,8810 @@ +2024-06-29 08:30:30.934 INFO [background-preinit] [] o.h.validator.internal.util.Version 21 : HV000001: Hibernate Validator 6.1.7.Final +2024-06-29 08:30:30.937 INFO [main] [] net.jjjerp.SpringBootJjjApplication 55 : Starting SpringBootJjjApplication on OS-20230506YKNI with PID 5544 (D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\bootstrap\target\classes started by Administrator in D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp) +2024-06-29 08:30:30.937 INFO [main] [] net.jjjerp.SpringBootJjjApplication 652 : The following profiles are active: prod +2024-06-29 08:30:32.206 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 249 : Multiple Spring Data modules found, entering strict repository configuration mode! +2024-06-29 08:30:32.208 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 127 : Bootstrapping Spring Data Redis repositories in DEFAULT mode. +2024-06-29 08:30:32.285 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 187 : Finished Spring Data repository scanning in 66ms. Found 0 Redis repository interfaces. +2024-06-29 08:30:32.520 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.ShiroConfig' of type [net.jjjerp.config.ShiroConfig$$EnhancerBySpringCGLIB$$640df0cd] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-29 08:30:32.599 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.properties.JwtProperties' of type [net.jjjerp.config.properties.JwtProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-29 08:30:32.601 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.RedisTemplateConfig' of type [net.jjjerp.config.RedisTemplateConfig$$EnhancerBySpringCGLIB$$3372fb71] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-29 08:30:32.608 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'spring.redis-org.springframework.boot.autoconfigure.data.redis.RedisProperties' of type [org.springframework.boot.autoconfigure.data.redis.RedisProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-29 08:30:32.611 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration' of type [org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-29 08:30:32.667 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'lettuceClientResources' of type [io.lettuce.core.resource.DefaultClientResources] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-29 08:30:32.782 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'redisConnectionFactory' of type [org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-29 08:30:32.847 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'redisTemplate' of type [org.springframework.data.redis.core.RedisTemplate] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-29 08:30:32.848 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.cache.impl.AdminLoginRedisServiceImpl' of type [net.jjjerp.framework.shiro.cache.impl.AdminLoginRedisServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-29 08:30:32.852 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.cache.impl.ShopLoginRedisServiceImpl' of type [net.jjjerp.framework.shiro.cache.impl.ShopLoginRedisServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-29 08:30:33.007 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'credentialsMatcher' of type [net.jjjerp.framework.shiro.jwt.JwtCredentialsMatcher] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-29 08:30:33.014 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'jwtRealm' of type [net.jjjerp.framework.shiro.jwt.JwtRealm] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-29 08:30:33.016 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'sessionStorageEvaluator' of type [org.apache.shiro.web.mgt.DefaultWebSessionStorageEvaluator] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-29 08:30:33.016 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'subjectDAO' of type [org.apache.shiro.mgt.DefaultSubjectDAO] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-29 08:30:33.019 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'securityManager' of type [org.apache.shiro.web.mgt.DefaultWebSecurityManager] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-29 08:30:33.043 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.service.impl.ShiroLoginServiceImpl' of type [net.jjjerp.framework.shiro.service.impl.ShiroLoginServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-29 08:30:33.051 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'spring-boot-jjj.shiro-net.jjjerp.config.properties.ShiroProperties' of type [net.jjjerp.config.properties.ShiroProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-29 08:30:33.132 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'authorizationAttributeSourceAdvisor' of type [org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-29 08:30:33.265 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.RedisCacheConfig' of type [net.jjjerp.config.RedisCacheConfig$$EnhancerBySpringCGLIB$$e8afd273] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-29 08:30:33.506 INFO [main] [] o.s.b.w.embedded.tomcat.TomcatWebServer 108 : Tomcat initialized with port(s): 8892 (http) +2024-06-29 08:30:33.514 INFO [main] [] o.a.coyote.http11.Http11NioProtocol 173 : Initializing ProtocolHandler ["http-nio-8892"] +2024-06-29 08:30:33.515 INFO [main] [] o.apache.catalina.core.StandardService 173 : Starting service [Tomcat] +2024-06-29 08:30:33.515 INFO [main] [] org.apache.catalina.core.StandardEngine 173 : Starting Servlet engine: [Apache Tomcat/9.0.46] +2024-06-29 08:30:33.616 INFO [main] [] o.a.c.c.C.[Tomcat].[localhost].[/api] 173 : Initializing Spring embedded WebApplicationContext +2024-06-29 08:30:33.616 INFO [main] [] w.s.c.ServletWebServerApplicationContext 285 : Root WebApplicationContext: initialization completed in 2632 ms +2024-06-29 08:30:33.796 INFO [main] [] net.jjjerp.framework.core.xss.XssFilter 18 : XssFilter init +2024-06-29 08:30:33.796 INFO [main] [] n.j.f.core.filter.RequestDetailFilter 30 : RequestDetailFilter init +2024-06-29 08:30:37.198 INFO [main] [] org.reflections.Reflections 228 : Reflections took 30 ms to scan 1 urls, producing 0 keys and 0 values +2024-06-29 08:30:37.287 INFO [main] [] net.jjjerp.framework.shiro.util.JwtUtil 33 : {"audience":"web","expireSecond":36000,"issuer":"spring-boot-jjj","redisCheck":true,"refreshToken":true,"refreshTokenCountdown":600,"saltCheck":true,"secret":"888888","singleLogin":false,"tokenName":"token"} +2024-06-29 08:30:40.440 INFO [main] [] pertySourcedRequestMappingHandlerMapping 69 : Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2Controller#getDocumentation(String, HttpServletRequest)] +2024-06-29 08:30:40.460 INFO [main] [] net.jjjerp.config.Swagger2Config 149 : swagger scan basePackages:null +2024-06-29 08:30:40.590 INFO [main] [] o.s.s.concurrent.ThreadPoolTaskExecutor 181 : Initializing ExecutorService 'applicationTaskExecutor' +2024-06-29 08:30:40.675 INFO [main] [] o.s.b.a.w.s.WelcomePageHandlerMapping 53 : Adding welcome page: class path resource [static/index.html] +2024-06-29 08:30:40.898 INFO [main] [] o.s.s.c.ThreadPoolTaskScheduler 181 : Initializing ExecutorService 'taskScheduler' +2024-06-29 08:30:40.994 INFO [main] [] o.a.coyote.http11.Http11NioProtocol 173 : Starting ProtocolHandler ["http-nio-8892"] +2024-06-29 08:30:41.018 INFO [main] [] o.s.b.w.embedded.tomcat.TomcatWebServer 220 : Tomcat started on port(s): 8892 (http) with context path '/api' +2024-06-29 08:30:41.020 INFO [main] [] d.s.w.p.DocumentationPluginsBootstrapper 160 : Context refreshed +2024-06-29 08:30:41.026 INFO [main] [] d.s.w.p.DocumentationPluginsBootstrapper 163 : Found 1 custom documentation plugin(s) +2024-06-29 08:30:41.066 INFO [main] [] s.d.s.w.s.ApiListingReferenceScanner 41 : Scanning for api listing references +2024-06-29 08:30:41.187 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_1 +2024-06-29 08:30:41.189 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_1 +2024-06-29 08:30:41.190 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_1 +2024-06-29 08:30:41.206 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_1 +2024-06-29 08:30:41.239 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_2 +2024-06-29 08:30:41.241 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_2 +2024-06-29 08:30:41.244 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_3 +2024-06-29 08:30:41.245 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_3 +2024-06-29 08:30:41.247 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_4 +2024-06-29 08:30:41.248 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_4 +2024-06-29 08:30:41.249 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexOutUsingPOST_1 +2024-06-29 08:30:41.252 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_5 +2024-06-29 08:30:41.259 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_5 +2024-06-29 08:30:41.261 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_2 +2024-06-29 08:30:41.261 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_2 +2024-06-29 08:30:41.276 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_6 +2024-06-29 08:30:41.277 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_7 +2024-06-29 08:30:41.282 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_8 +2024-06-29 08:30:41.289 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_6 +2024-06-29 08:30:41.290 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_3 +2024-06-29 08:30:41.290 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_3 +2024-06-29 08:30:41.297 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_9 +2024-06-29 08:30:41.323 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_10 +2024-06-29 08:30:41.325 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_7 +2024-06-29 08:30:41.325 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_4 +2024-06-29 08:30:41.326 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_4 +2024-06-29 08:30:41.328 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_11 +2024-06-29 08:30:41.333 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_8 +2024-06-29 08:30:41.333 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_5 +2024-06-29 08:30:41.334 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_5 +2024-06-29 08:30:41.339 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_12 +2024-06-29 08:30:41.343 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_9 +2024-06-29 08:30:41.343 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_6 +2024-06-29 08:30:41.344 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_6 +2024-06-29 08:30:41.349 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_13 +2024-06-29 08:30:41.351 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_1 +2024-06-29 08:30:41.353 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_10 +2024-06-29 08:30:41.353 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_7 +2024-06-29 08:30:41.353 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_7 +2024-06-29 08:30:41.356 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_14 +2024-06-29 08:30:41.356 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_11 +2024-06-29 08:30:41.357 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_8 +2024-06-29 08:30:41.357 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_8 +2024-06-29 08:30:41.358 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_15 +2024-06-29 08:30:41.359 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_12 +2024-06-29 08:30:41.362 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_9 +2024-06-29 08:30:41.362 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_9 +2024-06-29 08:30:41.365 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_16 +2024-06-29 08:30:41.367 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_17 +2024-06-29 08:30:41.373 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_13 +2024-06-29 08:30:41.374 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_10 +2024-06-29 08:30:41.378 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_18 +2024-06-29 08:30:41.379 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_1 +2024-06-29 08:30:41.390 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addGroupUsingPOST_1 +2024-06-29 08:30:41.391 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: categoryUsingPOST_1 +2024-06-29 08:30:41.391 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteFilesUsingPOST_1 +2024-06-29 08:30:41.392 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteGroupUsingPOST_1 +2024-06-29 08:30:41.392 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editGroupUsingPOST_1 +2024-06-29 08:30:41.396 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: listsUsingPOST_1 +2024-06-29 08:30:41.396 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: moveFilesUsingPOST_1 +2024-06-29 08:30:41.398 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_19 +2024-06-29 08:30:41.401 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_14 +2024-06-29 08:30:41.402 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_10 +2024-06-29 08:30:41.402 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteFilesUsingPOST_2 +2024-06-29 08:30:41.404 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_11 +2024-06-29 08:30:41.408 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_20 +2024-06-29 08:30:41.417 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: moveFilesUsingPOST_2 +2024-06-29 08:30:41.418 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_21 +2024-06-29 08:30:41.420 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: listUsingPOST_1 +2024-06-29 08:30:41.420 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_22 +2024-06-29 08:30:41.428 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_23 +2024-06-29 08:30:41.432 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_24 +2024-06-29 08:30:41.433 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_25 +2024-06-29 08:30:41.436 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_15 +2024-06-29 08:30:41.438 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_1 +2024-06-29 08:30:41.439 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_12 +2024-06-29 08:30:41.440 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_26 +2024-06-29 08:30:41.441 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: repulseAuditUsingPOST_1 +2024-06-29 08:30:41.444 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_16 +2024-06-29 08:30:41.444 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_11 +2024-06-29 08:30:41.444 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_13 +2024-06-29 08:30:41.449 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_27 +2024-06-29 08:30:41.453 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_17 +2024-06-29 08:30:41.454 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_12 +2024-06-29 08:30:41.454 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_14 +2024-06-29 08:30:41.457 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_28 +2024-06-29 08:30:41.458 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_18 +2024-06-29 08:30:41.459 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_29 +2024-06-29 08:30:41.463 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_30 +2024-06-29 08:30:41.465 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_19 +2024-06-29 08:30:41.465 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_1 +2024-06-29 08:30:41.467 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_31 +2024-06-29 08:30:41.468 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_1 +2024-06-29 08:30:41.469 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_32 +2024-06-29 08:30:41.470 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_20 +2024-06-29 08:30:41.470 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_2 +2024-06-29 08:30:41.471 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_33 +2024-06-29 08:30:41.479 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: loginUsingPOST_1 +2024-06-29 08:30:41.479 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: logoutUsingPOST_1 +2024-06-29 08:30:41.480 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_34 +2024-06-29 08:30:41.483 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_21 +2024-06-29 08:30:41.483 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_13 +2024-06-29 08:30:41.484 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_15 +2024-06-29 08:30:41.484 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_35 +2024-06-29 08:30:41.486 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_2 +2024-06-29 08:30:41.489 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_22 +2024-06-29 08:30:41.490 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_14 +2024-06-29 08:30:41.490 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_16 +2024-06-29 08:30:41.494 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_36 +2024-06-29 08:30:41.494 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: stateUsingPOST_1 +2024-06-29 08:30:41.495 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_1 +2024-06-29 08:30:41.495 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_3 +2024-06-29 08:30:41.497 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_23 +2024-06-29 08:30:41.497 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_2 +2024-06-29 08:30:41.498 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_2 +2024-06-29 08:30:41.499 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_17 +2024-06-29 08:30:41.500 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_37 +2024-06-29 08:30:41.502 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_3 +2024-06-29 08:30:41.502 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_18 +2024-06-29 08:30:41.503 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_38 +2024-06-29 08:30:41.504 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addStorageUsingPOST_1 +2024-06-29 08:30:41.504 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_4 +2024-06-29 08:30:41.505 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_3 +2024-06-29 08:30:41.506 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_19 +2024-06-29 08:30:41.506 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_39 +2024-06-29 08:30:41.507 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_40 +2024-06-29 08:30:41.509 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_24 +2024-06-29 08:30:41.509 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_20 +2024-06-29 08:30:41.510 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_3 +2024-06-29 08:30:41.514 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_25 +2024-06-29 08:30:41.515 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_15 +2024-06-29 08:30:41.515 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_21 +2024-06-29 08:30:41.516 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_41 +2024-06-29 08:30:41.517 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_2 +2024-06-29 08:30:41.517 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_4 +2024-06-29 08:30:41.519 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: scanIndexUsingPOST_1 +2024-06-29 08:30:41.519 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_1 +2024-06-29 08:30:41.520 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_42 +2024-06-29 08:30:41.522 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_26 +2024-06-29 08:30:41.523 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_16 +2024-06-29 08:30:41.523 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_22 +2024-06-29 08:30:41.528 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_43 +2024-06-29 08:30:41.531 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_27 +2024-06-29 08:30:41.531 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_17 +2024-06-29 08:30:41.532 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_23 +2024-06-29 08:30:41.533 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_44 +2024-06-29 08:30:41.533 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_3 +2024-06-29 08:30:41.534 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_5 +2024-06-29 08:30:41.535 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_28 +2024-06-29 08:30:41.536 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_18 +2024-06-29 08:30:41.536 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_24 +2024-06-29 08:30:41.538 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_45 +2024-06-29 08:30:41.539 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_46 +2024-06-29 08:30:41.540 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_2 +2024-06-29 08:30:41.541 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_29 +2024-06-29 08:30:41.541 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_47 +2024-06-29 08:30:41.542 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_48 +2024-06-29 08:30:41.543 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_49 +2024-06-29 08:30:41.543 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_3 +2024-06-29 08:30:41.546 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_30 +2024-06-29 08:30:41.546 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_19 +2024-06-29 08:30:41.547 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_25 +2024-06-29 08:30:41.550 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_50 +2024-06-29 08:30:41.551 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_2 +2024-06-29 08:30:41.551 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_4 +2024-06-29 08:30:41.552 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_6 +2024-06-29 08:30:41.555 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_31 +2024-06-29 08:30:41.555 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_20 +2024-06-29 08:30:41.556 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_26 +2024-06-29 08:30:41.560 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_51 +2024-06-29 08:30:41.562 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_3 +2024-06-29 08:30:41.562 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_7 +2024-06-29 08:30:41.562 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_52 +2024-06-29 08:30:41.563 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_4 +2024-06-29 08:30:41.565 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_32 +2024-06-29 08:30:41.566 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_21 +2024-06-29 08:30:41.567 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_27 +2024-06-29 08:30:41.570 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_53 +2024-06-29 08:30:41.573 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: uploadUsingPOST_1 +2024-06-29 08:30:41.592 INFO [main] [] net.jjjerp.SpringBootJjjApplication 61 : Started SpringBootJjjApplication in 11.107 seconds (JVM running for 12.317) +2024-06-29 08:30:41.595 INFO [main] [] n.j.framework.util.PrintApplicationInfo 61 : projectFinalName : jjj-erp-1.0 +2024-06-29 08:30:41.595 INFO [main] [] n.j.framework.util.PrintApplicationInfo 62 : projectVersion : 1.0 +2024-06-29 08:30:41.595 INFO [main] [] n.j.framework.util.PrintApplicationInfo 63 : profileActive : prod +2024-06-29 08:30:41.595 INFO [main] [] n.j.framework.util.PrintApplicationInfo 64 : contextPath : /api +2024-06-29 08:30:41.595 INFO [main] [] n.j.framework.util.PrintApplicationInfo 65 : serverIp : http://erp3.huadeng.fun +2024-06-29 08:30:41.595 INFO [main] [] n.j.framework.util.PrintApplicationInfo 66 : port : 8892 +2024-06-29 08:30:41.595 INFO [main] [] n.j.framework.util.PrintApplicationInfo 81 : Home: http://erp3.huadeng.fun/api +2024-06-29 08:30:41.595 INFO [main] [] n.j.framework.util.PrintApplicationInfo 82 : Knife4j: http://erp3.huadeng.fun/api/doc.html +2024-06-29 08:30:41.595 INFO [main] [] n.j.framework.util.PrintApplicationInfo 83 : Swagger: http://erp3.huadeng.fun/api/swagger-ui.html +2024-06-29 08:30:41.595 INFO [main] [] n.j.framework.util.PrintApplicationInfo 84 : jjj-erp 启动成功........... + ____ __ __ ____ +/\ _`\ /\ \__ /\ \__ /\ _`\ +\ \,\L\_\ \ ,_\ __ _ __\ \ ,_\ \ \,\L\_\ __ __ ___ ___ __ ____ ____ + \/_\__ \\ \ \/ /'__`\ /\`'__\ \ \/ \/_\__ \ /\ \/\ \ /'___\ /'___\ /'__`\ /',__\ /',__\ + /\ \L\ \ \ \_/\ \L\.\_\ \ \/ \ \ \_ /\ \L\ \ \ \_\ \/\ \__//\ \__//\ __//\__, `\/\__, `\ + \ `\____\ \__\ \__/.\_\\ \_\ \ \__\ \ `\____\ \____/\ \____\ \____\ \____\/\____/\/\____/ + \/_____/\/__/\/__/\/_/ \/_/ \/__/ \/_____/\/___/ \/____/\/____/\/____/\/___/ \/___/ + + +2024-06-29 10:25:10.973 INFO [http-nio-8892-exec-2] [] o.a.c.c.C.[Tomcat].[localhost].[/api] 173 : Initializing Spring DispatcherServlet 'dispatcherServlet' +2024-06-29 10:25:10.974 INFO [http-nio-8892-exec-2] [] o.s.web.servlet.DispatcherServlet 525 : Initializing Servlet 'dispatcherServlet' +2024-06-29 10:25:10.989 INFO [http-nio-8892-exec-2] [] o.s.web.servlet.DispatcherServlet 547 : Completed initialization in 15 ms +2024-06-29 10:25:12.957 INFO [http-nio-8892-exec-2] [1806876537591586817] com.zaxxer.hikari.HikariDataSource 110 : HikariPool-1 - Starting... +2024-06-29 10:25:13.176 INFO [http-nio-8892-exec-2] [1806876537591586817] com.zaxxer.hikari.HikariDataSource 123 : HikariPool-1 - Start completed. +2024-06-29 10:26:30.068 INFO [lettuce-nioEventLoop-4-1] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 10:26:30.230 INFO [lettuce-eventExecutorLoop-1-5] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 10:26:30.240 INFO [lettuce-nioEventLoop-4-2] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 10:27:36.118 INFO [lettuce-nioEventLoop-4-2] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 10:27:36.174 INFO [lettuce-eventExecutorLoop-1-7] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 10:27:36.174 INFO [lettuce-nioEventLoop-4-3] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 10:28:42.008 INFO [lettuce-nioEventLoop-4-3] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 10:28:42.095 INFO [lettuce-eventExecutorLoop-1-1] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 10:28:42.162 INFO [lettuce-nioEventLoop-4-4] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 10:29:48.034 INFO [lettuce-nioEventLoop-4-4] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 10:29:48.080 INFO [lettuce-eventExecutorLoop-1-3] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 10:29:48.082 INFO [lettuce-nioEventLoop-4-5] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 10:30:54.066 INFO [lettuce-nioEventLoop-4-5] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 10:30:54.080 INFO [lettuce-eventExecutorLoop-1-5] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 10:30:54.081 INFO [lettuce-nioEventLoop-4-6] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 10:32:00.033 INFO [lettuce-nioEventLoop-4-6] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 10:32:00.132 INFO [lettuce-eventExecutorLoop-1-7] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 10:32:00.217 INFO [lettuce-nioEventLoop-4-7] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 10:33:06.097 INFO [lettuce-nioEventLoop-4-7] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 10:33:06.180 INFO [lettuce-eventExecutorLoop-1-1] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 10:33:06.183 INFO [lettuce-nioEventLoop-4-8] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 10:34:12.042 INFO [lettuce-nioEventLoop-4-8] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 10:34:12.112 INFO [lettuce-eventExecutorLoop-1-3] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 10:34:12.115 INFO [lettuce-nioEventLoop-4-1] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 10:35:18.061 INFO [lettuce-nioEventLoop-4-1] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 10:35:18.098 INFO [lettuce-eventExecutorLoop-1-5] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 10:35:18.100 INFO [lettuce-nioEventLoop-4-2] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 10:36:24.087 INFO [lettuce-nioEventLoop-4-2] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 10:36:24.184 INFO [lettuce-eventExecutorLoop-1-7] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 10:36:24.187 INFO [lettuce-nioEventLoop-4-3] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 10:37:30.084 INFO [lettuce-nioEventLoop-4-3] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 10:37:30.198 INFO [lettuce-eventExecutorLoop-1-1] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 10:37:30.198 INFO [lettuce-nioEventLoop-4-4] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 10:38:36.097 INFO [lettuce-nioEventLoop-4-4] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 10:38:36.217 INFO [lettuce-eventExecutorLoop-1-3] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 10:38:36.217 INFO [lettuce-nioEventLoop-4-5] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 10:39:42.029 INFO [lettuce-nioEventLoop-4-5] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 10:39:42.098 INFO [lettuce-eventExecutorLoop-1-5] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 10:39:42.100 INFO [lettuce-nioEventLoop-4-6] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 10:40:48.026 INFO [lettuce-nioEventLoop-4-6] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 10:40:48.078 INFO [lettuce-eventExecutorLoop-1-7] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 10:40:48.094 INFO [lettuce-nioEventLoop-4-7] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 10:41:54.009 INFO [lettuce-nioEventLoop-4-7] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 10:41:54.081 INFO [lettuce-eventExecutorLoop-1-1] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 10:41:54.081 INFO [lettuce-nioEventLoop-4-8] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 10:43:00.044 INFO [lettuce-nioEventLoop-4-8] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 10:43:00.070 INFO [lettuce-eventExecutorLoop-1-3] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 10:43:00.070 INFO [lettuce-nioEventLoop-4-1] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 10:43:25.247 WARN [http-nio-8892-exec-4] [1806881125539405825] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@36acc030 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 10:43:25.264 WARN [http-nio-8892-exec-4] [1806881125539405825] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@4b72a29e (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 10:43:25.264 WARN [http-nio-8892-exec-4] [1806881125539405825] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@50b68502 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 10:43:25.264 WARN [http-nio-8892-exec-4] [1806881125539405825] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@24f59204 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 10:43:25.264 WARN [http-nio-8892-exec-4] [1806881125539405825] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@6a18f3cc (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 10:43:25.264 WARN [http-nio-8892-exec-4] [1806881125539405825] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@34a0ca43 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 10:43:25.280 WARN [http-nio-8892-exec-4] [1806881125539405825] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@505ad740 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 10:43:25.281 WARN [http-nio-8892-exec-4] [1806881125539405825] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@58b71afd (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 10:43:25.281 WARN [http-nio-8892-exec-4] [1806881125539405825] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@413a05fa (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 10:43:25.281 WARN [http-nio-8892-exec-4] [1806881125539405825] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@21ba9fd2 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 10:44:33.009 INFO [lettuce-nioEventLoop-4-1] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 10:44:33.163 INFO [lettuce-eventExecutorLoop-1-1] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 10:44:33.166 INFO [lettuce-nioEventLoop-4-2] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 10:45:39.022 INFO [lettuce-nioEventLoop-4-2] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 10:45:39.075 INFO [lettuce-eventExecutorLoop-1-3] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 10:45:39.076 INFO [lettuce-nioEventLoop-4-3] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 10:46:45.014 INFO [lettuce-nioEventLoop-4-3] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 10:46:45.080 INFO [lettuce-eventExecutorLoop-1-5] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 10:46:45.083 INFO [lettuce-nioEventLoop-4-4] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 10:47:51.126 INFO [lettuce-nioEventLoop-4-4] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 10:47:51.185 INFO [lettuce-eventExecutorLoop-1-7] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 10:47:51.185 INFO [lettuce-nioEventLoop-4-5] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 10:48:57.015 INFO [lettuce-nioEventLoop-4-5] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 10:48:57.089 INFO [lettuce-eventExecutorLoop-1-1] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 10:48:57.091 INFO [lettuce-nioEventLoop-4-6] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 10:50:03.121 INFO [lettuce-nioEventLoop-4-6] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 10:50:03.180 INFO [lettuce-eventExecutorLoop-1-3] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 10:50:03.182 INFO [lettuce-nioEventLoop-4-7] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 10:51:09.093 INFO [lettuce-nioEventLoop-4-7] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 10:51:09.186 INFO [lettuce-eventExecutorLoop-1-5] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 10:51:09.186 INFO [lettuce-nioEventLoop-4-8] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 10:52:15.031 INFO [lettuce-nioEventLoop-4-8] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 10:52:15.123 INFO [lettuce-eventExecutorLoop-1-7] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 10:52:15.123 INFO [lettuce-nioEventLoop-4-1] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 10:53:21.075 INFO [lettuce-nioEventLoop-4-1] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 10:53:21.172 INFO [lettuce-eventExecutorLoop-1-1] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 10:53:21.173 INFO [lettuce-nioEventLoop-4-2] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 10:54:07.763 WARN [http-nio-8892-exec-10] [1806883820518137858] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@12b8026b (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 10:54:07.799 WARN [http-nio-8892-exec-10] [1806883820518137858] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@3dd412c9 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 10:54:07.800 WARN [http-nio-8892-exec-10] [1806883820518137858] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@78be3654 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 10:54:07.801 WARN [http-nio-8892-exec-10] [1806883820518137858] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@2819e614 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 10:54:07.802 WARN [http-nio-8892-exec-10] [1806883820518137858] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@3d88462a (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 10:54:07.804 WARN [http-nio-8892-exec-10] [1806883820518137858] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@4e9cbdb8 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 10:54:07.804 WARN [http-nio-8892-exec-10] [1806883820518137858] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@31da0b57 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 10:54:07.805 WARN [http-nio-8892-exec-10] [1806883820518137858] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@2b5f9b6d (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 10:54:07.806 WARN [http-nio-8892-exec-10] [1806883820518137858] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@148c3591 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 10:54:07.807 WARN [http-nio-8892-exec-10] [1806883820518137858] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@3fd63bc5 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 10:56:17.072 INFO [lettuce-nioEventLoop-4-2] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 10:56:17.186 INFO [lettuce-eventExecutorLoop-1-8] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 10:56:17.188 INFO [lettuce-nioEventLoop-4-3] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 10:57:23.138 INFO [lettuce-nioEventLoop-4-3] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 10:57:23.173 INFO [lettuce-eventExecutorLoop-1-2] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 10:57:23.175 INFO [lettuce-nioEventLoop-4-4] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 10:58:29.004 INFO [lettuce-nioEventLoop-4-4] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 10:58:29.078 INFO [lettuce-eventExecutorLoop-1-4] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 10:58:29.079 INFO [lettuce-nioEventLoop-4-5] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 10:59:35.058 INFO [lettuce-nioEventLoop-4-5] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 10:59:35.073 INFO [lettuce-eventExecutorLoop-1-6] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 10:59:35.075 INFO [lettuce-nioEventLoop-4-6] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 11:00:41.046 INFO [lettuce-nioEventLoop-4-6] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 11:00:41.079 INFO [lettuce-eventExecutorLoop-1-8] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 11:00:41.081 INFO [lettuce-nioEventLoop-4-7] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 11:01:47.096 INFO [lettuce-nioEventLoop-4-7] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 11:01:47.176 INFO [lettuce-eventExecutorLoop-1-2] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 11:01:47.178 INFO [lettuce-nioEventLoop-4-8] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 11:02:53.027 INFO [lettuce-nioEventLoop-4-8] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 11:02:53.080 INFO [lettuce-eventExecutorLoop-1-4] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 11:02:53.082 INFO [lettuce-nioEventLoop-4-1] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 11:03:59.012 INFO [lettuce-nioEventLoop-4-1] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 11:03:59.074 INFO [lettuce-eventExecutorLoop-1-6] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 11:03:59.075 INFO [lettuce-nioEventLoop-4-2] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 11:05:05.124 INFO [lettuce-nioEventLoop-4-2] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 11:05:05.189 INFO [lettuce-eventExecutorLoop-1-8] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 11:05:05.191 INFO [lettuce-nioEventLoop-4-3] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 11:06:11.033 INFO [lettuce-nioEventLoop-4-3] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 11:06:11.080 INFO [lettuce-eventExecutorLoop-1-2] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 11:06:11.082 INFO [lettuce-nioEventLoop-4-4] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 11:07:17.105 INFO [lettuce-nioEventLoop-4-4] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 11:07:17.202 INFO [lettuce-eventExecutorLoop-1-4] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 11:07:17.203 INFO [lettuce-nioEventLoop-4-5] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 11:08:23.090 INFO [lettuce-nioEventLoop-4-5] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 11:08:23.173 INFO [lettuce-eventExecutorLoop-1-6] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 11:08:23.175 INFO [lettuce-nioEventLoop-4-6] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 11:09:29.070 INFO [lettuce-nioEventLoop-4-6] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 11:09:29.195 INFO [lettuce-eventExecutorLoop-1-8] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 11:09:29.197 INFO [lettuce-nioEventLoop-4-7] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 11:10:35.107 INFO [lettuce-nioEventLoop-4-7] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 11:10:35.173 INFO [lettuce-eventExecutorLoop-1-2] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 11:10:35.175 INFO [lettuce-nioEventLoop-4-8] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 11:11:41.003 INFO [lettuce-nioEventLoop-4-8] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 11:11:41.085 INFO [lettuce-eventExecutorLoop-1-4] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 11:11:41.087 INFO [lettuce-nioEventLoop-4-1] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 11:12:16.465 WARN [http-nio-8892-exec-15] [1806888386886262786] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@9e46393 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 11:12:16.499 WARN [http-nio-8892-exec-15] [1806888386886262786] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@6762979a (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 11:12:16.526 WARN [http-nio-8892-exec-15] [1806888386886262786] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@13daaf2b (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 11:12:16.528 WARN [http-nio-8892-exec-15] [1806888386886262786] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@37e5c63 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 11:12:16.528 WARN [http-nio-8892-exec-14] [1806888386886262787] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@43017937 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 11:12:16.530 WARN [http-nio-8892-exec-15] [1806888386886262786] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@5a0e2e5f (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 11:12:16.530 WARN [http-nio-8892-exec-14] [1806888386886262787] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@72e710df (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 11:12:16.531 WARN [http-nio-8892-exec-15] [1806888386886262786] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@2923bcc3 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 11:12:16.531 WARN [http-nio-8892-exec-14] [1806888386886262787] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@19aad825 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 11:12:16.532 WARN [http-nio-8892-exec-15] [1806888386886262786] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@6fc6fd3b (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 11:13:22.081 INFO [lettuce-nioEventLoop-4-1] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 11:13:22.211 INFO [lettuce-eventExecutorLoop-1-5] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 11:13:22.215 INFO [lettuce-nioEventLoop-4-2] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 11:14:28.090 INFO [lettuce-nioEventLoop-4-2] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 11:14:28.224 INFO [lettuce-eventExecutorLoop-1-7] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 11:14:28.227 INFO [lettuce-nioEventLoop-4-3] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 11:15:34.000 INFO [lettuce-nioEventLoop-4-3] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 11:15:34.076 INFO [lettuce-eventExecutorLoop-1-1] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 11:15:34.078 INFO [lettuce-nioEventLoop-4-4] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 11:16:10.998 WARN [http-nio-8892-exec-16] [1806889370475716609] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@2fd0d8cf (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 11:16:11.072 WARN [http-nio-8892-exec-16] [1806889370475716609] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@5051be84 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 11:16:11.074 WARN [http-nio-8892-exec-16] [1806889370475716609] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@6ddb8646 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 11:16:11.078 WARN [http-nio-8892-exec-16] [1806889370475716609] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@a463d5b (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 11:16:11.078 WARN [http-nio-8892-exec-17] [1806889370475716610] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@a3e42e6 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 11:16:11.080 WARN [http-nio-8892-exec-17] [1806889370475716610] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@528d338c (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 11:16:11.080 WARN [http-nio-8892-exec-16] [1806889370475716609] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@e2810fd (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 11:16:11.081 WARN [http-nio-8892-exec-16] [1806889370475716609] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@53502a22 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 11:16:11.081 WARN [http-nio-8892-exec-17] [1806889370475716610] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@27cc0ef1 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 11:16:11.083 WARN [http-nio-8892-exec-16] [1806889370475716609] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@62886fb8 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 11:17:17.025 INFO [lettuce-nioEventLoop-4-4] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 11:17:17.096 INFO [lettuce-eventExecutorLoop-1-2] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 11:17:17.098 INFO [lettuce-nioEventLoop-4-5] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 11:18:23.093 INFO [lettuce-nioEventLoop-4-5] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 11:18:23.187 INFO [lettuce-eventExecutorLoop-1-4] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 11:18:23.189 INFO [lettuce-nioEventLoop-4-6] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 11:19:29.085 INFO [lettuce-nioEventLoop-4-6] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 11:19:29.179 INFO [lettuce-eventExecutorLoop-1-6] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 11:19:29.181 INFO [lettuce-nioEventLoop-4-7] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 11:20:35.037 INFO [lettuce-nioEventLoop-4-7] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 11:20:35.092 INFO [lettuce-eventExecutorLoop-1-8] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 11:20:35.095 INFO [lettuce-nioEventLoop-4-8] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 11:21:41.042 INFO [lettuce-nioEventLoop-4-8] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 11:21:41.096 INFO [lettuce-eventExecutorLoop-1-2] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 11:21:41.098 INFO [lettuce-nioEventLoop-4-1] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 11:21:48.693 WARN [http-nio-8892-exec-18] [1806890786963480578] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@3497e142 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 11:21:48.696 WARN [http-nio-8892-exec-18] [1806890786963480578] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@17fe7671 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 11:21:48.697 WARN [http-nio-8892-exec-18] [1806890786963480578] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@7f6ee40b (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 11:21:48.698 WARN [http-nio-8892-exec-18] [1806890786963480578] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@4287cf4f (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 11:21:48.699 WARN [http-nio-8892-exec-18] [1806890786963480578] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@613685a9 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 11:21:48.699 WARN [http-nio-8892-exec-18] [1806890786963480578] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@65f0153e (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 11:21:48.700 WARN [http-nio-8892-exec-18] [1806890786963480578] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@6d36eb37 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 11:21:48.701 WARN [http-nio-8892-exec-18] [1806890786963480578] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@1137bc69 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 11:21:48.701 WARN [http-nio-8892-exec-18] [1806890786963480578] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@4479682b (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 11:21:48.743 WARN [http-nio-8892-exec-18] [1806890786963480578] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@21c5dc7f (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 11:23:04.048 INFO [lettuce-nioEventLoop-4-1] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 11:23:04.080 INFO [lettuce-eventExecutorLoop-1-3] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 11:23:04.082 INFO [lettuce-nioEventLoop-4-2] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 11:23:45.618 WARN [http-nio-8892-exec-27] [] org.apache.catalina.connector.Request 173 : Creating the temporary upload location [C:\Users\Administrator\AppData\Local\Temp\tomcat.8892.4330721119414830544\work\Tomcat\localhost\api\opt\upload\tmp] as it is required by the servlet [dispatcherServlet] +2024-06-29 11:24:53.036 INFO [lettuce-nioEventLoop-4-2] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 11:24:53.086 INFO [lettuce-eventExecutorLoop-1-3] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 11:24:53.088 INFO [lettuce-nioEventLoop-4-3] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 11:26:31.025 INFO [lettuce-nioEventLoop-4-3] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 11:26:31.072 INFO [lettuce-eventExecutorLoop-1-8] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 11:26:31.074 INFO [lettuce-nioEventLoop-4-4] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 11:28:04.129 INFO [lettuce-nioEventLoop-4-4] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 11:28:04.179 INFO [lettuce-eventExecutorLoop-1-8] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 11:28:04.181 INFO [lettuce-nioEventLoop-4-5] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 11:28:21.058 WARN [http-nio-8892-exec-5] [1806892432531546113] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@4557d198 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 11:28:26.779 ERROR [http-nio-8892-exec-7] [] n.jjjerp.handler.GlobalExceptionHandler 233 : 异常来源:ip: 192.168.31.226, path: /api/admin/purchase/purchase/order/audit +2024-06-29 11:28:26.779 ERROR [http-nio-8892-exec-7] [] n.jjjerp.handler.GlobalExceptionHandler 257 : errorCode: 5000, errorMessage: 系统异常 + +java.lang.NullPointerException: null + at net.jjjerp.admin.service.bill.impl.BillHeadServiceImpl.supplierSettlement(BillHeadServiceImpl.java:2135) + at net.jjjerp.admin.service.bill.impl.BillHeadServiceImpl.outStock(BillHeadServiceImpl.java:1953) + at net.jjjerp.admin.service.bill.impl.BillHeadServiceImpl.auditOrder(BillHeadServiceImpl.java:1902) + at net.jjjerp.admin.service.bill.impl.BillHeadServiceImpl$$FastClassBySpringCGLIB$$62790b2b.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:367) + at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:118) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at net.jjjerp.admin.service.bill.impl.BillHeadServiceImpl$$EnhancerBySpringCGLIB$$9a3576d0.auditOrder() + at net.jjjerp.admin.controller.purchase.purchase.PurchaseOrderController.audit(PurchaseOrderController.java:84) + at net.jjjerp.admin.controller.purchase.purchase.PurchaseOrderController$$FastClassBySpringCGLIB$$11e005fa.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.AspectJAfterThrowingAdvice.invoke(AspectJAfterThrowingAdvice.java:62) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:88) + at net.jjjerp.framework.log.aop.BaseLogAop.handle(BaseLogAop.java:303) + at net.jjjerp.aop.LogAop.doAround(LogAop.java:35) + at net.jjjerp.aop.LogAop$$FastClassBySpringCGLIB$$189c4aae.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.aop.LogAop$$EnhancerBySpringCGLIB$$afb7f6df.doAround() + at sun.reflect.GeneratedMethodAccessor346.invoke(Unknown Source) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:644) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:633) + at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.apache.shiro.spring.security.interceptor.AopAllianceAnnotationsAuthorizingMethodInterceptor$1.proceed(AopAllianceAnnotationsAuthorizingMethodInterceptor.java:82) + at org.apache.shiro.authz.aop.AuthorizingMethodInterceptor.invoke(AuthorizingMethodInterceptor.java:39) + at org.apache.shiro.spring.security.interceptor.AopAllianceAnnotationsAuthorizingMethodInterceptor.invoke(AopAllianceAnnotationsAuthorizingMethodInterceptor.java:115) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:95) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at net.jjjerp.admin.controller.purchase.purchase.PurchaseOrderController$$EnhancerBySpringCGLIB$$549b4a5d.audit() + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:652) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:112) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) + at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 11:29:28.797 ERROR [http-nio-8892-exec-9] [] n.jjjerp.handler.GlobalExceptionHandler 233 : 异常来源:ip: 192.168.31.226, path: /api/admin/purchase/purchase/order/audit +2024-06-29 11:29:28.797 ERROR [http-nio-8892-exec-9] [] n.jjjerp.handler.GlobalExceptionHandler 257 : errorCode: 5000, errorMessage: 系统异常 + +java.lang.NullPointerException: null + at net.jjjerp.admin.service.bill.impl.BillHeadServiceImpl.supplierSettlement(BillHeadServiceImpl.java:2135) + at net.jjjerp.admin.service.bill.impl.BillHeadServiceImpl.outStock(BillHeadServiceImpl.java:1953) + at net.jjjerp.admin.service.bill.impl.BillHeadServiceImpl.auditOrder(BillHeadServiceImpl.java:1902) + at net.jjjerp.admin.service.bill.impl.BillHeadServiceImpl$$FastClassBySpringCGLIB$$62790b2b.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:367) + at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:118) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at net.jjjerp.admin.service.bill.impl.BillHeadServiceImpl$$EnhancerBySpringCGLIB$$9a3576d0.auditOrder() + at net.jjjerp.admin.controller.purchase.purchase.PurchaseOrderController.audit(PurchaseOrderController.java:84) + at net.jjjerp.admin.controller.purchase.purchase.PurchaseOrderController$$FastClassBySpringCGLIB$$11e005fa.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.AspectJAfterThrowingAdvice.invoke(AspectJAfterThrowingAdvice.java:62) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:88) + at net.jjjerp.framework.log.aop.BaseLogAop.handle(BaseLogAop.java:303) + at net.jjjerp.aop.LogAop.doAround(LogAop.java:35) + at net.jjjerp.aop.LogAop$$FastClassBySpringCGLIB$$189c4aae.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.aop.LogAop$$EnhancerBySpringCGLIB$$afb7f6df.doAround() + at sun.reflect.GeneratedMethodAccessor346.invoke(Unknown Source) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:644) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:633) + at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.apache.shiro.spring.security.interceptor.AopAllianceAnnotationsAuthorizingMethodInterceptor$1.proceed(AopAllianceAnnotationsAuthorizingMethodInterceptor.java:82) + at org.apache.shiro.authz.aop.AuthorizingMethodInterceptor.invoke(AuthorizingMethodInterceptor.java:39) + at org.apache.shiro.spring.security.interceptor.AopAllianceAnnotationsAuthorizingMethodInterceptor.invoke(AopAllianceAnnotationsAuthorizingMethodInterceptor.java:115) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:95) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at net.jjjerp.admin.controller.purchase.purchase.PurchaseOrderController$$EnhancerBySpringCGLIB$$549b4a5d.audit() + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:652) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:112) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) + at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 11:30:13.872 ERROR [http-nio-8892-exec-10] [] n.jjjerp.handler.GlobalExceptionHandler 233 : 异常来源:ip: 192.168.31.226, path: /api/admin/purchase/purchase/order/audit +2024-06-29 11:30:13.873 ERROR [http-nio-8892-exec-10] [] n.jjjerp.handler.GlobalExceptionHandler 257 : errorCode: 5000, errorMessage: 系统异常 + +java.lang.NullPointerException: null + at net.jjjerp.admin.service.bill.impl.BillHeadServiceImpl.supplierSettlement(BillHeadServiceImpl.java:2135) + at net.jjjerp.admin.service.bill.impl.BillHeadServiceImpl.outStock(BillHeadServiceImpl.java:1953) + at net.jjjerp.admin.service.bill.impl.BillHeadServiceImpl.auditOrder(BillHeadServiceImpl.java:1902) + at net.jjjerp.admin.service.bill.impl.BillHeadServiceImpl$$FastClassBySpringCGLIB$$62790b2b.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:367) + at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:118) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at net.jjjerp.admin.service.bill.impl.BillHeadServiceImpl$$EnhancerBySpringCGLIB$$9a3576d0.auditOrder() + at net.jjjerp.admin.controller.purchase.purchase.PurchaseOrderController.audit(PurchaseOrderController.java:84) + at net.jjjerp.admin.controller.purchase.purchase.PurchaseOrderController$$FastClassBySpringCGLIB$$11e005fa.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.AspectJAfterThrowingAdvice.invoke(AspectJAfterThrowingAdvice.java:62) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:88) + at net.jjjerp.framework.log.aop.BaseLogAop.handle(BaseLogAop.java:303) + at net.jjjerp.aop.LogAop.doAround(LogAop.java:35) + at net.jjjerp.aop.LogAop$$FastClassBySpringCGLIB$$189c4aae.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.aop.LogAop$$EnhancerBySpringCGLIB$$afb7f6df.doAround() + at sun.reflect.GeneratedMethodAccessor346.invoke(Unknown Source) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:644) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:633) + at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.apache.shiro.spring.security.interceptor.AopAllianceAnnotationsAuthorizingMethodInterceptor$1.proceed(AopAllianceAnnotationsAuthorizingMethodInterceptor.java:82) + at org.apache.shiro.authz.aop.AuthorizingMethodInterceptor.invoke(AuthorizingMethodInterceptor.java:39) + at org.apache.shiro.spring.security.interceptor.AopAllianceAnnotationsAuthorizingMethodInterceptor.invoke(AopAllianceAnnotationsAuthorizingMethodInterceptor.java:115) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:95) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at net.jjjerp.admin.controller.purchase.purchase.PurchaseOrderController$$EnhancerBySpringCGLIB$$549b4a5d.audit() + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:652) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:112) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) + at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 11:31:13.549 ERROR [http-nio-8892-exec-11] [] n.jjjerp.handler.GlobalExceptionHandler 233 : 异常来源:ip: 192.168.31.226, path: /api/admin/purchase/purchase/order/audit +2024-06-29 11:31:13.550 ERROR [http-nio-8892-exec-11] [] n.jjjerp.handler.GlobalExceptionHandler 257 : errorCode: 5000, errorMessage: 系统异常 + +java.lang.NullPointerException: null + at net.jjjerp.admin.service.bill.impl.BillHeadServiceImpl.supplierSettlement(BillHeadServiceImpl.java:2135) + at net.jjjerp.admin.service.bill.impl.BillHeadServiceImpl.outStock(BillHeadServiceImpl.java:1953) + at net.jjjerp.admin.service.bill.impl.BillHeadServiceImpl.auditOrder(BillHeadServiceImpl.java:1902) + at net.jjjerp.admin.service.bill.impl.BillHeadServiceImpl$$FastClassBySpringCGLIB$$62790b2b.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:367) + at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:118) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at net.jjjerp.admin.service.bill.impl.BillHeadServiceImpl$$EnhancerBySpringCGLIB$$9a3576d0.auditOrder() + at net.jjjerp.admin.controller.purchase.purchase.PurchaseOrderController.audit(PurchaseOrderController.java:84) + at net.jjjerp.admin.controller.purchase.purchase.PurchaseOrderController$$FastClassBySpringCGLIB$$11e005fa.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.AspectJAfterThrowingAdvice.invoke(AspectJAfterThrowingAdvice.java:62) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:88) + at net.jjjerp.framework.log.aop.BaseLogAop.handle(BaseLogAop.java:303) + at net.jjjerp.aop.LogAop.doAround(LogAop.java:35) + at net.jjjerp.aop.LogAop$$FastClassBySpringCGLIB$$189c4aae.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.aop.LogAop$$EnhancerBySpringCGLIB$$afb7f6df.doAround() + at sun.reflect.GeneratedMethodAccessor346.invoke(Unknown Source) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:644) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:633) + at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.apache.shiro.spring.security.interceptor.AopAllianceAnnotationsAuthorizingMethodInterceptor$1.proceed(AopAllianceAnnotationsAuthorizingMethodInterceptor.java:82) + at org.apache.shiro.authz.aop.AuthorizingMethodInterceptor.invoke(AuthorizingMethodInterceptor.java:39) + at org.apache.shiro.spring.security.interceptor.AopAllianceAnnotationsAuthorizingMethodInterceptor.invoke(AopAllianceAnnotationsAuthorizingMethodInterceptor.java:115) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:95) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at net.jjjerp.admin.controller.purchase.purchase.PurchaseOrderController$$EnhancerBySpringCGLIB$$549b4a5d.audit() + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:652) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:112) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) + at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 11:31:56.528 ERROR [http-nio-8892-exec-12] [] n.jjjerp.handler.GlobalExceptionHandler 233 : 异常来源:ip: 192.168.31.226, path: /api/admin/purchase/purchase/order/audit +2024-06-29 11:31:56.528 ERROR [http-nio-8892-exec-12] [] n.jjjerp.handler.GlobalExceptionHandler 257 : errorCode: 5000, errorMessage: 系统异常 + +java.lang.NullPointerException: null + at net.jjjerp.admin.service.bill.impl.BillHeadServiceImpl.supplierSettlement(BillHeadServiceImpl.java:2135) + at net.jjjerp.admin.service.bill.impl.BillHeadServiceImpl.outStock(BillHeadServiceImpl.java:1953) + at net.jjjerp.admin.service.bill.impl.BillHeadServiceImpl.auditOrder(BillHeadServiceImpl.java:1902) + at net.jjjerp.admin.service.bill.impl.BillHeadServiceImpl$$FastClassBySpringCGLIB$$62790b2b.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:367) + at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:118) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at net.jjjerp.admin.service.bill.impl.BillHeadServiceImpl$$EnhancerBySpringCGLIB$$9a3576d0.auditOrder() + at net.jjjerp.admin.controller.purchase.purchase.PurchaseOrderController.audit(PurchaseOrderController.java:84) + at net.jjjerp.admin.controller.purchase.purchase.PurchaseOrderController$$FastClassBySpringCGLIB$$11e005fa.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.AspectJAfterThrowingAdvice.invoke(AspectJAfterThrowingAdvice.java:62) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:88) + at net.jjjerp.framework.log.aop.BaseLogAop.handle(BaseLogAop.java:303) + at net.jjjerp.aop.LogAop.doAround(LogAop.java:35) + at net.jjjerp.aop.LogAop$$FastClassBySpringCGLIB$$189c4aae.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.aop.LogAop$$EnhancerBySpringCGLIB$$afb7f6df.doAround() + at sun.reflect.GeneratedMethodAccessor346.invoke(Unknown Source) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:644) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:633) + at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.apache.shiro.spring.security.interceptor.AopAllianceAnnotationsAuthorizingMethodInterceptor$1.proceed(AopAllianceAnnotationsAuthorizingMethodInterceptor.java:82) + at org.apache.shiro.authz.aop.AuthorizingMethodInterceptor.invoke(AuthorizingMethodInterceptor.java:39) + at org.apache.shiro.spring.security.interceptor.AopAllianceAnnotationsAuthorizingMethodInterceptor.invoke(AopAllianceAnnotationsAuthorizingMethodInterceptor.java:115) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:95) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at net.jjjerp.admin.controller.purchase.purchase.PurchaseOrderController$$EnhancerBySpringCGLIB$$549b4a5d.audit() + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:652) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:112) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) + at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 11:33:51.022 INFO [lettuce-nioEventLoop-4-5] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 11:33:51.085 INFO [lettuce-eventExecutorLoop-1-8] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 11:33:51.088 INFO [lettuce-nioEventLoop-4-6] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 11:34:57.003 INFO [lettuce-nioEventLoop-4-6] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 11:34:57.072 INFO [lettuce-eventExecutorLoop-1-2] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 11:34:57.073 INFO [lettuce-nioEventLoop-4-7] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 11:36:03.076 INFO [lettuce-nioEventLoop-4-7] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 11:36:03.180 INFO [lettuce-eventExecutorLoop-1-4] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 11:36:03.182 INFO [lettuce-nioEventLoop-4-8] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 11:37:09.015 INFO [lettuce-nioEventLoop-4-8] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 11:37:09.080 INFO [lettuce-eventExecutorLoop-1-6] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 11:37:09.082 INFO [lettuce-nioEventLoop-4-1] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 11:38:15.057 INFO [lettuce-nioEventLoop-4-1] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 11:38:15.089 INFO [lettuce-eventExecutorLoop-1-8] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 11:38:15.091 INFO [lettuce-nioEventLoop-4-2] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 11:39:21.034 INFO [lettuce-nioEventLoop-4-2] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 11:39:21.101 INFO [lettuce-eventExecutorLoop-1-2] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 11:39:21.103 INFO [lettuce-nioEventLoop-4-3] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 11:39:46.386 INFO [SpringContextShutdownHook] [] net.jjjerp.framework.core.xss.XssFilter 30 : XssFilter destroy +2024-06-29 11:39:46.386 INFO [SpringContextShutdownHook] [] n.j.f.core.filter.RequestDetailFilter 116 : RequestDetailFilter destroy +2024-06-29 11:39:46.421 INFO [SpringContextShutdownHook] [] o.s.s.c.ThreadPoolTaskScheduler 218 : Shutting down ExecutorService 'taskScheduler' +2024-06-29 11:39:46.422 INFO [SpringContextShutdownHook] [] o.s.s.concurrent.ThreadPoolTaskExecutor 218 : Shutting down ExecutorService 'applicationTaskExecutor' +2024-06-29 11:39:46.430 INFO [SpringContextShutdownHook] [] com.zaxxer.hikari.HikariDataSource 350 : HikariPool-1 - Shutdown initiated... +2024-06-29 11:39:46.481 INFO [SpringContextShutdownHook] [] com.zaxxer.hikari.HikariDataSource 352 : HikariPool-1 - Shutdown completed. +2024-06-29 11:40:06.325 INFO [main] [] net.jjjerp.SpringBootJjjApplication 55 : Starting SpringBootJjjApplication on OS-20230506YKNI with PID 9004 (D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\bootstrap\target\classes started by Administrator in D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp) +2024-06-29 11:40:06.328 INFO [main] [] net.jjjerp.SpringBootJjjApplication 652 : The following profiles are active: prod +2024-06-29 11:40:06.338 INFO [background-preinit] [] o.h.validator.internal.util.Version 21 : HV000001: Hibernate Validator 6.1.7.Final +2024-06-29 11:40:08.062 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 249 : Multiple Spring Data modules found, entering strict repository configuration mode! +2024-06-29 11:40:08.064 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 127 : Bootstrapping Spring Data Redis repositories in DEFAULT mode. +2024-06-29 11:40:08.267 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 187 : Finished Spring Data repository scanning in 189ms. Found 0 Redis repository interfaces. +2024-06-29 11:40:08.641 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.ShiroConfig' of type [net.jjjerp.config.ShiroConfig$$EnhancerBySpringCGLIB$$f4baa6b8] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-29 11:40:08.809 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.properties.JwtProperties' of type [net.jjjerp.config.properties.JwtProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-29 11:40:08.811 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.RedisTemplateConfig' of type [net.jjjerp.config.RedisTemplateConfig$$EnhancerBySpringCGLIB$$c41fb15c] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-29 11:40:08.823 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'spring.redis-org.springframework.boot.autoconfigure.data.redis.RedisProperties' of type [org.springframework.boot.autoconfigure.data.redis.RedisProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-29 11:40:08.829 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration' of type [org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-29 11:40:08.916 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'lettuceClientResources' of type [io.lettuce.core.resource.DefaultClientResources] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-29 11:40:09.034 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'redisConnectionFactory' of type [org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-29 11:40:09.151 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'redisTemplate' of type [org.springframework.data.redis.core.RedisTemplate] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-29 11:40:09.152 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.cache.impl.AdminLoginRedisServiceImpl' of type [net.jjjerp.framework.shiro.cache.impl.AdminLoginRedisServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-29 11:40:09.156 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.cache.impl.ShopLoginRedisServiceImpl' of type [net.jjjerp.framework.shiro.cache.impl.ShopLoginRedisServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-29 11:40:09.378 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'credentialsMatcher' of type [net.jjjerp.framework.shiro.jwt.JwtCredentialsMatcher] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-29 11:40:09.384 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'jwtRealm' of type [net.jjjerp.framework.shiro.jwt.JwtRealm] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-29 11:40:09.385 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'sessionStorageEvaluator' of type [org.apache.shiro.web.mgt.DefaultWebSessionStorageEvaluator] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-29 11:40:09.386 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'subjectDAO' of type [org.apache.shiro.mgt.DefaultSubjectDAO] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-29 11:40:09.388 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'securityManager' of type [org.apache.shiro.web.mgt.DefaultWebSecurityManager] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-29 11:40:09.418 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.service.impl.ShiroLoginServiceImpl' of type [net.jjjerp.framework.shiro.service.impl.ShiroLoginServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-29 11:40:09.427 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'spring-boot-jjj.shiro-net.jjjerp.config.properties.ShiroProperties' of type [net.jjjerp.config.properties.ShiroProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-29 11:40:09.562 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'authorizationAttributeSourceAdvisor' of type [org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-29 11:40:09.767 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.RedisCacheConfig' of type [net.jjjerp.config.RedisCacheConfig$$EnhancerBySpringCGLIB$$795c885e] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-29 11:40:10.205 INFO [main] [] o.s.b.w.embedded.tomcat.TomcatWebServer 108 : Tomcat initialized with port(s): 8892 (http) +2024-06-29 11:40:10.214 INFO [main] [] o.a.coyote.http11.Http11NioProtocol 173 : Initializing ProtocolHandler ["http-nio-8892"] +2024-06-29 11:40:10.231 INFO [main] [] o.apache.catalina.core.StandardService 173 : Starting service [Tomcat] +2024-06-29 11:40:10.232 INFO [main] [] org.apache.catalina.core.StandardEngine 173 : Starting Servlet engine: [Apache Tomcat/9.0.46] +2024-06-29 11:40:10.423 INFO [main] [] o.a.c.c.C.[Tomcat].[localhost].[/api] 173 : Initializing Spring embedded WebApplicationContext +2024-06-29 11:40:10.423 INFO [main] [] w.s.c.ServletWebServerApplicationContext 285 : Root WebApplicationContext: initialization completed in 4023 ms +2024-06-29 11:40:10.710 INFO [main] [] net.jjjerp.framework.core.xss.XssFilter 18 : XssFilter init +2024-06-29 11:40:10.710 INFO [main] [] n.j.f.core.filter.RequestDetailFilter 30 : RequestDetailFilter init +2024-06-29 11:40:18.278 INFO [main] [] org.reflections.Reflections 228 : Reflections took 34 ms to scan 1 urls, producing 0 keys and 0 values +2024-06-29 11:40:18.507 INFO [main] [] net.jjjerp.framework.shiro.util.JwtUtil 33 : {"audience":"web","expireSecond":36000,"issuer":"spring-boot-jjj","redisCheck":true,"refreshToken":true,"refreshTokenCountdown":600,"saltCheck":true,"secret":"888888","singleLogin":false,"tokenName":"token"} +2024-06-29 11:40:24.135 INFO [main] [] pertySourcedRequestMappingHandlerMapping 69 : Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2Controller#getDocumentation(String, HttpServletRequest)] +2024-06-29 11:40:24.161 INFO [main] [] net.jjjerp.config.Swagger2Config 149 : swagger scan basePackages:null +2024-06-29 11:40:24.418 INFO [main] [] o.s.s.concurrent.ThreadPoolTaskExecutor 181 : Initializing ExecutorService 'applicationTaskExecutor' +2024-06-29 11:40:24.695 INFO [main] [] o.s.b.a.w.s.WelcomePageHandlerMapping 53 : Adding welcome page: class path resource [static/index.html] +2024-06-29 11:40:25.219 INFO [main] [] o.s.s.c.ThreadPoolTaskScheduler 181 : Initializing ExecutorService 'taskScheduler' +2024-06-29 11:40:25.403 INFO [main] [] o.a.coyote.http11.Http11NioProtocol 173 : Starting ProtocolHandler ["http-nio-8892"] +2024-06-29 11:40:25.457 INFO [main] [] o.s.b.w.embedded.tomcat.TomcatWebServer 220 : Tomcat started on port(s): 8892 (http) with context path '/api' +2024-06-29 11:40:25.458 INFO [main] [] d.s.w.p.DocumentationPluginsBootstrapper 160 : Context refreshed +2024-06-29 11:40:25.465 INFO [main] [] d.s.w.p.DocumentationPluginsBootstrapper 163 : Found 1 custom documentation plugin(s) +2024-06-29 11:40:25.519 INFO [main] [] s.d.s.w.s.ApiListingReferenceScanner 41 : Scanning for api listing references +2024-06-29 11:40:25.798 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_1 +2024-06-29 11:40:25.800 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_1 +2024-06-29 11:40:25.801 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_1 +2024-06-29 11:40:25.850 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_1 +2024-06-29 11:40:25.920 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_2 +2024-06-29 11:40:25.922 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_2 +2024-06-29 11:40:25.926 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_3 +2024-06-29 11:40:25.928 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_3 +2024-06-29 11:40:25.931 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_4 +2024-06-29 11:40:25.932 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_4 +2024-06-29 11:40:25.934 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexOutUsingPOST_1 +2024-06-29 11:40:25.938 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_5 +2024-06-29 11:40:25.951 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_5 +2024-06-29 11:40:25.952 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_2 +2024-06-29 11:40:25.953 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_2 +2024-06-29 11:40:25.973 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_6 +2024-06-29 11:40:25.974 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_7 +2024-06-29 11:40:25.979 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_8 +2024-06-29 11:40:25.987 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_6 +2024-06-29 11:40:25.988 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_3 +2024-06-29 11:40:26.000 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_3 +2024-06-29 11:40:26.016 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_9 +2024-06-29 11:40:26.057 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_10 +2024-06-29 11:40:26.061 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_7 +2024-06-29 11:40:26.063 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_4 +2024-06-29 11:40:26.064 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_4 +2024-06-29 11:40:26.069 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_11 +2024-06-29 11:40:26.077 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_8 +2024-06-29 11:40:26.078 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_5 +2024-06-29 11:40:26.079 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_5 +2024-06-29 11:40:26.084 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_12 +2024-06-29 11:40:26.089 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_9 +2024-06-29 11:40:26.090 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_6 +2024-06-29 11:40:26.091 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_6 +2024-06-29 11:40:26.097 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_13 +2024-06-29 11:40:26.098 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_1 +2024-06-29 11:40:26.100 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_10 +2024-06-29 11:40:26.101 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_7 +2024-06-29 11:40:26.102 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_7 +2024-06-29 11:40:26.104 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_14 +2024-06-29 11:40:26.120 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_11 +2024-06-29 11:40:26.121 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_8 +2024-06-29 11:40:26.121 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_8 +2024-06-29 11:40:26.123 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_15 +2024-06-29 11:40:26.125 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_12 +2024-06-29 11:40:26.136 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_9 +2024-06-29 11:40:26.137 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_9 +2024-06-29 11:40:26.141 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_16 +2024-06-29 11:40:26.154 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_17 +2024-06-29 11:40:26.160 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_13 +2024-06-29 11:40:26.161 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_10 +2024-06-29 11:40:26.163 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_18 +2024-06-29 11:40:26.165 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_1 +2024-06-29 11:40:26.175 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addGroupUsingPOST_1 +2024-06-29 11:40:26.176 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: categoryUsingPOST_1 +2024-06-29 11:40:26.176 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteFilesUsingPOST_1 +2024-06-29 11:40:26.177 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteGroupUsingPOST_1 +2024-06-29 11:40:26.177 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editGroupUsingPOST_1 +2024-06-29 11:40:26.184 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: listsUsingPOST_1 +2024-06-29 11:40:26.185 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: moveFilesUsingPOST_1 +2024-06-29 11:40:26.189 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_19 +2024-06-29 11:40:26.197 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_20 +2024-06-29 11:40:26.205 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_14 +2024-06-29 11:40:26.206 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_10 +2024-06-29 11:40:26.207 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteFilesUsingPOST_2 +2024-06-29 11:40:26.208 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_11 +2024-06-29 11:40:26.208 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_21 +2024-06-29 11:40:26.209 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: listUsingPOST_1 +2024-06-29 11:40:26.210 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: moveFilesUsingPOST_2 +2024-06-29 11:40:26.218 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_22 +2024-06-29 11:40:26.222 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_23 +2024-06-29 11:40:26.227 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_24 +2024-06-29 11:40:26.228 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_25 +2024-06-29 11:40:26.231 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_15 +2024-06-29 11:40:26.231 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_1 +2024-06-29 11:40:26.232 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_12 +2024-06-29 11:40:26.233 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_26 +2024-06-29 11:40:26.233 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: repulseAuditUsingPOST_1 +2024-06-29 11:40:26.236 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_16 +2024-06-29 11:40:26.237 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_11 +2024-06-29 11:40:26.237 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_13 +2024-06-29 11:40:26.244 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_27 +2024-06-29 11:40:26.250 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_17 +2024-06-29 11:40:26.251 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_12 +2024-06-29 11:40:26.252 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_14 +2024-06-29 11:40:26.256 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_28 +2024-06-29 11:40:26.258 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_18 +2024-06-29 11:40:26.259 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_29 +2024-06-29 11:40:26.268 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_30 +2024-06-29 11:40:26.270 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_19 +2024-06-29 11:40:26.271 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_1 +2024-06-29 11:40:26.272 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_31 +2024-06-29 11:40:26.274 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_1 +2024-06-29 11:40:26.275 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_32 +2024-06-29 11:40:26.278 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_20 +2024-06-29 11:40:26.278 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_2 +2024-06-29 11:40:26.279 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_33 +2024-06-29 11:40:26.291 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: loginUsingPOST_1 +2024-06-29 11:40:26.292 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: logoutUsingPOST_1 +2024-06-29 11:40:26.293 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_34 +2024-06-29 11:40:26.299 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_21 +2024-06-29 11:40:26.300 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_13 +2024-06-29 11:40:26.301 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_15 +2024-06-29 11:40:26.302 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_35 +2024-06-29 11:40:26.305 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_2 +2024-06-29 11:40:26.310 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_22 +2024-06-29 11:40:26.311 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_14 +2024-06-29 11:40:26.313 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_16 +2024-06-29 11:40:26.338 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_36 +2024-06-29 11:40:26.339 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: stateUsingPOST_1 +2024-06-29 11:40:26.339 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_1 +2024-06-29 11:40:26.339 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_3 +2024-06-29 11:40:26.341 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_23 +2024-06-29 11:40:26.341 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_2 +2024-06-29 11:40:26.342 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_2 +2024-06-29 11:40:26.343 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_17 +2024-06-29 11:40:26.344 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_37 +2024-06-29 11:40:26.346 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_3 +2024-06-29 11:40:26.346 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_18 +2024-06-29 11:40:26.347 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_38 +2024-06-29 11:40:26.348 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addStorageUsingPOST_1 +2024-06-29 11:40:26.349 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_4 +2024-06-29 11:40:26.350 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_3 +2024-06-29 11:40:26.350 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_19 +2024-06-29 11:40:26.351 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_39 +2024-06-29 11:40:26.352 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_40 +2024-06-29 11:40:26.353 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_24 +2024-06-29 11:40:26.353 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_20 +2024-06-29 11:40:26.354 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_3 +2024-06-29 11:40:26.357 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_25 +2024-06-29 11:40:26.358 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_15 +2024-06-29 11:40:26.359 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_21 +2024-06-29 11:40:26.361 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_41 +2024-06-29 11:40:26.363 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_2 +2024-06-29 11:40:26.364 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_4 +2024-06-29 11:40:26.367 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: scanIndexUsingPOST_1 +2024-06-29 11:40:26.369 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_42 +2024-06-29 11:40:26.370 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_1 +2024-06-29 11:40:26.372 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_26 +2024-06-29 11:40:26.373 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_16 +2024-06-29 11:40:26.373 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_22 +2024-06-29 11:40:26.380 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_43 +2024-06-29 11:40:26.384 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_27 +2024-06-29 11:40:26.384 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_17 +2024-06-29 11:40:26.385 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_23 +2024-06-29 11:40:26.387 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_44 +2024-06-29 11:40:26.387 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_3 +2024-06-29 11:40:26.388 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_5 +2024-06-29 11:40:26.390 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_28 +2024-06-29 11:40:26.391 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_18 +2024-06-29 11:40:26.391 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_24 +2024-06-29 11:40:26.395 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_45 +2024-06-29 11:40:26.396 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_46 +2024-06-29 11:40:26.396 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_2 +2024-06-29 11:40:26.398 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_29 +2024-06-29 11:40:26.399 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_47 +2024-06-29 11:40:26.400 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_48 +2024-06-29 11:40:26.401 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_49 +2024-06-29 11:40:26.401 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_3 +2024-06-29 11:40:26.405 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_30 +2024-06-29 11:40:26.406 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_19 +2024-06-29 11:40:26.406 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_25 +2024-06-29 11:40:26.410 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_50 +2024-06-29 11:40:26.411 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_2 +2024-06-29 11:40:26.411 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_4 +2024-06-29 11:40:26.412 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_6 +2024-06-29 11:40:26.417 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_31 +2024-06-29 11:40:26.418 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_20 +2024-06-29 11:40:26.419 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_26 +2024-06-29 11:40:26.426 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_51 +2024-06-29 11:40:26.427 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_3 +2024-06-29 11:40:26.428 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_7 +2024-06-29 11:40:26.429 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_52 +2024-06-29 11:40:26.430 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_4 +2024-06-29 11:40:26.437 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_32 +2024-06-29 11:40:26.438 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_21 +2024-06-29 11:40:26.439 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_27 +2024-06-29 11:40:26.442 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_53 +2024-06-29 11:40:26.447 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: uploadUsingPOST_1 +2024-06-29 11:40:26.473 INFO [main] [] net.jjjerp.SpringBootJjjApplication 61 : Started SpringBootJjjApplication in 20.848 seconds (JVM running for 21.698) +2024-06-29 11:40:26.478 INFO [main] [] n.j.framework.util.PrintApplicationInfo 61 : projectFinalName : jjj-erp-1.0 +2024-06-29 11:40:26.478 INFO [main] [] n.j.framework.util.PrintApplicationInfo 62 : projectVersion : 1.0 +2024-06-29 11:40:26.478 INFO [main] [] n.j.framework.util.PrintApplicationInfo 63 : profileActive : prod +2024-06-29 11:40:26.478 INFO [main] [] n.j.framework.util.PrintApplicationInfo 64 : contextPath : /api +2024-06-29 11:40:26.478 INFO [main] [] n.j.framework.util.PrintApplicationInfo 65 : serverIp : http://erp3.huadeng.fun +2024-06-29 11:40:26.478 INFO [main] [] n.j.framework.util.PrintApplicationInfo 66 : port : 8892 +2024-06-29 11:40:26.478 INFO [main] [] n.j.framework.util.PrintApplicationInfo 81 : Home: http://erp3.huadeng.fun/api +2024-06-29 11:40:26.478 INFO [main] [] n.j.framework.util.PrintApplicationInfo 82 : Knife4j: http://erp3.huadeng.fun/api/doc.html +2024-06-29 11:40:26.478 INFO [main] [] n.j.framework.util.PrintApplicationInfo 83 : Swagger: http://erp3.huadeng.fun/api/swagger-ui.html +2024-06-29 11:40:26.478 INFO [main] [] n.j.framework.util.PrintApplicationInfo 84 : jjj-erp 启动成功........... + ____ __ __ ____ +/\ _`\ /\ \__ /\ \__ /\ _`\ +\ \,\L\_\ \ ,_\ __ _ __\ \ ,_\ \ \,\L\_\ __ __ ___ ___ __ ____ ____ + \/_\__ \\ \ \/ /'__`\ /\`'__\ \ \/ \/_\__ \ /\ \/\ \ /'___\ /'___\ /'__`\ /',__\ /',__\ + /\ \L\ \ \ \_/\ \L\.\_\ \ \/ \ \ \_ /\ \L\ \ \ \_\ \/\ \__//\ \__//\ __//\__, `\/\__, `\ + \ `\____\ \__\ \__/.\_\\ \_\ \ \__\ \ `\____\ \____/\ \____\ \____\ \____\/\____/\/\____/ + \/_____/\/__/\/__/\/_/ \/_/ \/__/ \/_____/\/___/ \/____/\/____/\/____/\/___/ \/___/ + + +2024-06-29 11:40:35.313 INFO [http-nio-8892-exec-1] [] o.a.c.c.C.[Tomcat].[localhost].[/api] 173 : Initializing Spring DispatcherServlet 'dispatcherServlet' +2024-06-29 11:40:35.313 INFO [http-nio-8892-exec-1] [] o.s.web.servlet.DispatcherServlet 525 : Initializing Servlet 'dispatcherServlet' +2024-06-29 11:40:35.326 INFO [http-nio-8892-exec-1] [] o.s.web.servlet.DispatcherServlet 547 : Completed initialization in 12 ms +2024-06-29 11:40:36.060 INFO [http-nio-8892-exec-1] [1806895515537903617] com.zaxxer.hikari.HikariDataSource 110 : HikariPool-1 - Starting... +2024-06-29 11:40:36.217 INFO [http-nio-8892-exec-1] [1806895515537903617] com.zaxxer.hikari.HikariDataSource 123 : HikariPool-1 - Start completed. +2024-06-29 11:41:59.120 INFO [lettuce-nioEventLoop-4-1] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 11:41:59.243 INFO [lettuce-eventExecutorLoop-1-8] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 11:41:59.248 INFO [lettuce-nioEventLoop-4-2] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 11:42:55.989 WARN [http-nio-8892-exec-10] [1806896102266507266] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@22094983 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 11:42:56.024 WARN [http-nio-8892-exec-10] [1806896102266507266] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@711c9577 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 11:42:56.044 WARN [http-nio-8892-exec-10] [1806896102266507266] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@51e2956 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 11:42:56.045 WARN [http-nio-8892-exec-10] [1806896102266507266] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@6094e604 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 11:42:56.046 WARN [http-nio-8892-exec-10] [1806896102266507266] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@58d9e166 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 11:42:56.047 WARN [http-nio-8892-exec-10] [1806896102266507266] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@4dfb7027 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 11:42:56.048 WARN [http-nio-8892-exec-10] [1806896102266507266] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@39dba457 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 11:42:56.048 WARN [http-nio-8892-exec-10] [1806896102266507266] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@7e38d1ae (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 11:42:56.049 WARN [http-nio-8892-exec-10] [1806896102266507266] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@697dcdde (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 11:42:56.050 WARN [http-nio-8892-exec-10] [1806896102266507266] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@7f11f29e (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 11:44:13.097 INFO [lettuce-nioEventLoop-4-2] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 11:44:13.138 INFO [lettuce-eventExecutorLoop-1-7] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 11:44:13.140 INFO [lettuce-nioEventLoop-4-3] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 11:45:39.002 INFO [lettuce-nioEventLoop-4-3] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 11:45:39.037 INFO [lettuce-eventExecutorLoop-1-7] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 11:45:39.040 INFO [lettuce-nioEventLoop-4-4] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 11:46:34.820 WARN [http-nio-8892-exec-9] [1806897019963445250] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@28c5ca0f (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 11:47:45.115 INFO [lettuce-nioEventLoop-4-4] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 11:47:45.177 INFO [lettuce-eventExecutorLoop-1-5] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 11:47:45.222 INFO [lettuce-nioEventLoop-4-5] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 11:48:51.029 INFO [lettuce-nioEventLoop-4-5] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 11:48:51.070 INFO [lettuce-eventExecutorLoop-1-7] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 11:48:51.120 INFO [lettuce-nioEventLoop-4-6] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 11:49:57.018 INFO [lettuce-nioEventLoop-4-6] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 11:49:57.042 INFO [lettuce-eventExecutorLoop-1-1] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 11:49:57.044 INFO [lettuce-nioEventLoop-4-7] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 11:50:20.718 WARN [http-nio-8892-exec-20] [1806897967729348610] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@23010f49 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 11:50:20.744 WARN [http-nio-8892-exec-20] [1806897967729348610] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@7251ed0c (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 11:50:20.746 WARN [http-nio-8892-exec-20] [1806897967729348610] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@1e3532b (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 11:50:20.747 WARN [http-nio-8892-exec-20] [1806897967729348610] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@53fc23fc (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 11:50:20.748 WARN [http-nio-8892-exec-20] [1806897967729348610] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@3c11c5e2 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 11:50:20.749 WARN [http-nio-8892-exec-20] [1806897967729348610] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@e40f25f (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 11:50:20.750 WARN [http-nio-8892-exec-20] [1806897967729348610] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@74716f2b (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 11:50:20.751 WARN [http-nio-8892-exec-20] [1806897967729348610] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@56a250c9 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 11:50:20.753 WARN [http-nio-8892-exec-20] [1806897967729348610] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@64aeb12a (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 11:50:20.753 WARN [http-nio-8892-exec-20] [1806897967729348610] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@6d7565ea (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 11:52:05.079 INFO [lettuce-nioEventLoop-4-7] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 11:52:05.142 INFO [lettuce-eventExecutorLoop-1-7] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 11:52:05.145 INFO [lettuce-nioEventLoop-4-8] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 11:53:09.927 WARN [http-nio-8892-exec-4] [1806898677485277187] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@566269c9 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 11:53:09.941 WARN [http-nio-8892-exec-4] [1806898677485277187] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@44006bc8 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 11:53:09.945 WARN [http-nio-8892-exec-4] [1806898677485277187] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@5f7631a0 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 11:53:09.959 WARN [http-nio-8892-exec-4] [1806898677485277187] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@6cd42abe (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 11:53:09.962 WARN [http-nio-8892-exec-4] [1806898677485277187] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@d164cf2 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 11:53:09.964 WARN [http-nio-8892-exec-4] [1806898677485277187] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@3095304c (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 11:53:09.969 WARN [http-nio-8892-exec-4] [1806898677485277187] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@5e80fccf (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 11:53:10.011 WARN [http-nio-8892-exec-4] [1806898677485277187] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@13ccbc7b (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 11:53:10.011 WARN [http-nio-8892-exec-10] [1806898677485277186] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@80bf483 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 11:53:10.013 WARN [http-nio-8892-exec-4] [1806898677485277187] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@2c82132c (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 11:54:46.109 INFO [lettuce-nioEventLoop-4-8] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 11:54:46.159 INFO [lettuce-eventExecutorLoop-1-5] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 11:54:46.161 INFO [lettuce-nioEventLoop-4-1] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 11:55:52.004 INFO [lettuce-nioEventLoop-4-1] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 11:55:52.037 INFO [lettuce-eventExecutorLoop-1-7] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 11:55:52.039 INFO [lettuce-nioEventLoop-4-2] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 11:56:58.023 INFO [lettuce-nioEventLoop-4-2] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 11:56:58.036 INFO [lettuce-eventExecutorLoop-1-1] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 11:56:58.038 INFO [lettuce-nioEventLoop-4-3] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 11:57:26.573 WARN [http-nio-8892-exec-13] [1806899753919844354] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@5fe44ee9 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 11:57:26.621 WARN [http-nio-8892-exec-13] [1806899753919844354] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@6cb3a54a (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 11:57:26.622 WARN [http-nio-8892-exec-13] [1806899753919844354] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@e3c1994 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 11:57:26.623 WARN [http-nio-8892-exec-13] [1806899753919844354] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@44098a37 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 11:57:26.625 WARN [http-nio-8892-exec-13] [1806899753919844354] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@149867c4 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 11:57:26.626 WARN [http-nio-8892-exec-13] [1806899753919844354] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@66c57de7 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 11:57:26.627 WARN [http-nio-8892-exec-13] [1806899753919844354] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@85b3812 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 11:57:26.628 WARN [http-nio-8892-exec-13] [1806899753919844354] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@b531c (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 11:57:26.629 WARN [http-nio-8892-exec-13] [1806899753919844354] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@577ab29e (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 11:57:26.631 WARN [http-nio-8892-exec-13] [1806899753919844354] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@1a1dc7d3 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 11:58:36.060 INFO [lettuce-nioEventLoop-4-3] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 11:58:36.146 INFO [lettuce-eventExecutorLoop-1-1] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 11:58:36.148 INFO [lettuce-nioEventLoop-4-4] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 11:59:42.056 INFO [lettuce-nioEventLoop-4-4] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 11:59:42.155 INFO [lettuce-eventExecutorLoop-1-3] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 11:59:42.157 INFO [lettuce-nioEventLoop-4-5] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 11:59:54.585 WARN [http-nio-8892-exec-16] [1806900374748139521] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@119eceef (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 11:59:54.587 WARN [http-nio-8892-exec-16] [1806900374748139521] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@4d78a857 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 11:59:54.588 WARN [http-nio-8892-exec-16] [1806900374748139521] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@10283056 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 11:59:54.589 WARN [http-nio-8892-exec-16] [1806900374748139521] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@11f9a4e9 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 11:59:54.590 WARN [http-nio-8892-exec-16] [1806900374748139521] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@362179f3 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 11:59:54.591 WARN [http-nio-8892-exec-16] [1806900374748139521] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@50be0e8a (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 11:59:54.592 WARN [http-nio-8892-exec-16] [1806900374748139521] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@1452e4b (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 11:59:54.604 WARN [http-nio-8892-exec-16] [1806900374748139521] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@5d471c66 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 11:59:54.641 WARN [http-nio-8892-exec-16] [1806900374748139521] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@609408dc (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 11:59:54.643 WARN [http-nio-8892-exec-16] [1806900374748139521] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@40fe801a (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 12:01:29.022 INFO [lettuce-nioEventLoop-4-5] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 12:01:29.050 INFO [lettuce-eventExecutorLoop-1-5] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 12:01:29.052 INFO [lettuce-nioEventLoop-4-6] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 12:02:35.066 INFO [lettuce-nioEventLoop-4-6] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 12:02:35.150 INFO [lettuce-eventExecutorLoop-1-7] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 12:02:35.152 INFO [lettuce-nioEventLoop-4-7] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 12:03:41.053 INFO [lettuce-nioEventLoop-4-7] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 12:03:41.167 INFO [lettuce-eventExecutorLoop-1-1] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 12:03:41.169 INFO [lettuce-nioEventLoop-4-8] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 12:04:47.088 INFO [lettuce-nioEventLoop-4-8] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 12:04:47.137 INFO [lettuce-eventExecutorLoop-1-3] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 12:04:47.139 INFO [lettuce-nioEventLoop-4-1] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 12:05:53.049 INFO [lettuce-nioEventLoop-4-1] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 12:05:53.143 INFO [lettuce-eventExecutorLoop-1-5] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 12:05:53.145 INFO [lettuce-nioEventLoop-4-2] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 12:06:59.091 INFO [lettuce-nioEventLoop-4-2] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 12:06:59.138 INFO [lettuce-eventExecutorLoop-1-7] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 12:06:59.139 INFO [lettuce-nioEventLoop-4-3] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 12:08:05.064 INFO [lettuce-nioEventLoop-4-3] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 12:08:05.143 INFO [lettuce-eventExecutorLoop-1-1] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 12:08:05.145 INFO [lettuce-nioEventLoop-4-4] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 12:09:11.095 INFO [lettuce-nioEventLoop-4-4] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 12:09:11.136 INFO [lettuce-eventExecutorLoop-1-3] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 12:09:11.137 INFO [lettuce-nioEventLoop-4-5] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 12:10:17.084 INFO [lettuce-nioEventLoop-4-5] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 12:10:17.134 INFO [lettuce-eventExecutorLoop-1-5] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 12:10:17.135 INFO [lettuce-nioEventLoop-4-6] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 12:11:23.051 INFO [lettuce-nioEventLoop-4-6] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 12:11:23.134 INFO [lettuce-eventExecutorLoop-1-7] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 12:11:23.135 INFO [lettuce-nioEventLoop-4-7] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 12:12:29.058 INFO [lettuce-nioEventLoop-4-7] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 12:12:29.135 INFO [lettuce-eventExecutorLoop-1-1] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 12:12:29.136 INFO [lettuce-nioEventLoop-4-8] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 12:13:35.038 INFO [lettuce-nioEventLoop-4-8] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 12:13:35.135 INFO [lettuce-eventExecutorLoop-1-3] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 12:13:35.136 INFO [lettuce-nioEventLoop-4-1] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 12:14:41.003 INFO [lettuce-nioEventLoop-4-1] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 12:14:41.035 INFO [lettuce-eventExecutorLoop-1-5] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 12:14:41.036 INFO [lettuce-nioEventLoop-4-2] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 12:15:47.049 INFO [lettuce-nioEventLoop-4-2] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 12:15:47.142 INFO [lettuce-eventExecutorLoop-1-7] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 12:15:47.144 INFO [lettuce-nioEventLoop-4-3] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 12:16:53.073 INFO [lettuce-nioEventLoop-4-3] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 12:16:53.135 INFO [lettuce-eventExecutorLoop-1-1] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 12:16:53.136 INFO [lettuce-nioEventLoop-4-4] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 12:17:59.049 INFO [lettuce-nioEventLoop-4-4] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 12:17:59.143 INFO [lettuce-eventExecutorLoop-1-3] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 12:17:59.144 INFO [lettuce-nioEventLoop-4-5] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 12:19:05.087 INFO [lettuce-nioEventLoop-4-5] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 12:19:05.134 INFO [lettuce-eventExecutorLoop-1-5] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 12:19:05.136 INFO [lettuce-nioEventLoop-4-6] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 12:20:11.099 INFO [lettuce-nioEventLoop-4-6] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 12:20:11.135 INFO [lettuce-eventExecutorLoop-1-7] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 12:20:11.136 INFO [lettuce-nioEventLoop-4-7] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 12:21:17.028 INFO [lettuce-nioEventLoop-4-7] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 12:21:17.035 INFO [lettuce-eventExecutorLoop-1-1] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 12:21:17.036 INFO [lettuce-nioEventLoop-4-8] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 12:22:23.098 INFO [lettuce-nioEventLoop-4-8] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 12:22:23.134 INFO [lettuce-eventExecutorLoop-1-3] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 12:22:23.135 INFO [lettuce-nioEventLoop-4-1] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 12:23:29.045 INFO [lettuce-nioEventLoop-4-1] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 12:23:29.139 INFO [lettuce-eventExecutorLoop-1-5] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 12:23:29.140 INFO [lettuce-nioEventLoop-4-2] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 12:24:35.025 INFO [lettuce-nioEventLoop-4-2] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 12:24:35.041 INFO [lettuce-eventExecutorLoop-1-7] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 12:24:35.042 INFO [lettuce-nioEventLoop-4-3] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 12:25:41.010 INFO [lettuce-nioEventLoop-4-3] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 12:25:41.042 INFO [lettuce-eventExecutorLoop-1-1] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 12:25:41.043 INFO [lettuce-nioEventLoop-4-4] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 12:26:47.073 INFO [lettuce-nioEventLoop-4-4] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 12:26:47.136 INFO [lettuce-eventExecutorLoop-1-3] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 12:26:47.138 INFO [lettuce-nioEventLoop-4-5] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 12:27:53.026 INFO [lettuce-nioEventLoop-4-5] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 12:27:53.035 INFO [lettuce-eventExecutorLoop-1-5] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 12:27:53.036 INFO [lettuce-nioEventLoop-4-6] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 12:28:59.103 INFO [lettuce-nioEventLoop-4-6] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 12:28:59.134 INFO [lettuce-eventExecutorLoop-1-7] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 12:28:59.135 INFO [lettuce-nioEventLoop-4-7] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 12:30:05.066 INFO [lettuce-nioEventLoop-4-7] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 12:30:05.134 INFO [lettuce-eventExecutorLoop-1-1] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 12:30:05.135 INFO [lettuce-nioEventLoop-4-8] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 12:31:11.072 INFO [lettuce-nioEventLoop-4-8] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 12:31:11.136 INFO [lettuce-eventExecutorLoop-1-3] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 12:31:11.138 INFO [lettuce-nioEventLoop-4-1] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 12:32:17.006 INFO [lettuce-nioEventLoop-4-1] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 12:32:17.037 INFO [lettuce-eventExecutorLoop-1-5] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 12:32:17.039 INFO [lettuce-nioEventLoop-4-2] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 12:33:23.078 INFO [lettuce-nioEventLoop-4-2] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 12:33:23.140 INFO [lettuce-eventExecutorLoop-1-7] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 12:33:23.142 INFO [lettuce-nioEventLoop-4-3] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 12:34:29.085 INFO [lettuce-nioEventLoop-4-3] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 12:34:29.135 INFO [lettuce-eventExecutorLoop-1-1] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 12:34:29.136 INFO [lettuce-nioEventLoop-4-4] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 12:35:35.040 INFO [lettuce-nioEventLoop-4-4] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 12:35:35.135 INFO [lettuce-eventExecutorLoop-1-3] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 12:35:35.136 INFO [lettuce-nioEventLoop-4-5] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 12:36:41.011 INFO [lettuce-nioEventLoop-4-5] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 12:36:41.034 INFO [lettuce-eventExecutorLoop-1-5] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 12:36:41.035 INFO [lettuce-nioEventLoop-4-6] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 12:37:47.087 INFO [lettuce-nioEventLoop-4-6] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 12:37:47.149 INFO [lettuce-eventExecutorLoop-1-7] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 12:37:47.150 INFO [lettuce-nioEventLoop-4-7] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 12:38:53.103 INFO [lettuce-nioEventLoop-4-7] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 12:38:53.134 INFO [lettuce-eventExecutorLoop-1-1] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 12:38:53.135 INFO [lettuce-nioEventLoop-4-8] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 12:39:59.077 INFO [lettuce-nioEventLoop-4-8] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 12:39:59.139 INFO [lettuce-eventExecutorLoop-1-3] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 12:39:59.140 INFO [lettuce-nioEventLoop-4-1] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 12:41:05.068 INFO [lettuce-nioEventLoop-4-1] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 12:41:05.135 INFO [lettuce-eventExecutorLoop-1-5] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 12:41:05.137 INFO [lettuce-nioEventLoop-4-2] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 12:42:11.019 INFO [lettuce-nioEventLoop-4-2] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 12:42:11.035 INFO [lettuce-eventExecutorLoop-1-7] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 12:42:11.036 INFO [lettuce-nioEventLoop-4-3] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 12:43:17.006 INFO [lettuce-nioEventLoop-4-3] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 12:43:17.037 INFO [lettuce-eventExecutorLoop-1-1] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 12:43:17.038 INFO [lettuce-nioEventLoop-4-4] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 12:44:23.099 INFO [lettuce-nioEventLoop-4-4] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 12:44:23.134 INFO [lettuce-eventExecutorLoop-1-3] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 12:44:23.135 INFO [lettuce-nioEventLoop-4-5] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 12:45:29.023 INFO [lettuce-nioEventLoop-4-5] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 12:45:29.038 INFO [lettuce-eventExecutorLoop-1-5] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 12:45:29.039 INFO [lettuce-nioEventLoop-4-6] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 12:46:35.079 INFO [lettuce-nioEventLoop-4-6] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 12:46:35.141 INFO [lettuce-eventExecutorLoop-1-7] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 12:46:35.143 INFO [lettuce-nioEventLoop-4-7] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 12:47:41.066 INFO [lettuce-nioEventLoop-4-7] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 12:47:41.145 INFO [lettuce-eventExecutorLoop-1-1] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 12:47:41.146 INFO [lettuce-nioEventLoop-4-8] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 12:48:47.048 INFO [lettuce-nioEventLoop-4-8] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 12:48:47.135 INFO [lettuce-eventExecutorLoop-1-3] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 12:48:47.136 INFO [lettuce-nioEventLoop-4-1] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 12:49:53.036 INFO [lettuce-nioEventLoop-4-1] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 12:49:53.134 INFO [lettuce-eventExecutorLoop-1-5] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 12:49:53.136 INFO [lettuce-nioEventLoop-4-2] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 12:50:59.073 INFO [lettuce-nioEventLoop-4-2] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 12:50:59.135 INFO [lettuce-eventExecutorLoop-1-7] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 12:50:59.136 INFO [lettuce-nioEventLoop-4-3] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 12:52:05.099 INFO [lettuce-nioEventLoop-4-3] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 12:52:05.134 INFO [lettuce-eventExecutorLoop-1-1] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 12:52:05.135 INFO [lettuce-nioEventLoop-4-4] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 12:53:11.071 INFO [lettuce-nioEventLoop-4-4] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 12:53:11.135 INFO [lettuce-eventExecutorLoop-1-3] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 12:53:11.136 INFO [lettuce-nioEventLoop-4-5] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 12:54:17.057 INFO [lettuce-nioEventLoop-4-5] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 12:54:17.136 INFO [lettuce-eventExecutorLoop-1-5] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 12:54:17.137 INFO [lettuce-nioEventLoop-4-6] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 12:55:23.091 INFO [lettuce-nioEventLoop-4-6] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 12:55:23.139 INFO [lettuce-eventExecutorLoop-1-7] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 12:55:23.140 INFO [lettuce-nioEventLoop-4-7] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 12:56:29.031 INFO [lettuce-nioEventLoop-4-7] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 12:56:29.034 INFO [lettuce-eventExecutorLoop-1-1] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 12:56:29.035 INFO [lettuce-nioEventLoop-4-8] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 12:57:35.005 INFO [lettuce-nioEventLoop-4-8] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 12:57:35.036 INFO [lettuce-eventExecutorLoop-1-3] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 12:57:35.037 INFO [lettuce-nioEventLoop-4-1] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 12:58:41.053 INFO [lettuce-nioEventLoop-4-1] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 12:58:41.135 INFO [lettuce-eventExecutorLoop-1-5] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 12:58:41.136 INFO [lettuce-nioEventLoop-4-2] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 12:59:47.004 INFO [lettuce-nioEventLoop-4-2] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 12:59:47.035 INFO [lettuce-eventExecutorLoop-1-7] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 12:59:47.036 INFO [lettuce-nioEventLoop-4-3] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 13:00:53.030 INFO [lettuce-nioEventLoop-4-3] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 13:00:53.034 INFO [lettuce-eventExecutorLoop-1-1] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 13:00:53.036 INFO [lettuce-nioEventLoop-4-4] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 13:01:59.058 INFO [lettuce-nioEventLoop-4-4] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 13:01:59.136 INFO [lettuce-eventExecutorLoop-1-3] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 13:01:59.138 INFO [lettuce-nioEventLoop-4-5] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 13:03:05.020 INFO [lettuce-nioEventLoop-4-5] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 13:03:05.036 INFO [lettuce-eventExecutorLoop-1-5] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 13:03:05.037 INFO [lettuce-nioEventLoop-4-6] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 13:04:11.023 INFO [lettuce-nioEventLoop-4-6] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 13:04:11.039 INFO [lettuce-eventExecutorLoop-1-7] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 13:04:11.040 INFO [lettuce-nioEventLoop-4-7] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 13:05:17.035 INFO [lettuce-nioEventLoop-4-7] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 13:05:17.135 INFO [lettuce-eventExecutorLoop-1-1] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 13:05:17.136 INFO [lettuce-nioEventLoop-4-8] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 13:06:23.067 INFO [lettuce-nioEventLoop-4-8] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 13:06:23.134 INFO [lettuce-eventExecutorLoop-1-3] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 13:06:23.135 INFO [lettuce-nioEventLoop-4-1] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 13:07:29.066 INFO [lettuce-nioEventLoop-4-1] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 13:07:29.144 INFO [lettuce-eventExecutorLoop-1-5] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 13:07:29.145 INFO [lettuce-nioEventLoop-4-2] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 13:08:35.008 INFO [lettuce-nioEventLoop-4-2] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 13:08:35.039 INFO [lettuce-eventExecutorLoop-1-7] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 13:08:35.040 INFO [lettuce-nioEventLoop-4-3] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 13:09:41.075 INFO [lettuce-nioEventLoop-4-3] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 13:09:41.139 INFO [lettuce-eventExecutorLoop-1-1] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 13:09:41.140 INFO [lettuce-nioEventLoop-4-4] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 13:10:47.036 INFO [lettuce-nioEventLoop-4-4] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 13:10:47.134 INFO [lettuce-eventExecutorLoop-1-3] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 13:10:47.135 INFO [lettuce-nioEventLoop-4-5] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 13:11:53.095 INFO [lettuce-nioEventLoop-4-5] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 13:11:53.135 INFO [lettuce-eventExecutorLoop-1-5] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 13:11:53.136 INFO [lettuce-nioEventLoop-4-6] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 13:12:59.050 INFO [lettuce-nioEventLoop-4-6] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 13:12:59.144 INFO [lettuce-eventExecutorLoop-1-7] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 13:12:59.146 INFO [lettuce-nioEventLoop-4-7] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 13:14:05.064 INFO [lettuce-nioEventLoop-4-7] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 13:14:05.140 INFO [lettuce-eventExecutorLoop-1-1] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 13:14:05.142 INFO [lettuce-nioEventLoop-4-8] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 13:15:11.052 INFO [lettuce-nioEventLoop-4-8] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 13:15:11.136 INFO [lettuce-eventExecutorLoop-1-3] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 13:15:11.137 INFO [lettuce-nioEventLoop-4-1] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 13:16:17.004 INFO [lettuce-nioEventLoop-4-1] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.buffer.WrappedByteBuf.writeBytes(WrappedByteBuf.java:821) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 13:16:17.036 INFO [lettuce-eventExecutorLoop-1-5] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 13:16:17.037 INFO [lettuce-nioEventLoop-4-2] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 13:17:23.044 INFO [lettuce-nioEventLoop-4-2] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 13:17:23.139 INFO [lettuce-eventExecutorLoop-1-7] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 13:17:23.140 INFO [lettuce-nioEventLoop-4-3] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 13:18:29.050 INFO [lettuce-nioEventLoop-4-3] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 13:18:29.143 INFO [lettuce-eventExecutorLoop-1-1] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 13:18:29.145 INFO [lettuce-nioEventLoop-4-4] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 13:19:35.017 INFO [lettuce-nioEventLoop-4-4] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 13:19:35.036 INFO [lettuce-eventExecutorLoop-1-3] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 13:19:35.037 INFO [lettuce-nioEventLoop-4-5] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 13:20:41.089 INFO [lettuce-nioEventLoop-4-5] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 13:20:41.137 INFO [lettuce-eventExecutorLoop-1-5] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 13:20:41.138 INFO [lettuce-nioEventLoop-4-6] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 13:21:47.015 INFO [lettuce-nioEventLoop-4-6] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 13:21:47.035 INFO [lettuce-eventExecutorLoop-1-7] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 13:21:47.036 INFO [lettuce-nioEventLoop-4-7] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 13:22:53.074 INFO [lettuce-nioEventLoop-4-7] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 13:22:53.136 INFO [lettuce-eventExecutorLoop-1-1] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 13:22:53.138 INFO [lettuce-nioEventLoop-4-8] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 13:23:59.039 INFO [lettuce-nioEventLoop-4-8] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 13:23:59.136 INFO [lettuce-eventExecutorLoop-1-3] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 13:23:59.137 INFO [lettuce-nioEventLoop-4-1] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 13:25:05.002 INFO [lettuce-nioEventLoop-4-1] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 13:25:05.035 INFO [lettuce-eventExecutorLoop-1-5] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 13:25:05.037 INFO [lettuce-nioEventLoop-4-2] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 13:26:11.028 INFO [lettuce-nioEventLoop-4-2] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 13:26:11.034 INFO [lettuce-eventExecutorLoop-1-7] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 13:26:11.035 INFO [lettuce-nioEventLoop-4-3] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 13:27:17.087 INFO [lettuce-nioEventLoop-4-3] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 13:27:17.134 INFO [lettuce-eventExecutorLoop-1-1] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 13:27:17.136 INFO [lettuce-nioEventLoop-4-4] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 13:28:23.094 INFO [lettuce-nioEventLoop-4-4] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 13:28:23.141 INFO [lettuce-eventExecutorLoop-1-3] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 13:28:23.142 INFO [lettuce-nioEventLoop-4-5] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 13:29:29.046 INFO [lettuce-nioEventLoop-4-5] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 13:29:29.139 INFO [lettuce-eventExecutorLoop-1-5] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 13:29:29.140 INFO [lettuce-nioEventLoop-4-6] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 13:30:35.003 INFO [lettuce-nioEventLoop-4-6] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 13:30:35.035 INFO [lettuce-eventExecutorLoop-1-7] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 13:30:35.037 INFO [lettuce-nioEventLoop-4-7] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 13:31:38.499 WARN [http-nio-8892-exec-17] [1806923459782119425] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@4df502bd (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 13:31:38.501 WARN [http-nio-8892-exec-17] [1806923459782119425] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@3a64f192 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 13:31:38.502 WARN [http-nio-8892-exec-17] [1806923459782119425] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@a40538d (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 13:31:38.503 WARN [http-nio-8892-exec-17] [1806923459782119425] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@6f454892 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 13:31:38.504 WARN [http-nio-8892-exec-17] [1806923459782119425] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@46a82e76 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 13:31:38.505 WARN [http-nio-8892-exec-17] [1806923459782119425] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@5bddaf50 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 13:31:38.507 WARN [http-nio-8892-exec-17] [1806923459782119425] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@5389539d (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 13:31:38.508 WARN [http-nio-8892-exec-17] [1806923459782119425] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@16cd80a6 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 13:31:38.509 WARN [http-nio-8892-exec-17] [1806923459782119425] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@1111c797 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 13:31:38.509 WARN [http-nio-8892-exec-17] [1806923459782119425] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@27804dca (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 13:33:56.092 INFO [lettuce-nioEventLoop-4-7] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 13:33:56.139 INFO [lettuce-eventExecutorLoop-1-1] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 13:33:56.140 INFO [lettuce-nioEventLoop-4-8] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 13:34:28.551 WARN [http-nio-8892-exec-1] [1806924173044486146] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@52d668ba (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 13:34:28.553 WARN [http-nio-8892-exec-1] [1806924173044486146] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@ffcb0a2 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 13:34:28.554 WARN [http-nio-8892-exec-1] [1806924173044486146] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@4d98f5d8 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 13:34:28.556 WARN [http-nio-8892-exec-30] [1806924173044486145] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@36c0cf1e (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 13:34:28.558 WARN [http-nio-8892-exec-30] [1806924173044486145] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@5e3ed910 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 13:35:15.180 INFO [SpringContextShutdownHook] [] net.jjjerp.framework.core.xss.XssFilter 30 : XssFilter destroy +2024-06-29 13:35:15.180 INFO [SpringContextShutdownHook] [] n.j.f.core.filter.RequestDetailFilter 116 : RequestDetailFilter destroy +2024-06-29 13:35:15.188 INFO [SpringContextShutdownHook] [] o.s.s.c.ThreadPoolTaskScheduler 218 : Shutting down ExecutorService 'taskScheduler' +2024-06-29 13:35:15.189 INFO [SpringContextShutdownHook] [] o.s.s.concurrent.ThreadPoolTaskExecutor 218 : Shutting down ExecutorService 'applicationTaskExecutor' +2024-06-29 13:35:15.193 INFO [SpringContextShutdownHook] [] com.zaxxer.hikari.HikariDataSource 350 : HikariPool-1 - Shutdown initiated... +2024-06-29 13:35:15.195 INFO [SpringContextShutdownHook] [] com.zaxxer.hikari.HikariDataSource 352 : HikariPool-1 - Shutdown completed. +2024-06-29 13:35:26.171 INFO [background-preinit] [] o.h.validator.internal.util.Version 21 : HV000001: Hibernate Validator 6.1.7.Final +2024-06-29 13:35:26.175 INFO [main] [] net.jjjerp.SpringBootJjjApplication 55 : Starting SpringBootJjjApplication on OS-20230506YKNI with PID 8784 (D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\bootstrap\target\classes started by Administrator in D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp) +2024-06-29 13:35:26.175 INFO [main] [] net.jjjerp.SpringBootJjjApplication 652 : The following profiles are active: prod +2024-06-29 13:35:27.028 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 249 : Multiple Spring Data modules found, entering strict repository configuration mode! +2024-06-29 13:35:27.029 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 127 : Bootstrapping Spring Data Redis repositories in DEFAULT mode. +2024-06-29 13:35:27.106 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 187 : Finished Spring Data repository scanning in 61ms. Found 0 Redis repository interfaces. +2024-06-29 13:35:27.289 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.ShiroConfig' of type [net.jjjerp.config.ShiroConfig$$EnhancerBySpringCGLIB$$44deb20] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-29 13:35:27.365 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.properties.JwtProperties' of type [net.jjjerp.config.properties.JwtProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-29 13:35:27.367 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.RedisTemplateConfig' of type [net.jjjerp.config.RedisTemplateConfig$$EnhancerBySpringCGLIB$$d3b2f5c4] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-29 13:35:27.374 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'spring.redis-org.springframework.boot.autoconfigure.data.redis.RedisProperties' of type [org.springframework.boot.autoconfigure.data.redis.RedisProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-29 13:35:27.376 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration' of type [org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-29 13:35:27.423 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'lettuceClientResources' of type [io.lettuce.core.resource.DefaultClientResources] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-29 13:35:27.508 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'redisConnectionFactory' of type [org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-29 13:35:27.546 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'redisTemplate' of type [org.springframework.data.redis.core.RedisTemplate] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-29 13:35:27.547 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.cache.impl.AdminLoginRedisServiceImpl' of type [net.jjjerp.framework.shiro.cache.impl.AdminLoginRedisServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-29 13:35:27.550 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.cache.impl.ShopLoginRedisServiceImpl' of type [net.jjjerp.framework.shiro.cache.impl.ShopLoginRedisServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-29 13:35:27.655 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'credentialsMatcher' of type [net.jjjerp.framework.shiro.jwt.JwtCredentialsMatcher] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-29 13:35:27.661 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'jwtRealm' of type [net.jjjerp.framework.shiro.jwt.JwtRealm] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-29 13:35:27.662 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'sessionStorageEvaluator' of type [org.apache.shiro.web.mgt.DefaultWebSessionStorageEvaluator] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-29 13:35:27.662 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'subjectDAO' of type [org.apache.shiro.mgt.DefaultSubjectDAO] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-29 13:35:27.664 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'securityManager' of type [org.apache.shiro.web.mgt.DefaultWebSecurityManager] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-29 13:35:27.682 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.service.impl.ShiroLoginServiceImpl' of type [net.jjjerp.framework.shiro.service.impl.ShiroLoginServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-29 13:35:27.689 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'spring-boot-jjj.shiro-net.jjjerp.config.properties.ShiroProperties' of type [net.jjjerp.config.properties.ShiroProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-29 13:35:27.758 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'authorizationAttributeSourceAdvisor' of type [org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-29 13:35:27.875 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.RedisCacheConfig' of type [net.jjjerp.config.RedisCacheConfig$$EnhancerBySpringCGLIB$$88efccc6] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-29 13:35:28.101 INFO [main] [] o.s.b.w.embedded.tomcat.TomcatWebServer 108 : Tomcat initialized with port(s): 8892 (http) +2024-06-29 13:35:28.108 INFO [main] [] o.a.coyote.http11.Http11NioProtocol 173 : Initializing ProtocolHandler ["http-nio-8892"] +2024-06-29 13:35:28.108 INFO [main] [] o.apache.catalina.core.StandardService 173 : Starting service [Tomcat] +2024-06-29 13:35:28.108 INFO [main] [] org.apache.catalina.core.StandardEngine 173 : Starting Servlet engine: [Apache Tomcat/9.0.46] +2024-06-29 13:35:28.191 INFO [main] [] o.a.c.c.C.[Tomcat].[localhost].[/api] 173 : Initializing Spring embedded WebApplicationContext +2024-06-29 13:35:28.192 INFO [main] [] w.s.c.ServletWebServerApplicationContext 285 : Root WebApplicationContext: initialization completed in 1978 ms +2024-06-29 13:35:28.326 INFO [main] [] net.jjjerp.framework.core.xss.XssFilter 18 : XssFilter init +2024-06-29 13:35:28.326 INFO [main] [] n.j.f.core.filter.RequestDetailFilter 30 : RequestDetailFilter init +2024-06-29 13:35:31.301 INFO [main] [] org.reflections.Reflections 228 : Reflections took 27 ms to scan 1 urls, producing 0 keys and 0 values +2024-06-29 13:35:31.393 INFO [main] [] net.jjjerp.framework.shiro.util.JwtUtil 33 : {"audience":"web","expireSecond":36000,"issuer":"spring-boot-jjj","redisCheck":true,"refreshToken":true,"refreshTokenCountdown":600,"saltCheck":true,"secret":"888888","singleLogin":false,"tokenName":"token"} +2024-06-29 13:35:33.791 INFO [main] [] pertySourcedRequestMappingHandlerMapping 69 : Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2Controller#getDocumentation(String, HttpServletRequest)] +2024-06-29 13:35:33.807 INFO [main] [] net.jjjerp.config.Swagger2Config 149 : swagger scan basePackages:null +2024-06-29 13:35:33.927 INFO [main] [] o.s.s.concurrent.ThreadPoolTaskExecutor 181 : Initializing ExecutorService 'applicationTaskExecutor' +2024-06-29 13:35:34.024 INFO [main] [] o.s.b.a.w.s.WelcomePageHandlerMapping 53 : Adding welcome page: class path resource [static/index.html] +2024-06-29 13:35:34.187 INFO [main] [] o.s.s.c.ThreadPoolTaskScheduler 181 : Initializing ExecutorService 'taskScheduler' +2024-06-29 13:35:34.280 INFO [main] [] o.a.coyote.http11.Http11NioProtocol 173 : Starting ProtocolHandler ["http-nio-8892"] +2024-06-29 13:35:34.298 INFO [main] [] o.s.b.w.embedded.tomcat.TomcatWebServer 220 : Tomcat started on port(s): 8892 (http) with context path '/api' +2024-06-29 13:35:34.298 INFO [main] [] d.s.w.p.DocumentationPluginsBootstrapper 160 : Context refreshed +2024-06-29 13:35:34.303 INFO [main] [] d.s.w.p.DocumentationPluginsBootstrapper 163 : Found 1 custom documentation plugin(s) +2024-06-29 13:35:34.334 INFO [main] [] s.d.s.w.s.ApiListingReferenceScanner 41 : Scanning for api listing references +2024-06-29 13:35:34.438 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_1 +2024-06-29 13:35:34.439 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_1 +2024-06-29 13:35:34.440 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_1 +2024-06-29 13:35:34.455 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_1 +2024-06-29 13:35:34.489 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_2 +2024-06-29 13:35:34.491 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_2 +2024-06-29 13:35:34.493 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_3 +2024-06-29 13:35:34.494 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_3 +2024-06-29 13:35:34.496 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_4 +2024-06-29 13:35:34.497 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_4 +2024-06-29 13:35:34.501 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexOutUsingPOST_1 +2024-06-29 13:35:34.504 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_5 +2024-06-29 13:35:34.512 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_5 +2024-06-29 13:35:34.512 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_2 +2024-06-29 13:35:34.513 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_2 +2024-06-29 13:35:34.529 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_6 +2024-06-29 13:35:34.531 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_7 +2024-06-29 13:35:34.536 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_8 +2024-06-29 13:35:34.543 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_6 +2024-06-29 13:35:34.544 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_3 +2024-06-29 13:35:34.545 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_3 +2024-06-29 13:35:34.554 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_9 +2024-06-29 13:35:34.582 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_10 +2024-06-29 13:35:34.584 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_7 +2024-06-29 13:35:34.585 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_4 +2024-06-29 13:35:34.586 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_4 +2024-06-29 13:35:34.589 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_11 +2024-06-29 13:35:34.594 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_8 +2024-06-29 13:35:34.595 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_5 +2024-06-29 13:35:34.595 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_5 +2024-06-29 13:35:34.598 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_12 +2024-06-29 13:35:34.601 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_9 +2024-06-29 13:35:34.602 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_6 +2024-06-29 13:35:34.603 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_6 +2024-06-29 13:35:34.606 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_13 +2024-06-29 13:35:34.607 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_1 +2024-06-29 13:35:34.608 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_10 +2024-06-29 13:35:34.609 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_7 +2024-06-29 13:35:34.610 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_7 +2024-06-29 13:35:34.612 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_14 +2024-06-29 13:35:34.613 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_11 +2024-06-29 13:35:34.614 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_8 +2024-06-29 13:35:34.614 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_8 +2024-06-29 13:35:34.616 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_15 +2024-06-29 13:35:34.616 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_12 +2024-06-29 13:35:34.619 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_9 +2024-06-29 13:35:34.620 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_9 +2024-06-29 13:35:34.623 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_16 +2024-06-29 13:35:34.624 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_17 +2024-06-29 13:35:34.630 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_13 +2024-06-29 13:35:34.632 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_10 +2024-06-29 13:35:34.635 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_18 +2024-06-29 13:35:34.636 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_1 +2024-06-29 13:35:34.646 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addGroupUsingPOST_1 +2024-06-29 13:35:34.647 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: categoryUsingPOST_1 +2024-06-29 13:35:34.647 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteFilesUsingPOST_1 +2024-06-29 13:35:34.647 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteGroupUsingPOST_1 +2024-06-29 13:35:34.648 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editGroupUsingPOST_1 +2024-06-29 13:35:34.652 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: listsUsingPOST_1 +2024-06-29 13:35:34.653 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: moveFilesUsingPOST_1 +2024-06-29 13:35:34.654 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_19 +2024-06-29 13:35:34.658 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_20 +2024-06-29 13:35:34.663 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_14 +2024-06-29 13:35:34.663 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_10 +2024-06-29 13:35:34.664 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteFilesUsingPOST_2 +2024-06-29 13:35:34.664 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_11 +2024-06-29 13:35:34.665 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_21 +2024-06-29 13:35:34.665 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: listUsingPOST_1 +2024-06-29 13:35:34.666 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: moveFilesUsingPOST_2 +2024-06-29 13:35:34.671 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_22 +2024-06-29 13:35:34.674 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_23 +2024-06-29 13:35:34.678 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_24 +2024-06-29 13:35:34.679 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_25 +2024-06-29 13:35:34.681 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_15 +2024-06-29 13:35:34.681 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_1 +2024-06-29 13:35:34.682 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_12 +2024-06-29 13:35:34.683 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_26 +2024-06-29 13:35:34.683 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: repulseAuditUsingPOST_1 +2024-06-29 13:35:34.685 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_16 +2024-06-29 13:35:34.685 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_11 +2024-06-29 13:35:34.686 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_13 +2024-06-29 13:35:34.689 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_27 +2024-06-29 13:35:34.692 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_17 +2024-06-29 13:35:34.693 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_12 +2024-06-29 13:35:34.693 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_14 +2024-06-29 13:35:34.695 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_28 +2024-06-29 13:35:34.696 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_18 +2024-06-29 13:35:34.697 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_29 +2024-06-29 13:35:34.700 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_30 +2024-06-29 13:35:34.702 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_19 +2024-06-29 13:35:34.702 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_1 +2024-06-29 13:35:34.702 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_31 +2024-06-29 13:35:34.704 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_1 +2024-06-29 13:35:34.705 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_32 +2024-06-29 13:35:34.706 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_20 +2024-06-29 13:35:34.707 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_2 +2024-06-29 13:35:34.707 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_33 +2024-06-29 13:35:34.715 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: loginUsingPOST_1 +2024-06-29 13:35:34.716 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: logoutUsingPOST_1 +2024-06-29 13:35:34.717 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_34 +2024-06-29 13:35:34.719 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_21 +2024-06-29 13:35:34.719 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_13 +2024-06-29 13:35:34.719 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_15 +2024-06-29 13:35:34.720 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_35 +2024-06-29 13:35:34.721 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_2 +2024-06-29 13:35:34.725 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_22 +2024-06-29 13:35:34.725 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_14 +2024-06-29 13:35:34.726 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_16 +2024-06-29 13:35:34.729 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_36 +2024-06-29 13:35:34.730 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: stateUsingPOST_1 +2024-06-29 13:35:34.730 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_1 +2024-06-29 13:35:34.730 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_3 +2024-06-29 13:35:34.732 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_23 +2024-06-29 13:35:34.732 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_2 +2024-06-29 13:35:34.733 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_2 +2024-06-29 13:35:34.734 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_17 +2024-06-29 13:35:34.734 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_37 +2024-06-29 13:35:34.736 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_3 +2024-06-29 13:35:34.737 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_18 +2024-06-29 13:35:34.737 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_38 +2024-06-29 13:35:34.739 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addStorageUsingPOST_1 +2024-06-29 13:35:34.739 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_4 +2024-06-29 13:35:34.740 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_3 +2024-06-29 13:35:34.741 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_19 +2024-06-29 13:35:34.741 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_39 +2024-06-29 13:35:34.742 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_40 +2024-06-29 13:35:34.743 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_24 +2024-06-29 13:35:34.744 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_20 +2024-06-29 13:35:34.744 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_3 +2024-06-29 13:35:34.746 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_25 +2024-06-29 13:35:34.747 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_15 +2024-06-29 13:35:34.747 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_21 +2024-06-29 13:35:34.748 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_41 +2024-06-29 13:35:34.750 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_2 +2024-06-29 13:35:34.750 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_4 +2024-06-29 13:35:34.753 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: scanIndexUsingPOST_1 +2024-06-29 13:35:34.754 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_42 +2024-06-29 13:35:34.754 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_1 +2024-06-29 13:35:34.756 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_26 +2024-06-29 13:35:34.756 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_16 +2024-06-29 13:35:34.757 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_22 +2024-06-29 13:35:34.761 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_43 +2024-06-29 13:35:34.763 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_27 +2024-06-29 13:35:34.763 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_17 +2024-06-29 13:35:34.764 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_23 +2024-06-29 13:35:34.765 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_44 +2024-06-29 13:35:34.766 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_3 +2024-06-29 13:35:34.766 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_5 +2024-06-29 13:35:34.768 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_28 +2024-06-29 13:35:34.769 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_18 +2024-06-29 13:35:34.769 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_24 +2024-06-29 13:35:34.771 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_45 +2024-06-29 13:35:34.772 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_46 +2024-06-29 13:35:34.772 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_2 +2024-06-29 13:35:34.773 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_29 +2024-06-29 13:35:34.774 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_47 +2024-06-29 13:35:34.774 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_48 +2024-06-29 13:35:34.775 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_49 +2024-06-29 13:35:34.775 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_3 +2024-06-29 13:35:34.778 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_30 +2024-06-29 13:35:34.778 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_19 +2024-06-29 13:35:34.779 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_25 +2024-06-29 13:35:34.782 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_50 +2024-06-29 13:35:34.782 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_2 +2024-06-29 13:35:34.783 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_4 +2024-06-29 13:35:34.783 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_6 +2024-06-29 13:35:34.787 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_31 +2024-06-29 13:35:34.787 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_20 +2024-06-29 13:35:34.788 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_26 +2024-06-29 13:35:34.792 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_51 +2024-06-29 13:35:34.792 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_3 +2024-06-29 13:35:34.792 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_7 +2024-06-29 13:35:34.793 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_52 +2024-06-29 13:35:34.793 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_4 +2024-06-29 13:35:34.795 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_32 +2024-06-29 13:35:34.796 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_21 +2024-06-29 13:35:34.796 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_27 +2024-06-29 13:35:34.798 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_53 +2024-06-29 13:35:34.801 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: uploadUsingPOST_1 +2024-06-29 13:35:34.818 INFO [main] [] net.jjjerp.SpringBootJjjApplication 61 : Started SpringBootJjjApplication in 9.102 seconds (JVM running for 9.791) +2024-06-29 13:35:34.821 INFO [main] [] n.j.framework.util.PrintApplicationInfo 61 : projectFinalName : jjj-erp-1.0 +2024-06-29 13:35:34.821 INFO [main] [] n.j.framework.util.PrintApplicationInfo 62 : projectVersion : 1.0 +2024-06-29 13:35:34.821 INFO [main] [] n.j.framework.util.PrintApplicationInfo 63 : profileActive : prod +2024-06-29 13:35:34.821 INFO [main] [] n.j.framework.util.PrintApplicationInfo 64 : contextPath : /api +2024-06-29 13:35:34.821 INFO [main] [] n.j.framework.util.PrintApplicationInfo 65 : serverIp : http://erp3.huadeng.fun +2024-06-29 13:35:34.821 INFO [main] [] n.j.framework.util.PrintApplicationInfo 66 : port : 8892 +2024-06-29 13:35:34.821 INFO [main] [] n.j.framework.util.PrintApplicationInfo 81 : Home: http://erp3.huadeng.fun/api +2024-06-29 13:35:34.821 INFO [main] [] n.j.framework.util.PrintApplicationInfo 82 : Knife4j: http://erp3.huadeng.fun/api/doc.html +2024-06-29 13:35:34.821 INFO [main] [] n.j.framework.util.PrintApplicationInfo 83 : Swagger: http://erp3.huadeng.fun/api/swagger-ui.html +2024-06-29 13:35:34.821 INFO [main] [] n.j.framework.util.PrintApplicationInfo 84 : jjj-erp 启动成功........... + ____ __ __ ____ +/\ _`\ /\ \__ /\ \__ /\ _`\ +\ \,\L\_\ \ ,_\ __ _ __\ \ ,_\ \ \,\L\_\ __ __ ___ ___ __ ____ ____ + \/_\__ \\ \ \/ /'__`\ /\`'__\ \ \/ \/_\__ \ /\ \/\ \ /'___\ /'___\ /'__`\ /',__\ /',__\ + /\ \L\ \ \ \_/\ \L\.\_\ \ \/ \ \ \_ /\ \L\ \ \ \_\ \/\ \__//\ \__//\ __//\__, `\/\__, `\ + \ `\____\ \__\ \__/.\_\\ \_\ \ \__\ \ `\____\ \____/\ \____\ \____\ \____\/\____/\/\____/ + \/_____/\/__/\/__/\/_/ \/_/ \/__/ \/_____/\/___/ \/____/\/____/\/____/\/___/ \/___/ + + +2024-06-29 13:35:55.860 INFO [http-nio-8892-exec-2] [] o.a.c.c.C.[Tomcat].[localhost].[/api] 173 : Initializing Spring DispatcherServlet 'dispatcherServlet' +2024-06-29 13:35:55.860 INFO [http-nio-8892-exec-2] [] o.s.web.servlet.DispatcherServlet 525 : Initializing Servlet 'dispatcherServlet' +2024-06-29 13:35:55.870 INFO [http-nio-8892-exec-2] [] o.s.web.servlet.DispatcherServlet 547 : Completed initialization in 9 ms +2024-06-29 13:35:56.237 INFO [http-nio-8892-exec-1] [1806924540700397570] com.zaxxer.hikari.HikariDataSource 110 : HikariPool-1 - Starting... +2024-06-29 13:35:56.332 INFO [http-nio-8892-exec-1] [1806924540700397570] com.zaxxer.hikari.HikariDataSource 123 : HikariPool-1 - Start completed. +2024-06-29 13:40:36.040 INFO [lettuce-nioEventLoop-4-1] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 13:40:36.147 INFO [lettuce-eventExecutorLoop-1-3] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 13:40:36.317 INFO [lettuce-nioEventLoop-4-2] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 13:41:42.057 INFO [lettuce-nioEventLoop-4-2] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 13:41:42.143 INFO [lettuce-eventExecutorLoop-1-4] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 13:41:42.145 INFO [lettuce-nioEventLoop-4-3] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 13:42:48.072 INFO [lettuce-nioEventLoop-4-3] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 13:42:48.150 INFO [lettuce-eventExecutorLoop-1-6] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 13:42:48.152 INFO [lettuce-nioEventLoop-4-4] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 13:43:10.446 WARN [http-nio-8892-exec-12] [1806926362030772225] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@3c1741a (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 13:43:10.448 WARN [http-nio-8892-exec-12] [1806926362030772225] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@28c80512 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 13:43:10.450 WARN [http-nio-8892-exec-12] [1806926362030772225] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@67ae00a6 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 13:43:10.451 WARN [http-nio-8892-exec-12] [1806926362030772225] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@27d8fd23 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 13:43:10.452 WARN [http-nio-8892-exec-12] [1806926362030772225] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@6111d580 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 13:43:10.453 WARN [http-nio-8892-exec-12] [1806926362030772225] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@606ce5ed (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 13:43:10.454 WARN [http-nio-8892-exec-12] [1806926362030772225] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@77507276 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 13:43:10.455 WARN [http-nio-8892-exec-12] [1806926362030772225] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@1701b85a (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 13:43:10.456 WARN [http-nio-8892-exec-12] [1806926362030772225] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@7853c2ef (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 13:43:10.457 WARN [http-nio-8892-exec-12] [1806926362030772225] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@7f170385 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 13:44:26.025 INFO [lettuce-nioEventLoop-4-4] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 13:44:26.043 INFO [lettuce-eventExecutorLoop-1-5] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 13:44:26.044 INFO [lettuce-nioEventLoop-4-5] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 13:46:44.046 INFO [lettuce-nioEventLoop-4-5] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 13:46:44.142 INFO [lettuce-eventExecutorLoop-1-7] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 13:46:44.144 INFO [lettuce-nioEventLoop-4-6] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 13:47:50.033 INFO [lettuce-nioEventLoop-4-6] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 13:47:50.048 INFO [lettuce-eventExecutorLoop-1-1] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 13:47:50.050 INFO [lettuce-nioEventLoop-4-7] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 13:48:15.764 WARN [http-nio-8892-exec-20] [1806927642665029633] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@11f9a795 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 13:48:15.766 WARN [http-nio-8892-exec-20] [1806927642665029633] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@5ea0c9f6 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 13:48:15.767 WARN [http-nio-8892-exec-20] [1806927642665029633] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@3968b8be (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 13:48:15.768 WARN [http-nio-8892-exec-20] [1806927642665029633] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@44de7700 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 13:48:15.769 WARN [http-nio-8892-exec-20] [1806927642665029633] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@394cac02 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 13:48:15.770 WARN [http-nio-8892-exec-20] [1806927642665029633] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@4b56c76a (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 13:48:15.772 WARN [http-nio-8892-exec-20] [1806927642665029633] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@17264ebe (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 13:48:15.773 WARN [http-nio-8892-exec-20] [1806927642665029633] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@26a24d1f (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 13:48:15.774 WARN [http-nio-8892-exec-20] [1806927642665029633] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@642b2377 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 13:48:15.776 WARN [http-nio-8892-exec-20] [1806927642665029633] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@193bc50f (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 13:50:03.014 INFO [lettuce-nioEventLoop-4-7] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 13:50:03.045 INFO [lettuce-eventExecutorLoop-1-5] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 13:50:03.048 INFO [lettuce-nioEventLoop-4-8] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 13:51:58.022 INFO [lettuce-nioEventLoop-4-8] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 13:51:58.053 INFO [lettuce-eventExecutorLoop-1-5] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 13:51:58.055 INFO [lettuce-nioEventLoop-4-1] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 13:53:04.095 INFO [lettuce-nioEventLoop-4-1] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 13:53:04.143 INFO [lettuce-eventExecutorLoop-1-7] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 13:53:04.144 INFO [lettuce-nioEventLoop-4-2] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 13:53:11.973 WARN [http-nio-8892-exec-30] [1806928885026263042] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@833431b (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 13:53:11.974 WARN [http-nio-8892-exec-30] [1806928885026263042] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@13857037 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 13:53:11.979 WARN [http-nio-8892-exec-30] [1806928885026263042] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@4d71909c (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 13:53:11.982 WARN [http-nio-8892-exec-30] [1806928885026263042] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@6e6c8721 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 13:53:11.984 WARN [http-nio-8892-exec-30] [1806928885026263042] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@7c02ccd1 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 13:53:11.985 WARN [http-nio-8892-exec-30] [1806928885026263042] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@72ee6d0 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 13:53:11.986 WARN [http-nio-8892-exec-30] [1806928885026263042] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@461a63d9 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 13:53:11.988 WARN [http-nio-8892-exec-30] [1806928885026263042] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@4cc5a1b4 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 13:53:11.989 WARN [http-nio-8892-exec-30] [1806928885026263042] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@26cb88b9 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 13:53:11.989 WARN [http-nio-8892-exec-30] [1806928885026263042] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@56a3f2d6 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 13:54:39.047 INFO [lettuce-nioEventLoop-4-2] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 13:54:39.143 INFO [lettuce-eventExecutorLoop-1-7] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 13:54:39.145 INFO [lettuce-nioEventLoop-4-3] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 13:55:45.108 INFO [lettuce-nioEventLoop-4-3] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 13:55:45.143 INFO [lettuce-eventExecutorLoop-1-1] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 13:55:45.144 INFO [lettuce-nioEventLoop-4-4] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 13:56:51.025 INFO [lettuce-nioEventLoop-4-4] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 13:56:51.042 INFO [lettuce-eventExecutorLoop-1-2] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 13:56:51.044 INFO [lettuce-nioEventLoop-4-5] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 13:57:16.177 WARN [http-nio-8892-exec-3] [1806929909317242882] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@221b96b3 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 13:57:16.178 WARN [http-nio-8892-exec-3] [1806929909317242882] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@3ea6a30d (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 13:57:16.182 WARN [http-nio-8892-exec-3] [1806929909317242882] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@46cf9550 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 13:57:16.185 WARN [http-nio-8892-exec-3] [1806929909317242882] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@3b6adda9 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 13:57:16.186 WARN [http-nio-8892-exec-3] [1806929909317242882] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@23b9ffe8 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 13:57:16.187 WARN [http-nio-8892-exec-3] [1806929909317242882] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@17945319 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 13:57:16.188 WARN [http-nio-8892-exec-3] [1806929909317242882] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@2d4b21ae (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 13:57:16.189 WARN [http-nio-8892-exec-3] [1806929909317242882] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@40a1263b (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 13:57:16.192 WARN [http-nio-8892-exec-3] [1806929909317242882] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@2c0bc778 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 13:57:16.193 WARN [http-nio-8892-exec-3] [1806929909317242882] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@19b2557b (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 13:59:41.006 INFO [lettuce-nioEventLoop-4-5] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 13:59:41.053 INFO [lettuce-eventExecutorLoop-1-4] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 13:59:41.054 INFO [lettuce-nioEventLoop-4-6] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 14:00:47.005 INFO [lettuce-nioEventLoop-4-6] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 14:00:47.052 INFO [lettuce-eventExecutorLoop-1-6] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 14:00:47.053 INFO [lettuce-nioEventLoop-4-7] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 14:01:53.052 INFO [lettuce-nioEventLoop-4-7] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 14:01:53.145 INFO [lettuce-eventExecutorLoop-1-8] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 14:01:53.147 INFO [lettuce-nioEventLoop-4-8] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 14:02:59.047 INFO [lettuce-nioEventLoop-4-8] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 14:02:59.144 INFO [lettuce-eventExecutorLoop-1-3] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 14:02:59.145 INFO [lettuce-nioEventLoop-4-1] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 14:02:59.884 WARN [http-nio-8892-exec-17] [1806931350924693506] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@5d099f16 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 14:02:59.888 WARN [http-nio-8892-exec-17] [1806931350924693506] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@78d9c617 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 14:02:59.889 WARN [http-nio-8892-exec-17] [1806931350924693506] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@434ee034 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 14:02:59.890 WARN [http-nio-8892-exec-17] [1806931350924693506] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@2a1fb6f4 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 14:02:59.891 WARN [http-nio-8892-exec-17] [1806931350924693506] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@6d3166fd (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 14:02:59.892 WARN [http-nio-8892-exec-17] [1806931350924693506] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@5b6efc32 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 14:02:59.892 WARN [http-nio-8892-exec-17] [1806931350924693506] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@6f15e82b (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 14:02:59.893 WARN [http-nio-8892-exec-17] [1806931350924693506] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@38ea4b2b (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 14:02:59.895 WARN [http-nio-8892-exec-17] [1806931350924693506] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@5e0ad445 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 14:02:59.896 WARN [http-nio-8892-exec-17] [1806931350924693506] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@72293cda (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 14:04:30.089 INFO [lettuce-nioEventLoop-4-1] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 14:04:30.151 INFO [lettuce-eventExecutorLoop-1-6] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 14:04:30.153 INFO [lettuce-nioEventLoop-4-2] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 14:06:18.889 WARN [http-nio-8892-exec-27] [1806932185515692035] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@5287d2c7 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 14:06:18.889 WARN [http-nio-8892-exec-28] [1806932185515692034] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@69087624 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 14:06:18.891 WARN [http-nio-8892-exec-27] [1806932185515692035] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@1df7ae33 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 14:06:18.891 WARN [http-nio-8892-exec-28] [1806932185515692034] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@965a497 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 14:06:18.892 WARN [http-nio-8892-exec-27] [1806932185515692035] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@5998a1a0 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 14:06:18.892 WARN [http-nio-8892-exec-28] [1806932185515692034] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@7a2dd39f (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 14:06:18.893 WARN [http-nio-8892-exec-28] [1806932185515692034] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@27ebc9f8 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 14:06:18.895 WARN [http-nio-8892-exec-28] [1806932185515692034] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@74ef56a4 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 14:06:18.917 WARN [http-nio-8892-exec-29] [1806932185515692036] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@f0262c5 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 14:08:54.058 INFO [lettuce-nioEventLoop-4-2] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 14:08:54.152 INFO [lettuce-eventExecutorLoop-1-5] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 14:08:54.153 INFO [lettuce-nioEventLoop-4-3] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 14:10:52.051 INFO [lettuce-nioEventLoop-4-3] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 14:10:52.144 INFO [lettuce-eventExecutorLoop-1-6] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 14:10:52.145 INFO [lettuce-nioEventLoop-4-4] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 14:11:58.069 INFO [lettuce-nioEventLoop-4-4] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.buffer.WrappedByteBuf.writeBytes(WrappedByteBuf.java:821) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 14:11:58.148 INFO [lettuce-eventExecutorLoop-1-8] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 14:11:58.149 INFO [lettuce-nioEventLoop-4-5] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 14:13:04.041 INFO [lettuce-nioEventLoop-4-5] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 14:13:04.143 INFO [lettuce-eventExecutorLoop-1-3] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 14:13:04.144 INFO [lettuce-nioEventLoop-4-6] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 14:14:08.998 INFO [SpringContextShutdownHook] [] net.jjjerp.framework.core.xss.XssFilter 30 : XssFilter destroy +2024-06-29 14:14:08.999 INFO [SpringContextShutdownHook] [] n.j.f.core.filter.RequestDetailFilter 116 : RequestDetailFilter destroy +2024-06-29 14:14:09.006 INFO [SpringContextShutdownHook] [] o.s.s.c.ThreadPoolTaskScheduler 218 : Shutting down ExecutorService 'taskScheduler' +2024-06-29 14:14:09.007 INFO [SpringContextShutdownHook] [] o.s.s.concurrent.ThreadPoolTaskExecutor 218 : Shutting down ExecutorService 'applicationTaskExecutor' +2024-06-29 14:14:09.011 INFO [SpringContextShutdownHook] [] com.zaxxer.hikari.HikariDataSource 350 : HikariPool-1 - Shutdown initiated... +2024-06-29 14:14:09.014 INFO [SpringContextShutdownHook] [] com.zaxxer.hikari.HikariDataSource 352 : HikariPool-1 - Shutdown completed. +2024-06-29 14:14:16.959 INFO [background-preinit] [] o.h.validator.internal.util.Version 21 : HV000001: Hibernate Validator 6.1.7.Final +2024-06-29 14:14:16.963 INFO [main] [] net.jjjerp.SpringBootJjjApplication 55 : Starting SpringBootJjjApplication on OS-20230506YKNI with PID 9392 (D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\bootstrap\target\classes started by Administrator in D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp) +2024-06-29 14:14:16.964 INFO [main] [] net.jjjerp.SpringBootJjjApplication 652 : The following profiles are active: prod +2024-06-29 14:14:17.867 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 249 : Multiple Spring Data modules found, entering strict repository configuration mode! +2024-06-29 14:14:17.868 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 127 : Bootstrapping Spring Data Redis repositories in DEFAULT mode. +2024-06-29 14:14:17.939 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 187 : Finished Spring Data repository scanning in 62ms. Found 0 Redis repository interfaces. +2024-06-29 14:14:18.155 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.ShiroConfig' of type [net.jjjerp.config.ShiroConfig$$EnhancerBySpringCGLIB$$e80214df] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-29 14:14:18.241 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.properties.JwtProperties' of type [net.jjjerp.config.properties.JwtProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-29 14:14:18.244 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.RedisTemplateConfig' of type [net.jjjerp.config.RedisTemplateConfig$$EnhancerBySpringCGLIB$$b7671f83] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-29 14:14:18.253 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'spring.redis-org.springframework.boot.autoconfigure.data.redis.RedisProperties' of type [org.springframework.boot.autoconfigure.data.redis.RedisProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-29 14:14:18.256 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration' of type [org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-29 14:14:18.312 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'lettuceClientResources' of type [io.lettuce.core.resource.DefaultClientResources] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-29 14:14:18.436 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'redisConnectionFactory' of type [org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-29 14:14:18.475 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'redisTemplate' of type [org.springframework.data.redis.core.RedisTemplate] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-29 14:14:18.475 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.cache.impl.AdminLoginRedisServiceImpl' of type [net.jjjerp.framework.shiro.cache.impl.AdminLoginRedisServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-29 14:14:18.479 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.cache.impl.ShopLoginRedisServiceImpl' of type [net.jjjerp.framework.shiro.cache.impl.ShopLoginRedisServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-29 14:14:18.584 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'credentialsMatcher' of type [net.jjjerp.framework.shiro.jwt.JwtCredentialsMatcher] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-29 14:14:18.590 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'jwtRealm' of type [net.jjjerp.framework.shiro.jwt.JwtRealm] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-29 14:14:18.591 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'sessionStorageEvaluator' of type [org.apache.shiro.web.mgt.DefaultWebSessionStorageEvaluator] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-29 14:14:18.591 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'subjectDAO' of type [org.apache.shiro.mgt.DefaultSubjectDAO] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-29 14:14:18.593 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'securityManager' of type [org.apache.shiro.web.mgt.DefaultWebSecurityManager] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-29 14:14:18.612 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.service.impl.ShiroLoginServiceImpl' of type [net.jjjerp.framework.shiro.service.impl.ShiroLoginServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-29 14:14:18.619 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'spring-boot-jjj.shiro-net.jjjerp.config.properties.ShiroProperties' of type [net.jjjerp.config.properties.ShiroProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-29 14:14:18.697 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'authorizationAttributeSourceAdvisor' of type [org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-29 14:14:18.835 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.RedisCacheConfig' of type [net.jjjerp.config.RedisCacheConfig$$EnhancerBySpringCGLIB$$6ca3f685] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-29 14:14:19.062 INFO [main] [] o.s.b.w.embedded.tomcat.TomcatWebServer 108 : Tomcat initialized with port(s): 8892 (http) +2024-06-29 14:14:19.068 INFO [main] [] o.a.coyote.http11.Http11NioProtocol 173 : Initializing ProtocolHandler ["http-nio-8892"] +2024-06-29 14:14:19.069 INFO [main] [] o.apache.catalina.core.StandardService 173 : Starting service [Tomcat] +2024-06-29 14:14:19.069 INFO [main] [] org.apache.catalina.core.StandardEngine 173 : Starting Servlet engine: [Apache Tomcat/9.0.46] +2024-06-29 14:14:19.147 INFO [main] [] o.a.c.c.C.[Tomcat].[localhost].[/api] 173 : Initializing Spring embedded WebApplicationContext +2024-06-29 14:14:19.147 INFO [main] [] w.s.c.ServletWebServerApplicationContext 285 : Root WebApplicationContext: initialization completed in 2137 ms +2024-06-29 14:14:19.270 INFO [main] [] net.jjjerp.framework.core.xss.XssFilter 18 : XssFilter init +2024-06-29 14:14:19.270 INFO [main] [] n.j.f.core.filter.RequestDetailFilter 30 : RequestDetailFilter init +2024-06-29 14:14:23.150 INFO [main] [] org.reflections.Reflections 228 : Reflections took 25 ms to scan 1 urls, producing 0 keys and 0 values +2024-06-29 14:14:23.236 INFO [main] [] net.jjjerp.framework.shiro.util.JwtUtil 33 : {"audience":"web","expireSecond":36000,"issuer":"spring-boot-jjj","redisCheck":true,"refreshToken":true,"refreshTokenCountdown":600,"saltCheck":true,"secret":"888888","singleLogin":false,"tokenName":"token"} +2024-06-29 14:14:26.862 INFO [main] [] pertySourcedRequestMappingHandlerMapping 69 : Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2Controller#getDocumentation(String, HttpServletRequest)] +2024-06-29 14:14:26.879 INFO [main] [] net.jjjerp.config.Swagger2Config 149 : swagger scan basePackages:null +2024-06-29 14:14:27.006 INFO [main] [] o.s.s.concurrent.ThreadPoolTaskExecutor 181 : Initializing ExecutorService 'applicationTaskExecutor' +2024-06-29 14:14:27.089 INFO [main] [] o.s.b.a.w.s.WelcomePageHandlerMapping 53 : Adding welcome page: class path resource [static/index.html] +2024-06-29 14:14:27.280 INFO [main] [] o.s.s.c.ThreadPoolTaskScheduler 181 : Initializing ExecutorService 'taskScheduler' +2024-06-29 14:14:27.374 INFO [main] [] o.a.coyote.http11.Http11NioProtocol 173 : Starting ProtocolHandler ["http-nio-8892"] +2024-06-29 14:14:27.390 INFO [main] [] o.s.b.w.embedded.tomcat.TomcatWebServer 220 : Tomcat started on port(s): 8892 (http) with context path '/api' +2024-06-29 14:14:27.391 INFO [main] [] d.s.w.p.DocumentationPluginsBootstrapper 160 : Context refreshed +2024-06-29 14:14:27.396 INFO [main] [] d.s.w.p.DocumentationPluginsBootstrapper 163 : Found 1 custom documentation plugin(s) +2024-06-29 14:14:27.426 INFO [main] [] s.d.s.w.s.ApiListingReferenceScanner 41 : Scanning for api listing references +2024-06-29 14:14:27.531 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_1 +2024-06-29 14:14:27.533 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_1 +2024-06-29 14:14:27.534 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_1 +2024-06-29 14:14:27.549 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_1 +2024-06-29 14:14:27.584 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_2 +2024-06-29 14:14:27.585 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_2 +2024-06-29 14:14:27.588 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_3 +2024-06-29 14:14:27.588 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_3 +2024-06-29 14:14:27.591 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_4 +2024-06-29 14:14:27.591 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_4 +2024-06-29 14:14:27.592 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexOutUsingPOST_1 +2024-06-29 14:14:27.595 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_5 +2024-06-29 14:14:27.603 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_5 +2024-06-29 14:14:27.603 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_2 +2024-06-29 14:14:27.604 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_2 +2024-06-29 14:14:27.618 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_6 +2024-06-29 14:14:27.619 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_7 +2024-06-29 14:14:27.625 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_8 +2024-06-29 14:14:27.659 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_6 +2024-06-29 14:14:27.660 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_3 +2024-06-29 14:14:27.661 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_3 +2024-06-29 14:14:27.667 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_9 +2024-06-29 14:14:27.670 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_10 +2024-06-29 14:14:27.673 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_7 +2024-06-29 14:14:27.673 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_4 +2024-06-29 14:14:27.674 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_4 +2024-06-29 14:14:27.676 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_11 +2024-06-29 14:14:27.681 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_8 +2024-06-29 14:14:27.681 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_5 +2024-06-29 14:14:27.682 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_5 +2024-06-29 14:14:27.685 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_12 +2024-06-29 14:14:27.688 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_9 +2024-06-29 14:14:27.689 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_6 +2024-06-29 14:14:27.689 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_6 +2024-06-29 14:14:27.693 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_13 +2024-06-29 14:14:27.693 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_1 +2024-06-29 14:14:27.695 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_10 +2024-06-29 14:14:27.695 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_7 +2024-06-29 14:14:27.696 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_7 +2024-06-29 14:14:27.697 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_14 +2024-06-29 14:14:27.698 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_11 +2024-06-29 14:14:27.699 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_8 +2024-06-29 14:14:27.699 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_8 +2024-06-29 14:14:27.701 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_15 +2024-06-29 14:14:27.701 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_12 +2024-06-29 14:14:27.704 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_9 +2024-06-29 14:14:27.705 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_9 +2024-06-29 14:14:27.708 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_16 +2024-06-29 14:14:27.709 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_17 +2024-06-29 14:14:27.714 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_13 +2024-06-29 14:14:27.715 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_10 +2024-06-29 14:14:27.718 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_18 +2024-06-29 14:14:27.719 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_1 +2024-06-29 14:14:27.729 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addGroupUsingPOST_1 +2024-06-29 14:14:27.729 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: categoryUsingPOST_1 +2024-06-29 14:14:27.730 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteFilesUsingPOST_1 +2024-06-29 14:14:27.730 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteGroupUsingPOST_1 +2024-06-29 14:14:27.731 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editGroupUsingPOST_1 +2024-06-29 14:14:27.734 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: listsUsingPOST_1 +2024-06-29 14:14:27.735 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: moveFilesUsingPOST_1 +2024-06-29 14:14:27.736 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_19 +2024-06-29 14:14:27.740 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_20 +2024-06-29 14:14:27.744 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_14 +2024-06-29 14:14:27.744 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_10 +2024-06-29 14:14:27.745 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteFilesUsingPOST_2 +2024-06-29 14:14:27.745 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_11 +2024-06-29 14:14:27.746 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_21 +2024-06-29 14:14:27.746 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: listUsingPOST_1 +2024-06-29 14:14:27.746 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: moveFilesUsingPOST_2 +2024-06-29 14:14:27.752 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_22 +2024-06-29 14:14:27.754 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_23 +2024-06-29 14:14:27.757 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_24 +2024-06-29 14:14:27.758 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_25 +2024-06-29 14:14:27.760 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_15 +2024-06-29 14:14:27.761 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_1 +2024-06-29 14:14:27.762 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_12 +2024-06-29 14:14:27.762 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_26 +2024-06-29 14:14:27.763 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: repulseAuditUsingPOST_1 +2024-06-29 14:14:27.765 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_16 +2024-06-29 14:14:27.765 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_11 +2024-06-29 14:14:27.766 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_13 +2024-06-29 14:14:27.770 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_27 +2024-06-29 14:14:27.773 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_17 +2024-06-29 14:14:27.773 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_12 +2024-06-29 14:14:27.774 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_14 +2024-06-29 14:14:27.776 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_28 +2024-06-29 14:14:27.777 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_18 +2024-06-29 14:14:27.778 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_29 +2024-06-29 14:14:27.782 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_30 +2024-06-29 14:14:27.783 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_19 +2024-06-29 14:14:27.784 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_1 +2024-06-29 14:14:27.784 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_31 +2024-06-29 14:14:27.785 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_1 +2024-06-29 14:14:27.786 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_32 +2024-06-29 14:14:27.788 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_20 +2024-06-29 14:14:27.788 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_2 +2024-06-29 14:14:27.788 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_33 +2024-06-29 14:14:27.795 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: loginUsingPOST_1 +2024-06-29 14:14:27.796 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: logoutUsingPOST_1 +2024-06-29 14:14:27.797 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_34 +2024-06-29 14:14:27.800 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_21 +2024-06-29 14:14:27.801 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_13 +2024-06-29 14:14:27.802 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_15 +2024-06-29 14:14:27.802 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_35 +2024-06-29 14:14:27.804 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_2 +2024-06-29 14:14:27.807 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_22 +2024-06-29 14:14:27.808 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_14 +2024-06-29 14:14:27.808 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_16 +2024-06-29 14:14:27.812 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_36 +2024-06-29 14:14:27.813 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: stateUsingPOST_1 +2024-06-29 14:14:27.813 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_1 +2024-06-29 14:14:27.813 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_3 +2024-06-29 14:14:27.815 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_23 +2024-06-29 14:14:27.815 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_2 +2024-06-29 14:14:27.816 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_2 +2024-06-29 14:14:27.817 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_17 +2024-06-29 14:14:27.817 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_37 +2024-06-29 14:14:27.819 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_3 +2024-06-29 14:14:27.819 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_18 +2024-06-29 14:14:27.820 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_38 +2024-06-29 14:14:27.821 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addStorageUsingPOST_1 +2024-06-29 14:14:27.821 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_4 +2024-06-29 14:14:27.822 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_3 +2024-06-29 14:14:27.823 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_19 +2024-06-29 14:14:27.823 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_39 +2024-06-29 14:14:27.824 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_40 +2024-06-29 14:14:27.825 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_24 +2024-06-29 14:14:27.826 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_20 +2024-06-29 14:14:27.826 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_3 +2024-06-29 14:14:27.829 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_25 +2024-06-29 14:14:27.829 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_15 +2024-06-29 14:14:27.830 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_21 +2024-06-29 14:14:27.831 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_41 +2024-06-29 14:14:27.833 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_2 +2024-06-29 14:14:27.833 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_4 +2024-06-29 14:14:27.835 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: scanIndexUsingPOST_1 +2024-06-29 14:14:27.836 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_42 +2024-06-29 14:14:27.837 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_1 +2024-06-29 14:14:27.838 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_26 +2024-06-29 14:14:27.839 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_16 +2024-06-29 14:14:27.839 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_22 +2024-06-29 14:14:27.843 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_43 +2024-06-29 14:14:27.846 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_27 +2024-06-29 14:14:27.846 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_17 +2024-06-29 14:14:27.847 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_23 +2024-06-29 14:14:27.848 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_44 +2024-06-29 14:14:27.848 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_3 +2024-06-29 14:14:27.849 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_5 +2024-06-29 14:14:27.851 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_28 +2024-06-29 14:14:27.851 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_18 +2024-06-29 14:14:27.852 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_24 +2024-06-29 14:14:27.854 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_45 +2024-06-29 14:14:27.854 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_46 +2024-06-29 14:14:27.854 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_2 +2024-06-29 14:14:27.856 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_29 +2024-06-29 14:14:27.856 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_47 +2024-06-29 14:14:27.857 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_48 +2024-06-29 14:14:27.857 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_49 +2024-06-29 14:14:27.858 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_3 +2024-06-29 14:14:27.861 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_30 +2024-06-29 14:14:27.861 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_19 +2024-06-29 14:14:27.862 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_25 +2024-06-29 14:14:27.865 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_50 +2024-06-29 14:14:27.866 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_2 +2024-06-29 14:14:27.866 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_4 +2024-06-29 14:14:27.866 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_6 +2024-06-29 14:14:27.870 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_31 +2024-06-29 14:14:27.870 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_20 +2024-06-29 14:14:27.870 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_26 +2024-06-29 14:14:27.874 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_51 +2024-06-29 14:14:27.875 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_3 +2024-06-29 14:14:27.875 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_7 +2024-06-29 14:14:27.876 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_52 +2024-06-29 14:14:27.876 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_4 +2024-06-29 14:14:27.878 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_32 +2024-06-29 14:14:27.879 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_21 +2024-06-29 14:14:27.879 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_27 +2024-06-29 14:14:27.881 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_53 +2024-06-29 14:14:27.884 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: uploadUsingPOST_1 +2024-06-29 14:14:27.900 INFO [main] [] net.jjjerp.SpringBootJjjApplication 61 : Started SpringBootJjjApplication in 11.354 seconds (JVM running for 11.865) +2024-06-29 14:14:27.903 INFO [main] [] n.j.framework.util.PrintApplicationInfo 61 : projectFinalName : jjj-erp-1.0 +2024-06-29 14:14:27.903 INFO [main] [] n.j.framework.util.PrintApplicationInfo 62 : projectVersion : 1.0 +2024-06-29 14:14:27.903 INFO [main] [] n.j.framework.util.PrintApplicationInfo 63 : profileActive : prod +2024-06-29 14:14:27.903 INFO [main] [] n.j.framework.util.PrintApplicationInfo 64 : contextPath : /api +2024-06-29 14:14:27.903 INFO [main] [] n.j.framework.util.PrintApplicationInfo 65 : serverIp : http://erp3.huadeng.fun +2024-06-29 14:14:27.903 INFO [main] [] n.j.framework.util.PrintApplicationInfo 66 : port : 8892 +2024-06-29 14:14:27.903 INFO [main] [] n.j.framework.util.PrintApplicationInfo 81 : Home: http://erp3.huadeng.fun/api +2024-06-29 14:14:27.903 INFO [main] [] n.j.framework.util.PrintApplicationInfo 82 : Knife4j: http://erp3.huadeng.fun/api/doc.html +2024-06-29 14:14:27.903 INFO [main] [] n.j.framework.util.PrintApplicationInfo 83 : Swagger: http://erp3.huadeng.fun/api/swagger-ui.html +2024-06-29 14:14:27.903 INFO [main] [] n.j.framework.util.PrintApplicationInfo 84 : jjj-erp 启动成功........... + ____ __ __ ____ +/\ _`\ /\ \__ /\ \__ /\ _`\ +\ \,\L\_\ \ ,_\ __ _ __\ \ ,_\ \ \,\L\_\ __ __ ___ ___ __ ____ ____ + \/_\__ \\ \ \/ /'__`\ /\`'__\ \ \/ \/_\__ \ /\ \/\ \ /'___\ /'___\ /'__`\ /',__\ /',__\ + /\ \L\ \ \ \_/\ \L\.\_\ \ \/ \ \ \_ /\ \L\ \ \ \_\ \/\ \__//\ \__//\ __//\__, `\/\__, `\ + \ `\____\ \__\ \__/.\_\\ \_\ \ \__\ \ `\____\ \____/\ \____\ \____\ \____\/\____/\/\____/ + \/_____/\/__/\/__/\/_/ \/_/ \/__/ \/_____/\/___/ \/____/\/____/\/____/\/___/ \/___/ + + +2024-06-29 14:14:30.588 INFO [http-nio-8892-exec-1] [] o.a.c.c.C.[Tomcat].[localhost].[/api] 173 : Initializing Spring DispatcherServlet 'dispatcherServlet' +2024-06-29 14:14:30.588 INFO [http-nio-8892-exec-1] [] o.s.web.servlet.DispatcherServlet 525 : Initializing Servlet 'dispatcherServlet' +2024-06-29 14:14:30.595 INFO [http-nio-8892-exec-1] [] o.s.web.servlet.DispatcherServlet 547 : Completed initialization in 7 ms +2024-06-29 14:14:30.914 ERROR [http-nio-8892-exec-1] [] n.jjjerp.handler.GlobalExceptionHandler 233 : 异常来源:ip: 192.168.31.226, path: /api/admin/product/base/category/index +2024-06-29 14:14:30.916 ERROR [http-nio-8892-exec-1] [] n.jjjerp.handler.GlobalExceptionHandler 257 : errorCode: 5001, errorMessage: 请求参数校验异常 + +org.springframework.http.converter.HttpMessageNotReadableException: Required request body is missing: public net.jjjerp.framework.common.api.ApiResult> net.jjjerp.admin.controller.product.base.CategoryController.index(net.jjjerp.common.param.product.CategoryParam) + at org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.readWithMessageConverters(RequestResponseBodyMethodProcessor.java:161) + at org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.resolveArgument(RequestResponseBodyMethodProcessor.java:131) + at org.springframework.web.method.support.HandlerMethodArgumentResolverComposite.resolveArgument(HandlerMethodArgumentResolverComposite.java:121) + at org.springframework.web.method.support.InvocableHandlerMethod.getMethodArgumentValues(InvocableHandlerMethod.java:167) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:134) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:652) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:112) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) + at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 14:14:30.994 INFO [http-nio-8892-exec-2] [1806934249381793793] com.zaxxer.hikari.HikariDataSource 110 : HikariPool-1 - Starting... +2024-06-29 14:14:31.098 INFO [http-nio-8892-exec-2] [1806934249381793793] com.zaxxer.hikari.HikariDataSource 123 : HikariPool-1 - Start completed. +2024-06-29 14:15:15.553 ERROR [http-nio-8892-exec-6] [] n.jjjerp.framework.shiro.jwt.JwtFilter 138 : 访问错误 + +org.apache.shiro.authc.AuthenticationException: JWT Token已过期,token:eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhdWQiOiJ3ZWIiLCJpc3MiOiJzcHJpbmctYm9vdC1qamoiLCJleHAiOjE3MTk0OTMwMTgsImlhdCI6MTcxOTQ1NzAxOCwianRpIjoiOTdkOTliZDMzOTE5NDc1YWE1MGM5YWQ5NTBhMTc0MGEiLCJ1c2VybmFtZSI6ImFkbWluIn0.5R-gqJFnQZZ03xXA5zT05PrLCezV5LwkgYDiqsdq98E + at net.jjjerp.framework.shiro.jwt.JwtFilter.createToken(JwtFilter.java:67) + at org.apache.shiro.web.filter.authc.AuthenticatingFilter.executeLogin(AuthenticatingFilter.java:45) + at net.jjjerp.framework.shiro.jwt.JwtFilter.isAccessAllowed(JwtFilter.java:134) + at org.apache.shiro.web.filter.AccessControlFilter.onPreHandle(AccessControlFilter.java:162) + at org.apache.shiro.web.filter.PathMatchingFilter.isFilterChainContinued(PathMatchingFilter.java:214) + at org.apache.shiro.web.filter.PathMatchingFilter.preHandle(PathMatchingFilter.java:189) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:131) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 14:15:15.554 ERROR [http-nio-8892-exec-6] [] n.jjjerp.framework.shiro.jwt.JwtFilter 111 : onAccessDenied url:/api/admin/product/base/category/index +2024-06-29 14:15:34.717 ERROR [http-nio-8892-exec-7] [] n.jjjerp.handler.GlobalExceptionHandler 233 : 异常来源:ip: 127.0.0.1, path: /api/admin/product/base/category/index +2024-06-29 14:15:34.717 ERROR [http-nio-8892-exec-7] [] n.jjjerp.handler.GlobalExceptionHandler 257 : errorCode: 5003, errorMessage: HTTP内容类型异常 + +org.springframework.web.HttpMediaTypeNotSupportedException: Content type 'application/x-www-form-urlencoded;charset=UTF-8' not supported + at org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodArgumentResolver.readWithMessageConverters(AbstractMessageConverterMethodArgumentResolver.java:225) + at org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.readWithMessageConverters(RequestResponseBodyMethodProcessor.java:158) + at org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.resolveArgument(RequestResponseBodyMethodProcessor.java:131) + at org.springframework.web.method.support.HandlerMethodArgumentResolverComposite.resolveArgument(HandlerMethodArgumentResolverComposite.java:121) + at org.springframework.web.method.support.InvocableHandlerMethod.getMethodArgumentValues(InvocableHandlerMethod.java:167) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:134) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:652) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:112) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) + at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 14:15:40.751 ERROR [http-nio-8892-exec-8] [] n.jjjerp.handler.GlobalExceptionHandler 233 : 异常来源:ip: 127.0.0.1, path: /api/admin/product/base/category/index +2024-06-29 14:15:40.751 ERROR [http-nio-8892-exec-8] [] n.jjjerp.handler.GlobalExceptionHandler 257 : errorCode: 5003, errorMessage: HTTP内容类型异常 + +org.springframework.web.HttpMediaTypeNotSupportedException: Content type 'application/x-www-form-urlencoded;charset=UTF-8' not supported + at org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodArgumentResolver.readWithMessageConverters(AbstractMessageConverterMethodArgumentResolver.java:225) + at org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.readWithMessageConverters(RequestResponseBodyMethodProcessor.java:158) + at org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.resolveArgument(RequestResponseBodyMethodProcessor.java:131) + at org.springframework.web.method.support.HandlerMethodArgumentResolverComposite.resolveArgument(HandlerMethodArgumentResolverComposite.java:121) + at org.springframework.web.method.support.InvocableHandlerMethod.getMethodArgumentValues(InvocableHandlerMethod.java:167) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:134) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:652) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:112) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) + at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 14:15:40.754 INFO [http-nio-8892-exec-8] [] o.apache.coyote.http11.Http11Processor 175 : Error parsing HTTP request header + Note: further occurrences of HTTP request parsing errors will be logged at DEBUG level. + +java.lang.IllegalArgumentException: Invalid character found in method name [{}...]. HTTP method names must be tokens + at org.apache.coyote.http11.Http11InputBuffer.parseRequestLine(Http11InputBuffer.java:417) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:261) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 14:15:44.290 ERROR [http-nio-8892-exec-9] [] n.jjjerp.handler.GlobalExceptionHandler 233 : 异常来源:ip: 127.0.0.1, path: /api/admin/product/base/category/index +2024-06-29 14:15:44.290 ERROR [http-nio-8892-exec-9] [] n.jjjerp.handler.GlobalExceptionHandler 257 : errorCode: 5003, errorMessage: HTTP内容类型异常 + +org.springframework.web.HttpMediaTypeNotSupportedException: Content type 'application/x-www-form-urlencoded;charset=UTF-8' not supported + at org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodArgumentResolver.readWithMessageConverters(AbstractMessageConverterMethodArgumentResolver.java:225) + at org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.readWithMessageConverters(RequestResponseBodyMethodProcessor.java:158) + at org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.resolveArgument(RequestResponseBodyMethodProcessor.java:131) + at org.springframework.web.method.support.HandlerMethodArgumentResolverComposite.resolveArgument(HandlerMethodArgumentResolverComposite.java:121) + at org.springframework.web.method.support.InvocableHandlerMethod.getMethodArgumentValues(InvocableHandlerMethod.java:167) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:134) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:652) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:112) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) + at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 14:17:40.289 ERROR [http-nio-8892-exec-16] [] n.jjjerp.handler.GlobalExceptionHandler 233 : 异常来源:ip: 192.168.31.226, path: /api/admin/product/base/category/index +2024-06-29 14:17:40.290 ERROR [http-nio-8892-exec-16] [] n.jjjerp.handler.GlobalExceptionHandler 257 : errorCode: 5001, errorMessage: 请求参数校验异常 + +org.springframework.http.converter.HttpMessageNotReadableException: Required request body is missing: public net.jjjerp.framework.common.api.ApiResult> net.jjjerp.admin.controller.product.base.CategoryController.index(net.jjjerp.common.param.product.CategoryParam) + at org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.readWithMessageConverters(RequestResponseBodyMethodProcessor.java:161) + at org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.resolveArgument(RequestResponseBodyMethodProcessor.java:131) + at org.springframework.web.method.support.HandlerMethodArgumentResolverComposite.resolveArgument(HandlerMethodArgumentResolverComposite.java:121) + at org.springframework.web.method.support.InvocableHandlerMethod.getMethodArgumentValues(InvocableHandlerMethod.java:167) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:134) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:652) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:112) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) + at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 14:17:40.300 WARN [http-nio-8892-exec-15] [1806935043611004930] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@53c0787f (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 14:17:40.301 WARN [http-nio-8892-exec-15] [1806935043611004930] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@1ee48b6f (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 14:17:40.304 WARN [http-nio-8892-exec-15] [1806935043611004930] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@34ea2cc0 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 14:17:40.317 WARN [http-nio-8892-exec-18] [1806935043678113793] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@51f73127 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 14:17:40.319 WARN [http-nio-8892-exec-18] [1806935043678113793] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@69e0d5c7 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 14:17:40.321 WARN [http-nio-8892-exec-15] [1806935043611004930] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@5f74bce (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 14:18:46.043 INFO [lettuce-nioEventLoop-4-1] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 14:18:46.153 INFO [lettuce-eventExecutorLoop-1-1] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 14:18:46.158 INFO [lettuce-nioEventLoop-4-2] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 14:19:52.105 INFO [lettuce-nioEventLoop-4-2] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 14:19:52.152 INFO [lettuce-eventExecutorLoop-1-5] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 14:19:52.155 INFO [lettuce-nioEventLoop-4-3] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 14:20:02.743 WARN [http-nio-8892-exec-20] [1806935641093804034] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@2d258bef (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 14:20:02.744 WARN [http-nio-8892-exec-20] [1806935641093804034] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@3378e689 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 14:20:02.745 WARN [http-nio-8892-exec-20] [1806935641093804034] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@7543e95a (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 14:20:02.746 WARN [http-nio-8892-exec-20] [1806935641093804034] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@1942e097 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 14:20:02.747 WARN [http-nio-8892-exec-20] [1806935641093804034] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@67860898 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 14:20:02.748 WARN [http-nio-8892-exec-20] [1806935641093804034] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@13bee64f (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 14:20:02.749 WARN [http-nio-8892-exec-20] [1806935641093804034] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@79ddd45b (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 14:20:02.751 WARN [http-nio-8892-exec-20] [1806935641093804034] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@7715c5af (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 14:20:02.752 WARN [http-nio-8892-exec-20] [1806935641093804034] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@2080d11d (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 14:20:02.753 WARN [http-nio-8892-exec-20] [1806935641093804034] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@a613364 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 14:21:43.060 INFO [lettuce-nioEventLoop-4-3] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 14:21:43.146 INFO [lettuce-eventExecutorLoop-1-5] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 14:21:43.148 INFO [lettuce-nioEventLoop-4-4] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 14:24:02.073 INFO [lettuce-nioEventLoop-4-4] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 14:24:02.150 INFO [lettuce-eventExecutorLoop-1-8] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 14:24:02.153 INFO [lettuce-nioEventLoop-4-5] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 14:24:37.823 ERROR [http-nio-8892-exec-28] [] n.jjjerp.handler.GlobalExceptionHandler 233 : 异常来源:ip: 192.168.31.226, path: /api/admin/product/base/category/index +2024-06-29 14:24:37.824 ERROR [http-nio-8892-exec-28] [] n.jjjerp.handler.GlobalExceptionHandler 257 : errorCode: 5001, errorMessage: 请求参数校验异常 + +org.springframework.http.converter.HttpMessageNotReadableException: Required request body is missing: public net.jjjerp.framework.common.api.ApiResult> net.jjjerp.admin.controller.product.base.CategoryController.index(net.jjjerp.common.param.product.CategoryParam) + at org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.readWithMessageConverters(RequestResponseBodyMethodProcessor.java:161) + at org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.resolveArgument(RequestResponseBodyMethodProcessor.java:131) + at org.springframework.web.method.support.HandlerMethodArgumentResolverComposite.resolveArgument(HandlerMethodArgumentResolverComposite.java:121) + at org.springframework.web.method.support.InvocableHandlerMethod.getMethodArgumentValues(InvocableHandlerMethod.java:167) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:134) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:652) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:112) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) + at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 14:24:37.830 WARN [http-nio-8892-exec-27] [1806936794888114178] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@47bf9564 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 14:24:37.834 WARN [http-nio-8892-exec-26] [1806936794888114177] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@38371c58 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 14:24:37.836 WARN [http-nio-8892-exec-26] [1806936794888114177] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@73724115 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 14:24:37.837 WARN [http-nio-8892-exec-27] [1806936794888114178] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@77e89698 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 14:24:37.839 WARN [http-nio-8892-exec-27] [1806936794888114178] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@71072c8f (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 14:25:43.050 INFO [lettuce-nioEventLoop-4-5] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 14:25:43.146 INFO [lettuce-eventExecutorLoop-1-2] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 14:25:43.148 INFO [lettuce-nioEventLoop-4-6] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 14:25:51.609 ERROR [http-nio-8892-exec-4] [] n.jjjerp.handler.GlobalExceptionHandler 233 : 异常来源:ip: 192.168.31.226, path: /api/admin/market/audit/order/edit +2024-06-29 14:25:51.609 ERROR [http-nio-8892-exec-4] [] n.jjjerp.handler.GlobalExceptionHandler 257 : errorCode: 5000, errorMessage: 系统异常 + +java.lang.NullPointerException: null + at net.jjjerp.admin.service.bill.impl.BillHeadServiceImpl.editOrder(BillHeadServiceImpl.java:1621) + at net.jjjerp.admin.service.bill.impl.BillHeadServiceImpl$$FastClassBySpringCGLIB$$62790b2b.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.admin.service.bill.impl.BillHeadServiceImpl$$EnhancerBySpringCGLIB$$461d384c.editOrder() + at net.jjjerp.admin.controller.market.audit.MarketOrderController.edit(MarketOrderController.java:65) + at net.jjjerp.admin.controller.market.audit.MarketOrderController$$FastClassBySpringCGLIB$$908cb7b8.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.AspectJAfterThrowingAdvice.invoke(AspectJAfterThrowingAdvice.java:62) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:88) + at net.jjjerp.framework.log.aop.BaseLogAop.handle(BaseLogAop.java:303) + at net.jjjerp.aop.LogAop.doAround(LogAop.java:35) + at net.jjjerp.aop.LogAop$$FastClassBySpringCGLIB$$189c4aae.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.aop.LogAop$$EnhancerBySpringCGLIB$$a6862059.doAround() + at sun.reflect.GeneratedMethodAccessor949.invoke(Unknown Source) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:644) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:633) + at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.apache.shiro.spring.security.interceptor.AopAllianceAnnotationsAuthorizingMethodInterceptor$1.proceed(AopAllianceAnnotationsAuthorizingMethodInterceptor.java:82) + at org.apache.shiro.authz.aop.AuthorizingMethodInterceptor.invoke(AuthorizingMethodInterceptor.java:39) + at org.apache.shiro.spring.security.interceptor.AopAllianceAnnotationsAuthorizingMethodInterceptor.invoke(AopAllianceAnnotationsAuthorizingMethodInterceptor.java:115) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:95) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at net.jjjerp.admin.controller.market.audit.MarketOrderController$$EnhancerBySpringCGLIB$$84ef418f.edit() + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:652) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:112) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) + at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 14:26:57.084 INFO [lettuce-nioEventLoop-4-6] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 14:26:57.147 INFO [lettuce-eventExecutorLoop-1-3] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 14:26:57.149 INFO [lettuce-nioEventLoop-4-7] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 14:27:11.046 ERROR [http-nio-8892-exec-2] [] n.jjjerp.handler.GlobalExceptionHandler 233 : 异常来源:ip: 192.168.31.226, path: /api/admin/market/audit/order/edit +2024-06-29 14:27:11.047 ERROR [http-nio-8892-exec-2] [] n.jjjerp.handler.GlobalExceptionHandler 257 : errorCode: 5000, errorMessage: 系统异常 + +java.lang.NullPointerException: null + at net.jjjerp.admin.service.bill.impl.BillHeadServiceImpl.editOrder(BillHeadServiceImpl.java:1621) + at net.jjjerp.admin.service.bill.impl.BillHeadServiceImpl$$FastClassBySpringCGLIB$$62790b2b.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.admin.service.bill.impl.BillHeadServiceImpl$$EnhancerBySpringCGLIB$$461d384c.editOrder() + at net.jjjerp.admin.controller.market.audit.MarketOrderController.edit(MarketOrderController.java:65) + at net.jjjerp.admin.controller.market.audit.MarketOrderController$$FastClassBySpringCGLIB$$908cb7b8.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.AspectJAfterThrowingAdvice.invoke(AspectJAfterThrowingAdvice.java:62) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:88) + at net.jjjerp.framework.log.aop.BaseLogAop.handle(BaseLogAop.java:303) + at net.jjjerp.aop.LogAop.doAround(LogAop.java:35) + at net.jjjerp.aop.LogAop$$FastClassBySpringCGLIB$$189c4aae.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) + at net.jjjerp.aop.LogAop$$EnhancerBySpringCGLIB$$a6862059.doAround() + at sun.reflect.GeneratedMethodAccessor949.invoke(Unknown Source) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:644) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:633) + at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.apache.shiro.spring.security.interceptor.AopAllianceAnnotationsAuthorizingMethodInterceptor$1.proceed(AopAllianceAnnotationsAuthorizingMethodInterceptor.java:82) + at org.apache.shiro.authz.aop.AuthorizingMethodInterceptor.invoke(AuthorizingMethodInterceptor.java:39) + at org.apache.shiro.spring.security.interceptor.AopAllianceAnnotationsAuthorizingMethodInterceptor.invoke(AopAllianceAnnotationsAuthorizingMethodInterceptor.java:115) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:95) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at net.jjjerp.admin.controller.market.audit.MarketOrderController$$EnhancerBySpringCGLIB$$84ef418f.edit() + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:652) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:112) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) + at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 14:28:15.479 INFO [SpringContextShutdownHook] [] net.jjjerp.framework.core.xss.XssFilter 30 : XssFilter destroy +2024-06-29 14:28:15.479 INFO [SpringContextShutdownHook] [] n.j.f.core.filter.RequestDetailFilter 116 : RequestDetailFilter destroy +2024-06-29 14:28:15.486 INFO [SpringContextShutdownHook] [] o.s.s.c.ThreadPoolTaskScheduler 218 : Shutting down ExecutorService 'taskScheduler' +2024-06-29 14:28:15.486 INFO [SpringContextShutdownHook] [] o.s.s.concurrent.ThreadPoolTaskExecutor 218 : Shutting down ExecutorService 'applicationTaskExecutor' +2024-06-29 14:28:15.491 INFO [SpringContextShutdownHook] [] com.zaxxer.hikari.HikariDataSource 350 : HikariPool-1 - Shutdown initiated... +2024-06-29 14:28:15.493 INFO [SpringContextShutdownHook] [] com.zaxxer.hikari.HikariDataSource 352 : HikariPool-1 - Shutdown completed. +2024-06-29 14:28:23.385 INFO [main] [] net.jjjerp.SpringBootJjjApplication 55 : Starting SpringBootJjjApplication on OS-20230506YKNI with PID 3576 (D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\bootstrap\target\classes started by Administrator in D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp) +2024-06-29 14:28:23.382 INFO [background-preinit] [] o.h.validator.internal.util.Version 21 : HV000001: Hibernate Validator 6.1.7.Final +2024-06-29 14:28:23.385 INFO [main] [] net.jjjerp.SpringBootJjjApplication 652 : The following profiles are active: prod +2024-06-29 14:28:24.228 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 249 : Multiple Spring Data modules found, entering strict repository configuration mode! +2024-06-29 14:28:24.230 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 127 : Bootstrapping Spring Data Redis repositories in DEFAULT mode. +2024-06-29 14:28:24.307 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 187 : Finished Spring Data repository scanning in 68ms. Found 0 Redis repository interfaces. +2024-06-29 14:28:24.493 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.ShiroConfig' of type [net.jjjerp.config.ShiroConfig$$EnhancerBySpringCGLIB$$d78b7cb4] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-29 14:28:24.566 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.properties.JwtProperties' of type [net.jjjerp.config.properties.JwtProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-29 14:28:24.568 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.RedisTemplateConfig' of type [net.jjjerp.config.RedisTemplateConfig$$EnhancerBySpringCGLIB$$a6f08758] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-29 14:28:24.576 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'spring.redis-org.springframework.boot.autoconfigure.data.redis.RedisProperties' of type [org.springframework.boot.autoconfigure.data.redis.RedisProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-29 14:28:24.578 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration' of type [org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-29 14:28:24.623 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'lettuceClientResources' of type [io.lettuce.core.resource.DefaultClientResources] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-29 14:28:24.704 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'redisConnectionFactory' of type [org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-29 14:28:24.742 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'redisTemplate' of type [org.springframework.data.redis.core.RedisTemplate] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-29 14:28:24.742 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.cache.impl.AdminLoginRedisServiceImpl' of type [net.jjjerp.framework.shiro.cache.impl.AdminLoginRedisServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-29 14:28:24.747 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.cache.impl.ShopLoginRedisServiceImpl' of type [net.jjjerp.framework.shiro.cache.impl.ShopLoginRedisServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-29 14:28:24.851 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'credentialsMatcher' of type [net.jjjerp.framework.shiro.jwt.JwtCredentialsMatcher] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-29 14:28:24.856 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'jwtRealm' of type [net.jjjerp.framework.shiro.jwt.JwtRealm] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-29 14:28:24.857 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'sessionStorageEvaluator' of type [org.apache.shiro.web.mgt.DefaultWebSessionStorageEvaluator] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-29 14:28:24.858 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'subjectDAO' of type [org.apache.shiro.mgt.DefaultSubjectDAO] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-29 14:28:24.859 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'securityManager' of type [org.apache.shiro.web.mgt.DefaultWebSecurityManager] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-29 14:28:24.877 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.service.impl.ShiroLoginServiceImpl' of type [net.jjjerp.framework.shiro.service.impl.ShiroLoginServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-29 14:28:24.883 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'spring-boot-jjj.shiro-net.jjjerp.config.properties.ShiroProperties' of type [net.jjjerp.config.properties.ShiroProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-29 14:28:24.960 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'authorizationAttributeSourceAdvisor' of type [org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-29 14:28:25.076 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.RedisCacheConfig' of type [net.jjjerp.config.RedisCacheConfig$$EnhancerBySpringCGLIB$$5c2d5e5a] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-29 14:28:25.298 INFO [main] [] o.s.b.w.embedded.tomcat.TomcatWebServer 108 : Tomcat initialized with port(s): 8892 (http) +2024-06-29 14:28:25.304 INFO [main] [] o.a.coyote.http11.Http11NioProtocol 173 : Initializing ProtocolHandler ["http-nio-8892"] +2024-06-29 14:28:25.304 INFO [main] [] o.apache.catalina.core.StandardService 173 : Starting service [Tomcat] +2024-06-29 14:28:25.304 INFO [main] [] org.apache.catalina.core.StandardEngine 173 : Starting Servlet engine: [Apache Tomcat/9.0.46] +2024-06-29 14:28:25.392 INFO [main] [] o.a.c.c.C.[Tomcat].[localhost].[/api] 173 : Initializing Spring embedded WebApplicationContext +2024-06-29 14:28:25.392 INFO [main] [] w.s.c.ServletWebServerApplicationContext 285 : Root WebApplicationContext: initialization completed in 1967 ms +2024-06-29 14:28:25.515 INFO [main] [] net.jjjerp.framework.core.xss.XssFilter 18 : XssFilter init +2024-06-29 14:28:25.515 INFO [main] [] n.j.f.core.filter.RequestDetailFilter 30 : RequestDetailFilter init +2024-06-29 14:28:28.652 INFO [main] [] org.reflections.Reflections 228 : Reflections took 26 ms to scan 1 urls, producing 0 keys and 0 values +2024-06-29 14:28:28.740 INFO [main] [] net.jjjerp.framework.shiro.util.JwtUtil 33 : {"audience":"web","expireSecond":36000,"issuer":"spring-boot-jjj","redisCheck":true,"refreshToken":true,"refreshTokenCountdown":600,"saltCheck":true,"secret":"888888","singleLogin":false,"tokenName":"token"} +2024-06-29 14:28:31.452 INFO [main] [] pertySourcedRequestMappingHandlerMapping 69 : Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2Controller#getDocumentation(String, HttpServletRequest)] +2024-06-29 14:28:31.467 INFO [main] [] net.jjjerp.config.Swagger2Config 149 : swagger scan basePackages:null +2024-06-29 14:28:31.575 INFO [main] [] o.s.s.concurrent.ThreadPoolTaskExecutor 181 : Initializing ExecutorService 'applicationTaskExecutor' +2024-06-29 14:28:31.646 INFO [main] [] o.s.b.a.w.s.WelcomePageHandlerMapping 53 : Adding welcome page: class path resource [static/index.html] +2024-06-29 14:28:31.828 INFO [main] [] o.s.s.c.ThreadPoolTaskScheduler 181 : Initializing ExecutorService 'taskScheduler' +2024-06-29 14:28:31.922 INFO [main] [] o.a.coyote.http11.Http11NioProtocol 173 : Starting ProtocolHandler ["http-nio-8892"] +2024-06-29 14:28:31.938 INFO [main] [] o.s.b.w.embedded.tomcat.TomcatWebServer 220 : Tomcat started on port(s): 8892 (http) with context path '/api' +2024-06-29 14:28:31.939 INFO [main] [] d.s.w.p.DocumentationPluginsBootstrapper 160 : Context refreshed +2024-06-29 14:28:31.944 INFO [main] [] d.s.w.p.DocumentationPluginsBootstrapper 163 : Found 1 custom documentation plugin(s) +2024-06-29 14:28:31.974 INFO [main] [] s.d.s.w.s.ApiListingReferenceScanner 41 : Scanning for api listing references +2024-06-29 14:28:32.083 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_1 +2024-06-29 14:28:32.085 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_1 +2024-06-29 14:28:32.086 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_1 +2024-06-29 14:28:32.102 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_1 +2024-06-29 14:28:32.138 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_2 +2024-06-29 14:28:32.139 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_2 +2024-06-29 14:28:32.142 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_3 +2024-06-29 14:28:32.143 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_3 +2024-06-29 14:28:32.145 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_4 +2024-06-29 14:28:32.146 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_4 +2024-06-29 14:28:32.147 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexOutUsingPOST_1 +2024-06-29 14:28:32.149 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_5 +2024-06-29 14:28:32.156 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_5 +2024-06-29 14:28:32.157 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_2 +2024-06-29 14:28:32.158 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_2 +2024-06-29 14:28:32.172 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_6 +2024-06-29 14:28:32.173 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_7 +2024-06-29 14:28:32.177 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_8 +2024-06-29 14:28:32.184 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_6 +2024-06-29 14:28:32.185 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_3 +2024-06-29 14:28:32.186 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_3 +2024-06-29 14:28:32.192 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_9 +2024-06-29 14:28:32.217 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_10 +2024-06-29 14:28:32.219 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_7 +2024-06-29 14:28:32.219 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_4 +2024-06-29 14:28:32.220 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_4 +2024-06-29 14:28:32.222 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_11 +2024-06-29 14:28:32.226 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_8 +2024-06-29 14:28:32.227 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_5 +2024-06-29 14:28:32.227 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_5 +2024-06-29 14:28:32.230 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_12 +2024-06-29 14:28:32.233 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_9 +2024-06-29 14:28:32.233 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_6 +2024-06-29 14:28:32.234 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_6 +2024-06-29 14:28:32.237 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_13 +2024-06-29 14:28:32.238 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_1 +2024-06-29 14:28:32.239 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_10 +2024-06-29 14:28:32.239 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_7 +2024-06-29 14:28:32.240 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_7 +2024-06-29 14:28:32.241 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_14 +2024-06-29 14:28:32.242 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_11 +2024-06-29 14:28:32.243 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_8 +2024-06-29 14:28:32.243 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_8 +2024-06-29 14:28:32.244 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_15 +2024-06-29 14:28:32.245 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_12 +2024-06-29 14:28:32.248 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_9 +2024-06-29 14:28:32.248 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_9 +2024-06-29 14:28:32.251 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_16 +2024-06-29 14:28:32.252 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_17 +2024-06-29 14:28:32.257 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_13 +2024-06-29 14:28:32.258 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_10 +2024-06-29 14:28:32.261 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_18 +2024-06-29 14:28:32.262 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_1 +2024-06-29 14:28:32.271 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addGroupUsingPOST_1 +2024-06-29 14:28:32.272 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: categoryUsingPOST_1 +2024-06-29 14:28:32.273 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteFilesUsingPOST_1 +2024-06-29 14:28:32.273 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteGroupUsingPOST_1 +2024-06-29 14:28:32.273 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editGroupUsingPOST_1 +2024-06-29 14:28:32.277 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: listsUsingPOST_1 +2024-06-29 14:28:32.277 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: moveFilesUsingPOST_1 +2024-06-29 14:28:32.278 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_19 +2024-06-29 14:28:32.282 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_14 +2024-06-29 14:28:32.283 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_10 +2024-06-29 14:28:32.283 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteFilesUsingPOST_2 +2024-06-29 14:28:32.283 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_11 +2024-06-29 14:28:32.285 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_20 +2024-06-29 14:28:32.287 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: moveFilesUsingPOST_2 +2024-06-29 14:28:32.288 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_21 +2024-06-29 14:28:32.289 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: listUsingPOST_1 +2024-06-29 14:28:32.294 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_22 +2024-06-29 14:28:32.296 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_23 +2024-06-29 14:28:32.300 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_24 +2024-06-29 14:28:32.301 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_25 +2024-06-29 14:28:32.303 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_15 +2024-06-29 14:28:32.304 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_1 +2024-06-29 14:28:32.304 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_12 +2024-06-29 14:28:32.305 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_26 +2024-06-29 14:28:32.306 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: repulseAuditUsingPOST_1 +2024-06-29 14:28:32.308 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_16 +2024-06-29 14:28:32.308 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_11 +2024-06-29 14:28:32.309 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_13 +2024-06-29 14:28:32.312 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_27 +2024-06-29 14:28:32.315 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_17 +2024-06-29 14:28:32.316 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_12 +2024-06-29 14:28:32.316 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_14 +2024-06-29 14:28:32.318 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_28 +2024-06-29 14:28:32.319 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_18 +2024-06-29 14:28:32.320 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_29 +2024-06-29 14:28:32.323 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_30 +2024-06-29 14:28:32.325 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_19 +2024-06-29 14:28:32.325 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_1 +2024-06-29 14:28:32.326 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_31 +2024-06-29 14:28:32.327 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_1 +2024-06-29 14:28:32.328 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_32 +2024-06-29 14:28:32.330 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_20 +2024-06-29 14:28:32.330 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_2 +2024-06-29 14:28:32.331 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_33 +2024-06-29 14:28:32.337 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: loginUsingPOST_1 +2024-06-29 14:28:32.338 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: logoutUsingPOST_1 +2024-06-29 14:28:32.339 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_34 +2024-06-29 14:28:32.341 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_21 +2024-06-29 14:28:32.342 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_13 +2024-06-29 14:28:32.342 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_15 +2024-06-29 14:28:32.343 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_35 +2024-06-29 14:28:32.344 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_2 +2024-06-29 14:28:32.348 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_22 +2024-06-29 14:28:32.348 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_14 +2024-06-29 14:28:32.349 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_16 +2024-06-29 14:28:32.353 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_36 +2024-06-29 14:28:32.353 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: stateUsingPOST_1 +2024-06-29 14:28:32.353 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_1 +2024-06-29 14:28:32.354 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_3 +2024-06-29 14:28:32.355 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_23 +2024-06-29 14:28:32.356 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_2 +2024-06-29 14:28:32.357 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_2 +2024-06-29 14:28:32.358 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_17 +2024-06-29 14:28:32.358 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_37 +2024-06-29 14:28:32.360 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_3 +2024-06-29 14:28:32.361 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_18 +2024-06-29 14:28:32.361 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_38 +2024-06-29 14:28:32.363 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addStorageUsingPOST_1 +2024-06-29 14:28:32.363 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_4 +2024-06-29 14:28:32.364 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_3 +2024-06-29 14:28:32.365 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_19 +2024-06-29 14:28:32.365 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_39 +2024-06-29 14:28:32.366 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_40 +2024-06-29 14:28:32.367 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_24 +2024-06-29 14:28:32.368 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_20 +2024-06-29 14:28:32.368 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_3 +2024-06-29 14:28:32.372 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_25 +2024-06-29 14:28:32.372 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_15 +2024-06-29 14:28:32.373 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_21 +2024-06-29 14:28:32.374 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_41 +2024-06-29 14:28:32.374 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_2 +2024-06-29 14:28:32.375 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_4 +2024-06-29 14:28:32.376 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: scanIndexUsingPOST_1 +2024-06-29 14:28:32.378 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_42 +2024-06-29 14:28:32.378 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_1 +2024-06-29 14:28:32.380 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_26 +2024-06-29 14:28:32.380 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_16 +2024-06-29 14:28:32.381 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_22 +2024-06-29 14:28:32.385 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_43 +2024-06-29 14:28:32.387 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_27 +2024-06-29 14:28:32.388 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_17 +2024-06-29 14:28:32.388 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_23 +2024-06-29 14:28:32.390 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_44 +2024-06-29 14:28:32.390 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_3 +2024-06-29 14:28:32.391 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_5 +2024-06-29 14:28:32.393 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_28 +2024-06-29 14:28:32.393 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_18 +2024-06-29 14:28:32.393 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_24 +2024-06-29 14:28:32.396 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_45 +2024-06-29 14:28:32.397 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_46 +2024-06-29 14:28:32.397 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_2 +2024-06-29 14:28:32.398 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_29 +2024-06-29 14:28:32.399 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_47 +2024-06-29 14:28:32.400 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_48 +2024-06-29 14:28:32.400 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_49 +2024-06-29 14:28:32.401 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_3 +2024-06-29 14:28:32.404 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_30 +2024-06-29 14:28:32.404 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_19 +2024-06-29 14:28:32.404 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_25 +2024-06-29 14:28:32.407 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_50 +2024-06-29 14:28:32.408 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_2 +2024-06-29 14:28:32.408 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_4 +2024-06-29 14:28:32.409 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_6 +2024-06-29 14:28:32.412 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_31 +2024-06-29 14:28:32.413 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_20 +2024-06-29 14:28:32.413 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_26 +2024-06-29 14:28:32.417 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_51 +2024-06-29 14:28:32.417 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_3 +2024-06-29 14:28:32.417 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_7 +2024-06-29 14:28:32.418 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_52 +2024-06-29 14:28:32.419 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_4 +2024-06-29 14:28:32.420 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_32 +2024-06-29 14:28:32.421 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_21 +2024-06-29 14:28:32.421 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_27 +2024-06-29 14:28:32.423 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_53 +2024-06-29 14:28:32.425 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: uploadUsingPOST_1 +2024-06-29 14:28:32.442 INFO [main] [] net.jjjerp.SpringBootJjjApplication 61 : Started SpringBootJjjApplication in 9.445 seconds (JVM running for 9.946) +2024-06-29 14:28:32.444 INFO [main] [] n.j.framework.util.PrintApplicationInfo 61 : projectFinalName : jjj-erp-1.0 +2024-06-29 14:28:32.444 INFO [main] [] n.j.framework.util.PrintApplicationInfo 62 : projectVersion : 1.0 +2024-06-29 14:28:32.444 INFO [main] [] n.j.framework.util.PrintApplicationInfo 63 : profileActive : prod +2024-06-29 14:28:32.444 INFO [main] [] n.j.framework.util.PrintApplicationInfo 64 : contextPath : /api +2024-06-29 14:28:32.444 INFO [main] [] n.j.framework.util.PrintApplicationInfo 65 : serverIp : http://erp3.huadeng.fun +2024-06-29 14:28:32.444 INFO [main] [] n.j.framework.util.PrintApplicationInfo 66 : port : 8892 +2024-06-29 14:28:32.445 INFO [main] [] n.j.framework.util.PrintApplicationInfo 81 : Home: http://erp3.huadeng.fun/api +2024-06-29 14:28:32.445 INFO [main] [] n.j.framework.util.PrintApplicationInfo 82 : Knife4j: http://erp3.huadeng.fun/api/doc.html +2024-06-29 14:28:32.445 INFO [main] [] n.j.framework.util.PrintApplicationInfo 83 : Swagger: http://erp3.huadeng.fun/api/swagger-ui.html +2024-06-29 14:28:32.445 INFO [main] [] n.j.framework.util.PrintApplicationInfo 84 : jjj-erp 启动成功........... + ____ __ __ ____ +/\ _`\ /\ \__ /\ \__ /\ _`\ +\ \,\L\_\ \ ,_\ __ _ __\ \ ,_\ \ \,\L\_\ __ __ ___ ___ __ ____ ____ + \/_\__ \\ \ \/ /'__`\ /\`'__\ \ \/ \/_\__ \ /\ \/\ \ /'___\ /'___\ /'__`\ /',__\ /',__\ + /\ \L\ \ \ \_/\ \L\.\_\ \ \/ \ \ \_ /\ \L\ \ \ \_\ \/\ \__//\ \__//\ __//\__, `\/\__, `\ + \ `\____\ \__\ \__/.\_\\ \_\ \ \__\ \ `\____\ \____/\ \____\ \____\ \____\/\____/\/\____/ + \/_____/\/__/\/__/\/_/ \/_/ \/__/ \/_____/\/___/ \/____/\/____/\/____/\/___/ \/___/ + + +2024-06-29 14:28:34.781 INFO [http-nio-8892-exec-1] [] o.a.c.c.C.[Tomcat].[localhost].[/api] 173 : Initializing Spring DispatcherServlet 'dispatcherServlet' +2024-06-29 14:28:34.781 INFO [http-nio-8892-exec-1] [] o.s.web.servlet.DispatcherServlet 525 : Initializing Servlet 'dispatcherServlet' +2024-06-29 14:28:34.800 INFO [http-nio-8892-exec-1] [] o.s.web.servlet.DispatcherServlet 547 : Completed initialization in 19 ms +2024-06-29 14:28:46.992 INFO [http-nio-8892-exec-2] [1806937839693361153] com.zaxxer.hikari.HikariDataSource 110 : HikariPool-1 - Starting... +2024-06-29 14:28:47.088 INFO [http-nio-8892-exec-2] [1806937839693361153] com.zaxxer.hikari.HikariDataSource 123 : HikariPool-1 - Start completed. +2024-06-29 14:30:35.051 INFO [lettuce-nioEventLoop-4-1] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 14:30:35.159 INFO [lettuce-eventExecutorLoop-1-6] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 14:30:35.165 INFO [lettuce-nioEventLoop-4-2] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 14:31:41.050 INFO [lettuce-nioEventLoop-4-2] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 14:31:41.054 INFO [lettuce-eventExecutorLoop-1-8] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 14:31:41.056 INFO [lettuce-nioEventLoop-4-3] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 14:32:47.046 INFO [lettuce-nioEventLoop-4-3] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 14:32:47.054 INFO [lettuce-eventExecutorLoop-1-2] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 14:32:47.056 INFO [lettuce-nioEventLoop-4-4] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 14:33:53.061 INFO [lettuce-nioEventLoop-4-4] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 14:33:53.154 INFO [lettuce-eventExecutorLoop-1-4] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 14:33:53.156 INFO [lettuce-nioEventLoop-4-5] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 14:34:59.090 INFO [lettuce-nioEventLoop-4-5] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 14:34:59.154 INFO [lettuce-eventExecutorLoop-1-6] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 14:34:59.156 INFO [lettuce-nioEventLoop-4-6] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 14:35:09.716 WARN [http-nio-8892-exec-4] [1806939445214212097] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@57a2131d (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 14:35:09.718 WARN [http-nio-8892-exec-4] [1806939445214212097] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@53a1e8cc (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 14:35:09.719 WARN [http-nio-8892-exec-4] [1806939445214212097] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@19edf1ea (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 14:35:09.720 WARN [http-nio-8892-exec-4] [1806939445214212097] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@62785979 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 14:35:09.720 WARN [http-nio-8892-exec-4] [1806939445214212097] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@444f6955 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 14:35:09.721 WARN [http-nio-8892-exec-4] [1806939445214212097] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@18740e98 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 14:35:09.722 WARN [http-nio-8892-exec-4] [1806939445214212097] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@6ee0dedd (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 14:35:09.723 WARN [http-nio-8892-exec-4] [1806939445214212097] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@4ef3f1e9 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 14:35:09.724 WARN [http-nio-8892-exec-4] [1806939445214212097] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@71c92ca3 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 14:35:09.725 WARN [http-nio-8892-exec-4] [1806939445214212097] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@49f1fccc (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 14:37:57.104 INFO [lettuce-nioEventLoop-4-6] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 14:37:57.168 INFO [lettuce-eventExecutorLoop-1-1] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 14:37:57.170 INFO [lettuce-nioEventLoop-4-7] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 14:39:03.013 INFO [lettuce-nioEventLoop-4-7] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 14:39:03.060 INFO [lettuce-eventExecutorLoop-1-3] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 14:39:03.062 INFO [lettuce-nioEventLoop-4-8] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 14:39:17.900 WARN [http-nio-8892-exec-7] [1806940486181744642] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@1cd6f71d (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 14:39:17.900 WARN [http-nio-8892-exec-6] [1806940486181744643] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@70a21478 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 14:39:17.902 WARN [http-nio-8892-exec-6] [1806940486181744643] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@5f04415d (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 14:39:17.902 WARN [http-nio-8892-exec-7] [1806940486181744642] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@2c1e4b0d (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 14:39:17.904 WARN [http-nio-8892-exec-6] [1806940486181744643] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@3aa74690 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 14:39:17.904 WARN [http-nio-8892-exec-7] [1806940486181744642] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@528b8975 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 14:39:17.905 WARN [http-nio-8892-exec-6] [1806940486181744643] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@482761e4 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 14:39:17.906 WARN [http-nio-8892-exec-7] [1806940486181744642] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@c93f60a (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 14:39:17.910 WARN [http-nio-8892-exec-6] [1806940486181744643] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@62a8060e (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 14:39:17.910 WARN [http-nio-8892-exec-7] [1806940486181744642] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@36acacf8 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 14:40:23.103 INFO [lettuce-nioEventLoop-4-8] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 14:40:23.154 INFO [lettuce-eventExecutorLoop-1-2] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 14:40:23.156 INFO [lettuce-nioEventLoop-4-1] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 14:40:36.740 ERROR [http-nio-8892-exec-10] [] n.jjjerp.handler.GlobalExceptionHandler 233 : 异常来源:ip: 192.168.31.226, path: /api/admin/product/base/category/index +2024-06-29 14:40:36.741 ERROR [http-nio-8892-exec-10] [] n.jjjerp.handler.GlobalExceptionHandler 257 : errorCode: 5001, errorMessage: 请求参数校验异常 + +org.springframework.http.converter.HttpMessageNotReadableException: Required request body is missing: public net.jjjerp.framework.common.api.ApiResult> net.jjjerp.admin.controller.product.base.CategoryController.index(net.jjjerp.common.param.product.CategoryParam) + at org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.readWithMessageConverters(RequestResponseBodyMethodProcessor.java:161) + at org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.resolveArgument(RequestResponseBodyMethodProcessor.java:131) + at org.springframework.web.method.support.HandlerMethodArgumentResolverComposite.resolveArgument(HandlerMethodArgumentResolverComposite.java:121) + at org.springframework.web.method.support.InvocableHandlerMethod.getMethodArgumentValues(InvocableHandlerMethod.java:167) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:134) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:652) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:112) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) + at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 14:41:03.204 ERROR [http-nio-8892-exec-16] [] n.jjjerp.handler.GlobalExceptionHandler 233 : 异常来源:ip: 192.168.31.226, path: /api/admin/product/base/category/index +2024-06-29 14:41:03.204 ERROR [http-nio-8892-exec-16] [] n.jjjerp.handler.GlobalExceptionHandler 257 : errorCode: 5001, errorMessage: 请求参数校验异常 + +org.springframework.http.converter.HttpMessageNotReadableException: Required request body is missing: public net.jjjerp.framework.common.api.ApiResult> net.jjjerp.admin.controller.product.base.CategoryController.index(net.jjjerp.common.param.product.CategoryParam) + at org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.readWithMessageConverters(RequestResponseBodyMethodProcessor.java:161) + at org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.resolveArgument(RequestResponseBodyMethodProcessor.java:131) + at org.springframework.web.method.support.HandlerMethodArgumentResolverComposite.resolveArgument(HandlerMethodArgumentResolverComposite.java:121) + at org.springframework.web.method.support.InvocableHandlerMethod.getMethodArgumentValues(InvocableHandlerMethod.java:167) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:134) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:652) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:112) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) + at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 14:41:06.552 ERROR [http-nio-8892-exec-20] [] n.jjjerp.handler.GlobalExceptionHandler 233 : 异常来源:ip: 192.168.31.226, path: /api/admin/product/base/category/index +2024-06-29 14:41:06.553 ERROR [http-nio-8892-exec-20] [] n.jjjerp.handler.GlobalExceptionHandler 257 : errorCode: 5001, errorMessage: 请求参数校验异常 + +org.springframework.http.converter.HttpMessageNotReadableException: Required request body is missing: public net.jjjerp.framework.common.api.ApiResult> net.jjjerp.admin.controller.product.base.CategoryController.index(net.jjjerp.common.param.product.CategoryParam) + at org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.readWithMessageConverters(RequestResponseBodyMethodProcessor.java:161) + at org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.resolveArgument(RequestResponseBodyMethodProcessor.java:131) + at org.springframework.web.method.support.HandlerMethodArgumentResolverComposite.resolveArgument(HandlerMethodArgumentResolverComposite.java:121) + at org.springframework.web.method.support.InvocableHandlerMethod.getMethodArgumentValues(InvocableHandlerMethod.java:167) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:134) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:652) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:112) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) + at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.xss.XssFilter.doFilter(XssFilter.java:25) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at net.jjjerp.framework.core.filter.RequestDetailFilter.doFilter(RequestDetailFilter.java:73) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 14:42:15.326 WARN [http-nio-8892-exec-25] [1806941230343548932] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@3fc62e3b (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 14:42:17.097 WARN [http-nio-8892-exec-2] [1806941237796827139] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@2f68595e (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 14:42:17.099 WARN [http-nio-8892-exec-28] [1806941237796827137] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@641094b9 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 14:43:47.089 INFO [lettuce-nioEventLoop-4-1] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 14:43:47.153 INFO [lettuce-eventExecutorLoop-1-3] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 14:43:47.155 INFO [lettuce-nioEventLoop-4-2] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 14:44:53.067 INFO [lettuce-nioEventLoop-4-2] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 14:44:53.160 INFO [lettuce-eventExecutorLoop-1-5] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 14:44:53.161 INFO [lettuce-nioEventLoop-4-3] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 14:45:59.070 INFO [lettuce-nioEventLoop-4-3] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 14:45:59.155 INFO [lettuce-eventExecutorLoop-1-7] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 14:45:59.156 INFO [lettuce-nioEventLoop-4-4] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 14:47:05.085 INFO [lettuce-nioEventLoop-4-4] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 14:47:05.164 INFO [lettuce-eventExecutorLoop-1-1] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 14:47:05.165 INFO [lettuce-nioEventLoop-4-5] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 14:48:11.106 INFO [lettuce-nioEventLoop-4-5] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 14:48:11.154 INFO [lettuce-eventExecutorLoop-1-3] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 14:48:11.155 INFO [lettuce-nioEventLoop-4-6] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 14:49:17.072 INFO [lettuce-nioEventLoop-4-6] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 14:49:17.154 INFO [lettuce-eventExecutorLoop-1-5] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 14:49:17.155 INFO [lettuce-nioEventLoop-4-7] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 14:50:23.058 INFO [lettuce-nioEventLoop-4-7] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 14:50:23.155 INFO [lettuce-eventExecutorLoop-1-7] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 14:50:23.156 INFO [lettuce-nioEventLoop-4-8] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 14:51:17.489 INFO [SpringContextShutdownHook] [] net.jjjerp.framework.core.xss.XssFilter 30 : XssFilter destroy +2024-06-29 14:51:17.489 INFO [SpringContextShutdownHook] [] n.j.f.core.filter.RequestDetailFilter 116 : RequestDetailFilter destroy +2024-06-29 14:51:17.497 INFO [SpringContextShutdownHook] [] o.s.s.c.ThreadPoolTaskScheduler 218 : Shutting down ExecutorService 'taskScheduler' +2024-06-29 14:51:17.498 INFO [SpringContextShutdownHook] [] o.s.s.concurrent.ThreadPoolTaskExecutor 218 : Shutting down ExecutorService 'applicationTaskExecutor' +2024-06-29 14:51:17.505 INFO [SpringContextShutdownHook] [] com.zaxxer.hikari.HikariDataSource 350 : HikariPool-1 - Shutdown initiated... +2024-06-29 14:51:17.507 INFO [SpringContextShutdownHook] [] com.zaxxer.hikari.HikariDataSource 352 : HikariPool-1 - Shutdown completed. +2024-06-29 14:51:24.652 INFO [background-preinit] [] o.h.validator.internal.util.Version 21 : HV000001: Hibernate Validator 6.1.7.Final +2024-06-29 14:51:24.657 INFO [main] [] net.jjjerp.SpringBootJjjApplication 55 : Starting SpringBootJjjApplication on OS-20230506YKNI with PID 9016 (D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\bootstrap\target\classes started by Administrator in D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp) +2024-06-29 14:51:24.657 INFO [main] [] net.jjjerp.SpringBootJjjApplication 652 : The following profiles are active: prod +2024-06-29 14:51:25.733 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 249 : Multiple Spring Data modules found, entering strict repository configuration mode! +2024-06-29 14:51:25.735 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 127 : Bootstrapping Spring Data Redis repositories in DEFAULT mode. +2024-06-29 14:51:25.812 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 187 : Finished Spring Data repository scanning in 67ms. Found 0 Redis repository interfaces. +2024-06-29 14:51:26.007 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.ShiroConfig' of type [net.jjjerp.config.ShiroConfig$$EnhancerBySpringCGLIB$$55618bb4] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-29 14:51:26.084 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.properties.JwtProperties' of type [net.jjjerp.config.properties.JwtProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-29 14:51:26.086 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.RedisTemplateConfig' of type [net.jjjerp.config.RedisTemplateConfig$$EnhancerBySpringCGLIB$$24c69658] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-29 14:51:26.097 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'spring.redis-org.springframework.boot.autoconfigure.data.redis.RedisProperties' of type [org.springframework.boot.autoconfigure.data.redis.RedisProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-29 14:51:26.100 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration' of type [org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-29 14:51:26.157 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'lettuceClientResources' of type [io.lettuce.core.resource.DefaultClientResources] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-29 14:51:26.239 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'redisConnectionFactory' of type [org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-29 14:51:26.282 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'redisTemplate' of type [org.springframework.data.redis.core.RedisTemplate] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-29 14:51:26.283 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.cache.impl.AdminLoginRedisServiceImpl' of type [net.jjjerp.framework.shiro.cache.impl.AdminLoginRedisServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-29 14:51:26.287 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.cache.impl.ShopLoginRedisServiceImpl' of type [net.jjjerp.framework.shiro.cache.impl.ShopLoginRedisServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-29 14:51:26.391 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'credentialsMatcher' of type [net.jjjerp.framework.shiro.jwt.JwtCredentialsMatcher] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-29 14:51:26.397 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'jwtRealm' of type [net.jjjerp.framework.shiro.jwt.JwtRealm] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-29 14:51:26.398 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'sessionStorageEvaluator' of type [org.apache.shiro.web.mgt.DefaultWebSessionStorageEvaluator] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-29 14:51:26.398 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'subjectDAO' of type [org.apache.shiro.mgt.DefaultSubjectDAO] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-29 14:51:26.401 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'securityManager' of type [org.apache.shiro.web.mgt.DefaultWebSecurityManager] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-29 14:51:26.419 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.service.impl.ShiroLoginServiceImpl' of type [net.jjjerp.framework.shiro.service.impl.ShiroLoginServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-29 14:51:26.425 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'spring-boot-jjj.shiro-net.jjjerp.config.properties.ShiroProperties' of type [net.jjjerp.config.properties.ShiroProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-29 14:51:26.494 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'authorizationAttributeSourceAdvisor' of type [org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-29 14:51:26.605 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.RedisCacheConfig' of type [net.jjjerp.config.RedisCacheConfig$$EnhancerBySpringCGLIB$$da036d5a] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-29 14:51:26.954 INFO [main] [] o.s.b.w.embedded.tomcat.TomcatWebServer 108 : Tomcat initialized with port(s): 8892 (http) +2024-06-29 14:51:26.979 INFO [main] [] o.a.coyote.http11.Http11NioProtocol 173 : Initializing ProtocolHandler ["http-nio-8892"] +2024-06-29 14:51:26.980 INFO [main] [] o.apache.catalina.core.StandardService 173 : Starting service [Tomcat] +2024-06-29 14:51:26.981 INFO [main] [] org.apache.catalina.core.StandardEngine 173 : Starting Servlet engine: [Apache Tomcat/9.0.46] +2024-06-29 14:51:27.126 INFO [main] [] o.a.c.c.C.[Tomcat].[localhost].[/api] 173 : Initializing Spring embedded WebApplicationContext +2024-06-29 14:51:27.126 INFO [main] [] w.s.c.ServletWebServerApplicationContext 285 : Root WebApplicationContext: initialization completed in 2421 ms +2024-06-29 14:51:27.273 INFO [main] [] net.jjjerp.framework.core.xss.XssFilter 18 : XssFilter init +2024-06-29 14:51:27.273 INFO [main] [] n.j.f.core.filter.RequestDetailFilter 30 : RequestDetailFilter init +2024-06-29 14:51:30.336 INFO [main] [] org.reflections.Reflections 228 : Reflections took 26 ms to scan 1 urls, producing 0 keys and 0 values +2024-06-29 14:51:30.427 INFO [main] [] net.jjjerp.framework.shiro.util.JwtUtil 33 : {"audience":"web","expireSecond":36000,"issuer":"spring-boot-jjj","redisCheck":true,"refreshToken":true,"refreshTokenCountdown":600,"saltCheck":true,"secret":"888888","singleLogin":false,"tokenName":"token"} +2024-06-29 14:51:33.090 INFO [main] [] pertySourcedRequestMappingHandlerMapping 69 : Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2Controller#getDocumentation(String, HttpServletRequest)] +2024-06-29 14:51:33.108 INFO [main] [] net.jjjerp.config.Swagger2Config 149 : swagger scan basePackages:null +2024-06-29 14:51:33.235 INFO [main] [] o.s.s.concurrent.ThreadPoolTaskExecutor 181 : Initializing ExecutorService 'applicationTaskExecutor' +2024-06-29 14:51:33.308 INFO [main] [] o.s.b.a.w.s.WelcomePageHandlerMapping 53 : Adding welcome page: class path resource [static/index.html] +2024-06-29 14:51:33.473 INFO [main] [] o.s.s.c.ThreadPoolTaskScheduler 181 : Initializing ExecutorService 'taskScheduler' +2024-06-29 14:51:33.585 INFO [main] [] o.a.coyote.http11.Http11NioProtocol 173 : Starting ProtocolHandler ["http-nio-8892"] +2024-06-29 14:51:33.608 INFO [main] [] o.s.b.w.embedded.tomcat.TomcatWebServer 220 : Tomcat started on port(s): 8892 (http) with context path '/api' +2024-06-29 14:51:33.609 INFO [main] [] d.s.w.p.DocumentationPluginsBootstrapper 160 : Context refreshed +2024-06-29 14:51:33.615 INFO [main] [] d.s.w.p.DocumentationPluginsBootstrapper 163 : Found 1 custom documentation plugin(s) +2024-06-29 14:51:33.652 INFO [main] [] s.d.s.w.s.ApiListingReferenceScanner 41 : Scanning for api listing references +2024-06-29 14:51:33.754 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_1 +2024-06-29 14:51:33.755 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_1 +2024-06-29 14:51:33.756 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_1 +2024-06-29 14:51:33.772 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_1 +2024-06-29 14:51:33.806 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_2 +2024-06-29 14:51:33.808 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_2 +2024-06-29 14:51:33.810 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_3 +2024-06-29 14:51:33.811 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_3 +2024-06-29 14:51:33.814 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_4 +2024-06-29 14:51:33.814 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_4 +2024-06-29 14:51:33.815 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexOutUsingPOST_1 +2024-06-29 14:51:33.818 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_5 +2024-06-29 14:51:33.826 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_5 +2024-06-29 14:51:33.826 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_2 +2024-06-29 14:51:33.827 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_2 +2024-06-29 14:51:33.842 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_6 +2024-06-29 14:51:33.844 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_7 +2024-06-29 14:51:33.848 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_8 +2024-06-29 14:51:33.880 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_6 +2024-06-29 14:51:33.881 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_3 +2024-06-29 14:51:33.881 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_3 +2024-06-29 14:51:33.887 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_9 +2024-06-29 14:51:33.891 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_10 +2024-06-29 14:51:33.894 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_7 +2024-06-29 14:51:33.894 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_4 +2024-06-29 14:51:33.895 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_4 +2024-06-29 14:51:33.897 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_11 +2024-06-29 14:51:33.902 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_8 +2024-06-29 14:51:33.902 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_5 +2024-06-29 14:51:33.903 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_5 +2024-06-29 14:51:33.907 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_12 +2024-06-29 14:51:33.910 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_9 +2024-06-29 14:51:33.911 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_6 +2024-06-29 14:51:33.911 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_6 +2024-06-29 14:51:33.914 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_13 +2024-06-29 14:51:33.915 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_1 +2024-06-29 14:51:33.916 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_10 +2024-06-29 14:51:33.917 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_7 +2024-06-29 14:51:33.917 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_7 +2024-06-29 14:51:33.918 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_14 +2024-06-29 14:51:33.920 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_11 +2024-06-29 14:51:33.920 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_8 +2024-06-29 14:51:33.921 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_8 +2024-06-29 14:51:33.922 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_15 +2024-06-29 14:51:33.923 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_12 +2024-06-29 14:51:33.925 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_9 +2024-06-29 14:51:33.926 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_9 +2024-06-29 14:51:33.929 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_16 +2024-06-29 14:51:33.930 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_17 +2024-06-29 14:51:33.935 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_13 +2024-06-29 14:51:33.936 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_10 +2024-06-29 14:51:33.939 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_18 +2024-06-29 14:51:33.940 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_1 +2024-06-29 14:51:33.949 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addGroupUsingPOST_1 +2024-06-29 14:51:33.950 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: categoryUsingPOST_1 +2024-06-29 14:51:33.950 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteFilesUsingPOST_1 +2024-06-29 14:51:33.951 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteGroupUsingPOST_1 +2024-06-29 14:51:33.951 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editGroupUsingPOST_1 +2024-06-29 14:51:33.955 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: listsUsingPOST_1 +2024-06-29 14:51:33.955 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: moveFilesUsingPOST_1 +2024-06-29 14:51:33.957 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_19 +2024-06-29 14:51:33.960 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_20 +2024-06-29 14:51:33.964 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_14 +2024-06-29 14:51:33.965 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_10 +2024-06-29 14:51:33.965 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteFilesUsingPOST_2 +2024-06-29 14:51:33.966 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_11 +2024-06-29 14:51:33.966 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_21 +2024-06-29 14:51:33.966 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: listUsingPOST_1 +2024-06-29 14:51:33.967 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: moveFilesUsingPOST_2 +2024-06-29 14:51:33.972 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_22 +2024-06-29 14:51:33.975 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_23 +2024-06-29 14:51:33.978 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_24 +2024-06-29 14:51:33.979 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_25 +2024-06-29 14:51:33.981 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_15 +2024-06-29 14:51:33.981 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_1 +2024-06-29 14:51:33.982 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_12 +2024-06-29 14:51:33.983 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_26 +2024-06-29 14:51:33.983 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: repulseAuditUsingPOST_1 +2024-06-29 14:51:33.985 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_16 +2024-06-29 14:51:33.986 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_11 +2024-06-29 14:51:33.986 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_13 +2024-06-29 14:51:33.989 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_27 +2024-06-29 14:51:33.992 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_17 +2024-06-29 14:51:33.993 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_12 +2024-06-29 14:51:33.993 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_14 +2024-06-29 14:51:33.995 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_28 +2024-06-29 14:51:33.996 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_18 +2024-06-29 14:51:33.997 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_29 +2024-06-29 14:51:34.000 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_30 +2024-06-29 14:51:34.001 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_19 +2024-06-29 14:51:34.002 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_1 +2024-06-29 14:51:34.002 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_31 +2024-06-29 14:51:34.004 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_1 +2024-06-29 14:51:34.005 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_32 +2024-06-29 14:51:34.006 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_20 +2024-06-29 14:51:34.006 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_2 +2024-06-29 14:51:34.007 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_33 +2024-06-29 14:51:34.014 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: loginUsingPOST_1 +2024-06-29 14:51:34.014 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: logoutUsingPOST_1 +2024-06-29 14:51:34.015 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_34 +2024-06-29 14:51:34.018 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_21 +2024-06-29 14:51:34.018 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_13 +2024-06-29 14:51:34.018 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_15 +2024-06-29 14:51:34.019 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_35 +2024-06-29 14:51:34.021 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_2 +2024-06-29 14:51:34.024 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_22 +2024-06-29 14:51:34.025 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_14 +2024-06-29 14:51:34.026 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_16 +2024-06-29 14:51:34.030 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_36 +2024-06-29 14:51:34.030 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: stateUsingPOST_1 +2024-06-29 14:51:34.030 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_1 +2024-06-29 14:51:34.031 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_3 +2024-06-29 14:51:34.032 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_23 +2024-06-29 14:51:34.033 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_2 +2024-06-29 14:51:34.034 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_2 +2024-06-29 14:51:34.035 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_17 +2024-06-29 14:51:34.036 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_37 +2024-06-29 14:51:34.037 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_3 +2024-06-29 14:51:34.038 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_18 +2024-06-29 14:51:34.038 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_38 +2024-06-29 14:51:34.039 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addStorageUsingPOST_1 +2024-06-29 14:51:34.040 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_4 +2024-06-29 14:51:34.041 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_3 +2024-06-29 14:51:34.042 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_19 +2024-06-29 14:51:34.042 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_39 +2024-06-29 14:51:34.043 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_40 +2024-06-29 14:51:34.044 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_24 +2024-06-29 14:51:34.045 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_20 +2024-06-29 14:51:34.045 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_3 +2024-06-29 14:51:34.048 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_25 +2024-06-29 14:51:34.048 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_15 +2024-06-29 14:51:34.048 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_21 +2024-06-29 14:51:34.050 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_41 +2024-06-29 14:51:34.051 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_2 +2024-06-29 14:51:34.052 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_4 +2024-06-29 14:51:34.054 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: scanIndexUsingPOST_1 +2024-06-29 14:51:34.055 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_42 +2024-06-29 14:51:34.055 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_1 +2024-06-29 14:51:34.057 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_26 +2024-06-29 14:51:34.058 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_16 +2024-06-29 14:51:34.058 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_22 +2024-06-29 14:51:34.062 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_43 +2024-06-29 14:51:34.065 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_27 +2024-06-29 14:51:34.066 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_17 +2024-06-29 14:51:34.067 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_23 +2024-06-29 14:51:34.068 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_44 +2024-06-29 14:51:34.069 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_3 +2024-06-29 14:51:34.069 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_5 +2024-06-29 14:51:34.071 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_28 +2024-06-29 14:51:34.071 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_18 +2024-06-29 14:51:34.072 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_24 +2024-06-29 14:51:34.073 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_45 +2024-06-29 14:51:34.074 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_46 +2024-06-29 14:51:34.074 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_2 +2024-06-29 14:51:34.076 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_29 +2024-06-29 14:51:34.076 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_47 +2024-06-29 14:51:34.077 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_48 +2024-06-29 14:51:34.078 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_49 +2024-06-29 14:51:34.078 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_3 +2024-06-29 14:51:34.081 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_30 +2024-06-29 14:51:34.081 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_19 +2024-06-29 14:51:34.082 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_25 +2024-06-29 14:51:34.085 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_50 +2024-06-29 14:51:34.086 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_2 +2024-06-29 14:51:34.086 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_4 +2024-06-29 14:51:34.086 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_6 +2024-06-29 14:51:34.090 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_31 +2024-06-29 14:51:34.090 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_20 +2024-06-29 14:51:34.090 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_26 +2024-06-29 14:51:34.094 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_51 +2024-06-29 14:51:34.095 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_3 +2024-06-29 14:51:34.095 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_7 +2024-06-29 14:51:34.096 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_52 +2024-06-29 14:51:34.096 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_4 +2024-06-29 14:51:34.099 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_32 +2024-06-29 14:51:34.100 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_21 +2024-06-29 14:51:34.101 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_27 +2024-06-29 14:51:34.102 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_53 +2024-06-29 14:51:34.105 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: uploadUsingPOST_1 +2024-06-29 14:51:34.123 INFO [main] [] net.jjjerp.SpringBootJjjApplication 61 : Started SpringBootJjjApplication in 9.885 seconds (JVM running for 10.427) +2024-06-29 14:51:34.126 INFO [main] [] n.j.framework.util.PrintApplicationInfo 61 : projectFinalName : jjj-erp-1.0 +2024-06-29 14:51:34.126 INFO [main] [] n.j.framework.util.PrintApplicationInfo 62 : projectVersion : 1.0 +2024-06-29 14:51:34.126 INFO [main] [] n.j.framework.util.PrintApplicationInfo 63 : profileActive : prod +2024-06-29 14:51:34.126 INFO [main] [] n.j.framework.util.PrintApplicationInfo 64 : contextPath : /api +2024-06-29 14:51:34.126 INFO [main] [] n.j.framework.util.PrintApplicationInfo 65 : serverIp : http://erp3.huadeng.fun +2024-06-29 14:51:34.127 INFO [main] [] n.j.framework.util.PrintApplicationInfo 66 : port : 8892 +2024-06-29 14:51:34.127 INFO [main] [] n.j.framework.util.PrintApplicationInfo 81 : Home: http://erp3.huadeng.fun/api +2024-06-29 14:51:34.127 INFO [main] [] n.j.framework.util.PrintApplicationInfo 82 : Knife4j: http://erp3.huadeng.fun/api/doc.html +2024-06-29 14:51:34.127 INFO [main] [] n.j.framework.util.PrintApplicationInfo 83 : Swagger: http://erp3.huadeng.fun/api/swagger-ui.html +2024-06-29 14:51:34.127 INFO [main] [] n.j.framework.util.PrintApplicationInfo 84 : jjj-erp 启动成功........... + ____ __ __ ____ +/\ _`\ /\ \__ /\ \__ /\ _`\ +\ \,\L\_\ \ ,_\ __ _ __\ \ ,_\ \ \,\L\_\ __ __ ___ ___ __ ____ ____ + \/_\__ \\ \ \/ /'__`\ /\`'__\ \ \/ \/_\__ \ /\ \/\ \ /'___\ /'___\ /'__`\ /',__\ /',__\ + /\ \L\ \ \ \_/\ \L\.\_\ \ \/ \ \ \_ /\ \L\ \ \ \_\ \/\ \__//\ \__//\ __//\__, `\/\__, `\ + \ `\____\ \__\ \__/.\_\\ \_\ \ \__\ \ `\____\ \____/\ \____\ \____\ \____\/\____/\/\____/ + \/_____/\/__/\/__/\/_/ \/_/ \/__/ \/_____/\/___/ \/____/\/____/\/____/\/___/ \/___/ + + +2024-06-29 14:51:50.336 INFO [http-nio-8892-exec-2] [] o.a.c.c.C.[Tomcat].[localhost].[/api] 173 : Initializing Spring DispatcherServlet 'dispatcherServlet' +2024-06-29 14:51:50.336 INFO [http-nio-8892-exec-2] [] o.s.web.servlet.DispatcherServlet 525 : Initializing Servlet 'dispatcherServlet' +2024-06-29 14:51:50.344 INFO [http-nio-8892-exec-2] [] o.s.web.servlet.DispatcherServlet 547 : Completed initialization in 8 ms +2024-06-29 14:51:50.711 INFO [http-nio-8892-exec-2] [1806943643712495618] com.zaxxer.hikari.HikariDataSource 110 : HikariPool-1 - Starting... +2024-06-29 14:51:50.817 INFO [http-nio-8892-exec-2] [1806943643712495618] com.zaxxer.hikari.HikariDataSource 123 : HikariPool-1 - Start completed. +2024-06-29 14:53:37.081 INFO [lettuce-nioEventLoop-4-1] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 14:53:37.190 INFO [lettuce-eventExecutorLoop-1-3] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 14:53:37.196 INFO [lettuce-nioEventLoop-4-2] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 14:54:43.027 INFO [lettuce-nioEventLoop-4-2] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 14:54:43.092 INFO [lettuce-eventExecutorLoop-1-5] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 14:54:43.095 INFO [lettuce-nioEventLoop-4-3] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 14:55:49.017 INFO [lettuce-nioEventLoop-4-3] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 14:55:49.085 INFO [lettuce-eventExecutorLoop-1-7] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 14:55:49.088 INFO [lettuce-nioEventLoop-4-4] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 14:56:55.094 INFO [lettuce-nioEventLoop-4-4] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 14:56:55.188 INFO [lettuce-eventExecutorLoop-1-1] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 14:56:55.190 INFO [lettuce-nioEventLoop-4-5] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 14:58:01.051 INFO [lettuce-nioEventLoop-4-5] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 14:58:01.085 INFO [lettuce-eventExecutorLoop-1-3] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 14:58:01.087 INFO [lettuce-nioEventLoop-4-6] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 14:59:07.090 INFO [lettuce-nioEventLoop-4-6] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 14:59:07.185 INFO [lettuce-eventExecutorLoop-1-5] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 14:59:07.187 INFO [lettuce-nioEventLoop-4-7] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 15:00:13.069 INFO [lettuce-nioEventLoop-4-7] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 15:00:13.085 INFO [lettuce-eventExecutorLoop-1-7] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 15:00:13.087 INFO [lettuce-nioEventLoop-4-8] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 15:01:19.040 INFO [lettuce-nioEventLoop-4-8] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 15:01:19.087 INFO [lettuce-eventExecutorLoop-1-1] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 15:01:19.089 INFO [lettuce-nioEventLoop-4-1] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 15:02:25.046 INFO [lettuce-nioEventLoop-4-1] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 15:02:25.092 INFO [lettuce-eventExecutorLoop-1-3] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 15:02:25.093 INFO [lettuce-nioEventLoop-4-2] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 15:03:31.041 INFO [lettuce-nioEventLoop-4-2] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 15:03:31.089 INFO [lettuce-eventExecutorLoop-1-5] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 15:03:31.090 INFO [lettuce-nioEventLoop-4-3] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 15:04:37.089 INFO [lettuce-nioEventLoop-4-3] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 15:04:37.184 INFO [lettuce-eventExecutorLoop-1-7] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 15:04:37.185 INFO [lettuce-nioEventLoop-4-4] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 15:05:43.059 INFO [lettuce-nioEventLoop-4-4] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 15:05:43.090 INFO [lettuce-eventExecutorLoop-1-1] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 15:05:43.092 INFO [lettuce-nioEventLoop-4-5] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 15:06:49.096 INFO [lettuce-nioEventLoop-4-5] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 15:06:49.190 INFO [lettuce-eventExecutorLoop-1-3] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 15:06:49.192 INFO [lettuce-nioEventLoop-4-6] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 15:07:55.022 INFO [lettuce-nioEventLoop-4-6] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 15:07:55.086 INFO [lettuce-eventExecutorLoop-1-5] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 15:07:55.087 INFO [lettuce-nioEventLoop-4-7] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 15:09:01.067 INFO [lettuce-nioEventLoop-4-7] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 15:09:01.084 INFO [lettuce-eventExecutorLoop-1-7] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 15:09:01.085 INFO [lettuce-nioEventLoop-4-8] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 15:10:07.073 INFO [lettuce-nioEventLoop-4-8] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 15:10:07.089 INFO [lettuce-eventExecutorLoop-1-1] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 15:10:07.091 INFO [lettuce-nioEventLoop-4-1] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 15:11:13.017 INFO [lettuce-nioEventLoop-4-1] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 15:11:13.085 INFO [lettuce-eventExecutorLoop-1-3] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 15:11:13.086 INFO [lettuce-nioEventLoop-4-2] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 15:11:34.209 INFO [SpringContextShutdownHook] [] net.jjjerp.framework.core.xss.XssFilter 30 : XssFilter destroy +2024-06-29 15:11:34.209 INFO [SpringContextShutdownHook] [] n.j.f.core.filter.RequestDetailFilter 116 : RequestDetailFilter destroy +2024-06-29 15:11:34.217 INFO [SpringContextShutdownHook] [] o.s.s.c.ThreadPoolTaskScheduler 218 : Shutting down ExecutorService 'taskScheduler' +2024-06-29 15:11:34.218 INFO [SpringContextShutdownHook] [] o.s.s.concurrent.ThreadPoolTaskExecutor 218 : Shutting down ExecutorService 'applicationTaskExecutor' +2024-06-29 15:11:34.222 INFO [SpringContextShutdownHook] [] com.zaxxer.hikari.HikariDataSource 350 : HikariPool-1 - Shutdown initiated... +2024-06-29 15:11:34.228 INFO [SpringContextShutdownHook] [] com.zaxxer.hikari.HikariDataSource 352 : HikariPool-1 - Shutdown completed. +2024-06-29 15:11:41.275 INFO [background-preinit] [] o.h.validator.internal.util.Version 21 : HV000001: Hibernate Validator 6.1.7.Final +2024-06-29 15:11:41.279 INFO [main] [] net.jjjerp.SpringBootJjjApplication 55 : Starting SpringBootJjjApplication on OS-20230506YKNI with PID 11792 (D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp\bootstrap\target\classes started by Administrator in D:\IdeaProjects\jiujiujia\svn\jjj_erp_java\jjj_erp) +2024-06-29 15:11:41.279 INFO [main] [] net.jjjerp.SpringBootJjjApplication 652 : The following profiles are active: prod +2024-06-29 15:11:42.152 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 249 : Multiple Spring Data modules found, entering strict repository configuration mode! +2024-06-29 15:11:42.155 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 127 : Bootstrapping Spring Data Redis repositories in DEFAULT mode. +2024-06-29 15:11:42.241 INFO [main] [] .s.d.r.c.RepositoryConfigurationDelegate 187 : Finished Spring Data repository scanning in 76ms. Found 0 Redis repository interfaces. +2024-06-29 15:11:42.444 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.ShiroConfig' of type [net.jjjerp.config.ShiroConfig$$EnhancerBySpringCGLIB$$55618bb4] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-29 15:11:42.521 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.properties.JwtProperties' of type [net.jjjerp.config.properties.JwtProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-29 15:11:42.523 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.RedisTemplateConfig' of type [net.jjjerp.config.RedisTemplateConfig$$EnhancerBySpringCGLIB$$24c69658] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-29 15:11:42.531 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'spring.redis-org.springframework.boot.autoconfigure.data.redis.RedisProperties' of type [org.springframework.boot.autoconfigure.data.redis.RedisProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-29 15:11:42.533 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration' of type [org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-29 15:11:42.585 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'lettuceClientResources' of type [io.lettuce.core.resource.DefaultClientResources] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-29 15:11:42.675 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'redisConnectionFactory' of type [org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-29 15:11:42.716 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'redisTemplate' of type [org.springframework.data.redis.core.RedisTemplate] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-29 15:11:42.717 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.cache.impl.AdminLoginRedisServiceImpl' of type [net.jjjerp.framework.shiro.cache.impl.AdminLoginRedisServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-29 15:11:42.721 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.cache.impl.ShopLoginRedisServiceImpl' of type [net.jjjerp.framework.shiro.cache.impl.ShopLoginRedisServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-29 15:11:42.835 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'credentialsMatcher' of type [net.jjjerp.framework.shiro.jwt.JwtCredentialsMatcher] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-29 15:11:42.842 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'jwtRealm' of type [net.jjjerp.framework.shiro.jwt.JwtRealm] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-29 15:11:42.843 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'sessionStorageEvaluator' of type [org.apache.shiro.web.mgt.DefaultWebSessionStorageEvaluator] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-29 15:11:42.843 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'subjectDAO' of type [org.apache.shiro.mgt.DefaultSubjectDAO] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-29 15:11:42.845 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'securityManager' of type [org.apache.shiro.web.mgt.DefaultWebSecurityManager] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-29 15:11:42.863 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.framework.shiro.service.impl.ShiroLoginServiceImpl' of type [net.jjjerp.framework.shiro.service.impl.ShiroLoginServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-29 15:11:42.870 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'spring-boot-jjj.shiro-net.jjjerp.config.properties.ShiroProperties' of type [net.jjjerp.config.properties.ShiroProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-29 15:11:42.944 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'authorizationAttributeSourceAdvisor' of type [org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-29 15:11:43.073 INFO [main] [] trationDelegate$BeanPostProcessorChecker 335 : Bean 'net.jjjerp.config.RedisCacheConfig' of type [net.jjjerp.config.RedisCacheConfig$$EnhancerBySpringCGLIB$$da036d5a] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2024-06-29 15:11:43.305 INFO [main] [] o.s.b.w.embedded.tomcat.TomcatWebServer 108 : Tomcat initialized with port(s): 8892 (http) +2024-06-29 15:11:43.312 INFO [main] [] o.a.coyote.http11.Http11NioProtocol 173 : Initializing ProtocolHandler ["http-nio-8892"] +2024-06-29 15:11:43.312 INFO [main] [] o.apache.catalina.core.StandardService 173 : Starting service [Tomcat] +2024-06-29 15:11:43.313 INFO [main] [] org.apache.catalina.core.StandardEngine 173 : Starting Servlet engine: [Apache Tomcat/9.0.46] +2024-06-29 15:11:43.397 INFO [main] [] o.a.c.c.C.[Tomcat].[localhost].[/api] 173 : Initializing Spring embedded WebApplicationContext +2024-06-29 15:11:43.397 INFO [main] [] w.s.c.ServletWebServerApplicationContext 285 : Root WebApplicationContext: initialization completed in 2075 ms +2024-06-29 15:11:43.540 INFO [main] [] net.jjjerp.framework.core.xss.XssFilter 18 : XssFilter init +2024-06-29 15:11:43.540 INFO [main] [] n.j.f.core.filter.RequestDetailFilter 30 : RequestDetailFilter init +2024-06-29 15:11:46.869 INFO [main] [] org.reflections.Reflections 228 : Reflections took 27 ms to scan 1 urls, producing 0 keys and 0 values +2024-06-29 15:11:46.964 INFO [main] [] net.jjjerp.framework.shiro.util.JwtUtil 33 : {"audience":"web","expireSecond":36000,"issuer":"spring-boot-jjj","redisCheck":true,"refreshToken":true,"refreshTokenCountdown":600,"saltCheck":true,"secret":"888888","singleLogin":false,"tokenName":"token"} +2024-06-29 15:11:50.049 INFO [main] [] pertySourcedRequestMappingHandlerMapping 69 : Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2Controller#getDocumentation(String, HttpServletRequest)] +2024-06-29 15:11:50.066 INFO [main] [] net.jjjerp.config.Swagger2Config 149 : swagger scan basePackages:null +2024-06-29 15:11:50.195 INFO [main] [] o.s.s.concurrent.ThreadPoolTaskExecutor 181 : Initializing ExecutorService 'applicationTaskExecutor' +2024-06-29 15:11:50.294 INFO [main] [] o.s.b.a.w.s.WelcomePageHandlerMapping 53 : Adding welcome page: class path resource [static/index.html] +2024-06-29 15:11:50.462 INFO [main] [] o.s.s.c.ThreadPoolTaskScheduler 181 : Initializing ExecutorService 'taskScheduler' +2024-06-29 15:11:50.558 INFO [main] [] o.a.coyote.http11.Http11NioProtocol 173 : Starting ProtocolHandler ["http-nio-8892"] +2024-06-29 15:11:50.576 INFO [main] [] o.s.b.w.embedded.tomcat.TomcatWebServer 220 : Tomcat started on port(s): 8892 (http) with context path '/api' +2024-06-29 15:11:50.577 INFO [main] [] d.s.w.p.DocumentationPluginsBootstrapper 160 : Context refreshed +2024-06-29 15:11:50.582 INFO [main] [] d.s.w.p.DocumentationPluginsBootstrapper 163 : Found 1 custom documentation plugin(s) +2024-06-29 15:11:50.613 INFO [main] [] s.d.s.w.s.ApiListingReferenceScanner 41 : Scanning for api listing references +2024-06-29 15:11:50.721 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_1 +2024-06-29 15:11:50.723 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_1 +2024-06-29 15:11:50.724 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_1 +2024-06-29 15:11:50.739 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_1 +2024-06-29 15:11:50.776 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_2 +2024-06-29 15:11:50.778 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_2 +2024-06-29 15:11:50.780 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_3 +2024-06-29 15:11:50.781 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_3 +2024-06-29 15:11:50.784 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_4 +2024-06-29 15:11:50.785 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_4 +2024-06-29 15:11:50.786 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexOutUsingPOST_1 +2024-06-29 15:11:50.788 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_5 +2024-06-29 15:11:50.796 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_5 +2024-06-29 15:11:50.796 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_2 +2024-06-29 15:11:50.797 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_2 +2024-06-29 15:11:50.812 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_6 +2024-06-29 15:11:50.813 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_7 +2024-06-29 15:11:50.819 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_8 +2024-06-29 15:11:50.850 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_6 +2024-06-29 15:11:50.851 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_3 +2024-06-29 15:11:50.852 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_3 +2024-06-29 15:11:50.858 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_9 +2024-06-29 15:11:50.862 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_10 +2024-06-29 15:11:50.865 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_7 +2024-06-29 15:11:50.865 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_4 +2024-06-29 15:11:50.866 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_4 +2024-06-29 15:11:50.868 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_11 +2024-06-29 15:11:50.873 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_8 +2024-06-29 15:11:50.874 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_5 +2024-06-29 15:11:50.874 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_5 +2024-06-29 15:11:50.878 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_12 +2024-06-29 15:11:50.881 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_9 +2024-06-29 15:11:50.881 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_6 +2024-06-29 15:11:50.882 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_6 +2024-06-29 15:11:50.885 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_13 +2024-06-29 15:11:50.886 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_1 +2024-06-29 15:11:50.887 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_10 +2024-06-29 15:11:50.887 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_7 +2024-06-29 15:11:50.888 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_7 +2024-06-29 15:11:50.889 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_14 +2024-06-29 15:11:50.891 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_11 +2024-06-29 15:11:50.891 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_8 +2024-06-29 15:11:50.892 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_8 +2024-06-29 15:11:50.893 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_15 +2024-06-29 15:11:50.894 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_12 +2024-06-29 15:11:50.897 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_9 +2024-06-29 15:11:50.898 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_9 +2024-06-29 15:11:50.900 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_16 +2024-06-29 15:11:50.902 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_17 +2024-06-29 15:11:50.907 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_13 +2024-06-29 15:11:50.908 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_10 +2024-06-29 15:11:50.912 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_18 +2024-06-29 15:11:50.913 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_1 +2024-06-29 15:11:50.923 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addGroupUsingPOST_1 +2024-06-29 15:11:50.924 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: categoryUsingPOST_1 +2024-06-29 15:11:50.925 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteFilesUsingPOST_1 +2024-06-29 15:11:50.926 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteGroupUsingPOST_1 +2024-06-29 15:11:50.926 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editGroupUsingPOST_1 +2024-06-29 15:11:50.930 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: listsUsingPOST_1 +2024-06-29 15:11:50.930 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: moveFilesUsingPOST_1 +2024-06-29 15:11:50.932 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_19 +2024-06-29 15:11:50.935 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_20 +2024-06-29 15:11:50.939 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_14 +2024-06-29 15:11:50.940 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_10 +2024-06-29 15:11:50.940 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteFilesUsingPOST_2 +2024-06-29 15:11:50.941 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_11 +2024-06-29 15:11:50.942 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_21 +2024-06-29 15:11:50.942 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: listUsingPOST_1 +2024-06-29 15:11:50.943 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: moveFilesUsingPOST_2 +2024-06-29 15:11:50.948 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_22 +2024-06-29 15:11:50.950 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_23 +2024-06-29 15:11:50.953 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_24 +2024-06-29 15:11:50.954 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_25 +2024-06-29 15:11:50.956 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_15 +2024-06-29 15:11:50.957 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_1 +2024-06-29 15:11:50.958 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_12 +2024-06-29 15:11:50.959 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_26 +2024-06-29 15:11:50.959 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: repulseAuditUsingPOST_1 +2024-06-29 15:11:50.961 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_16 +2024-06-29 15:11:50.962 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_11 +2024-06-29 15:11:50.962 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_13 +2024-06-29 15:11:50.965 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_27 +2024-06-29 15:11:50.969 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_17 +2024-06-29 15:11:50.969 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_12 +2024-06-29 15:11:50.970 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_14 +2024-06-29 15:11:50.971 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_28 +2024-06-29 15:11:50.973 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_18 +2024-06-29 15:11:50.974 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_29 +2024-06-29 15:11:50.978 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_30 +2024-06-29 15:11:50.979 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_19 +2024-06-29 15:11:50.980 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_1 +2024-06-29 15:11:50.980 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_31 +2024-06-29 15:11:50.982 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_1 +2024-06-29 15:11:50.982 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_32 +2024-06-29 15:11:50.984 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_20 +2024-06-29 15:11:50.984 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_2 +2024-06-29 15:11:50.984 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_33 +2024-06-29 15:11:50.993 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: loginUsingPOST_1 +2024-06-29 15:11:50.994 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: logoutUsingPOST_1 +2024-06-29 15:11:50.995 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_34 +2024-06-29 15:11:50.997 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_21 +2024-06-29 15:11:50.998 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_13 +2024-06-29 15:11:50.998 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_15 +2024-06-29 15:11:50.999 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_35 +2024-06-29 15:11:51.000 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_2 +2024-06-29 15:11:51.003 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_22 +2024-06-29 15:11:51.004 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_14 +2024-06-29 15:11:51.005 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_16 +2024-06-29 15:11:51.009 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_36 +2024-06-29 15:11:51.010 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: stateUsingPOST_1 +2024-06-29 15:11:51.010 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_1 +2024-06-29 15:11:51.010 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_3 +2024-06-29 15:11:51.012 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_23 +2024-06-29 15:11:51.012 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_2 +2024-06-29 15:11:51.013 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_2 +2024-06-29 15:11:51.014 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_17 +2024-06-29 15:11:51.015 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_37 +2024-06-29 15:11:51.016 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_3 +2024-06-29 15:11:51.017 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_18 +2024-06-29 15:11:51.017 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_38 +2024-06-29 15:11:51.018 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addStorageUsingPOST_1 +2024-06-29 15:11:51.019 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: auditUsingPOST_4 +2024-06-29 15:11:51.020 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: closeUsingPOST_3 +2024-06-29 15:11:51.022 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_19 +2024-06-29 15:11:51.023 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_39 +2024-06-29 15:11:51.024 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_40 +2024-06-29 15:11:51.026 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_24 +2024-06-29 15:11:51.027 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_20 +2024-06-29 15:11:51.027 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editDeliverUsingPOST_3 +2024-06-29 15:11:51.030 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_25 +2024-06-29 15:11:51.030 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_15 +2024-06-29 15:11:51.030 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_21 +2024-06-29 15:11:51.032 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_41 +2024-06-29 15:11:51.033 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_2 +2024-06-29 15:11:51.034 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_4 +2024-06-29 15:11:51.037 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: scanIndexUsingPOST_1 +2024-06-29 15:11:51.039 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_42 +2024-06-29 15:11:51.040 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_1 +2024-06-29 15:11:51.042 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_26 +2024-06-29 15:11:51.043 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_16 +2024-06-29 15:11:51.043 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_22 +2024-06-29 15:11:51.050 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_43 +2024-06-29 15:11:51.054 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_27 +2024-06-29 15:11:51.055 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_17 +2024-06-29 15:11:51.055 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_23 +2024-06-29 15:11:51.057 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_44 +2024-06-29 15:11:51.058 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_3 +2024-06-29 15:11:51.059 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_5 +2024-06-29 15:11:51.062 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_28 +2024-06-29 15:11:51.062 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_18 +2024-06-29 15:11:51.062 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_24 +2024-06-29 15:11:51.065 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_45 +2024-06-29 15:11:51.065 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_46 +2024-06-29 15:11:51.066 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_2 +2024-06-29 15:11:51.067 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_29 +2024-06-29 15:11:51.068 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_47 +2024-06-29 15:11:51.070 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_48 +2024-06-29 15:11:51.070 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_49 +2024-06-29 15:11:51.071 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_3 +2024-06-29 15:11:51.076 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_30 +2024-06-29 15:11:51.077 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_19 +2024-06-29 15:11:51.078 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_25 +2024-06-29 15:11:51.085 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_50 +2024-06-29 15:11:51.086 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_2 +2024-06-29 15:11:51.087 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toAddUsingGET_4 +2024-06-29 15:11:51.087 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_6 +2024-06-29 15:11:51.094 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_31 +2024-06-29 15:11:51.095 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_20 +2024-06-29 15:11:51.096 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_26 +2024-06-29 15:11:51.102 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_51 +2024-06-29 15:11:51.103 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: setUsingPOST_3 +2024-06-29 15:11:51.103 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: toEditUsingGET_7 +2024-06-29 15:11:51.104 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_52 +2024-06-29 15:11:51.104 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingGET_4 +2024-06-29 15:11:51.106 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: addUsingPOST_32 +2024-06-29 15:11:51.107 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: deleteUsingPOST_21 +2024-06-29 15:11:51.107 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: editUsingPOST_27 +2024-06-29 15:11:51.109 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: indexUsingPOST_53 +2024-06-29 15:11:51.112 INFO [main] [] .d.s.w.r.o.CachingOperationNameGenerator 40 : Generating unique operation named: uploadUsingPOST_1 +2024-06-29 15:11:51.131 INFO [main] [] net.jjjerp.SpringBootJjjApplication 61 : Started SpringBootJjjApplication in 10.301 seconds (JVM running for 11.052) +2024-06-29 15:11:51.135 INFO [main] [] n.j.framework.util.PrintApplicationInfo 61 : projectFinalName : jjj-erp-1.0 +2024-06-29 15:11:51.135 INFO [main] [] n.j.framework.util.PrintApplicationInfo 62 : projectVersion : 1.0 +2024-06-29 15:11:51.135 INFO [main] [] n.j.framework.util.PrintApplicationInfo 63 : profileActive : prod +2024-06-29 15:11:51.135 INFO [main] [] n.j.framework.util.PrintApplicationInfo 64 : contextPath : /api +2024-06-29 15:11:51.135 INFO [main] [] n.j.framework.util.PrintApplicationInfo 65 : serverIp : http://erp3.huadeng.fun +2024-06-29 15:11:51.135 INFO [main] [] n.j.framework.util.PrintApplicationInfo 66 : port : 8892 +2024-06-29 15:11:51.135 INFO [main] [] n.j.framework.util.PrintApplicationInfo 81 : Home: http://erp3.huadeng.fun/api +2024-06-29 15:11:51.135 INFO [main] [] n.j.framework.util.PrintApplicationInfo 82 : Knife4j: http://erp3.huadeng.fun/api/doc.html +2024-06-29 15:11:51.135 INFO [main] [] n.j.framework.util.PrintApplicationInfo 83 : Swagger: http://erp3.huadeng.fun/api/swagger-ui.html +2024-06-29 15:11:51.135 INFO [main] [] n.j.framework.util.PrintApplicationInfo 84 : jjj-erp 启动成功........... + ____ __ __ ____ +/\ _`\ /\ \__ /\ \__ /\ _`\ +\ \,\L\_\ \ ,_\ __ _ __\ \ ,_\ \ \,\L\_\ __ __ ___ ___ __ ____ ____ + \/_\__ \\ \ \/ /'__`\ /\`'__\ \ \/ \/_\__ \ /\ \/\ \ /'___\ /'___\ /'__`\ /',__\ /',__\ + /\ \L\ \ \ \_/\ \L\.\_\ \ \/ \ \ \_ /\ \L\ \ \ \_\ \/\ \__//\ \__//\ __//\__, `\/\__, `\ + \ `\____\ \__\ \__/.\_\\ \_\ \ \__\ \ `\____\ \____/\ \____\ \____\ \____\/\____/\/\____/ + \/_____/\/__/\/__/\/_/ \/_/ \/__/ \/_____/\/___/ \/____/\/____/\/____/\/___/ \/___/ + + +2024-06-29 15:11:58.397 INFO [http-nio-8892-exec-2] [] o.a.c.c.C.[Tomcat].[localhost].[/api] 173 : Initializing Spring DispatcherServlet 'dispatcherServlet' +2024-06-29 15:11:58.397 INFO [http-nio-8892-exec-2] [] o.s.web.servlet.DispatcherServlet 525 : Initializing Servlet 'dispatcherServlet' +2024-06-29 15:11:58.413 INFO [http-nio-8892-exec-2] [] o.s.web.servlet.DispatcherServlet 547 : Completed initialization in 16 ms +2024-06-29 15:11:58.776 INFO [http-nio-8892-exec-4] [1806948710519840769] com.zaxxer.hikari.HikariDataSource 110 : HikariPool-1 - Starting... +2024-06-29 15:11:58.878 INFO [http-nio-8892-exec-4] [1806948710519840769] com.zaxxer.hikari.HikariDataSource 123 : HikariPool-1 - Start completed. +2024-06-29 15:13:05.980 INFO [http-nio-8892-exec-22] [] o.apache.tomcat.util.http.parser.Cookie 173 : A cookie header was received [1718873547] that contained an invalid cookie. That cookie will be ignored. + Note: further occurrences of this error will be logged at DEBUG level. +2024-06-29 15:14:44.013 INFO [lettuce-nioEventLoop-4-1] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 15:14:44.119 INFO [lettuce-eventExecutorLoop-1-5] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 15:14:44.124 INFO [lettuce-nioEventLoop-4-2] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 15:16:12.004 INFO [lettuce-nioEventLoop-4-2] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 15:16:12.020 INFO [lettuce-eventExecutorLoop-1-1] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 15:16:12.022 INFO [lettuce-nioEventLoop-4-3] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 15:17:18.082 INFO [lettuce-nioEventLoop-4-3] [] io.lettuce.core.protocol.CommandHandler 217 : null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + +java.io.IOException: 远程主机强迫关闭了一个现有的连接。 + at sun.nio.ch.SocketDispatcher.read0(Native Method) + at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) + at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) + at sun.nio.ch.IOUtil.read(IOUtil.java:192) + at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.lang.Thread.run(Thread.java:750) + +2024-06-29 15:17:18.116 INFO [lettuce-eventExecutorLoop-1-2] [] i.l.core.protocol.ConnectionWatchdog 171 : Reconnecting, last destination was localhost/127.0.0.1:6379 +2024-06-29 15:17:18.118 INFO [lettuce-nioEventLoop-4-4] [] i.l.core.protocol.ReconnectionHandler 194 : Reconnected to localhost:6379 +2024-06-29 15:18:23.653 WARN [http-nio-8892-exec-3] [1806950324966170627] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@1cde645 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 15:18:23.653 WARN [http-nio-8892-exec-4] [1806950324966170626] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@753ef16c (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 15:18:23.653 WARN [http-nio-8892-exec-1] [1806950324966170625] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@78e12228 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 15:18:23.655 WARN [http-nio-8892-exec-4] [1806950324966170626] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@69b2a3e1 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 15:18:23.656 WARN [http-nio-8892-exec-4] [1806950324966170626] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@257bdb5c (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 15:18:23.655 WARN [http-nio-8892-exec-3] [1806950324966170627] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@7f7bc7c1 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 15:18:23.655 WARN [http-nio-8892-exec-1] [1806950324966170625] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@1169d3d6 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 15:18:23.657 WARN [http-nio-8892-exec-4] [1806950324966170626] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@33bb77ce (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 15:18:23.658 WARN [http-nio-8892-exec-1] [1806950324966170625] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@518fcfc6 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 15:18:23.658 WARN [http-nio-8892-exec-3] [1806950324966170627] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@2328ef30 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 15:20:06.441 WARN [http-nio-8892-exec-9] [] org.apache.catalina.connector.Request 173 : Creating the temporary upload location [C:\Users\Administrator\AppData\Local\Temp\tomcat.8892.241347946499051344\work\Tomcat\localhost\api\opt\upload\tmp] as it is required by the servlet [dispatcherServlet] +2024-06-29 15:20:06.441 WARN [http-nio-8892-exec-12] [] org.apache.catalina.connector.Request 173 : Creating the temporary upload location [C:\Users\Administrator\AppData\Local\Temp\tomcat.8892.241347946499051344\work\Tomcat\localhost\api\opt\upload\tmp] as it is required by the servlet [dispatcherServlet] +2024-06-29 15:20:06.444 WARN [http-nio-8892-exec-9] [] org.apache.catalina.connector.Request 173 : Failed to create the upload location [C:\Users\Administrator\AppData\Local\Temp\tomcat.8892.241347946499051344\work\Tomcat\localhost\api\opt\upload\tmp] +2024-06-29 15:24:41.274 WARN [http-nio-8892-exec-17] [1806951908852801538] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@7d7909e9 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 15:26:20.858 ERROR [http-nio-8892-exec-8] [] n.jjjerp.handler.GlobalExceptionHandler 233 : 异常来源:ip: 192.168.31.226, path: /api/admin/setting/basic/store/add +2024-06-29 15:26:20.858 ERROR [http-nio-8892-exec-8] [] n.jjjerp.handler.GlobalExceptionHandler 56 : errorCode: 5001, errorMessage: 请求参数校验异常:["店铺名称不能为空","绑定账户不能为空"] +2024-06-29 15:26:33.182 ERROR [http-nio-8892-exec-12] [] n.jjjerp.handler.GlobalExceptionHandler 233 : 异常来源:ip: 192.168.31.226, path: /api/admin/setting/basic/store/add +2024-06-29 15:26:33.182 ERROR [http-nio-8892-exec-12] [] n.jjjerp.handler.GlobalExceptionHandler 56 : errorCode: 5001, errorMessage: 请求参数校验异常:["绑定账户不能为空"] +2024-06-29 15:26:34.510 ERROR [http-nio-8892-exec-9] [] n.jjjerp.handler.GlobalExceptionHandler 233 : 异常来源:ip: 192.168.31.226, path: /api/admin/setting/basic/store/add +2024-06-29 15:26:34.511 ERROR [http-nio-8892-exec-9] [] n.jjjerp.handler.GlobalExceptionHandler 56 : errorCode: 5001, errorMessage: 请求参数校验异常:["绑定账户不能为空"] +2024-06-29 15:26:34.942 ERROR [http-nio-8892-exec-10] [] n.jjjerp.handler.GlobalExceptionHandler 233 : 异常来源:ip: 192.168.31.226, path: /api/admin/setting/basic/store/add +2024-06-29 15:26:34.942 ERROR [http-nio-8892-exec-10] [] n.jjjerp.handler.GlobalExceptionHandler 56 : errorCode: 5001, errorMessage: 请求参数校验异常:["绑定账户不能为空"] +2024-06-29 15:27:05.649 ERROR [http-nio-8892-exec-17] [] n.jjjerp.handler.GlobalExceptionHandler 233 : 异常来源:ip: 192.168.31.226, path: /api/admin/finance/capital/account/add +2024-06-29 15:27:05.649 ERROR [http-nio-8892-exec-17] [] n.jjjerp.handler.GlobalExceptionHandler 56 : errorCode: 5001, errorMessage: 请求参数校验异常:["期初余额不能为空"] +2024-06-29 15:27:54.233 ERROR [http-nio-8892-exec-30] [] n.jjjerp.handler.GlobalExceptionHandler 233 : 异常来源:ip: 192.168.31.226, path: /api/admin/setting/basic/store/add +2024-06-29 15:27:54.234 ERROR [http-nio-8892-exec-30] [] n.jjjerp.handler.GlobalExceptionHandler 56 : errorCode: 5001, errorMessage: 请求参数校验异常:["店铺名称不能为空"] +2024-06-29 15:28:13.053 WARN [http-nio-8892-exec-6] [1806952797101531139] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@6e92bb91 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 15:28:18.701 WARN [http-nio-8892-exec-10] [1806952820790960130] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@75e2e25f (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 15:31:41.079 WARN [http-nio-8892-exec-9] [1806953669588066307] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@64bb07f4 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 15:35:46.667 WARN [http-nio-8892-exec-13] [1806954699704934403] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@1b2e6255 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. +2024-06-29 15:38:01.902 WARN [http-nio-8892-exec-5] [1806955266900664322] com.zaxxer.hikari.pool.PoolBase 184 : HikariPool-1 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@23d271b3 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value. diff --git a/jjj_erp/pom.xml b/jjj_erp/pom.xml new file mode 100644 index 0000000..8031b73 --- /dev/null +++ b/jjj_erp/pom.xml @@ -0,0 +1,676 @@ + + + + 4.0.0 + + net.jjjerp + parent + 1.0 + pom + + jjj-erp + jjj-erp + + + + jjj-erp + jjjerp + 279517889@qq.com + + + + + UTF-8 + jjj-erp-${project.version} + spring-boot-jjj-server-${project.version} + admin-${project.version} + admin-${project.version} + ${utf8} + ${utf8} + 1.8 + 2.3.12.RELEASE + 2.2.2 + 3.4.1 + 2.2 + 3.9 + 4.4 + 2.6 + 1.14 + 3.6 + 2.8.0 + 1.8 + 1.2.83 + 5.1.47 + 3.4.5 + 0.9.9 + 1.18 + 1.18.12 + 5.2.4 + 4.12 + 0.5.4 + 1.3.1.Final + 1.5.1 + 3.10.1 + 28.2-jre + 1.26 + 2.9.2 + 1.6.2 + 2.0.2 + 4.5.7.B + 7.2.28 + 3.5.0 + 3.19.7 + 5.6.22 + 4.4.15 + 4.5.12 + 4.1.2 + 1.0.10 + 3.3.0 + 4.6.1 + 2.2.1 + 4.9.9 + + 3.8.1 + 3.1.0 + 2.22.2 + 3.4.0 + 2.2 + 3.2.0 + + + + bootstrap + config + generator + jjj-common + jjj-saas + jjj-admin + jjj-job + + + + + + org.springframework.boot + spring-boot-dependencies + ${spring-boot.version} + pom + import + + + + org.springframework.boot + spring-boot-starter-web + ${spring-boot.version} + + + org.springframework.boot + spring-boot-starter-aop + ${spring-boot.version} + + + org.springframework.boot + spring-boot-starter-tomcat + ${spring-boot.version} + + + org.springframework.boot + spring-boot-starter-jdbc + ${spring-boot.version} + + + org.springframework.boot + spring-boot-starter-data-redis + ${spring-boot.version} + + + org.springframework.boot + spring-boot-starter-json + ${spring-boot.version} + + + org.springframework.boot + spring-boot-starter-validation + ${spring-boot.version} + + + org.springframework.boot + spring-boot-configuration-processor + ${spring-boot.version} + + + org.springframework.boot + spring-boot-starter-security + ${spring-boot.version} + + + org.springframework.boot + spring-boot-starter-test + ${spring-boot.version} + test + + + + + org.springframework.boot + spring-boot-devtools + ${spring-boot.version} + test + + + + + + com.baomidou + mybatis-plus-boot-starter + ${mybatis-plus-boot-starter.version} + + + + + + mysql + mysql-connector-java + ${mysql.version} + + + + + io.springfox + springfox-swagger2 + ${swagger2.version} + + + io.springfox + springfox-swagger-ui + ${swagger2.version} + + + io.swagger + swagger-models + ${swagger-annotations.version} + + + io.swagger + swagger-annotations + ${swagger-annotations.version} + + + + + com.github.xiaoymin + knife4j-spring-boot-starter + ${knife4j.version} + + + + + com.alibaba + fastjson + ${fastjson.version} + + + + + org.apache.commons + commons-lang3 + ${commons-lang3.version} + + + + org.apache.commons + commons-collections4 + ${commons-collections4.version} + + + + commons-io + commons-io + ${commons-io.version} + + + commons-codec + commons-codec + ${commons-codec.version} + + + commons-net + commons-net + ${commons-net.version} + + + org.apache.commons + commons-pool2 + ${commons-pool2.version} + + + + + org.reflections + reflections + ${reflections.version} + + + + com.google.guava + guava + ${guava.version} + + + + org.fusesource.jansi + jansi + ${jansi.version} + + + + org.projectlombok + lombok + ${lombok.version} + + + + org.yaml + snakeyaml + ${snakeyaml.version} + + + + cn.hutool + hutool-all + ${hutool.version} + + + + + org.ini4j + ini4j + ${ini4j.version} + + + + + org.mapstruct + mapstruct + ${mapstruct.version} + + + + + org.apache.commons + commons-text + ${commons-text.version} + + + + + net.jjjerp + jjj-saas + ${project.version} + + + net.jjjerp + bootstrap + ${project.version} + + + net.jjjerp + config + ${project.version} + + + net.jjjerp + jjj-common + ${project.version} + + + net.jjjerp + jjj-admin + ${project.version} + + + net.jjjerp + jjj-job + ${project.version} + + + + + + + + org.springframework.boot + spring-boot-starter-web + + + org.springframework.boot + spring-boot-starter-json + + + org.springframework.boot + spring-boot-starter-validation + + + org.springframework.boot + spring-boot-configuration-processor + + + org.springframework.boot + spring-boot-starter-test + test + + + com.alibaba + fastjson + + + org.apache.commons + commons-lang3 + + + org.apache.commons + commons-collections4 + + + commons-io + commons-io + + + commons-codec + commons-codec + + + commons-net + commons-net + + + org.apache.commons + commons-pool2 + + + org.reflections + reflections + + + com.google.guava + guava + + + org.fusesource.jansi + jansi + + + org.projectlombok + lombok + + + org.yaml + snakeyaml + + + cn.hutool + hutool-all + + + org.ini4j + ini4j + + + org.mapstruct + mapstruct + + + org.apache.commons + commons-text + + + + com.github.binarywang + weixin-java-miniapp + ${wxjava.version} + + + com.github.binarywang + weixin-java-pay + ${wxjava.version} + + + com.github.binarywang + weixin-java-open + ${wxjava.version} + + + com.github.binarywang + weixin-java-mp + ${wxjava.version} + + + + com.qiniu + qiniu-java-sdk + ${qiniu.version} + + + + com.huaweicloud + esdk-obs-java + ${huaweicloud-obs.version} + + + + com.aliyun.oss + aliyun-sdk-oss + ${aliyun-oss.version} + + + + com.qcloud + cos_api + ${qcloud-cos.version} + + + + org.apache.httpcomponents + httpcore + ${httpcore.version} + + + org.apache.httpcomponents + httpclient + ${httpclient.version} + + + + org.apache.poi + poi-ooxml + ${poi.version} + + + + com.github.kuaidi100-api + sdk + ${kuaidi100.version} + + + + com.google.zxing + core + ${zxing.version} + + + com.google.zxing + javase + ${zxing.version} + + + + com.aliyun + aliyun-java-sdk-core + ${aliyun-core.version} + + + com.aliyun + aliyun-java-sdk-dysmsapi + ${aliyun-dysmsapi.version} + + + + com.alipay.sdk + alipay-sdk-java + ${alipay.version} + + + + com.tencentcloudapi + tencentcloud-sdk-java-sms + 3.1.712 + + + + + + jjj-erp-${project.version} + + + src/main/resources + true + + + + + + org.apache.maven.plugins + maven-resources-plugin + ${maven-resources-plugin.version} + + + + ttc + + + + + + org.apache.maven.plugins + maven-compiler-plugin + ${maven-compiler-plugin.version} + + ${java.version} + ${java.version} + + + org.mapstruct + mapstruct-processor + ${mapstruct.version} + + + org.projectlombok + lombok + ${lombok.version} + + + + + + + + org.apache.maven.plugins + maven-surefire-plugin + ${maven-surefire-plugin.version} + + true + true + + + + + org.apache.maven.plugins + maven-javadoc-plugin + ${maven-javadoc-plugin.version} + + + -Xdoclint:none + + + true + + + + attach-javadocs + + jar + + + + + + + + org.codehaus.mojo + versions-maven-plugin + ${maven-versions-plugin.version} + + + + + + + + + dev + + dev + + + true + + + + test + + test + + + false + + + + uat + + uat + + + false + + + + prod + + prod + + + false + + + + + + + aliyun + aliyun-maven + http://maven.aliyun.com/nexus/content/groups/public/ + + + spring-milestones + Spring Milestones + https://maven.aliyun.com/repository/spring + + + central + maven-central + http://central.maven.org/maven2/ + + + +