refactor: 适配 ContiNew Starter 密码编码器(安全模块)、链路跟踪(Web 模块)
并适配 ContiNew Starter CRUD 模块包调整
This commit is contained in:
parent
594f7fd042
commit
bef0732f63
12
README.md
12
README.md
@ -13,13 +13,13 @@
|
||||
<img src="https://sonarcloud.io/api/project_badges/measure?project=Charles7c_continew-admin&metric=alert_status" alt="Sonar Status" />
|
||||
</a>
|
||||
<a href="https://github.com/Charles7c/continew-starter" target="_blank">
|
||||
<img src="https://img.shields.io/badge/ContiNew Starter-1.2.1-%236CB52D.svg" alt="ContiNew Starter" />
|
||||
<img src="https://img.shields.io/badge/ContiNew Starter-1.3.0-%236CB52D.svg" alt="ContiNew Starter" />
|
||||
</a>
|
||||
<a href="https://spring.io/projects/spring-boot" target="_blank">
|
||||
<img src="https://img.shields.io/badge/Spring Boot-3.1.7-%236CB52D.svg?logo=Spring-Boot" alt="Spring Boot" />
|
||||
</a>
|
||||
<a href="https://github.com/Charles7c/continew-starter" target="_blank">
|
||||
<img src="https://img.shields.io/badge/Spring Boot-3.1.7-%236CB52D.svg" alt="Spring Boot" />
|
||||
</a>
|
||||
<a href="https://github.com/Charles7c/continew-starter" target="_blank">
|
||||
<img src="https://img.shields.io/badge/Java-17-%236CB52D.svg" alt="Java" />
|
||||
<img src="https://img.shields.io/badge/Open JDK-17-%236CB52D.svg?logo=OpenJDK&logoColor=FFF" alt="Open JDK" />
|
||||
</a>
|
||||
<a href="https://github.com/Charles7c/continew-admin" target="_blank">
|
||||
<img src="https://img.shields.io/github/stars/Charles7c/continew-admin?style=social" alt="GitHub stars" />
|
||||
@ -100,7 +100,7 @@ public class DeptController extends BaseController<DeptService, DeptResponse, De
|
||||
8.**业务脚手架:** 有颜有料,不止是说说而已。基于成熟的前端脚手架 [Fantastic Admin](https://fantastic-admin.gitee.io/) 开发的前端项目,持续打磨 UI 设计与色彩主题。提供基于 RBAC 的权限控制、通用数据权限,包含丰富的通用业务功能:第三方登录,邮箱、短信(生产级炸弹漏洞处理方案),用户管理、角色管理、组织管理、系统配置、系统日志、消息中心、公告等,设计用心,逻辑合理闭环。
|
||||
> 一个好的脚手架项目,不仅仅是提供一系列组件集成与配置,也不仅仅是封装一堆好用的工具,还更应该提供一系列通用基础业务解决方案及设计,为初创团队项目减负。
|
||||
|
||||
9.**质量与安全:** 项目 CI 已集成 Sonarqube、Codacy、Qodana,Push 即触发代码质量扫描,并定期进行 CVE 漏洞扫描,及时解决潜在问题。
|
||||
9.**质量与安全:** CI 已集成 Sonar、Codacy、Qodana,Push 即扫描代码质量,定期扫描 CVE 漏洞,及时解决潜在问题。持续封装如数据库字段加密、JSON 脱敏、XSS 过滤等工具,提供诸多安全解决方案。
|
||||
|
||||
由于篇幅有限,且项目正处于高速发展期,更多功能正在陆续上线(敬请关注仓库或群内动态)。另外像最基本的统一异常、错误处理,基础线程池等配置就不在此赘述,细节优化详情请 clone 代码查看。
|
||||
> Talk is cheap, show me the code.
|
||||
|
@ -96,6 +96,12 @@
|
||||
<artifactId>continew-starter-file-excel</artifactId>
|
||||
</dependency>
|
||||
|
||||
<!-- ContiNew Starter 安全模块 - 密码编码器 -->
|
||||
<dependency>
|
||||
<groupId>top.charles7c.continew</groupId>
|
||||
<artifactId>continew-starter-security-password</artifactId>
|
||||
</dependency>
|
||||
|
||||
<!-- ContiNew Starter API 文档模块 -->
|
||||
<dependency>
|
||||
<groupId>top.charles7c.continew</groupId>
|
||||
@ -107,11 +113,5 @@
|
||||
<groupId>top.charles7c.continew</groupId>
|
||||
<artifactId>continew-starter-json-jackson</artifactId>
|
||||
</dependency>
|
||||
|
||||
<!-- TLog(轻量级的分布式日志标记追踪神器) -->
|
||||
<dependency>
|
||||
<groupId>com.yomahub</groupId>
|
||||
<artifactId>tlog-web-spring-boot-starter</artifactId>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</project>
|
@ -16,17 +16,14 @@
|
||||
|
||||
package top.charles7c.continew.admin.common.config.mybatis;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
import org.apache.ibatis.reflection.MetaObject;
|
||||
|
||||
import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
|
||||
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
|
||||
import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
|
||||
import org.apache.ibatis.reflection.MetaObject;
|
||||
import top.charles7c.continew.admin.common.util.helper.LoginHelper;
|
||||
import top.charles7c.continew.starter.core.exception.BusinessException;
|
||||
import top.charles7c.continew.starter.extension.crud.base.BaseDO;
|
||||
import top.charles7c.continew.starter.extension.crud.model.entity.BaseDO;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* MyBatis Plus 元对象处理器配置(插入或修改时自动填充)
|
||||
|
@ -1,55 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2022-present Charles7c Authors. All Rights Reserved.
|
||||
*
|
||||
* 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 top.charles7c.continew.admin.common.config.properties;
|
||||
|
||||
import lombok.Data;
|
||||
import org.springframework.boot.context.properties.ConfigurationProperties;
|
||||
|
||||
/**
|
||||
* TLog 配置属性
|
||||
*
|
||||
* <p>
|
||||
* 重写 TLog 配置以适配 Spring Boot 3.x
|
||||
* </p>
|
||||
*
|
||||
* @author Jasmine
|
||||
* @since 2024/1/30 11:39
|
||||
*/
|
||||
@Data
|
||||
@ConfigurationProperties(prefix = "tlog")
|
||||
public class TLogProperties {
|
||||
|
||||
/**
|
||||
* 日志标签模板
|
||||
*/
|
||||
private String pattern;
|
||||
|
||||
/**
|
||||
* 自动打印调用参数和时间
|
||||
*/
|
||||
private Boolean enableInvokeTimePrint;
|
||||
|
||||
/**
|
||||
* 自定义 TraceId 生成器
|
||||
*/
|
||||
private String idGenerator;
|
||||
|
||||
/**
|
||||
* MDC 模式
|
||||
*/
|
||||
private Boolean mdcEnable;
|
||||
}
|
@ -1,57 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2022-present Charles7c Authors. All Rights Reserved.
|
||||
*
|
||||
* 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 top.charles7c.continew.admin.common.config.tlog;
|
||||
|
||||
import com.yomahub.tlog.id.TLogIdGeneratorLoader;
|
||||
import com.yomahub.tlog.spring.TLogPropertyInit;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.boot.context.properties.EnableConfigurationProperties;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.context.annotation.Primary;
|
||||
import top.charles7c.continew.admin.common.config.properties.TLogProperties;
|
||||
|
||||
/**
|
||||
* TLog 配置
|
||||
*
|
||||
* <p>
|
||||
* 重写 TLog 配置以适配 Spring Boot 3.x
|
||||
* </p>
|
||||
*
|
||||
* @see TLogConfiguration
|
||||
* @author Jasmine
|
||||
* @since 2024/1/30 11:39
|
||||
*/
|
||||
@Configuration
|
||||
@RequiredArgsConstructor
|
||||
@EnableConfigurationProperties(TLogProperties.class)
|
||||
public class TLogConfiguration {
|
||||
|
||||
private final TLogProperties tLogProperties;
|
||||
|
||||
@Bean
|
||||
@Primary
|
||||
public TLogPropertyInit tLogPropertyInit() {
|
||||
TLogPropertyInit tLogPropertyInit = new TLogPropertyInit();
|
||||
tLogPropertyInit.setPattern(tLogProperties.getPattern());
|
||||
tLogPropertyInit.setEnableInvokeTimePrint(tLogProperties.getEnableInvokeTimePrint());
|
||||
tLogPropertyInit.setMdcEnable(tLogProperties.getMdcEnable());
|
||||
// 设置自定义 TraceId 生成器
|
||||
TLogIdGeneratorLoader.setIdGenerator(new TraceIdGenerator());
|
||||
return tLogPropertyInit;
|
||||
}
|
||||
}
|
@ -1,59 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2022-present Charles7c Authors. All Rights Reserved.
|
||||
*
|
||||
* 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 top.charles7c.continew.admin.common.config.tlog;
|
||||
|
||||
import com.yomahub.tlog.context.TLogContext;
|
||||
import jakarta.servlet.*;
|
||||
import jakarta.servlet.http.HttpServletRequest;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
import org.springframework.stereotype.Component;
|
||||
import top.charles7c.continew.admin.common.constant.SysConstants;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
/**
|
||||
* TLog 过滤器
|
||||
*
|
||||
* <p>
|
||||
* 重写 TLog 配置以适配 Spring Boot 3.x
|
||||
* </p>
|
||||
*
|
||||
* @see TLogConfiguration
|
||||
* @author Jasmine
|
||||
* @since 2024/1/30 11:39
|
||||
*/
|
||||
@Component
|
||||
public class TLogServletFilter implements Filter {
|
||||
|
||||
@Override
|
||||
public void doFilter(ServletRequest request,
|
||||
ServletResponse response,
|
||||
FilterChain chain) throws IOException, ServletException {
|
||||
if (request instanceof HttpServletRequest httpServletRequest && response instanceof HttpServletResponse httpServletResponse) {
|
||||
try {
|
||||
TLogWebCommon.loadInstance().preHandle(httpServletRequest);
|
||||
// 把 traceId 放入 response 的 header,为了方便有些人有这样的需求,从前端拿整条链路的 traceId
|
||||
httpServletResponse.addHeader(SysConstants.TRACE_ID, TLogContext.getTraceId());
|
||||
chain.doFilter(request, response);
|
||||
return;
|
||||
} finally {
|
||||
TLogWebCommon.loadInstance().afterCompletion();
|
||||
}
|
||||
}
|
||||
chain.doFilter(request, response);
|
||||
}
|
||||
}
|
@ -1,63 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2022-present Charles7c Authors. All Rights Reserved.
|
||||
*
|
||||
* 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 top.charles7c.continew.admin.common.config.tlog;
|
||||
|
||||
import com.yomahub.tlog.constant.TLogConstants;
|
||||
import com.yomahub.tlog.core.rpc.TLogLabelBean;
|
||||
import com.yomahub.tlog.core.rpc.TLogRPCHandler;
|
||||
import jakarta.servlet.http.HttpServletRequest;
|
||||
|
||||
/**
|
||||
* TLog Web 通用拦截器
|
||||
*
|
||||
* <p>
|
||||
* 重写 TLog 配置以适配 Spring Boot 3.x
|
||||
* </p>
|
||||
*
|
||||
* @see TLogWebCommon
|
||||
* @author Jasmine
|
||||
* @since 2024/1/30 11:39
|
||||
*/
|
||||
public class TLogWebCommon extends TLogRPCHandler {
|
||||
|
||||
private static volatile TLogWebCommon tLogWebCommon;
|
||||
|
||||
public static TLogWebCommon loadInstance() {
|
||||
if (tLogWebCommon == null) {
|
||||
synchronized (TLogWebCommon.class) {
|
||||
if (tLogWebCommon == null) {
|
||||
tLogWebCommon = new TLogWebCommon();
|
||||
}
|
||||
}
|
||||
}
|
||||
return tLogWebCommon;
|
||||
}
|
||||
|
||||
public void preHandle(HttpServletRequest request) {
|
||||
String traceId = request.getHeader(TLogConstants.TLOG_TRACE_KEY);
|
||||
String spanId = request.getHeader(TLogConstants.TLOG_SPANID_KEY);
|
||||
String preIvkApp = request.getHeader(TLogConstants.PRE_IVK_APP_KEY);
|
||||
String preIvkHost = request.getHeader(TLogConstants.PRE_IVK_APP_HOST);
|
||||
String preIp = request.getHeader(TLogConstants.PRE_IP_KEY);
|
||||
TLogLabelBean labelBean = new TLogLabelBean(preIvkApp, preIvkHost, preIp, traceId, spanId);
|
||||
processProviderSide(labelBean);
|
||||
}
|
||||
|
||||
public void afterCompletion() {
|
||||
cleanThreadLocal();
|
||||
}
|
||||
}
|
@ -1,34 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2022-present Charles7c Authors. All Rights Reserved.
|
||||
*
|
||||
* 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 top.charles7c.continew.admin.common.config.tlog;
|
||||
|
||||
import com.yomahub.tlog.id.TLogIdGenerator;
|
||||
import com.yomahub.tlog.id.snowflake.UniqueIdGenerator;
|
||||
|
||||
/**
|
||||
* TLog ID 自定义生成器
|
||||
*
|
||||
* @see TraceIdGenerator
|
||||
* @author Jasmine
|
||||
* @since 2024/1/30 11:39
|
||||
*/
|
||||
public class TraceIdGenerator extends TLogIdGenerator {
|
||||
@Override
|
||||
public String generateTraceId() {
|
||||
return String.valueOf(UniqueIdGenerator.generateId());
|
||||
}
|
||||
}
|
@ -68,9 +68,4 @@ public class SysConstants {
|
||||
* 描述类字段后缀
|
||||
*/
|
||||
public static final String DESCRIPTION_FIELD_SUFFIX = "String";
|
||||
|
||||
/**
|
||||
* Trace ID
|
||||
*/
|
||||
public static final String TRACE_ID = "traceId";
|
||||
}
|
||||
|
@ -28,7 +28,7 @@ import top.charles7c.continew.admin.common.constant.CacheConstants;
|
||||
import top.charles7c.continew.admin.common.model.dto.LoginUser;
|
||||
import top.charles7c.continew.starter.core.util.ExceptionUtils;
|
||||
import top.charles7c.continew.starter.core.util.IpUtils;
|
||||
import top.charles7c.continew.starter.extension.crud.base.CommonUserService;
|
||||
import top.charles7c.continew.starter.extension.crud.service.CommonUserService;
|
||||
import top.charles7c.continew.starter.web.util.ServletUtils;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
@ -23,6 +23,7 @@ import top.charles7c.continew.admin.monitor.mapper.LogMapper;
|
||||
import top.charles7c.continew.admin.system.service.UserService;
|
||||
import top.charles7c.continew.starter.log.common.dao.LogDao;
|
||||
import top.charles7c.continew.starter.log.httptracepro.autoconfigure.ConditionalOnEnabledLog;
|
||||
import top.charles7c.continew.starter.web.autoconfigure.trace.TraceProperties;
|
||||
|
||||
/**
|
||||
* 日志配置
|
||||
@ -38,7 +39,7 @@ public class LogConfiguration {
|
||||
* 日志持久层接口本地实现类
|
||||
*/
|
||||
@Bean
|
||||
public LogDao logDao(UserService userService, LogMapper logMapper) {
|
||||
return new LogDaoLocalImpl(userService, logMapper);
|
||||
public LogDao logDao(UserService userService, LogMapper logMapper, TraceProperties traceProperties) {
|
||||
return new LogDaoLocalImpl(userService, logMapper, traceProperties);
|
||||
}
|
||||
}
|
||||
|
@ -38,6 +38,7 @@ import top.charles7c.continew.starter.log.common.dao.LogDao;
|
||||
import top.charles7c.continew.starter.log.common.model.LogRecord;
|
||||
import top.charles7c.continew.starter.log.common.model.LogRequest;
|
||||
import top.charles7c.continew.starter.log.common.model.LogResponse;
|
||||
import top.charles7c.continew.starter.web.autoconfigure.trace.TraceProperties;
|
||||
import top.charles7c.continew.starter.web.model.R;
|
||||
|
||||
import java.net.URI;
|
||||
@ -56,6 +57,7 @@ public class LogDaoLocalImpl implements LogDao {
|
||||
|
||||
private final UserService userService;
|
||||
private final LogMapper logMapper;
|
||||
private final TraceProperties traceProperties;
|
||||
|
||||
@Async
|
||||
@Override
|
||||
@ -88,7 +90,7 @@ public class LogDaoLocalImpl implements LogDao {
|
||||
logDO.setStatusCode(statusCode);
|
||||
Map<String, String> responseHeaders = logResponse.getHeaders();
|
||||
logDO.setResponseHeaders(JSONUtil.toJsonStr(responseHeaders));
|
||||
logDO.setTraceId(responseHeaders.get(SysConstants.TRACE_ID));
|
||||
logDO.setTraceId(responseHeaders.get(traceProperties.getHeaderName()));
|
||||
String responseBody = logResponse.getBody();
|
||||
logDO.setResponseBody(responseBody);
|
||||
// 状态
|
||||
|
@ -23,7 +23,7 @@ import lombok.Data;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
|
||||
import top.charles7c.continew.starter.extension.crud.base.BaseDO;
|
||||
import top.charles7c.continew.starter.extension.crud.model.entity.BaseDO;
|
||||
|
||||
/**
|
||||
* 公告实体
|
||||
|
@ -23,7 +23,7 @@ import lombok.Data;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
|
||||
import top.charles7c.continew.admin.common.enums.DisEnableStatusEnum;
|
||||
import top.charles7c.continew.starter.extension.crud.base.BaseDO;
|
||||
import top.charles7c.continew.starter.extension.crud.model.entity.BaseDO;
|
||||
|
||||
/**
|
||||
* 部门实体
|
||||
|
@ -22,7 +22,7 @@ import lombok.Data;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
|
||||
import top.charles7c.continew.starter.extension.crud.base.BaseDO;
|
||||
import top.charles7c.continew.starter.extension.crud.model.entity.BaseDO;
|
||||
|
||||
/**
|
||||
* 字典实体
|
||||
|
@ -22,7 +22,7 @@ import lombok.Data;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
|
||||
import top.charles7c.continew.starter.extension.crud.base.BaseDO;
|
||||
import top.charles7c.continew.starter.extension.crud.model.entity.BaseDO;
|
||||
|
||||
/**
|
||||
* 字典项实体
|
||||
|
@ -29,7 +29,7 @@ import cn.hutool.core.util.StrUtil;
|
||||
import top.charles7c.continew.admin.system.enums.FileTypeEnum;
|
||||
import top.charles7c.continew.starter.core.constant.StringConstants;
|
||||
import top.charles7c.continew.starter.core.util.URLUtils;
|
||||
import top.charles7c.continew.starter.extension.crud.base.BaseDO;
|
||||
import top.charles7c.continew.starter.extension.crud.model.entity.BaseDO;
|
||||
|
||||
/**
|
||||
* 文件实体
|
||||
|
@ -24,7 +24,7 @@ import com.baomidou.mybatisplus.annotation.TableName;
|
||||
|
||||
import top.charles7c.continew.admin.common.enums.DisEnableStatusEnum;
|
||||
import top.charles7c.continew.admin.common.enums.MenuTypeEnum;
|
||||
import top.charles7c.continew.starter.extension.crud.base.BaseDO;
|
||||
import top.charles7c.continew.starter.extension.crud.model.entity.BaseDO;
|
||||
|
||||
/**
|
||||
* 菜单实体
|
||||
|
@ -24,7 +24,7 @@ import com.baomidou.mybatisplus.annotation.TableName;
|
||||
|
||||
import top.charles7c.continew.admin.common.enums.DataScopeEnum;
|
||||
import top.charles7c.continew.admin.common.enums.DisEnableStatusEnum;
|
||||
import top.charles7c.continew.starter.extension.crud.base.BaseDO;
|
||||
import top.charles7c.continew.starter.extension.crud.model.entity.BaseDO;
|
||||
|
||||
/**
|
||||
* 角色实体
|
||||
|
@ -24,7 +24,7 @@ import com.baomidou.mybatisplus.annotation.TableName;
|
||||
|
||||
import top.charles7c.continew.admin.common.enums.DisEnableStatusEnum;
|
||||
import top.charles7c.continew.admin.system.enums.StorageTypeEnum;
|
||||
import top.charles7c.continew.starter.extension.crud.base.BaseDO;
|
||||
import top.charles7c.continew.starter.extension.crud.model.entity.BaseDO;
|
||||
|
||||
/**
|
||||
* 存储库实体
|
||||
|
@ -25,7 +25,7 @@ import com.baomidou.mybatisplus.annotation.TableName;
|
||||
|
||||
import top.charles7c.continew.admin.common.enums.DisEnableStatusEnum;
|
||||
import top.charles7c.continew.admin.common.enums.GenderEnum;
|
||||
import top.charles7c.continew.starter.extension.crud.base.BaseDO;
|
||||
import top.charles7c.continew.starter.extension.crud.model.entity.BaseDO;
|
||||
|
||||
/**
|
||||
* 用户实体
|
||||
|
@ -16,19 +16,16 @@
|
||||
|
||||
package top.charles7c.continew.admin.system.model.req;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import jakarta.validation.constraints.Future;
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import lombok.Data;
|
||||
import org.hibernate.validator.constraints.Length;
|
||||
import top.charles7c.continew.starter.extension.crud.model.req.BaseReq;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
import jakarta.validation.constraints.*;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
|
||||
import org.hibernate.validator.constraints.Length;
|
||||
|
||||
import top.charles7c.continew.starter.extension.crud.base.BaseReq;
|
||||
|
||||
/**
|
||||
* 创建或修改公告信息
|
||||
*
|
||||
|
@ -16,23 +16,19 @@
|
||||
|
||||
package top.charles7c.continew.admin.system.model.req;
|
||||
|
||||
import java.io.Serial;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import jakarta.validation.constraints.Min;
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import jakarta.validation.constraints.Pattern;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
|
||||
import org.hibernate.validator.constraints.Length;
|
||||
|
||||
import top.charles7c.continew.admin.common.constant.RegexConstants;
|
||||
import top.charles7c.continew.admin.common.enums.DisEnableStatusEnum;
|
||||
import top.charles7c.continew.starter.extension.crud.base.BaseReq;
|
||||
import top.charles7c.continew.starter.extension.crud.base.ValidateGroup;
|
||||
import top.charles7c.continew.starter.extension.crud.model.req.BaseReq;
|
||||
import top.charles7c.continew.starter.extension.crud.util.ValidateGroup;
|
||||
|
||||
import java.io.Serial;
|
||||
|
||||
/**
|
||||
* 创建或修改部门信息
|
||||
|
@ -26,7 +26,7 @@ import io.swagger.v3.oas.annotations.media.Schema;
|
||||
|
||||
import org.hibernate.validator.constraints.Length;
|
||||
|
||||
import top.charles7c.continew.starter.extension.crud.base.BaseReq;
|
||||
import top.charles7c.continew.starter.extension.crud.model.req.BaseReq;
|
||||
|
||||
/**
|
||||
* 创建或修改字典项信息
|
||||
|
@ -16,18 +16,15 @@
|
||||
|
||||
package top.charles7c.continew.admin.system.model.req;
|
||||
|
||||
import java.io.Serial;
|
||||
|
||||
import jakarta.validation.constraints.*;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import jakarta.validation.constraints.Pattern;
|
||||
import lombok.Data;
|
||||
import org.hibernate.validator.constraints.Length;
|
||||
|
||||
import top.charles7c.continew.admin.common.constant.RegexConstants;
|
||||
import top.charles7c.continew.starter.extension.crud.base.BaseReq;
|
||||
import top.charles7c.continew.starter.extension.crud.model.req.BaseReq;
|
||||
|
||||
import java.io.Serial;
|
||||
|
||||
/**
|
||||
* 创建或修改字典信息
|
||||
|
@ -26,7 +26,7 @@ import io.swagger.v3.oas.annotations.media.Schema;
|
||||
|
||||
import org.hibernate.validator.constraints.Length;
|
||||
|
||||
import top.charles7c.continew.starter.extension.crud.base.BaseReq;
|
||||
import top.charles7c.continew.starter.extension.crud.model.req.BaseReq;
|
||||
|
||||
/**
|
||||
* 修改文件信息
|
||||
|
@ -30,7 +30,7 @@ import org.hibernate.validator.constraints.Length;
|
||||
|
||||
import top.charles7c.continew.admin.common.enums.DisEnableStatusEnum;
|
||||
import top.charles7c.continew.admin.common.enums.MenuTypeEnum;
|
||||
import top.charles7c.continew.starter.extension.crud.base.BaseReq;
|
||||
import top.charles7c.continew.starter.extension.crud.model.req.BaseReq;
|
||||
|
||||
/**
|
||||
* 创建或修改菜单信息
|
||||
|
@ -28,7 +28,7 @@ import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import org.hibernate.validator.constraints.Length;
|
||||
|
||||
import top.charles7c.continew.admin.common.enums.MessageTypeEnum;
|
||||
import top.charles7c.continew.starter.extension.crud.base.BaseReq;
|
||||
import top.charles7c.continew.starter.extension.crud.model.req.BaseReq;
|
||||
|
||||
/**
|
||||
* 创建消息信息
|
||||
|
@ -26,7 +26,7 @@ import io.swagger.v3.oas.annotations.media.Schema;
|
||||
|
||||
import org.hibernate.validator.constraints.Length;
|
||||
|
||||
import top.charles7c.continew.starter.extension.crud.base.BaseReq;
|
||||
import top.charles7c.continew.starter.extension.crud.model.req.BaseReq;
|
||||
|
||||
/**
|
||||
* 修改参数信息
|
||||
|
@ -33,7 +33,7 @@ import org.hibernate.validator.constraints.Length;
|
||||
import top.charles7c.continew.admin.common.constant.RegexConstants;
|
||||
import top.charles7c.continew.admin.common.enums.DataScopeEnum;
|
||||
import top.charles7c.continew.admin.common.enums.DisEnableStatusEnum;
|
||||
import top.charles7c.continew.starter.extension.crud.base.BaseReq;
|
||||
import top.charles7c.continew.starter.extension.crud.model.req.BaseReq;
|
||||
|
||||
/**
|
||||
* 创建或修改角色信息
|
||||
|
@ -29,7 +29,7 @@ import org.hibernate.validator.constraints.Length;
|
||||
import top.charles7c.continew.admin.common.constant.RegexConstants;
|
||||
import top.charles7c.continew.admin.common.enums.DisEnableStatusEnum;
|
||||
import top.charles7c.continew.admin.system.enums.StorageTypeEnum;
|
||||
import top.charles7c.continew.starter.extension.crud.base.BaseReq;
|
||||
import top.charles7c.continew.starter.extension.crud.model.req.BaseReq;
|
||||
|
||||
/**
|
||||
* 创建或修改存储库信息
|
||||
|
@ -16,24 +16,20 @@
|
||||
|
||||
package top.charles7c.continew.admin.system.model.req;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.util.List;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import jakarta.validation.constraints.NotEmpty;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import jakarta.validation.constraints.Pattern;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
|
||||
import org.hibernate.validator.constraints.Length;
|
||||
|
||||
import top.charles7c.continew.admin.common.constant.RegexConstants;
|
||||
import top.charles7c.continew.admin.common.enums.DisEnableStatusEnum;
|
||||
import top.charles7c.continew.admin.common.enums.GenderEnum;
|
||||
import top.charles7c.continew.starter.extension.crud.base.BaseReq;
|
||||
import top.charles7c.continew.starter.extension.crud.model.req.BaseReq;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 创建或修改用户信息
|
||||
|
@ -16,17 +16,14 @@
|
||||
|
||||
package top.charles7c.continew.admin.system.model.resp;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
import top.charles7c.continew.starter.extension.crud.model.resp.BaseDetailResp;
|
||||
|
||||
import top.charles7c.continew.starter.extension.crud.base.BaseDetailResp;
|
||||
import java.io.Serial;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* 公告详情信息
|
||||
|
@ -24,7 +24,7 @@ import lombok.Data;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
|
||||
import top.charles7c.continew.admin.system.enums.AnnouncementStatusEnum;
|
||||
import top.charles7c.continew.starter.extension.crud.base.BaseResp;
|
||||
import top.charles7c.continew.starter.extension.crud.model.resp.BaseResp;
|
||||
|
||||
/**
|
||||
* 公告信息
|
||||
|
@ -25,7 +25,7 @@ import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
import top.charles7c.continew.admin.common.enums.DisEnableStatusEnum;
|
||||
import top.charles7c.continew.admin.system.service.DeptService;
|
||||
import top.charles7c.continew.starter.extension.crud.base.BaseDetailResp;
|
||||
import top.charles7c.continew.starter.extension.crud.model.resp.BaseDetailResp;
|
||||
import top.charles7c.continew.starter.extension.crud.converter.ExcelBaseEnumConverter;
|
||||
|
||||
import java.io.Serial;
|
||||
|
@ -16,15 +16,13 @@
|
||||
|
||||
package top.charles7c.continew.admin.system.model.resp;
|
||||
|
||||
import java.io.Serial;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
|
||||
import lombok.Data;
|
||||
import top.charles7c.continew.admin.common.enums.DisEnableStatusEnum;
|
||||
import top.charles7c.continew.starter.extension.crud.annotation.TreeField;
|
||||
import top.charles7c.continew.starter.extension.crud.base.BaseResp;
|
||||
import top.charles7c.continew.starter.extension.crud.model.resp.BaseResp;
|
||||
|
||||
import java.io.Serial;
|
||||
|
||||
/**
|
||||
* 部门信息
|
||||
|
@ -22,7 +22,7 @@ import lombok.Data;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
|
||||
import top.charles7c.continew.starter.extension.crud.base.BaseDetailResp;
|
||||
import top.charles7c.continew.starter.extension.crud.model.resp.BaseDetailResp;
|
||||
|
||||
/**
|
||||
* 字典详情信息
|
||||
|
@ -25,7 +25,7 @@ import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
|
||||
import top.charles7c.continew.starter.extension.crud.base.BaseDetailResp;
|
||||
import top.charles7c.continew.starter.extension.crud.model.resp.BaseDetailResp;
|
||||
|
||||
/**
|
||||
* 字典项详情信息
|
||||
|
@ -22,7 +22,7 @@ import lombok.Data;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
|
||||
import top.charles7c.continew.starter.extension.crud.base.BaseResp;
|
||||
import top.charles7c.continew.starter.extension.crud.model.resp.BaseResp;
|
||||
|
||||
/**
|
||||
* 字典项信息
|
||||
|
@ -22,7 +22,7 @@ import lombok.Data;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
|
||||
import top.charles7c.continew.starter.extension.crud.base.BaseResp;
|
||||
import top.charles7c.continew.starter.extension.crud.model.resp.BaseResp;
|
||||
|
||||
/**
|
||||
* 字典信息
|
||||
|
@ -25,7 +25,7 @@ import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
|
||||
import top.charles7c.continew.admin.system.enums.FileTypeEnum;
|
||||
import top.charles7c.continew.starter.extension.crud.base.BaseDetailResp;
|
||||
import top.charles7c.continew.starter.extension.crud.model.resp.BaseDetailResp;
|
||||
|
||||
/**
|
||||
* 文件信息
|
||||
|
@ -29,7 +29,7 @@ import top.charles7c.continew.starter.extension.crud.converter.ExcelBaseEnumConv
|
||||
import top.charles7c.continew.admin.common.enums.DisEnableStatusEnum;
|
||||
import top.charles7c.continew.admin.common.enums.MenuTypeEnum;
|
||||
import top.charles7c.continew.starter.extension.crud.annotation.TreeField;
|
||||
import top.charles7c.continew.starter.extension.crud.base.BaseResp;
|
||||
import top.charles7c.continew.starter.extension.crud.model.resp.BaseResp;
|
||||
|
||||
/**
|
||||
* 菜单信息
|
||||
|
@ -25,7 +25,7 @@ import lombok.Data;
|
||||
import top.charles7c.continew.admin.common.constant.ContainerConstants;
|
||||
import top.charles7c.continew.admin.common.enums.DataScopeEnum;
|
||||
import top.charles7c.continew.admin.common.enums.DisEnableStatusEnum;
|
||||
import top.charles7c.continew.starter.extension.crud.base.BaseDetailResp;
|
||||
import top.charles7c.continew.starter.extension.crud.model.resp.BaseDetailResp;
|
||||
import top.charles7c.continew.starter.extension.crud.converter.ExcelBaseEnumConverter;
|
||||
|
||||
import java.io.Serial;
|
||||
|
@ -24,7 +24,7 @@ import io.swagger.v3.oas.annotations.media.Schema;
|
||||
|
||||
import top.charles7c.continew.admin.common.enums.DataScopeEnum;
|
||||
import top.charles7c.continew.admin.common.enums.DisEnableStatusEnum;
|
||||
import top.charles7c.continew.starter.extension.crud.base.BaseResp;
|
||||
import top.charles7c.continew.starter.extension.crud.model.resp.BaseResp;
|
||||
|
||||
/**
|
||||
* 角色信息
|
||||
|
@ -28,7 +28,7 @@ import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import top.charles7c.continew.starter.extension.crud.converter.ExcelBaseEnumConverter;
|
||||
import top.charles7c.continew.admin.common.enums.DisEnableStatusEnum;
|
||||
import top.charles7c.continew.admin.system.enums.StorageTypeEnum;
|
||||
import top.charles7c.continew.starter.extension.crud.base.BaseDetailResp;
|
||||
import top.charles7c.continew.starter.extension.crud.model.resp.BaseDetailResp;
|
||||
|
||||
/**
|
||||
* 存储库详情信息
|
||||
|
@ -26,7 +26,7 @@ import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||
|
||||
import top.charles7c.continew.admin.common.enums.DisEnableStatusEnum;
|
||||
import top.charles7c.continew.admin.system.enums.StorageTypeEnum;
|
||||
import top.charles7c.continew.starter.extension.crud.base.BaseResp;
|
||||
import top.charles7c.continew.starter.extension.crud.model.resp.BaseResp;
|
||||
|
||||
/**
|
||||
* 存储库信息
|
||||
|
@ -29,7 +29,7 @@ import top.charles7c.continew.admin.common.enums.DisEnableStatusEnum;
|
||||
import top.charles7c.continew.admin.common.enums.GenderEnum;
|
||||
import top.charles7c.continew.admin.common.util.helper.LoginHelper;
|
||||
import top.charles7c.continew.admin.system.service.DeptService;
|
||||
import top.charles7c.continew.starter.extension.crud.base.BaseDetailResp;
|
||||
import top.charles7c.continew.starter.extension.crud.model.resp.BaseDetailResp;
|
||||
import top.charles7c.continew.starter.extension.crud.converter.ExcelBaseEnumConverter;
|
||||
|
||||
import java.io.Serial;
|
||||
|
@ -28,7 +28,7 @@ import cn.hutool.core.util.DesensitizedUtil;
|
||||
import top.charles7c.continew.admin.common.enums.DisEnableStatusEnum;
|
||||
import top.charles7c.continew.admin.common.enums.GenderEnum;
|
||||
import top.charles7c.continew.admin.common.util.helper.LoginHelper;
|
||||
import top.charles7c.continew.starter.extension.crud.base.BaseResp;
|
||||
import top.charles7c.continew.starter.extension.crud.model.resp.BaseResp;
|
||||
|
||||
/**
|
||||
* 用户信息
|
||||
|
@ -22,8 +22,8 @@ import top.charles7c.continew.admin.system.model.req.AnnouncementReq;
|
||||
import top.charles7c.continew.admin.system.model.resp.AnnouncementDetailResp;
|
||||
import top.charles7c.continew.admin.system.model.resp.AnnouncementResp;
|
||||
import top.charles7c.continew.admin.system.model.resp.DashboardAnnouncementResp;
|
||||
import top.charles7c.continew.starter.extension.crud.base.BaseService;
|
||||
import top.charles7c.continew.starter.extension.crud.base.IService;
|
||||
import top.charles7c.continew.starter.extension.crud.service.BaseService;
|
||||
import top.charles7c.continew.starter.extension.crud.service.IService;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
@ -21,8 +21,8 @@ import top.charles7c.continew.admin.system.model.query.DeptQuery;
|
||||
import top.charles7c.continew.admin.system.model.req.DeptReq;
|
||||
import top.charles7c.continew.admin.system.model.resp.DeptDetailResp;
|
||||
import top.charles7c.continew.admin.system.model.resp.DeptResp;
|
||||
import top.charles7c.continew.starter.extension.crud.base.BaseService;
|
||||
import top.charles7c.continew.starter.extension.crud.base.IService;
|
||||
import top.charles7c.continew.starter.extension.crud.service.BaseService;
|
||||
import top.charles7c.continew.starter.extension.crud.service.IService;
|
||||
|
||||
/**
|
||||
* 部门业务接口
|
||||
|
@ -22,8 +22,8 @@ import top.charles7c.continew.admin.system.model.query.DictItemQuery;
|
||||
import top.charles7c.continew.admin.system.model.req.DictItemReq;
|
||||
import top.charles7c.continew.admin.system.model.resp.DictItemDetailResp;
|
||||
import top.charles7c.continew.admin.system.model.resp.DictItemResp;
|
||||
import top.charles7c.continew.starter.extension.crud.base.BaseService;
|
||||
import top.charles7c.continew.starter.extension.crud.base.IService;
|
||||
import top.charles7c.continew.starter.extension.crud.service.BaseService;
|
||||
import top.charles7c.continew.starter.extension.crud.service.IService;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
@ -21,8 +21,8 @@ import top.charles7c.continew.admin.system.model.query.DictQuery;
|
||||
import top.charles7c.continew.admin.system.model.req.DictReq;
|
||||
import top.charles7c.continew.admin.system.model.resp.DictDetailResp;
|
||||
import top.charles7c.continew.admin.system.model.resp.DictResp;
|
||||
import top.charles7c.continew.starter.extension.crud.base.BaseService;
|
||||
import top.charles7c.continew.starter.extension.crud.base.IService;
|
||||
import top.charles7c.continew.starter.extension.crud.service.BaseService;
|
||||
import top.charles7c.continew.starter.extension.crud.service.IService;
|
||||
|
||||
/**
|
||||
* 字典业务接口
|
||||
|
@ -22,8 +22,8 @@ import top.charles7c.continew.admin.system.model.entity.FileDO;
|
||||
import top.charles7c.continew.admin.system.model.query.FileQuery;
|
||||
import top.charles7c.continew.admin.system.model.req.FileReq;
|
||||
import top.charles7c.continew.admin.system.model.resp.FileResp;
|
||||
import top.charles7c.continew.starter.extension.crud.base.BaseService;
|
||||
import top.charles7c.continew.starter.extension.crud.base.IService;
|
||||
import top.charles7c.continew.starter.extension.crud.service.BaseService;
|
||||
import top.charles7c.continew.starter.extension.crud.service.IService;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
@ -20,8 +20,8 @@ import top.charles7c.continew.admin.system.model.entity.MenuDO;
|
||||
import top.charles7c.continew.admin.system.model.query.MenuQuery;
|
||||
import top.charles7c.continew.admin.system.model.req.MenuReq;
|
||||
import top.charles7c.continew.admin.system.model.resp.MenuResp;
|
||||
import top.charles7c.continew.starter.extension.crud.base.BaseService;
|
||||
import top.charles7c.continew.starter.extension.crud.base.IService;
|
||||
import top.charles7c.continew.starter.extension.crud.service.BaseService;
|
||||
import top.charles7c.continew.starter.extension.crud.service.IService;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
@ -23,8 +23,8 @@ import top.charles7c.continew.admin.system.model.query.RoleQuery;
|
||||
import top.charles7c.continew.admin.system.model.req.RoleReq;
|
||||
import top.charles7c.continew.admin.system.model.resp.RoleDetailResp;
|
||||
import top.charles7c.continew.admin.system.model.resp.RoleResp;
|
||||
import top.charles7c.continew.starter.extension.crud.base.BaseService;
|
||||
import top.charles7c.continew.starter.extension.crud.base.IService;
|
||||
import top.charles7c.continew.starter.extension.crud.service.BaseService;
|
||||
import top.charles7c.continew.starter.extension.crud.service.IService;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
@ -21,8 +21,8 @@ import top.charles7c.continew.admin.system.model.query.StorageQuery;
|
||||
import top.charles7c.continew.admin.system.model.req.StorageReq;
|
||||
import top.charles7c.continew.admin.system.model.resp.StorageDetailResp;
|
||||
import top.charles7c.continew.admin.system.model.resp.StorageResp;
|
||||
import top.charles7c.continew.starter.extension.crud.base.BaseService;
|
||||
import top.charles7c.continew.starter.extension.crud.base.IService;
|
||||
import top.charles7c.continew.starter.extension.crud.service.BaseService;
|
||||
import top.charles7c.continew.starter.extension.crud.service.IService;
|
||||
|
||||
/**
|
||||
* 存储库业务接口
|
||||
|
@ -24,8 +24,8 @@ import top.charles7c.continew.admin.system.model.req.UserReq;
|
||||
import top.charles7c.continew.admin.system.model.req.UserRoleUpdateReq;
|
||||
import top.charles7c.continew.admin.system.model.resp.UserDetailResp;
|
||||
import top.charles7c.continew.admin.system.model.resp.UserResp;
|
||||
import top.charles7c.continew.starter.extension.crud.base.BaseService;
|
||||
import top.charles7c.continew.starter.extension.crud.base.IService;
|
||||
import top.charles7c.continew.starter.extension.crud.service.BaseService;
|
||||
import top.charles7c.continew.starter.extension.crud.service.IService;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
@ -30,7 +30,7 @@ import top.charles7c.continew.admin.system.model.resp.AnnouncementDetailResp;
|
||||
import top.charles7c.continew.admin.system.model.resp.AnnouncementResp;
|
||||
import top.charles7c.continew.admin.system.model.resp.DashboardAnnouncementResp;
|
||||
import top.charles7c.continew.admin.system.service.AnnouncementService;
|
||||
import top.charles7c.continew.starter.extension.crud.base.BaseServiceImpl;
|
||||
import top.charles7c.continew.starter.extension.crud.service.impl.BaseServiceImpl;
|
||||
|
||||
/**
|
||||
* 公告业务实现
|
||||
|
@ -31,7 +31,7 @@ import top.charles7c.continew.admin.system.service.DeptService;
|
||||
import top.charles7c.continew.admin.system.service.RoleDeptService;
|
||||
import top.charles7c.continew.admin.system.service.UserService;
|
||||
import top.charles7c.continew.starter.core.util.validate.CheckUtils;
|
||||
import top.charles7c.continew.starter.extension.crud.base.BaseServiceImpl;
|
||||
import top.charles7c.continew.starter.extension.crud.service.impl.BaseServiceImpl;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
@ -27,7 +27,7 @@ import top.charles7c.continew.admin.system.model.resp.DictItemDetailResp;
|
||||
import top.charles7c.continew.admin.system.model.resp.DictItemResp;
|
||||
import top.charles7c.continew.admin.system.service.DictItemService;
|
||||
import top.charles7c.continew.starter.core.util.validate.CheckUtils;
|
||||
import top.charles7c.continew.starter.extension.crud.base.BaseServiceImpl;
|
||||
import top.charles7c.continew.starter.extension.crud.service.impl.BaseServiceImpl;
|
||||
import top.charles7c.continew.starter.extension.crud.model.query.SortQuery;
|
||||
|
||||
import java.util.List;
|
||||
|
@ -29,7 +29,7 @@ import top.charles7c.continew.admin.system.model.resp.DictResp;
|
||||
import top.charles7c.continew.admin.system.service.DictItemService;
|
||||
import top.charles7c.continew.admin.system.service.DictService;
|
||||
import top.charles7c.continew.starter.core.util.validate.CheckUtils;
|
||||
import top.charles7c.continew.starter.extension.crud.base.BaseServiceImpl;
|
||||
import top.charles7c.continew.starter.extension.crud.service.impl.BaseServiceImpl;
|
||||
import top.charles7c.continew.starter.extension.crud.model.query.SortQuery;
|
||||
import top.charles7c.continew.starter.file.excel.util.ExcelUtils;
|
||||
|
||||
|
@ -39,7 +39,7 @@ import top.charles7c.continew.admin.system.service.StorageService;
|
||||
import top.charles7c.continew.starter.core.constant.StringConstants;
|
||||
import top.charles7c.continew.starter.core.util.URLUtils;
|
||||
import top.charles7c.continew.starter.core.util.validate.CheckUtils;
|
||||
import top.charles7c.continew.starter.extension.crud.base.BaseServiceImpl;
|
||||
import top.charles7c.continew.starter.extension.crud.service.impl.BaseServiceImpl;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
@ -31,7 +31,7 @@ import top.charles7c.continew.admin.system.model.req.MenuReq;
|
||||
import top.charles7c.continew.admin.system.model.resp.MenuResp;
|
||||
import top.charles7c.continew.admin.system.service.MenuService;
|
||||
import top.charles7c.continew.starter.core.util.validate.CheckUtils;
|
||||
import top.charles7c.continew.starter.extension.crud.base.BaseServiceImpl;
|
||||
import top.charles7c.continew.starter.extension.crud.service.impl.BaseServiceImpl;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
@ -39,7 +39,7 @@ import top.charles7c.continew.admin.system.model.resp.RoleDetailResp;
|
||||
import top.charles7c.continew.admin.system.model.resp.RoleResp;
|
||||
import top.charles7c.continew.admin.system.service.*;
|
||||
import top.charles7c.continew.starter.core.util.validate.CheckUtils;
|
||||
import top.charles7c.continew.starter.extension.crud.base.BaseServiceImpl;
|
||||
import top.charles7c.continew.starter.extension.crud.service.impl.BaseServiceImpl;
|
||||
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
@ -41,7 +41,7 @@ import top.charles7c.continew.starter.core.constant.StringConstants;
|
||||
import top.charles7c.continew.starter.core.util.URLUtils;
|
||||
import top.charles7c.continew.starter.core.util.validate.CheckUtils;
|
||||
import top.charles7c.continew.starter.core.util.validate.ValidationUtils;
|
||||
import top.charles7c.continew.starter.extension.crud.base.BaseServiceImpl;
|
||||
import top.charles7c.continew.starter.extension.crud.service.impl.BaseServiceImpl;
|
||||
import top.charles7c.continew.starter.web.util.SpringWebUtils;
|
||||
|
||||
import java.util.Collections;
|
||||
|
@ -50,8 +50,8 @@ import top.charles7c.continew.admin.system.service.UserRoleService;
|
||||
import top.charles7c.continew.admin.system.service.UserService;
|
||||
import top.charles7c.continew.starter.core.constant.StringConstants;
|
||||
import top.charles7c.continew.starter.core.util.validate.CheckUtils;
|
||||
import top.charles7c.continew.starter.extension.crud.base.BaseServiceImpl;
|
||||
import top.charles7c.continew.starter.extension.crud.base.CommonUserService;
|
||||
import top.charles7c.continew.starter.extension.crud.service.impl.BaseServiceImpl;
|
||||
import top.charles7c.continew.starter.extension.crud.service.CommonUserService;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.Collection;
|
||||
|
@ -7,7 +7,7 @@ import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import top.charles7c.continew.starter.extension.crud.annotation.CrudRequestMapping;
|
||||
import top.charles7c.continew.starter.extension.crud.base.BaseController;
|
||||
import top.charles7c.continew.starter.extension.crud.controller.BaseController;
|
||||
import ${packageName}.model.query.${classNamePrefix}Query;
|
||||
import ${packageName}.model.req.${classNamePrefix}Req;
|
||||
import ${packageName}.model.resp.${classNamePrefix}DetailResp;
|
||||
|
@ -15,7 +15,7 @@ import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
|
||||
import top.charles7c.continew.starter.extension.crud.base.BaseDetailResp;
|
||||
import top.charles7c.continew.starter.extension.crud.model.resp.BaseDetailResp;
|
||||
|
||||
/**
|
||||
* ${businessName}详情信息
|
||||
|
@ -12,7 +12,7 @@ import lombok.Data;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
|
||||
import top.charles7c.continew.starter.extension.crud.base.BaseDO;
|
||||
import top.charles7c.continew.starter.extension.crud.model.entity.BaseDO;
|
||||
|
||||
/**
|
||||
* ${businessName}实体
|
||||
|
@ -18,7 +18,7 @@ import io.swagger.v3.oas.annotations.media.Schema;
|
||||
|
||||
import org.hibernate.validator.constraints.Length;
|
||||
|
||||
import top.charles7c.continew.starter.extension.crud.base.BaseReq;
|
||||
import top.charles7c.continew.starter.extension.crud.model.req.BaseReq;
|
||||
|
||||
/**
|
||||
* 创建或修改${businessName}信息
|
||||
|
@ -12,7 +12,7 @@ import lombok.Data;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
|
||||
import top.charles7c.continew.starter.extension.crud.base.BaseResp;
|
||||
import top.charles7c.continew.starter.extension.crud.model.resp.BaseResp;
|
||||
|
||||
/**
|
||||
* ${businessName}信息
|
||||
|
@ -1,6 +1,6 @@
|
||||
package ${packageName}.${subPackageName};
|
||||
|
||||
import top.charles7c.continew.starter.extension.crud.base.BaseService;
|
||||
import top.charles7c.continew.starter.extension.crud.service.BaseService;
|
||||
import ${packageName}.model.query.${classNamePrefix}Query;
|
||||
import ${packageName}.model.req.${classNamePrefix}Req;
|
||||
import ${packageName}.model.resp.${classNamePrefix}DetailResp;
|
||||
|
@ -4,7 +4,7 @@ import lombok.RequiredArgsConstructor;
|
||||
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import top.charles7c.continew.starter.extension.crud.base.BaseServiceImpl;
|
||||
import top.charles7c.continew.starter.extension.crud.service.impl.BaseServiceImpl;
|
||||
import ${packageName}.mapper.${classNamePrefix}Mapper;
|
||||
import ${packageName}.model.entity.${classNamePrefix}DO;
|
||||
import ${packageName}.model.query.${classNamePrefix}Query;
|
||||
|
@ -32,8 +32,8 @@ import top.charles7c.continew.admin.system.model.resp.AnnouncementResp;
|
||||
import top.charles7c.continew.admin.system.service.AnnouncementService;
|
||||
import top.charles7c.continew.starter.core.util.validate.ValidationUtils;
|
||||
import top.charles7c.continew.starter.extension.crud.annotation.CrudRequestMapping;
|
||||
import top.charles7c.continew.starter.extension.crud.base.BaseController;
|
||||
import top.charles7c.continew.starter.extension.crud.base.ValidateGroup;
|
||||
import top.charles7c.continew.starter.extension.crud.controller.BaseController;
|
||||
import top.charles7c.continew.starter.extension.crud.util.ValidateGroup;
|
||||
import top.charles7c.continew.starter.web.model.R;
|
||||
|
||||
/**
|
||||
|
@ -26,7 +26,7 @@ import top.charles7c.continew.admin.system.model.resp.DeptDetailResp;
|
||||
import top.charles7c.continew.admin.system.model.resp.DeptResp;
|
||||
import top.charles7c.continew.admin.system.service.DeptService;
|
||||
import top.charles7c.continew.starter.extension.crud.annotation.CrudRequestMapping;
|
||||
import top.charles7c.continew.starter.extension.crud.base.BaseController;
|
||||
import top.charles7c.continew.starter.extension.crud.controller.BaseController;
|
||||
import top.charles7c.continew.starter.extension.crud.enums.Api;
|
||||
|
||||
/**
|
||||
|
@ -26,7 +26,7 @@ import top.charles7c.continew.admin.system.model.resp.DictDetailResp;
|
||||
import top.charles7c.continew.admin.system.model.resp.DictResp;
|
||||
import top.charles7c.continew.admin.system.service.DictService;
|
||||
import top.charles7c.continew.starter.extension.crud.annotation.CrudRequestMapping;
|
||||
import top.charles7c.continew.starter.extension.crud.base.BaseController;
|
||||
import top.charles7c.continew.starter.extension.crud.controller.BaseController;
|
||||
|
||||
/**
|
||||
* 字典管理 API
|
||||
|
@ -26,7 +26,7 @@ import top.charles7c.continew.admin.system.model.resp.DictItemDetailResp;
|
||||
import top.charles7c.continew.admin.system.model.resp.DictItemResp;
|
||||
import top.charles7c.continew.admin.system.service.DictItemService;
|
||||
import top.charles7c.continew.starter.extension.crud.annotation.CrudRequestMapping;
|
||||
import top.charles7c.continew.starter.extension.crud.base.BaseController;
|
||||
import top.charles7c.continew.starter.extension.crud.controller.BaseController;
|
||||
import top.charles7c.continew.starter.extension.crud.enums.Api;
|
||||
|
||||
/**
|
||||
|
@ -25,7 +25,7 @@ import top.charles7c.continew.admin.system.model.req.FileReq;
|
||||
import top.charles7c.continew.admin.system.model.resp.FileResp;
|
||||
import top.charles7c.continew.admin.system.service.FileService;
|
||||
import top.charles7c.continew.starter.extension.crud.annotation.CrudRequestMapping;
|
||||
import top.charles7c.continew.starter.extension.crud.base.BaseController;
|
||||
import top.charles7c.continew.starter.extension.crud.controller.BaseController;
|
||||
import top.charles7c.continew.starter.extension.crud.enums.Api;
|
||||
|
||||
/**
|
||||
|
@ -16,16 +16,13 @@
|
||||
|
||||
package top.charles7c.continew.admin.webapi.system;
|
||||
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.PathVariable;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
|
||||
import top.charles7c.continew.admin.system.model.query.MenuQuery;
|
||||
import top.charles7c.continew.admin.system.model.req.MenuReq;
|
||||
import top.charles7c.continew.admin.system.model.resp.MenuResp;
|
||||
@ -33,9 +30,9 @@ import top.charles7c.continew.admin.system.service.MenuService;
|
||||
import top.charles7c.continew.starter.core.util.URLUtils;
|
||||
import top.charles7c.continew.starter.core.util.validate.ValidationUtils;
|
||||
import top.charles7c.continew.starter.extension.crud.annotation.CrudRequestMapping;
|
||||
import top.charles7c.continew.starter.extension.crud.base.BaseController;
|
||||
import top.charles7c.continew.starter.extension.crud.base.ValidateGroup;
|
||||
import top.charles7c.continew.starter.extension.crud.controller.BaseController;
|
||||
import top.charles7c.continew.starter.extension.crud.enums.Api;
|
||||
import top.charles7c.continew.starter.extension.crud.util.ValidateGroup;
|
||||
import top.charles7c.continew.starter.web.model.R;
|
||||
|
||||
/**
|
||||
|
@ -26,7 +26,7 @@ import top.charles7c.continew.admin.system.model.resp.RoleDetailResp;
|
||||
import top.charles7c.continew.admin.system.model.resp.RoleResp;
|
||||
import top.charles7c.continew.admin.system.service.RoleService;
|
||||
import top.charles7c.continew.starter.extension.crud.annotation.CrudRequestMapping;
|
||||
import top.charles7c.continew.starter.extension.crud.base.BaseController;
|
||||
import top.charles7c.continew.starter.extension.crud.controller.BaseController;
|
||||
|
||||
/**
|
||||
* 角色管理 API
|
||||
|
@ -26,7 +26,7 @@ import top.charles7c.continew.admin.system.model.resp.StorageDetailResp;
|
||||
import top.charles7c.continew.admin.system.model.resp.StorageResp;
|
||||
import top.charles7c.continew.admin.system.service.StorageService;
|
||||
import top.charles7c.continew.starter.extension.crud.annotation.CrudRequestMapping;
|
||||
import top.charles7c.continew.starter.extension.crud.base.BaseController;
|
||||
import top.charles7c.continew.starter.extension.crud.controller.BaseController;
|
||||
|
||||
/**
|
||||
* 存储库管理 API
|
||||
|
@ -37,8 +37,8 @@ import top.charles7c.continew.admin.system.model.resp.UserDetailResp;
|
||||
import top.charles7c.continew.admin.system.model.resp.UserResp;
|
||||
import top.charles7c.continew.admin.system.service.UserService;
|
||||
import top.charles7c.continew.starter.extension.crud.annotation.CrudRequestMapping;
|
||||
import top.charles7c.continew.starter.extension.crud.base.BaseController;
|
||||
import top.charles7c.continew.starter.extension.crud.base.ValidateGroup;
|
||||
import top.charles7c.continew.starter.extension.crud.controller.BaseController;
|
||||
import top.charles7c.continew.starter.extension.crud.util.ValidateGroup;
|
||||
import top.charles7c.continew.starter.web.model.R;
|
||||
|
||||
/**
|
||||
|
@ -222,10 +222,10 @@ sa-token.extension:
|
||||
- /error
|
||||
# 静态资源
|
||||
- /*.html
|
||||
- /**/*.html
|
||||
- /**/*.css
|
||||
- /**/*.js
|
||||
- /webSocket/**
|
||||
- /*/*.html
|
||||
- /*/*.css
|
||||
- /*/*.js
|
||||
- /webSocket/*
|
||||
# 接口文档相关资源
|
||||
- /favicon.ico
|
||||
- /doc.html
|
||||
@ -236,18 +236,9 @@ sa-token.extension:
|
||||
# 本地存储资源
|
||||
- /file/**
|
||||
|
||||
--- ### 文件上传配置
|
||||
spring.servlet:
|
||||
multipart:
|
||||
enabled: true
|
||||
# 单文件上传大小限制
|
||||
max-file-size: 10MB
|
||||
# 单次总上传文件大小限制
|
||||
max-request-size: 20MB
|
||||
|
||||
--- ### 密码编码器配置
|
||||
continew-starter:
|
||||
password-encoder:
|
||||
continew-starter.security:
|
||||
password:
|
||||
enabled: true
|
||||
# BCryptPasswordEncoder
|
||||
encoding-id: bcrypt
|
||||
@ -256,3 +247,12 @@ continew-starter:
|
||||
rsa:
|
||||
# 私钥
|
||||
privateKey: MIIBVQIBADANBgkqhkiG9w0BAQEFAASCAT8wggE7AgEAAkEAznV2Bi0zIX61NC3zSx8U6lJXbtru325pRV4Wt0aJXGxy6LMTsfxIye1ip+f2WnxrkYfk/X8YZ6FWNQPaAX/iRwIDAQABAkEAk/VcAusrpIqA5Ac2P5Tj0VX3cOuXmyouaVcXonr7f+6y2YTjLQuAnkcfKKocQI/juIRQBFQIqqW/m1nmz1wGeQIhAO8XaA/KxzOIgU0l/4lm0A2Wne6RokJ9HLs1YpOzIUmVAiEA3Q9DQrpAlIuiT1yWAGSxA9RxcjUM/1kdVLTkv0avXWsCIE0X8woEjK7lOSwzMG6RpEx9YHdopjViOj1zPVH61KTxAiBmv/dlhqkJ4rV46fIXELZur0pj6WC3N7a4brR8a+CLLQIhAMQyerWl2cPNVtE/8tkziHKbwW3ZUiBXU24wFxedT9iV
|
||||
|
||||
--- ### 文件上传配置
|
||||
spring.servlet:
|
||||
multipart:
|
||||
enabled: true
|
||||
# 单文件上传大小限制
|
||||
max-file-size: 10MB
|
||||
# 单次总上传文件大小限制
|
||||
max-request-size: 20MB
|
@ -229,13 +229,25 @@ sa-token.extension:
|
||||
- /error
|
||||
# 静态资源
|
||||
- /*.html
|
||||
- /**/*.html
|
||||
- /**/*.css
|
||||
- /**/*.js
|
||||
- /*/*.html
|
||||
- /*/*.css
|
||||
- /*/*.js
|
||||
- /webSocket/**
|
||||
# 本地存储资源
|
||||
- /file/**
|
||||
|
||||
--- ### 密码编码器配置
|
||||
continew-starter.security:
|
||||
password:
|
||||
enabled: true
|
||||
# BCryptPasswordEncoder
|
||||
encoding-id: bcrypt
|
||||
|
||||
--- ### 非对称加密配置(例如:密码加密传输,前端公钥加密,后端私钥解密;在线生成 RSA 密钥对:http://web.chacuo.net/netrsakeypair)
|
||||
rsa:
|
||||
# 私钥
|
||||
privateKey: MIIBVQIBADANBgkqhkiG9w0BAQEFAASCAT8wggE7AgEAAkEAznV2Bi0zIX61NC3zSx8U6lJXbtru325pRV4Wt0aJXGxy6LMTsfxIye1ip+f2WnxrkYfk/X8YZ6FWNQPaAX/iRwIDAQABAkEAk/VcAusrpIqA5Ac2P5Tj0VX3cOuXmyouaVcXonr7f+6y2YTjLQuAnkcfKKocQI/juIRQBFQIqqW/m1nmz1wGeQIhAO8XaA/KxzOIgU0l/4lm0A2Wne6RokJ9HLs1YpOzIUmVAiEA3Q9DQrpAlIuiT1yWAGSxA9RxcjUM/1kdVLTkv0avXWsCIE0X8woEjK7lOSwzMG6RpEx9YHdopjViOj1zPVH61KTxAiBmv/dlhqkJ4rV46fIXELZur0pj6WC3N7a4brR8a+CLLQIhAMQyerWl2cPNVtE/8tkziHKbwW3ZUiBXU24wFxedT9iV
|
||||
|
||||
--- ### 文件上传配置
|
||||
spring.servlet:
|
||||
multipart:
|
||||
@ -244,15 +256,3 @@ spring.servlet:
|
||||
max-file-size: 10MB
|
||||
# 单次总上传文件大小限制
|
||||
max-request-size: 20MB
|
||||
|
||||
--- ### 密码编码器配置
|
||||
continew-starter:
|
||||
password-encoder:
|
||||
enabled: true
|
||||
# BCryptPasswordEncoder
|
||||
encoding-id: bcrypt
|
||||
|
||||
--- ### 非对称加密配置(例如:密码加密传输,前端公钥加密,后端私钥解密;在线生成 RSA 密钥对:http://web.chacuo.net/netrsakeypair)
|
||||
rsa:
|
||||
# 私钥
|
||||
privateKey: MIIBVQIBADANBgkqhkiG9w0BAQEFAASCAT8wggE7AgEAAkEAznV2Bi0zIX61NC3zSx8U6lJXbtru325pRV4Wt0aJXGxy6LMTsfxIye1ip+f2WnxrkYfk/X8YZ6FWNQPaAX/iRwIDAQABAkEAk/VcAusrpIqA5Ac2P5Tj0VX3cOuXmyouaVcXonr7f+6y2YTjLQuAnkcfKKocQI/juIRQBFQIqqW/m1nmz1wGeQIhAO8XaA/KxzOIgU0l/4lm0A2Wne6RokJ9HLs1YpOzIUmVAiEA3Q9DQrpAlIuiT1yWAGSxA9RxcjUM/1kdVLTkv0avXWsCIE0X8woEjK7lOSwzMG6RpEx9YHdopjViOj1zPVH61KTxAiBmv/dlhqkJ4rV46fIXELZur0pj6WC3N7a4brR8a+CLLQIhAMQyerWl2cPNVtE/8tkziHKbwW3ZUiBXU24wFxedT9iV
|
||||
|
@ -37,8 +37,14 @@ continew-starter.log:
|
||||
## 项目日志配置
|
||||
logging:
|
||||
config: classpath:logback-spring.xml
|
||||
## TLog 链路追踪配置
|
||||
tlog:
|
||||
|
||||
--- ### 链路跟踪配置
|
||||
continew-starter.web:
|
||||
trace:
|
||||
enabled: true
|
||||
header-name: traceId
|
||||
## TLog 配置
|
||||
tlog:
|
||||
enable-invoke-time-print: false
|
||||
pattern: '[$spanId][$traceId]'
|
||||
mdc-enable: false
|
||||
|
Loading…
Reference in New Issue
Block a user