From 4779d77265d47511d86aaeff659e1726ae4a76b4 Mon Sep 17 00:00:00 2001 From: Charles7c Date: Sat, 4 Mar 2023 10:41:43 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=EF=BC=9A=E5=9F=BA=E4=BA=8E?= =?UTF-8?q?=E9=98=BF=E9=87=8C=E5=B7=B4=E5=B7=B4=20Java=20=E5=BC=80?= =?UTF-8?q?=E5=8F=91=E6=89=8B=E5=86=8C(=E9=BB=84=E5=B1=B1=E7=89=88)?= =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=96=B9=E6=B3=95=E6=8E=92=E5=BA=8F=E5=8F=8A?= =?UTF-8?q?=E8=AE=BF=E9=97=AE=E6=9D=83=E9=99=90=E4=BF=AE=E9=A5=B0=E7=AC=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1.编程规约>OOP规约>第20条: 【推荐】当一个类有多个构造方法,或者多个同名方法,这些方法应该按顺序放置在一起,便于阅读, 此条规则优先于下一条。 2.编程规约>OOP规约>第21条: 【推荐】类内方法定义的顺序依次是:公有方法或保护方法 > 私有方法 > getter / setter 方法。 说明:公有方法是类的调用者和维护者最关心的方法,首屏展示最好;保护方法虽然只是子类关心,也可能是“模板设 计模式”下的核心方法;而私有方法外部一般不需要特别关心,是一个黑盒实现;因为承载的信息价值较低,所有 Service 和 DAO 的 getter / setter 方法放在类体最后。 3.编程规约>OOP规约>第26条: 【推荐】类成员与方法访问控制从严: 1)如果不允许外部直接通过 new 来创建对象,那么构造方法必须是 private。 2)工具类不允许有 public 或 default 构造方法。 3)类非 static 成员变量并且与子类共享,必须是 protected。 4)类非 static 成员变量并且仅在本类使用,必须是 private。 5)类 static 成员变量如果仅在本类使用,必须是 private。 6)若是 static 成员变量,考虑是否为 final。 7)类成员方法只供类内部调用,必须是 private。 8)类成员方法只对继承类公开,那么限制为 protected。 说明:任何类、方法、参数、变量,严控访问范围。过于宽泛的访问范围,不利于模块解耦。思考:如果是一个 private 的方法,想删除就删除,可是一个 public 的 service 成员方法或成员变量,删除一下,不得手心冒点汗吗? 变量像自己的小孩,尽量在自己的视线内,变量作用域太大,无限制的到处跑,那么你会担心的。 --- .../cnadmin/common/base/BaseServiceImpl.java | 157 ++++++++---------- .../config/WebMvcMappingConfiguration.java | 2 +- .../mybatis/MybatisPlusConfiguration.java | 34 ++-- .../common/exception/BadRequestException.java | 1 - .../common/exception/ServiceException.java | 1 - .../CrudRequestMappingHandlerMapping.java | 3 - .../cnadmin/common/model/query/PageQuery.java | 28 ++-- .../cnadmin/common/util/FileUtils.java | 1 - .../cnadmin/common/util/ServletUtils.java | 8 +- .../common/util/validate/CheckUtils.java | 2 +- .../common/util/validate/ValidationUtils.java | 2 +- .../cnadmin/auth/service/LoginService.java | 1 - .../cnadmin/system/service/UserService.java | 18 +- .../system/service/impl/DeptServiceImpl.java | 18 +- .../system/service/impl/MenuServiceImpl.java | 10 +- .../system/service/impl/RoleServiceImpl.java | 52 +++--- .../system/service/impl/UserServiceImpl.java | 36 ++-- .../ContinewAdminApplicationTests.java | 1 - 18 files changed, 174 insertions(+), 201 deletions(-) diff --git a/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/base/BaseServiceImpl.java b/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/base/BaseServiceImpl.java index cea583b6..1f8d77f1 100644 --- a/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/base/BaseServiceImpl.java +++ b/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/base/BaseServiceImpl.java @@ -87,9 +87,18 @@ public abstract class BaseServiceImpl, T, V, D, Q, C ext @Autowired protected M baseMapper; - protected Class entityClass = currentEntityClass(); - protected Class voClass = currentVoClass(); - protected Class detailVoClass = currentDetailVoClass(); + private final Class entityClass; + private final Class voClass; + private final Class detailVoClass; + private final String entityIdName; + + public BaseServiceImpl() { + this.entityClass = (Class)ReflectionKit.getSuperClassGenericType(this.getClass(), BaseServiceImpl.class, 1); + this.voClass = (Class)ReflectionKit.getSuperClassGenericType(this.getClass(), BaseServiceImpl.class, 2); + this.detailVoClass = + (Class)ReflectionKit.getSuperClassGenericType(this.getClass(), BaseServiceImpl.class, 3); + this.entityIdName = this.currentEntityIdName(); + } @Override public PageDataVO page(Q query, PageQuery pageQuery) { @@ -141,51 +150,6 @@ public abstract class BaseServiceImpl, T, V, D, Q, C ext return list; } - @Override - public D get(Long id) { - T entity = this.getById(id); - D detailVO = BeanUtil.copyProperties(entity, detailVoClass); - this.fillDetail(detailVO); - return detailVO; - } - - @Override - @Transactional(rollbackFor = Exception.class) - public Long add(C request) { - if (request == null) { - return 0L; - } - // 保存信息 - T entity = BeanUtil.copyProperties(request, entityClass); - baseMapper.insert(entity); - TableInfo tableInfo = TableInfoHelper.getTableInfo(entityClass); - Object idValue = tableInfo.getPropertyValue(entity, this.currentEntityIdName()); - return Convert.toLong(idValue); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void update(C request) { - String idName = this.currentEntityIdName(); - Object idValue = ReflectUtil.getFieldValue(request, idName); - T entity = this.getById(idValue); - BeanUtil.copyProperties(request, entity, CopyOptions.create().ignoreNullValue()); - baseMapper.updateById(entity); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void delete(List ids) { - baseMapper.deleteBatchIds(ids); - } - - @Override - public void export(Q query, SortQuery sortQuery, HttpServletResponse response) { - List list = this.list(query, sortQuery, detailVoClass); - list.forEach(this::fillDetail); - ExcelUtils.export(list, "导出数据", detailVoClass, response); - } - /** * 查询列表 * @@ -208,6 +172,50 @@ public abstract class BaseServiceImpl, T, V, D, Q, C ext return BeanUtil.copyToList(entityList, targetClass); } + @Override + public D get(Long id) { + T entity = this.getById(id); + D detailVO = BeanUtil.copyProperties(entity, detailVoClass); + this.fillDetail(detailVO); + return detailVO; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public Long add(C request) { + if (request == null) { + return 0L; + } + // 保存信息 + T entity = BeanUtil.copyProperties(request, entityClass); + baseMapper.insert(entity); + TableInfo tableInfo = TableInfoHelper.getTableInfo(entityClass); + Object idValue = tableInfo.getPropertyValue(entity, entityIdName); + return Convert.toLong(idValue); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void update(C request) { + Object idValue = ReflectUtil.getFieldValue(request, entityIdName); + T entity = this.getById(idValue); + BeanUtil.copyProperties(request, entity, CopyOptions.create().ignoreNullValue()); + baseMapper.updateById(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void delete(List ids) { + baseMapper.deleteBatchIds(ids); + } + + @Override + public void export(Q query, SortQuery sortQuery, HttpServletResponse response) { + List list = this.list(query, sortQuery, detailVoClass); + list.forEach(this::fillDetail); + ExcelUtils.export(list, "导出数据", detailVoClass, response); + } + /** * 根据 ID 查询 * @@ -259,46 +267,6 @@ public abstract class BaseServiceImpl, T, V, D, Q, C ext } } - /** - * 获取实体类 ID 名称 - * - * @return 实体类 ID 名称 - */ - protected String currentEntityIdName() { - TableInfo tableInfo = TableInfoHelper.getTableInfo(entityClass); - Assert.notNull(tableInfo, "error: can not execute. because can not find cache of TableInfo for entity!"); - String keyProperty = tableInfo.getKeyProperty(); - Assert.notEmpty(keyProperty, "error: can not execute. because can not find column for id from entity!"); - return keyProperty; - } - - /** - * 获取实体类 Class 对象 - * - * @return 实体类 Class 对象 - */ - protected Class currentEntityClass() { - return (Class)ReflectionKit.getSuperClassGenericType(this.getClass(), BaseServiceImpl.class, 1); - } - - /** - * 获取列表信息类 Class 对象 - * - * @return 列表信息类 Class 对象 - */ - protected Class currentVoClass() { - return (Class)ReflectionKit.getSuperClassGenericType(this.getClass(), BaseServiceImpl.class, 2); - } - - /** - * 获取详情信息类 Class 对象 - * - * @return 详情信息类 Class 对象 - */ - protected Class currentDetailVoClass() { - return (Class)ReflectionKit.getSuperClassGenericType(this.getClass(), BaseServiceImpl.class, 3); - } - /** * 链式查询 * @@ -345,4 +313,17 @@ public abstract class BaseServiceImpl, T, V, D, Q, C ext protected LambdaUpdateChainWrapper lambdaUpdate() { return ChainWrappers.lambdaUpdateChain(baseMapper); } + + /** + * 获取实体类 ID 名称 + * + * @return 实体类 ID 名称 + */ + private String currentEntityIdName() { + TableInfo tableInfo = TableInfoHelper.getTableInfo(entityClass); + Assert.notNull(tableInfo, "error: can not execute. because can not find cache of TableInfo for entity!"); + String keyProperty = tableInfo.getKeyProperty(); + Assert.notEmpty(keyProperty, "error: can not execute. because can not find column for id from entity!"); + return keyProperty; + } } diff --git a/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/config/WebMvcMappingConfiguration.java b/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/config/WebMvcMappingConfiguration.java index 2809b42f..f5041ff0 100644 --- a/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/config/WebMvcMappingConfiguration.java +++ b/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/config/WebMvcMappingConfiguration.java @@ -41,7 +41,7 @@ public class WebMvcMappingConfiguration extends DelegatingWebMvcConfiguration { * CRUD 请求映射器处理器映射器(覆盖默认 RequestMappingHandlerMapping) */ @Override - protected RequestMappingHandlerMapping createRequestMappingHandlerMapping() { + public RequestMappingHandlerMapping createRequestMappingHandlerMapping() { return new CrudRequestMappingHandlerMapping(); } diff --git a/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/config/mybatis/MybatisPlusConfiguration.java b/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/config/mybatis/MybatisPlusConfiguration.java index 04ca23e4..c90db112 100644 --- a/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/config/mybatis/MybatisPlusConfiguration.java +++ b/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/config/mybatis/MybatisPlusConfiguration.java @@ -46,7 +46,7 @@ public class MybatisPlusConfiguration { * @return / */ @Bean - MybatisPlusInterceptor mybatisPlusInterceptor() { + public MybatisPlusInterceptor mybatisPlusInterceptor() { MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); // 分页插件 interceptor.addInnerInterceptor(paginationInnerInterceptor()); @@ -55,6 +55,22 @@ public class MybatisPlusConfiguration { return interceptor; } + /** + * 元对象处理器配置(插入或修改时自动填充) + */ + @Bean + public MetaObjectHandler metaObjectHandler() { + return new MyBatisPlusMetaObjectHandler(); + } + + /** + * ID 生成器配置,仅在主键类型(idType)配置为 ASSIGN_ID 或 ASSIGN_UUID 时有效(使用网卡信息绑定雪花生成器,防止集群雪花 ID 重复) + */ + @Bean + public IdentifierGenerator idGenerator() { + return new DefaultIdentifierGenerator(NetUtil.getLocalhost()); + } + /** * 分页插件配置(...) */ @@ -68,20 +84,4 @@ public class MybatisPlusConfiguration { paginationInnerInterceptor.setMaxLimit(-1L); return paginationInnerInterceptor; } - - /** - * 元对象处理器配置(插入或修改时自动填充) - */ - @Bean - MetaObjectHandler metaObjectHandler() { - return new MyBatisPlusMetaObjectHandler(); - } - - /** - * ID 生成器配置,仅在主键类型(idType)配置为 ASSIGN_ID 或 ASSIGN_UUID 时有效(使用网卡信息绑定雪花生成器,防止集群雪花 ID 重复) - */ - @Bean - IdentifierGenerator idGenerator() { - return new DefaultIdentifierGenerator(NetUtil.getLocalhost()); - } } diff --git a/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/exception/BadRequestException.java b/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/exception/BadRequestException.java index 56a82faa..42298091 100644 --- a/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/exception/BadRequestException.java +++ b/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/exception/BadRequestException.java @@ -30,5 +30,4 @@ public class BadRequestException extends RuntimeException { public BadRequestException(String message) { super(message); } - } diff --git a/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/exception/ServiceException.java b/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/exception/ServiceException.java index 3f360404..6bde201d 100644 --- a/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/exception/ServiceException.java +++ b/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/exception/ServiceException.java @@ -30,5 +30,4 @@ public class ServiceException extends RuntimeException { public ServiceException(String message) { super(message); } - } diff --git a/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/handler/CrudRequestMappingHandlerMapping.java b/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/handler/CrudRequestMappingHandlerMapping.java index a8f16739..4755cf2c 100644 --- a/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/handler/CrudRequestMappingHandlerMapping.java +++ b/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/handler/CrudRequestMappingHandlerMapping.java @@ -20,8 +20,6 @@ import static top.charles7c.cnadmin.common.annotation.CrudRequestMapping.Api; import java.lang.reflect.Method; -import lombok.NoArgsConstructor; - import org.springframework.lang.NonNull; import org.springframework.web.servlet.mvc.method.RequestMappingInfo; import org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping; @@ -38,7 +36,6 @@ import top.charles7c.cnadmin.common.util.ExceptionUtils; * @author Charles7c * @since 2023/1/27 10:30 */ -@NoArgsConstructor public class CrudRequestMappingHandlerMapping extends RequestMappingHandlerMapping { @Override diff --git a/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/model/query/PageQuery.java b/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/model/query/PageQuery.java index 194a48ce..3171ed78 100644 --- a/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/model/query/PageQuery.java +++ b/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/model/query/PageQuery.java @@ -76,20 +76,6 @@ public class PageQuery extends SortQuery { this.setSize(size); } - public void setPage(Integer page) { - this.page = page == null ? DEFAULT_PAGE : page; - } - - public void setSize(Integer size) { - if (size == null) { - this.size = DEFAULT_SIZE; - } else if (size > DEFAULT_MAX_SIZE) { - this.size = DEFAULT_MAX_SIZE; - } else { - this.size = size; - } - } - /** * 基于分页查询条件转换为 MyBatis Plus 分页条件 * @@ -110,4 +96,18 @@ public class PageQuery extends SortQuery { } return mybatisPage; } + + public void setPage(Integer page) { + this.page = page == null ? DEFAULT_PAGE : page; + } + + public void setSize(Integer size) { + if (size == null) { + this.size = DEFAULT_SIZE; + } else if (size > DEFAULT_MAX_SIZE) { + this.size = DEFAULT_MAX_SIZE; + } else { + this.size = size; + } + } } diff --git a/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/util/FileUtils.java b/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/util/FileUtils.java index 88cb90d5..910f14cc 100644 --- a/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/util/FileUtils.java +++ b/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/util/FileUtils.java @@ -79,5 +79,4 @@ public class FileUtils { } return null; } - } diff --git a/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/util/ServletUtils.java b/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/util/ServletUtils.java index e1c17443..6f1b8811 100644 --- a/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/util/ServletUtils.java +++ b/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/util/ServletUtils.java @@ -57,10 +57,6 @@ public class ServletUtils { return getServletRequestAttributes().getResponse(); } - private static ServletRequestAttributes getServletRequestAttributes() { - return (ServletRequestAttributes)Objects.requireNonNull(RequestContextHolder.getRequestAttributes()); - } - /** * 获取浏览器及其版本信息 * @@ -75,4 +71,8 @@ public class ServletUtils { UserAgent userAgent = UserAgentUtil.parse(request.getHeader("User-Agent")); return userAgent.getBrowser().getName() + " " + userAgent.getVersion(); } + + private static ServletRequestAttributes getServletRequestAttributes() { + return (ServletRequestAttributes)Objects.requireNonNull(RequestContextHolder.getRequestAttributes()); + } } diff --git a/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/util/validate/CheckUtils.java b/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/util/validate/CheckUtils.java index 2cf6d88b..acaad739 100644 --- a/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/util/validate/CheckUtils.java +++ b/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/util/validate/CheckUtils.java @@ -25,8 +25,8 @@ import top.charles7c.cnadmin.common.exception.ServiceException; /** * 业务参数校验工具类(抛出 500 ServiceException) * - * @author Charles7c * @see ServiceException + * @author Charles7c * @since 2023/1/2 22:12 */ @Slf4j diff --git a/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/util/validate/ValidationUtils.java b/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/util/validate/ValidationUtils.java index 7e2d5a06..e2d7af91 100644 --- a/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/util/validate/ValidationUtils.java +++ b/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/util/validate/ValidationUtils.java @@ -25,9 +25,9 @@ import top.charles7c.cnadmin.common.exception.BadRequestException; /** * 基本参数校验工具类(抛出 400 BadRequestException) * + * @see BadRequestException * @author Charles7c * @since 2022/12/21 20:56 - * @see BadRequestException */ @Slf4j @NoArgsConstructor(access = AccessLevel.PRIVATE) diff --git a/continew-admin-system/src/main/java/top/charles7c/cnadmin/auth/service/LoginService.java b/continew-admin-system/src/main/java/top/charles7c/cnadmin/auth/service/LoginService.java index 8818ca3b..f9da772a 100644 --- a/continew-admin-system/src/main/java/top/charles7c/cnadmin/auth/service/LoginService.java +++ b/continew-admin-system/src/main/java/top/charles7c/cnadmin/auth/service/LoginService.java @@ -34,5 +34,4 @@ public interface LoginService { * @return 令牌 */ String login(String username, String password); - } diff --git a/continew-admin-system/src/main/java/top/charles7c/cnadmin/system/service/UserService.java b/continew-admin-system/src/main/java/top/charles7c/cnadmin/system/service/UserService.java index f44a67bd..9af4617e 100644 --- a/continew-admin-system/src/main/java/top/charles7c/cnadmin/system/service/UserService.java +++ b/continew-admin-system/src/main/java/top/charles7c/cnadmin/system/service/UserService.java @@ -36,15 +36,6 @@ import top.charles7c.cnadmin.system.model.vo.UserVO; */ public interface UserService extends BaseService { - /** - * 根据用户名查询 - * - * @param username - * 用户名 - * @return 用户信息 - */ - UserDO getByUsername(String username); - /** * 上传头像 * @@ -98,6 +89,15 @@ public interface UserService extends BaseService this.get(detailVO.getParentId()).getDeptName())); + } + } + /** * 检查名称是否存在 * @@ -97,13 +106,4 @@ public class DeptServiceImpl extends BaseServiceImpl this.get(detailVO.getParentId()).getDeptName())); - } - } } diff --git a/continew-admin-system/src/main/java/top/charles7c/cnadmin/system/service/impl/MenuServiceImpl.java b/continew-admin-system/src/main/java/top/charles7c/cnadmin/system/service/impl/MenuServiceImpl.java index 6a4f3cfe..082d8618 100644 --- a/continew-admin-system/src/main/java/top/charles7c/cnadmin/system/service/impl/MenuServiceImpl.java +++ b/continew-admin-system/src/main/java/top/charles7c/cnadmin/system/service/impl/MenuServiceImpl.java @@ -74,6 +74,11 @@ public class MenuServiceImpl extends BaseServiceImpl listPermissionsByUserId(Long userId) { + return baseMapper.selectPermissionsByUserId(userId); + } + /** * 检查名称是否存在 * @@ -89,9 +94,4 @@ public class MenuServiceImpl extends BaseServiceImpl listPermissionsByUserId(Long userId) { - return baseMapper.selectPermissionsByUserId(userId); - } } diff --git a/continew-admin-system/src/main/java/top/charles7c/cnadmin/system/service/impl/RoleServiceImpl.java b/continew-admin-system/src/main/java/top/charles7c/cnadmin/system/service/impl/RoleServiceImpl.java index 65a7de5e..d2aa30a9 100644 --- a/continew-admin-system/src/main/java/top/charles7c/cnadmin/system/service/impl/RoleServiceImpl.java +++ b/continew-admin-system/src/main/java/top/charles7c/cnadmin/system/service/impl/RoleServiceImpl.java @@ -104,32 +104,6 @@ public class RoleServiceImpl extends BaseServiceImpl roleList = super.lambdaQuery().select(RoleDO::getRoleCode).in(RoleDO::getRoleId, roleIds).list(); return roleList.stream().map(RoleDO::getRoleCode).collect(Collectors.toSet()); } + + /** + * 检查名称是否存在 + * + * @param name + * 名称 + * @param id + * ID + * @return 是否存在 + */ + private boolean checkNameExists(String name, Long id) { + return super.lambdaQuery().eq(RoleDO::getRoleName, name).ne(id != null, RoleDO::getRoleId, id).exists(); + } + + /** + * 检查编码是否存在 + * + * @param code + * 编码 + * @param id + * ID + * @return 是否存在 + */ + private boolean checkCodeExists(String code, Long id) { + return super.lambdaQuery().eq(RoleDO::getRoleCode, code).ne(id != null, RoleDO::getRoleId, id).exists(); + } } diff --git a/continew-admin-system/src/main/java/top/charles7c/cnadmin/system/service/impl/UserServiceImpl.java b/continew-admin-system/src/main/java/top/charles7c/cnadmin/system/service/impl/UserServiceImpl.java index 095d898f..ff14ec61 100644 --- a/continew-admin-system/src/main/java/top/charles7c/cnadmin/system/service/impl/UserServiceImpl.java +++ b/continew-admin-system/src/main/java/top/charles7c/cnadmin/system/service/impl/UserServiceImpl.java @@ -102,19 +102,6 @@ public class UserServiceImpl extends BaseServiceImpl deptIds) { return super.lambdaQuery().in(UserDO::getDeptId, deptIds).count(); @@ -227,4 +214,17 @@ public class UserServiceImpl extends BaseServiceImpl