handleException(Exception e) {
- return Result.failure(e.getMessage());
- }
-}
diff --git a/dolphin-commons/dolphin-common-core/src/main/java/day/gitlab/dolphin/common/core/util/BCrypt.java b/dolphin-commons/dolphin-common-core/src/main/java/day/gitlab/dolphin/common/core/util/BCrypt.java
index 44fbfff..9b4c0b5 100644
--- a/dolphin-commons/dolphin-common-core/src/main/java/day/gitlab/dolphin/common/core/util/BCrypt.java
+++ b/dolphin-commons/dolphin-common-core/src/main/java/day/gitlab/dolphin/common/core/util/BCrypt.java
@@ -14,7 +14,7 @@ import java.security.SecureRandom;
* String pw_hash = BCrypt.hashpw(plain_password, BCrypt.gensalt());
* }
*
- * 使用checkpw方法检查被加密的字符串是否与原始字符串匹配:
+ * 使用checkpw方法检查被加密的字符串是否与原始字符串匹配:
*
* {@code
* BCrypt.checkpw(candidate_password, stored_hash);
diff --git a/dolphin-commons/dolphin-common-core/src/main/java/day/gitlab/dolphin/common/core/util/Strings.java b/dolphin-commons/dolphin-common-core/src/main/java/day/gitlab/dolphin/common/core/util/Strings.java
new file mode 100644
index 0000000..8ced1be
--- /dev/null
+++ b/dolphin-commons/dolphin-common-core/src/main/java/day/gitlab/dolphin/common/core/util/Strings.java
@@ -0,0 +1,20 @@
+package day.gitlab.dolphin.common.core.util;
+
+public class Strings {
+
+ public static boolean isEmpty(String str) {
+ return str == null || str.isEmpty();
+ }
+
+ public static boolean isNotEmpty(String str) {
+ return !isEmpty(str);
+ }
+
+ public static boolean isBlank(String str) {
+ return str == null || str.trim().isEmpty();
+ }
+
+ public static boolean isNotBlank(String str) {
+ return !isBlank(str);
+ }
+}
diff --git a/dolphin-commons/dolphin-common-mybatis/pom.xml b/dolphin-commons/dolphin-common-mybatis/pom.xml
index d840a40..d7cc48e 100644
--- a/dolphin-commons/dolphin-common-mybatis/pom.xml
+++ b/dolphin-commons/dolphin-common-mybatis/pom.xml
@@ -1,47 +1,52 @@
- 4.0.0
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
+ 4.0.0
+
day.gitlab
dolphin-commons
0.0.1-SNAPSHOT
- dolphin-common-mybatis
- jar
+ dolphin-common-mybatis
+ jar
day.gitlab
- dolphin-common-core
+ dolphin-common-web
${project.version}
org.springframework.boot
- spring-boot-starter-web
+ spring-boot-starter-webmvc
-
+
- com.mybatis-flex
- mybatis-flex-spring-boot3-starter
+ org.mybatis.spring.boot
+ mybatis-spring-boot-starter
+
+
+ com.baomidou
+ mybatis-plus-spring-boot4-starter
- org.projectlombok
- lombok
- true
-
+ org.projectlombok
+ lombok
+ true
+
-
-
+
+
org.apache.maven.plugins
maven-compiler-plugin
-
+
diff --git a/dolphin-commons/dolphin-common-mybatis/src/main/java/day/gitlab/dolphin/common/mybatis/MyBatisFlexConfiguration.java b/dolphin-commons/dolphin-common-mybatis/src/main/java/day/gitlab/dolphin/common/mybatis/MyBatisFlexConfiguration.java
deleted file mode 100644
index 6b67e68..0000000
--- a/dolphin-commons/dolphin-common-mybatis/src/main/java/day/gitlab/dolphin/common/mybatis/MyBatisFlexConfiguration.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package day.gitlab.dolphin.common.mybatis;
-
-import com.mybatisflex.annotation.KeyType;
-import com.mybatisflex.core.FlexGlobalConfig;
-import com.mybatisflex.core.audit.AuditManager;
-import com.mybatisflex.core.keygen.KeyGeneratorFactory;
-import com.mybatisflex.spring.boot.MyBatisFlexCustomizer;
-import jakarta.annotation.Resource;
-import org.springframework.context.annotation.Configuration;
-
-@Configuration
-public class MyBatisFlexConfiguration implements MyBatisFlexCustomizer {
-
- @Resource
- private UUIDv7KeyGenerator uuidv7KeyGenerator;
-
- @Override
- public void customize(FlexGlobalConfig flexGlobalConfig) {
- KeyGeneratorFactory.register("uuidv7", uuidv7KeyGenerator);
-
- // 设置默认主键类型
- FlexGlobalConfig.KeyConfig keyConfig = new FlexGlobalConfig.KeyConfig();
- keyConfig.setKeyType(KeyType.Generator);
- keyConfig.setValue("uuidv7");
- keyConfig.setBefore(true);
- flexGlobalConfig.setKeyConfig(keyConfig);
-
- AuditManager.setAuditEnable(true);
- }
-}
diff --git a/dolphin-commons/dolphin-common-mybatis/src/main/java/day/gitlab/dolphin/common/mybatis/Pages.java b/dolphin-commons/dolphin-common-mybatis/src/main/java/day/gitlab/dolphin/common/mybatis/Pages.java
deleted file mode 100644
index 12f9dbd..0000000
--- a/dolphin-commons/dolphin-common-mybatis/src/main/java/day/gitlab/dolphin/common/mybatis/Pages.java
+++ /dev/null
@@ -1,35 +0,0 @@
-package day.gitlab.dolphin.common.mybatis;
-
-import com.mybatisflex.core.BaseMapper;
-import com.mybatisflex.core.paginate.Page;
-import com.mybatisflex.core.query.QueryWrapper;
-import day.gitlab.dolphin.common.core.entity.PageResponse;
-import day.gitlab.dolphin.common.core.entity.QueryPageRequest;
-
-import java.util.Objects;
-import java.util.function.BiFunction;
-import java.util.function.Function;
-
-public class Pages {
-
- public static Page paginate(BaseMapper mapper, QueryPageRequest pageRequest, BiFunction biFunction) {
- Page page = new Page<>(pageRequest.getPageNumber(), pageRequest.getPageSize());
- QueryWrapper wrapper = new QueryWrapper();
- wrapper = biFunction.apply(pageRequest.getQuery(), wrapper);
-
- return mapper.paginate(page, wrapper);
- }
-
- public static PageResponse toPageResponse(Page page, Function mapFunction) {
- PageResponse pageResponse = new PageResponse<>();
- pageResponse.setPageNumber(page.getPageNumber());
- pageResponse.setPageSize(page.getPageSize());
- pageResponse.setTotal(page.getTotalRow());
-
- if (page.getRecords() != null) {
- pageResponse.setRecords(page.getRecords().stream().map(mapFunction).filter(Objects::nonNull).toList());
- }
-
- return pageResponse;
- }
-}
diff --git a/dolphin-commons/dolphin-common-mybatis/src/main/java/day/gitlab/dolphin/common/mybatis/UUIDv7KeyGenerator.java b/dolphin-commons/dolphin-common-mybatis/src/main/java/day/gitlab/dolphin/common/mybatis/UUIDv7KeyGenerator.java
deleted file mode 100644
index 763d933..0000000
--- a/dolphin-commons/dolphin-common-mybatis/src/main/java/day/gitlab/dolphin/common/mybatis/UUIDv7KeyGenerator.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package day.gitlab.dolphin.common.mybatis;
-
-import com.mybatisflex.core.keygen.IKeyGenerator;
-import day.gitlab.dolphin.common.core.util.UUIDv7;
-import org.springframework.stereotype.Component;
-
-@Component
-public class UUIDv7KeyGenerator implements IKeyGenerator {
-
- @Override
- public Object generate(Object entity, String keyColumn) {
- return UUIDv7.randomUUID().toString();
- }
-}
diff --git a/dolphin-commons/dolphin-common-mybatis/src/main/java/day/gitlab/dolphin/common/mybatis/entity/UUIDv7Generator.java b/dolphin-commons/dolphin-common-mybatis/src/main/java/day/gitlab/dolphin/common/mybatis/entity/UUIDv7Generator.java
new file mode 100644
index 0000000..6f98739
--- /dev/null
+++ b/dolphin-commons/dolphin-common-mybatis/src/main/java/day/gitlab/dolphin/common/mybatis/entity/UUIDv7Generator.java
@@ -0,0 +1,20 @@
+package day.gitlab.dolphin.common.mybatis.entity;
+
+import com.baomidou.mybatisplus.core.incrementer.DefaultIdentifierGenerator;
+import day.gitlab.dolphin.common.core.util.UUIDv7;
+import org.springframework.stereotype.Component;
+
+import java.net.InetAddress;
+
+@Component
+public class UUIDv7Generator extends DefaultIdentifierGenerator {
+
+ public UUIDv7Generator() {
+ super((InetAddress) null);
+ }
+
+ @Override
+ public String nextUUID(Object entity) {
+ return UUIDv7.randomUUID().toString();
+ }
+}
diff --git a/dolphin-commons/dolphin-common-mybatis/src/main/java/day/gitlab/dolphin/common/mybatis/util/Pages.java b/dolphin-commons/dolphin-common-mybatis/src/main/java/day/gitlab/dolphin/common/mybatis/util/Pages.java
new file mode 100644
index 0000000..85c66c2
--- /dev/null
+++ b/dolphin-commons/dolphin-common-mybatis/src/main/java/day/gitlab/dolphin/common/mybatis/util/Pages.java
@@ -0,0 +1,35 @@
+package day.gitlab.dolphin.common.mybatis.util;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import day.gitlab.dolphin.common.web.entity.PageRequest;
+import day.gitlab.dolphin.common.web.entity.PageResponse;
+
+import java.util.Objects;
+import java.util.function.BiFunction;
+import java.util.function.Function;
+
+public class Pages {
+
+ public static Page paginate(PageRequest pageRequest, BaseMapper mapper, BiFunction, QueryWrapper> biFunction) {
+ Page page = new Page<>(pageRequest.getPageIndex(), pageRequest.getPageSize());
+ QueryWrapper wrapper = new QueryWrapper<>();
+ wrapper = biFunction.apply(pageRequest.getQuery(), wrapper);
+
+ return mapper.selectPage(page, wrapper);
+ }
+
+ public static PageResponse toPageResponse(Page page, Function mapFunction) {
+ PageResponse pageResponse = new PageResponse<>();
+ pageResponse.setPageIndex(page.getCurrent());
+ pageResponse.setPageSize(page.getSize());
+ pageResponse.setTotal(page.getTotal());
+
+ if (page.getRecords() != null) {
+ pageResponse.setRecords(page.getRecords().stream().map(mapFunction).filter(Objects::nonNull).toList());
+ }
+
+ return pageResponse;
+ }
+}
diff --git a/dolphin-commons/dolphin-common-security/pom.xml b/dolphin-commons/dolphin-common-security/pom.xml
index 4755b77..2163254 100644
--- a/dolphin-commons/dolphin-common-security/pom.xml
+++ b/dolphin-commons/dolphin-common-security/pom.xml
@@ -1,7 +1,8 @@
- 4.0.0
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
+ 4.0.0
+
day.gitlab
dolphin-commons
@@ -9,47 +10,47 @@
dolphin-common-security
- jar
+ jar
day.gitlab
- dolphin-common-core
+ dolphin-common-mybatis
${project.version}
org.springframework.boot
- spring-boot-starter-web
+ spring-boot-starter-webmvc
org.springframework.boot
- spring-boot-starter-aop
+ spring-boot-starter-aspectj
org.springframework.boot
spring-boot-starter-data-redis
-
+
io.jsonwebtoken
jjwt-api
- org.projectlombok
- lombok
- true
-
+ org.projectlombok
+ lombok
+ true
+
-
-
+
+
org.apache.maven.plugins
maven-compiler-plugin
-
+
diff --git a/dolphin-commons/dolphin-common-security/src/main/java/day/gitlab/dolphin/common/security/AuthenticationFilter.java b/dolphin-commons/dolphin-common-security/src/main/java/day/gitlab/dolphin/common/security/AuthenticationFilter.java
index 87c9222..3ec4328 100644
--- a/dolphin-commons/dolphin-common-security/src/main/java/day/gitlab/dolphin/common/security/AuthenticationFilter.java
+++ b/dolphin-commons/dolphin-common-security/src/main/java/day/gitlab/dolphin/common/security/AuthenticationFilter.java
@@ -1,10 +1,9 @@
package day.gitlab.dolphin.common.security;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import day.gitlab.dolphin.common.core.entity.Result;
-import day.gitlab.dolphin.common.core.exception.BusinessException;
import day.gitlab.dolphin.common.security.annotation.AuthorityIgnoreInitializer;
import day.gitlab.dolphin.common.security.config.SecurityConfig;
+import day.gitlab.dolphin.common.web.entity.ApiResponse;
+import day.gitlab.dolphin.common.web.exception.BusinessException;
import jakarta.servlet.FilterChain;
import jakarta.servlet.ServletException;
import jakarta.servlet.http.HttpServletRequest;
@@ -13,6 +12,7 @@ import org.springframework.http.MediaType;
import org.springframework.lang.NonNull;
import org.springframework.stereotype.Component;
import org.springframework.web.filter.OncePerRequestFilter;
+import tools.jackson.databind.ObjectMapper;
import java.io.IOException;
@@ -51,12 +51,12 @@ public class AuthenticationFilter extends OncePerRequestFilter {
response.setStatus(200);
response.setContentType(MediaType.APPLICATION_JSON_VALUE);
response.setCharacterEncoding("UTF-8");
- response.getWriter().write(new ObjectMapper().writeValueAsString(Result.failure(e)));
+ response.getWriter().write(new ObjectMapper().writeValueAsString(ApiResponse.failure(e)));
} catch (Exception e) {
response.setStatus(500);
response.setContentType(MediaType.APPLICATION_JSON_VALUE);
response.setCharacterEncoding("UTF-8");
- response.getWriter().write(new ObjectMapper().writeValueAsString(Result.failure(e.getMessage())));
+ response.getWriter().write(new ObjectMapper().writeValueAsString(ApiResponse.failure(e)));
} finally {
SecurityContextHolder.clearAuthentication();
}
diff --git a/dolphin-commons/dolphin-common-security/src/main/java/day/gitlab/dolphin/common/security/annotation/AuthorityCheckAspect.java b/dolphin-commons/dolphin-common-security/src/main/java/day/gitlab/dolphin/common/security/annotation/AuthorityCheckAspect.java
index 9a42886..64c7049 100644
--- a/dolphin-commons/dolphin-common-security/src/main/java/day/gitlab/dolphin/common/security/annotation/AuthorityCheckAspect.java
+++ b/dolphin-commons/dolphin-common-security/src/main/java/day/gitlab/dolphin/common/security/annotation/AuthorityCheckAspect.java
@@ -1,9 +1,9 @@
package day.gitlab.dolphin.common.security.annotation;
-import day.gitlab.dolphin.common.core.i18n.MessagesHelper;
import day.gitlab.dolphin.common.security.Authentication;
import day.gitlab.dolphin.common.security.SecurityContextHolder;
import day.gitlab.dolphin.common.security.constants.Exceptions;
+import day.gitlab.dolphin.common.web.i18n.MessagesHelper;
import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
diff --git a/dolphin-commons/dolphin-common-security/src/main/java/day/gitlab/dolphin/common/security/config/SecurityConfig.java b/dolphin-commons/dolphin-common-security/src/main/java/day/gitlab/dolphin/common/security/config/SecurityConfig.java
index 892c6af..eb73c3a 100644
--- a/dolphin-commons/dolphin-common-security/src/main/java/day/gitlab/dolphin/common/security/config/SecurityConfig.java
+++ b/dolphin-commons/dolphin-common-security/src/main/java/day/gitlab/dolphin/common/security/config/SecurityConfig.java
@@ -21,4 +21,5 @@ public class SecurityConfig {
private long refreshTokenExpire = 7 * 24 * 3600 * 1000L;
+ private String issuer = "dolphin";
}
diff --git a/dolphin-commons/dolphin-common-core/src/main/java/day/gitlab/dolphin/common/core/util/JWT.java b/dolphin-commons/dolphin-common-security/src/main/java/day/gitlab/dolphin/common/security/jwt/JWT.java
similarity index 54%
rename from dolphin-commons/dolphin-common-core/src/main/java/day/gitlab/dolphin/common/core/util/JWT.java
rename to dolphin-commons/dolphin-common-security/src/main/java/day/gitlab/dolphin/common/security/jwt/JWT.java
index a525a13..45ec440 100644
--- a/dolphin-commons/dolphin-common-core/src/main/java/day/gitlab/dolphin/common/core/util/JWT.java
+++ b/dolphin-commons/dolphin-common-security/src/main/java/day/gitlab/dolphin/common/security/jwt/JWT.java
@@ -1,7 +1,6 @@
-package day.gitlab.dolphin.common.core.util;
+package day.gitlab.dolphin.common.security.jwt;
import io.jsonwebtoken.Claims;
-import io.jsonwebtoken.ClaimsBuilder;
import io.jsonwebtoken.Jwts;
import io.jsonwebtoken.security.Keys;
@@ -9,25 +8,11 @@ import javax.crypto.SecretKey;
import java.nio.charset.StandardCharsets;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
-import java.util.Date;
-import java.util.function.Function;
-public final class JWT {
+public class JWT {
- private JWT() {}
-
- public static String generate(String secret, long expiration, Function func) {
- return JWT.generate(secret, expiration, func.apply(Jwts.claims()));
- }
-
- public static String generate(String secret, long expiration, Claims claims) {
- return Jwts.builder()
- .id(UUIDv7.randomUUID().toString())
- .claims(claims)
- .issuedAt(new Date())
- .expiration(new Date(System.currentTimeMillis() + expiration))
- .signWith(getSecretKey(secret))
- .compact();
+ public static String generate(String secret, Claims claims) {
+ return Jwts.builder().claims(claims).signWith(getSecretKey(secret)).compact();
}
public static Claims parse(String secret, String token) {
diff --git a/dolphin-commons/dolphin-common-security/src/main/java/day/gitlab/dolphin/common/security/jwt/JwtAuthenticationInitialize.java b/dolphin-commons/dolphin-common-security/src/main/java/day/gitlab/dolphin/common/security/jwt/JwtAuthenticationInitialize.java
index a30a82e..e1f099a 100644
--- a/dolphin-commons/dolphin-common-security/src/main/java/day/gitlab/dolphin/common/security/jwt/JwtAuthenticationInitialize.java
+++ b/dolphin-commons/dolphin-common-security/src/main/java/day/gitlab/dolphin/common/security/jwt/JwtAuthenticationInitialize.java
@@ -1,19 +1,19 @@
package day.gitlab.dolphin.common.security.jwt;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import day.gitlab.dolphin.common.core.i18n.MessagesHelper;
-import day.gitlab.dolphin.common.core.util.JWT;
import day.gitlab.dolphin.common.security.Authentication;
import day.gitlab.dolphin.common.security.AuthenticationInitialize;
import day.gitlab.dolphin.common.security.AuthenticationProvider;
import day.gitlab.dolphin.common.security.UserPrincipal;
import day.gitlab.dolphin.common.security.config.SecurityConfig;
import day.gitlab.dolphin.common.security.constants.Exceptions;
+import day.gitlab.dolphin.common.web.i18n.MessagesHelper;
import io.jsonwebtoken.Claims;
import jakarta.servlet.http.HttpServletRequest;
+import lombok.RequiredArgsConstructor;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.stereotype.Component;
import org.springframework.util.StringUtils;
+import tools.jackson.databind.ObjectMapper;
import java.util.Date;
import java.util.List;
@@ -21,6 +21,7 @@ import java.util.Objects;
import java.util.stream.Collectors;
@Component
+@RequiredArgsConstructor
public class JwtAuthenticationInitialize implements AuthenticationInitialize {
private final SecurityConfig securityConfig;
@@ -31,16 +32,6 @@ public class JwtAuthenticationInitialize implements AuthenticationInitialize {
private final MessagesHelper messagesHelper;
- public JwtAuthenticationInitialize(SecurityConfig securityConfig,
- StringRedisTemplate stringRedisTemplate,
- AuthenticationProvider authenticationProvider,
- MessagesHelper messagesHelper) {
- this.securityConfig = securityConfig;
- this.stringRedisTemplate = stringRedisTemplate;
- this.authenticationProvider = authenticationProvider;
- this.messagesHelper = messagesHelper;
- }
-
@Override
public Authentication initialize(HttpServletRequest request) {
// 1、获取Token
diff --git a/dolphin-commons/dolphin-common-security/src/main/java/day/gitlab/dolphin/common/security/jwt/JwtInfo.java b/dolphin-commons/dolphin-common-security/src/main/java/day/gitlab/dolphin/common/security/jwt/JwtInfo.java
index fc652af..dc7f5c2 100644
--- a/dolphin-commons/dolphin-common-security/src/main/java/day/gitlab/dolphin/common/security/jwt/JwtInfo.java
+++ b/dolphin-commons/dolphin-common-security/src/main/java/day/gitlab/dolphin/common/security/jwt/JwtInfo.java
@@ -1,12 +1,16 @@
package day.gitlab.dolphin.common.security.jwt;
-import day.gitlab.dolphin.common.core.util.JWT;
import day.gitlab.dolphin.common.security.config.SecurityConfig;
import io.jsonwebtoken.Claims;
import io.jsonwebtoken.ClaimsBuilder;
+import io.jsonwebtoken.Jwts;
import jakarta.annotation.Resource;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
+import tools.jackson.databind.json.JsonMapper;
+import java.util.Date;
+import java.util.UUID;
import java.util.function.Function;
@Component
@@ -18,23 +22,37 @@ public class JwtInfo {
@Resource
private SecurityConfig securityConfig;
+ @Autowired
+ private JsonMapper.Builder builder;
- public String generate(long expiration, Claims claims) {
- return JWT.generate(securityConfig.getSecret(), securityConfig.getExpire(), claims);
+ public String generate(Claims claims) {
+ return JWT.generate(securityConfig.getSecret(), claims);
}
- public String generate(long expiration, Function func) {
- return JWT.generate(securityConfig.getSecret(), securityConfig.getExpire(), func);
+ public String generate(Function func) {
+ return JWT.generate(securityConfig.getSecret(), func.apply(Jwts.claims()));
}
public String generateAccessToken(String userId) {
- return JWT.generate(securityConfig.getSecret(), securityConfig.getExpire(), (builder) ->
- builder.subject(userId).add("type", "access").build());
+ return generate(claims -> claims
+ .issuedAt(new Date())
+ .expiration(new Date(System.currentTimeMillis() + securityConfig.getExpire()))
+ .id(UUID.randomUUID().toString())
+ .subject(userId)
+ .issuer(securityConfig.getIssuer())
+ .add("type", "access")
+ .build());
}
public String generateRefreshToken(String userId) {
- return JWT.generate(securityConfig.getSecret(), securityConfig.getRefreshTokenExpire(), (builder) ->
- builder.subject(userId).add("type", "refresh").build());
+ return generate(claims -> claims
+ .issuedAt(new Date())
+ .expiration(new Date(System.currentTimeMillis() + securityConfig.getRefreshTokenExpire()))
+ .id(UUID.randomUUID().toString())
+ .subject(userId)
+ .issuer(securityConfig.getIssuer())
+ .add("type", "refresh")
+ .build());
}
public Claims parse(String token) {
diff --git a/dolphin-commons/dolphin-common-web/pom.xml b/dolphin-commons/dolphin-common-web/pom.xml
new file mode 100644
index 0000000..0a88c85
--- /dev/null
+++ b/dolphin-commons/dolphin-common-web/pom.xml
@@ -0,0 +1,43 @@
+
+
+ 4.0.0
+
+
+ day.gitlab
+ dolphin-commons
+ 0.0.1-SNAPSHOT
+
+
+ dolphin-common-web
+ jar
+
+
+
+
+ day.gitlab
+ dolphin-common-core
+ ${project.version}
+
+
+
+ org.springframework.boot
+ spring-boot-starter-webmvc
+
+
+
+ org.projectlombok
+ lombok
+ true
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+
+
+
+
diff --git a/dolphin-commons/dolphin-common-web/src/main/java/day/gitlab/dolphin/common/web/entity/ApiResponse.java b/dolphin-commons/dolphin-common-web/src/main/java/day/gitlab/dolphin/common/web/entity/ApiResponse.java
new file mode 100644
index 0000000..4c34010
--- /dev/null
+++ b/dolphin-commons/dolphin-common-web/src/main/java/day/gitlab/dolphin/common/web/entity/ApiResponse.java
@@ -0,0 +1,43 @@
+package day.gitlab.dolphin.common.web.entity;
+
+import day.gitlab.dolphin.common.web.exception.BusinessException;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class ApiResponse {
+
+ public static final String SUCCESS = "00000000";
+ public static final String FAILURE = "99999999";
+
+ public static final String SUCCESS_MESSAGE = "success";
+ public static final String FAILURE_MESSAGE = "failure";
+
+ private String code;
+ private String message;
+ private T data;
+
+ public static ApiResponse success() {
+ return ApiResponse.builder().code(SUCCESS).message(SUCCESS_MESSAGE).build();
+ }
+
+ public static ApiResponse success(T data) {
+ return new ApiResponse<>(SUCCESS, SUCCESS_MESSAGE, data);
+ }
+
+ public static ApiResponse failure(String code, String message) {
+ return ApiResponse.builder().code(code).message(message).build();
+ }
+
+ public static ApiResponse failure(Exception e) {
+ if (e instanceof BusinessException) {
+ return ApiResponse.builder().code(((BusinessException) e).getCode()).message(e.getMessage()).build();
+ }
+ return ApiResponse.builder().code(FAILURE).message(e.getMessage()).build();
+ }
+}
diff --git a/dolphin-commons/dolphin-common-web/src/main/java/day/gitlab/dolphin/common/web/entity/PageRequest.java b/dolphin-commons/dolphin-common-web/src/main/java/day/gitlab/dolphin/common/web/entity/PageRequest.java
new file mode 100644
index 0000000..cfcccb1
--- /dev/null
+++ b/dolphin-commons/dolphin-common-web/src/main/java/day/gitlab/dolphin/common/web/entity/PageRequest.java
@@ -0,0 +1,16 @@
+package day.gitlab.dolphin.common.web.entity;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class PageRequest {
+
+ private Long pageIndex;
+ private Long pageSize;
+
+ private T query;
+}
diff --git a/dolphin-commons/dolphin-common-web/src/main/java/day/gitlab/dolphin/common/web/entity/PageResponse.java b/dolphin-commons/dolphin-common-web/src/main/java/day/gitlab/dolphin/common/web/entity/PageResponse.java
new file mode 100644
index 0000000..c09fa46
--- /dev/null
+++ b/dolphin-commons/dolphin-common-web/src/main/java/day/gitlab/dolphin/common/web/entity/PageResponse.java
@@ -0,0 +1,18 @@
+package day.gitlab.dolphin.common.web.entity;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.List;
+
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class PageResponse {
+
+ private Long pageIndex;
+ private Long pageSize;
+ private Long total;
+ private List records;
+}
diff --git a/dolphin-commons/dolphin-common-core/src/main/java/day/gitlab/dolphin/common/core/exception/BusinessException.java b/dolphin-commons/dolphin-common-web/src/main/java/day/gitlab/dolphin/common/web/exception/BusinessException.java
similarity index 82%
rename from dolphin-commons/dolphin-common-core/src/main/java/day/gitlab/dolphin/common/core/exception/BusinessException.java
rename to dolphin-commons/dolphin-common-web/src/main/java/day/gitlab/dolphin/common/web/exception/BusinessException.java
index 6a710eb..72e225a 100644
--- a/dolphin-commons/dolphin-common-core/src/main/java/day/gitlab/dolphin/common/core/exception/BusinessException.java
+++ b/dolphin-commons/dolphin-common-web/src/main/java/day/gitlab/dolphin/common/web/exception/BusinessException.java
@@ -1,4 +1,4 @@
-package day.gitlab.dolphin.common.core.exception;
+package day.gitlab.dolphin.common.web.exception;
import lombok.Getter;
diff --git a/dolphin-commons/dolphin-common-web/src/main/java/day/gitlab/dolphin/common/web/exception/GlobalExceptionHandler.java b/dolphin-commons/dolphin-common-web/src/main/java/day/gitlab/dolphin/common/web/exception/GlobalExceptionHandler.java
new file mode 100644
index 0000000..5396223
--- /dev/null
+++ b/dolphin-commons/dolphin-common-web/src/main/java/day/gitlab/dolphin/common/web/exception/GlobalExceptionHandler.java
@@ -0,0 +1,19 @@
+package day.gitlab.dolphin.common.web.exception;
+
+import day.gitlab.dolphin.common.web.entity.ApiResponse;
+import org.springframework.web.bind.annotation.ExceptionHandler;
+import org.springframework.web.bind.annotation.RestControllerAdvice;
+
+@RestControllerAdvice
+public class GlobalExceptionHandler {
+
+ @ExceptionHandler(value = BusinessException.class)
+ public ApiResponse handleBusinessException(BusinessException e) {
+ return ApiResponse.failure(e);
+ }
+
+ @ExceptionHandler(value = Exception.class)
+ public ApiResponse handleException(Exception e) {
+ return ApiResponse.failure(e);
+ }
+}
diff --git a/dolphin-commons/dolphin-common-core/src/main/java/day/gitlab/dolphin/common/core/i18n/MessagesConfiguration.java b/dolphin-commons/dolphin-common-web/src/main/java/day/gitlab/dolphin/common/web/i18n/MessagesConfiguration.java
similarity index 95%
rename from dolphin-commons/dolphin-common-core/src/main/java/day/gitlab/dolphin/common/core/i18n/MessagesConfiguration.java
rename to dolphin-commons/dolphin-common-web/src/main/java/day/gitlab/dolphin/common/web/i18n/MessagesConfiguration.java
index 4b2c72a..226b543 100644
--- a/dolphin-commons/dolphin-common-core/src/main/java/day/gitlab/dolphin/common/core/i18n/MessagesConfiguration.java
+++ b/dolphin-commons/dolphin-common-web/src/main/java/day/gitlab/dolphin/common/web/i18n/MessagesConfiguration.java
@@ -1,4 +1,4 @@
-package day.gitlab.dolphin.common.core.i18n;
+package day.gitlab.dolphin.common.web.i18n;
import org.springframework.context.MessageSource;
import org.springframework.context.annotation.Bean;
diff --git a/dolphin-commons/dolphin-common-core/src/main/java/day/gitlab/dolphin/common/core/i18n/MessagesHelper.java b/dolphin-commons/dolphin-common-web/src/main/java/day/gitlab/dolphin/common/web/i18n/MessagesHelper.java
similarity index 74%
rename from dolphin-commons/dolphin-common-core/src/main/java/day/gitlab/dolphin/common/core/i18n/MessagesHelper.java
rename to dolphin-commons/dolphin-common-web/src/main/java/day/gitlab/dolphin/common/web/i18n/MessagesHelper.java
index 94aa084..f1544b4 100644
--- a/dolphin-commons/dolphin-common-core/src/main/java/day/gitlab/dolphin/common/core/i18n/MessagesHelper.java
+++ b/dolphin-commons/dolphin-common-web/src/main/java/day/gitlab/dolphin/common/web/i18n/MessagesHelper.java
@@ -1,7 +1,7 @@
-package day.gitlab.dolphin.common.core.i18n;
+package day.gitlab.dolphin.common.web.i18n;
-import day.gitlab.dolphin.common.core.entity.Result;
-import day.gitlab.dolphin.common.core.exception.BusinessException;
+import day.gitlab.dolphin.common.web.entity.ApiResponse;
+import day.gitlab.dolphin.common.web.exception.BusinessException;
import lombok.Getter;
import org.springframework.context.MessageSource;
import org.springframework.context.i18n.LocaleContextHolder;
@@ -33,16 +33,6 @@ public class MessagesHelper {
return messageSource.getMessage(code, args, defaultMessage, getCurrentLocale());
}
- // ========== 成功响应方法 ==========
-
- public Result success() {
- return Result.success();
- }
-
- public Result success(T data) {
- return Result.success(data);
- }
-
// ========== 业务异常快捷方法 ==========
public BusinessException newBusinessException(String code, Object... args) {
diff --git a/dolphin-commons/pom.xml b/dolphin-commons/pom.xml
index 7cbd690..e38a0cc 100644
--- a/dolphin-commons/pom.xml
+++ b/dolphin-commons/pom.xml
@@ -1,19 +1,21 @@
- 4.0.0
-
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
+ 4.0.0
+
+
day.gitlab
dolphin-backend
0.0.1-SNAPSHOT
- dolphin-commons
- pom
+ dolphin-commons
+ pom
-
- dolphin-common-core
- dolphin-common-mybatis
- dolphin-common-security
-
+
+ dolphin-common-core
+ dolphin-common-web
+ dolphin-common-mybatis
+ dolphin-common-security
+
diff --git a/dolphin-compose/pom.xml b/dolphin-compose/pom.xml
index d1d55a9..74f9218 100644
--- a/dolphin-compose/pom.xml
+++ b/dolphin-compose/pom.xml
@@ -1,85 +1,118 @@
- 4.0.0
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
+ 4.0.0
+
day.gitlab
dolphin-backend
0.0.1-SNAPSHOT
- dolphin-compose
- jar
+ dolphin-compose
+ jar
-
- day.gitlab
- dolphin-module-core
- ${project.version}
-
-
- day.gitlab
- dolphin-module-rbac
- ${project.version}
-
-
- day.gitlab
- dolphin-module-auth
- ${project.version}
-
+
+ day.gitlab
+ dolphin-authorize
+ 0.0.1-SNAPSHOT
+
+
+ day.gitlab
+ dolphin-module-core
+ ${project.version}
+
+
+ day.gitlab
+ dolphin-module-rbac
+ ${project.version}
+
org.springframework.boot
- spring-boot-starter-web
+ spring-boot-starter-webmvc
- org.springframework.boot
- spring-boot-starter-jdbc
-
+ org.springframework.boot
+ spring-boot-starter-data-redis
+
- org.springframework.boot
- spring-boot-starter-data-redis
-
+ org.springframework.boot
+ spring-boot-starter-validation
+
+
+
+ org.mybatis.spring.boot
+ mybatis-spring-boot-starter
+
- com.mysql
- mysql-connector-j
- runtime
-
-
- com.oracle.database.jdbc
- ojdbc11
- runtime
-
-
- org.postgresql
- postgresql
- runtime
-
-
-
- io.jsonwebtoken
- jjwt-api
-
-
- io.jsonwebtoken
- jjwt-impl
-
-
- io.jsonwebtoken
- jjwt-jackson
-
+ com.h2database
+ h2
+ runtime
+
+
+ com.mysql
+ mysql-connector-j
+ runtime
+
+
+ com.oracle.database.jdbc
+ ojdbc11
+ runtime
+
+
+ org.postgresql
+ postgresql
+ runtime
+
+
+
+ io.jsonwebtoken
+ jjwt-api
+
+
+ io.jsonwebtoken
+ jjwt-impl
+
+
+ io.jsonwebtoken
+ jjwt-jackson
+
- org.projectlombok
- lombok
- true
-
+ org.projectlombok
+ lombok
+ true
+
+
+
+ org.springframework.boot
+ spring-boot-starter-webmvc-test
+ test
+
+
+ org.mybatis.spring.boot
+ mybatis-spring-boot-starter-test
+ 4.0.0
+ test
+
+
+ org.springframework.boot
+ spring-boot-starter-data-redis-test
+ test
+
+
+ org.springframework.boot
+ spring-boot-starter-validation-test
+ test
+
-
-
+
+
org.apache.maven.plugins
maven-compiler-plugin
@@ -89,5 +122,5 @@
spring-boot-maven-plugin
-
+
diff --git a/dolphin-compose/src/main/java/day/gitlab/dolphin/DolphinApplication.java b/dolphin-compose/src/main/java/day/gitlab/dolphin/DolphinApplication.java
index 2c31c6f..ebc8dc7 100644
--- a/dolphin-compose/src/main/java/day/gitlab/dolphin/DolphinApplication.java
+++ b/dolphin-compose/src/main/java/day/gitlab/dolphin/DolphinApplication.java
@@ -6,7 +6,7 @@ import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class DolphinApplication {
- public static void main(String[] args) {
- SpringApplication.run(DolphinApplication.class, args);
+ static void main() {
+ SpringApplication.run(DolphinApplication.class);
}
}
diff --git a/dolphin-compose/src/main/resources/application.yml b/dolphin-compose/src/main/resources/application.yml
index 42114c6..4559456 100644
--- a/dolphin-compose/src/main/resources/application.yml
+++ b/dolphin-compose/src/main/resources/application.yml
@@ -1,22 +1,28 @@
server:
- port: 8080
- servlet:
- context-path: /
+ port: 8080
+ servlet:
+ context-path: /
spring:
- application:
- name: dolphin-compose
- datasource:
- type: com.zaxxer.hikari.HikariDataSource
- driver-class-name: org.postgresql.Driver
- url: jdbc:postgresql://110.42.60.129:10002/postgres
- username: postgres
- password: postgres
- data:
- redis:
- host: 110.42.60.129
- port: 10001
- database: 0
- password: 123456
- jackson:
- date-format: yyyy-MM-dd HH:mm:ss
-
+ application:
+ name: dolphin-compose
+ datasource:
+ type: com.zaxxer.hikari.HikariDataSource
+ driver-class-name: org.postgresql.Driver
+ url: jdbc:postgresql://110.42.60.129:10002/postgres
+ username: postgres
+ password: postgres
+ data:
+ redis:
+ host: 110.42.60.129
+ port: 10001
+ database: 0
+ password: 123456
+ jackson:
+ time-zone: Asia/Shanghai
+ date-format: yyyy-MM-dd HH:mm:ss
+mybatis-plus:
+ configuration:
+ map-underscore-to-camel-case: true
+ global-config:
+ db-config:
+ id-type: assign_uuid
diff --git a/dolphin-modules/dolphin-module-auth/pom.xml b/dolphin-modules/dolphin-module-auth/pom.xml
deleted file mode 100644
index cca468d..0000000
--- a/dolphin-modules/dolphin-module-auth/pom.xml
+++ /dev/null
@@ -1,65 +0,0 @@
-
-
- 4.0.0
-
- day.gitlab
- dolphin-modules
- 0.0.1-SNAPSHOT
-
-
- dolphin-module-auth
- jar
-
-
-
-
- day.gitlab
- dolphin-common-security
- ${project.version}
-
-
- day.gitlab
- dolphin-common-mybatis
- ${project.version}
-
-
- day.gitlab
- dolphin-module-rbac
- ${project.version}
-
-
-
- org.springframework.boot
- spring-boot-starter-web
-
-
- org.springframework.boot
- spring-boot-starter-validation
-
-
- org.springframework.boot
- spring-boot-starter-jdbc
-
-
-
- com.mybatis-flex
- mybatis-flex-spring-boot3-starter
-
-
-
- org.projectlombok
- lombok
- true
-
-
-
-
-
-
- org.apache.maven.plugins
- maven-compiler-plugin
-
-
-
-
diff --git a/dolphin-modules/dolphin-module-auth/src/main/java/day/gitlab/dolphin/auth/controller/AuthController.java b/dolphin-modules/dolphin-module-auth/src/main/java/day/gitlab/dolphin/auth/controller/AuthController.java
deleted file mode 100644
index 65e9d4c..0000000
--- a/dolphin-modules/dolphin-module-auth/src/main/java/day/gitlab/dolphin/auth/controller/AuthController.java
+++ /dev/null
@@ -1,29 +0,0 @@
-package day.gitlab.dolphin.auth.controller;
-
-import day.gitlab.dolphin.auth.entity.dto.LoginDTO;
-import day.gitlab.dolphin.auth.entity.vo.LoginVO;
-import day.gitlab.dolphin.auth.entity.vo.UserInfoVO;
-import day.gitlab.dolphin.auth.service.AuthService;
-import day.gitlab.dolphin.common.core.entity.Result;
-import day.gitlab.dolphin.common.security.annotation.AuthorityIgnore;
-import jakarta.annotation.Resource;
-import org.springframework.web.bind.annotation.*;
-
-@RestController
-@RequestMapping("/auth")
-public class AuthController {
-
- @Resource
- private AuthService authService;
-
- @AuthorityIgnore
- @PostMapping("/login")
- public Result login(@RequestBody LoginDTO loginDTO) {
- return Result.success(authService.login(loginDTO));
- }
-
- @GetMapping("/getUserInfo")
- public Result getUserInfo() {
- return Result.success(authService.getUserInfo());
- }
-}
diff --git a/dolphin-modules/dolphin-module-auth/src/main/java/day/gitlab/dolphin/auth/entity/dto/LoginDTO.java b/dolphin-modules/dolphin-module-auth/src/main/java/day/gitlab/dolphin/auth/entity/dto/LoginDTO.java
deleted file mode 100644
index 231658e..0000000
--- a/dolphin-modules/dolphin-module-auth/src/main/java/day/gitlab/dolphin/auth/entity/dto/LoginDTO.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package day.gitlab.dolphin.auth.entity.dto;
-
-import jakarta.validation.constraints.NotNull;
-import lombok.Data;
-
-@Data
-public class LoginDTO {
-
- @NotNull
- private String username;
-
- @NotNull
- private String password;
-}
diff --git a/dolphin-modules/dolphin-module-auth/src/main/java/day/gitlab/dolphin/auth/service/AuthService.java b/dolphin-modules/dolphin-module-auth/src/main/java/day/gitlab/dolphin/auth/service/AuthService.java
deleted file mode 100644
index b77ac10..0000000
--- a/dolphin-modules/dolphin-module-auth/src/main/java/day/gitlab/dolphin/auth/service/AuthService.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package day.gitlab.dolphin.auth.service;
-
-import day.gitlab.dolphin.auth.entity.dto.LoginDTO;
-import day.gitlab.dolphin.auth.entity.vo.LoginVO;
-import day.gitlab.dolphin.auth.entity.vo.UserInfoVO;
-
-public interface AuthService {
-
- LoginVO login(LoginDTO loginDTO);
-
- UserInfoVO getUserInfo();
-}
diff --git a/dolphin-modules/dolphin-module-auth/src/main/java/day/gitlab/dolphin/auth/service/impl/AuthServiceImpl.java b/dolphin-modules/dolphin-module-auth/src/main/java/day/gitlab/dolphin/auth/service/impl/AuthServiceImpl.java
deleted file mode 100644
index cb63161..0000000
--- a/dolphin-modules/dolphin-module-auth/src/main/java/day/gitlab/dolphin/auth/service/impl/AuthServiceImpl.java
+++ /dev/null
@@ -1,86 +0,0 @@
-package day.gitlab.dolphin.auth.service.impl;
-
-import day.gitlab.dolphin.auth.constants.Exceptions;
-import day.gitlab.dolphin.auth.entity.dto.LoginDTO;
-import day.gitlab.dolphin.auth.entity.vo.LoginVO;
-import day.gitlab.dolphin.auth.entity.vo.UserInfoVO;
-import day.gitlab.dolphin.auth.service.AuthService;
-import day.gitlab.dolphin.common.core.i18n.MessagesHelper;
-import day.gitlab.dolphin.common.core.util.BCrypt;
-import day.gitlab.dolphin.common.security.Authentication;
-import day.gitlab.dolphin.common.security.AuthenticationProvider;
-import day.gitlab.dolphin.common.security.SecurityContextHolder;
-import day.gitlab.dolphin.common.security.UserPrincipal;
-import day.gitlab.dolphin.common.security.jwt.JwtInfo;
-import day.gitlab.dolphin.rbac.constants.UserEnabled;
-import day.gitlab.dolphin.rbac.entity.Role;
-import day.gitlab.dolphin.rbac.entity.User;
-import day.gitlab.dolphin.rbac.mapper.UserMapper;
-import jakarta.annotation.Resource;
-import org.springframework.stereotype.Service;
-
-import java.util.Collections;
-import java.util.List;
-import java.util.stream.Collectors;
-
-@Service
-public class AuthServiceImpl implements AuthService, AuthenticationProvider {
-
- @Resource
- private UserMapper userMapper;
-
- @Resource
- private MessagesHelper messagesHelper;
-
- @Resource
- private JwtInfo jwtInfo;
-
- @Override
- public LoginVO login(LoginDTO loginDTO) {
- User dbUser = userMapper.findByUsername(loginDTO.getUsername());
- if (dbUser == null || !BCrypt.checkpw(loginDTO.getPassword(), dbUser.getPassword())) {
- throw messagesHelper.newBusinessException(Exceptions.USERNAME_OR_PASSWORD_INCORRECT);
- }
- if (!UserEnabled.ENABLED.equals(dbUser.getEnabled())) {
- throw messagesHelper.newBusinessException(Exceptions.USER_NOT_ENABLED);
- }
-
- return LoginVO.builder()
- .accessToken(jwtInfo.generateAccessToken(dbUser.getId()))
- .refreshToken(jwtInfo.generateRefreshToken(dbUser.getId()))
- .build();
- }
-
- @Override
- public UserInfoVO getUserInfo() {
- Authentication authentication = SecurityContextHolder.getAuthentication();
- return UserInfoVO.builder()
- .id(authentication.getUserPrincipal().getId())
- .username(authentication.getUserPrincipal().getNickname())
- .authorities(authentication.getUserAuthorities())
- .build();
- }
-
- @Override
- public UserPrincipal getUserPrincipal(String userId) {
- User user = userMapper.selectOneById(userId);
-
- return UserPrincipal.builder()
- .id(user.getId())
- .username(user.getUsername())
- .nickname(user.getNickname())
- .build();
- }
-
- @Override
- public List getUserAuthorities(String userId) {
- User user = userMapper.selectOneWithRelationsById(userId);
-
- List roles = user.getRoles();
- if (roles == null || roles.isEmpty()) {
- return Collections.emptyList();
- }
-
- return roles.stream().map(Role::getCode).collect(Collectors.toList());
- }
-}
diff --git a/dolphin-modules/dolphin-module-core/pom.xml b/dolphin-modules/dolphin-module-core/pom.xml
index 1344611..9568628 100644
--- a/dolphin-modules/dolphin-module-core/pom.xml
+++ b/dolphin-modules/dolphin-module-core/pom.xml
@@ -1,60 +1,43 @@
- 4.0.0
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
+ 4.0.0
+
day.gitlab
dolphin-modules
0.0.1-SNAPSHOT
- dolphin-module-core
- jar
+ dolphin-module-core
+ jar
-
+
day.gitlab
dolphin-common-security
${project.version}
-
- day.gitlab
- dolphin-common-mybatis
- ${project.version}
-
org.springframework.boot
- spring-boot-starter-web
-
-
- org.springframework.boot
- spring-boot-starter-validation
-
-
- org.springframework.boot
- spring-boot-starter-jdbc
-
-
-
- com.mybatis-flex
- mybatis-flex-spring-boot3-starter
+ spring-boot-starter-webmvc
- org.projectlombok
- lombok
- true
-
+ org.projectlombok
+ lombok
+ true
+
-
-
+
+
org.apache.maven.plugins
maven-compiler-plugin
-
+
diff --git a/dolphin-modules/dolphin-module-core/src/main/java/day/gitlab/dolphin/core/constants/Exceptions.java b/dolphin-modules/dolphin-module-core/src/main/java/day/gitlab/dolphin/core/constants/Exceptions.java
deleted file mode 100644
index f1d4603..0000000
--- a/dolphin-modules/dolphin-module-core/src/main/java/day/gitlab/dolphin/core/constants/Exceptions.java
+++ /dev/null
@@ -1,6 +0,0 @@
-package day.gitlab.dolphin.core.constants;
-
-public class Exceptions {
-
- public static final String FIELD_REQUIRED = "00020101";
-}
diff --git a/dolphin-modules/dolphin-module-core/src/main/java/day/gitlab/dolphin/core/controller/DictionaryController.java b/dolphin-modules/dolphin-module-core/src/main/java/day/gitlab/dolphin/core/controller/DictionaryController.java
deleted file mode 100644
index 40a40f1..0000000
--- a/dolphin-modules/dolphin-module-core/src/main/java/day/gitlab/dolphin/core/controller/DictionaryController.java
+++ /dev/null
@@ -1,65 +0,0 @@
-package day.gitlab.dolphin.core.controller;
-
-import day.gitlab.dolphin.common.core.entity.PageResponse;
-import day.gitlab.dolphin.common.core.entity.QueryPageRequest;
-import day.gitlab.dolphin.common.core.entity.Result;
-import day.gitlab.dolphin.common.security.annotation.AuthorityCheck;
-import day.gitlab.dolphin.common.security.annotation.AuthorityType;
-import day.gitlab.dolphin.core.entity.dto.DictionaryDTO;
-import day.gitlab.dolphin.core.entity.vo.DictionaryVO;
-import jakarta.annotation.Resource;
-import org.springframework.web.bind.annotation.*;
-import day.gitlab.dolphin.core.service.DictionaryService;
-
-/**
- * 字典 控制层。
- *
- * @author jiangyc
- * @since 2025-11-28
- */
-@RestController
-@RequestMapping("/dictionary")
-public class DictionaryController {
-
- @Resource
- private DictionaryService dictionaryService;
-
- /**
- * 分页查询字典。
- *
- * @param pageRequest 分页请求参数
- * @return 分页对象
- */
- @PostMapping("page")
- public Result> page(@RequestBody QueryPageRequest pageRequest) {
- return Result.success(dictionaryService.page(pageRequest));
- }
-
- @PostMapping("add")
- @AuthorityCheck(type = AuthorityType.OR, value = {"ROLE00001"})
- public Result add(@RequestBody DictionaryDTO dictionaryDTO) {
- dictionaryService.add(dictionaryDTO);
- return Result.success();
- }
-
- @PostMapping("edit")
- @AuthorityCheck(type = AuthorityType.OR, value = {"ROLE00001"})
- public Result edit(@RequestBody DictionaryDTO dictionaryDTO) {
- dictionaryService.edit(dictionaryDTO);
- return Result.success();
- }
-
- @PostMapping("delete")
- @AuthorityCheck(type = AuthorityType.OR, value = {"ROLE00001"})
- public Result delete(@RequestBody DictionaryDTO dictionaryDTO) {
- dictionaryService.delete(dictionaryDTO.getId());
- return Result.success();
- }
-
- @PostMapping("deleteBatch")
- @AuthorityCheck(type = AuthorityType.OR, value = {"ROLE00001"})
- public Result deleteBatch(@RequestBody DictionaryDTO dictionaryDTO) {
- dictionaryService.deleteBatch(dictionaryDTO.getIds());
- return Result.success();
- }
-}
diff --git a/dolphin-modules/dolphin-module-core/src/main/java/day/gitlab/dolphin/core/controller/DictionaryItemController.java b/dolphin-modules/dolphin-module-core/src/main/java/day/gitlab/dolphin/core/controller/DictionaryItemController.java
deleted file mode 100644
index 52a30a1..0000000
--- a/dolphin-modules/dolphin-module-core/src/main/java/day/gitlab/dolphin/core/controller/DictionaryItemController.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package day.gitlab.dolphin.core.controller;
-
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-/**
- * 字典项 控制层。
- *
- * @author jiangyc
- * @since 2025-11-28
- */
-@RestController
-@RequestMapping("/dictionaryItem")
-public class DictionaryItemController {
-}
diff --git a/dolphin-modules/dolphin-module-core/src/main/java/day/gitlab/dolphin/core/entity/Dictionary.java b/dolphin-modules/dolphin-module-core/src/main/java/day/gitlab/dolphin/core/entity/Dictionary.java
deleted file mode 100644
index c27deaa..0000000
--- a/dolphin-modules/dolphin-module-core/src/main/java/day/gitlab/dolphin/core/entity/Dictionary.java
+++ /dev/null
@@ -1,68 +0,0 @@
-package day.gitlab.dolphin.core.entity;
-
-import com.mybatisflex.annotation.Id;
-import com.mybatisflex.annotation.KeyType;
-import com.mybatisflex.annotation.Table;
-import java.io.Serializable;
-import java.sql.Timestamp;
-
-import java.io.Serial;
-
-import lombok.AllArgsConstructor;
-import lombok.Builder;
-import lombok.Data;
-import lombok.NoArgsConstructor;
-
-/**
- * 字典 实体类。
- *
- * @author jiangyc
- * @since 2025-11-28
- */
-@Data
-@Builder
-@NoArgsConstructor
-@AllArgsConstructor
-@Table("sys_core_dictionary")
-public class Dictionary implements Serializable {
-
- @Serial
- private static final long serialVersionUID = 1L;
-
- /**
- * 主键
- */
- @Id
- private String id;
-
- /**
- * 字典名称
- */
- private String name;
-
- /**
- * 字典代码
- */
- private String code;
-
- /**
- * 字典类型: enum-枚举、tree-树型
- */
- private String type;
-
- /**
- * 字典描述
- */
- private String description;
-
- /**
- * 创建时间
- */
- private Timestamp createTime;
-
- /**
- * 修改时间
- */
- private Timestamp updateTime;
-
-}
diff --git a/dolphin-modules/dolphin-module-core/src/main/java/day/gitlab/dolphin/core/entity/DictionaryItem.java b/dolphin-modules/dolphin-module-core/src/main/java/day/gitlab/dolphin/core/entity/DictionaryItem.java
deleted file mode 100644
index a5aadd2..0000000
--- a/dolphin-modules/dolphin-module-core/src/main/java/day/gitlab/dolphin/core/entity/DictionaryItem.java
+++ /dev/null
@@ -1,77 +0,0 @@
-package day.gitlab.dolphin.core.entity;
-
-import com.mybatisflex.annotation.Id;
-import com.mybatisflex.annotation.Table;
-import java.io.Serializable;
-import java.sql.Timestamp;
-
-import java.io.Serial;
-
-import lombok.AllArgsConstructor;
-import lombok.Builder;
-import lombok.Data;
-import lombok.NoArgsConstructor;
-
-/**
- * 字典项 实体类。
- *
- * @author jiangyc
- * @since 2025-11-28
- */
-@Data
-@Builder
-@NoArgsConstructor
-@AllArgsConstructor
-@Table("sys_core_dictionary_item")
-public class DictionaryItem implements Serializable {
-
- @Serial
- private static final long serialVersionUID = 1L;
-
- /**
- * 主键
- */
- @Id
- private String id;
-
- /**
- * 字典ID
- */
- private String dictionaryId;
-
- /**
- * 父级ID,如果为空则为根节点
- */
- private String parentId;
-
- /**
- * 字典项名称
- */
- private String name;
-
- /**
- * 字典项代码
- */
- private String code;
-
- /**
- * 字典项排序,升序排列
- */
- private Integer sort;
-
- /**
- * 字典项描述
- */
- private String description;
-
- /**
- * 创建时间
- */
- private Timestamp createTime;
-
- /**
- * 修改时间
- */
- private Timestamp updateTime;
-
-}
diff --git a/dolphin-modules/dolphin-module-core/src/main/java/day/gitlab/dolphin/core/entity/dto/DictionarySearchParamsDTO.java b/dolphin-modules/dolphin-module-core/src/main/java/day/gitlab/dolphin/core/entity/dto/DictionarySearchParamsDTO.java
deleted file mode 100644
index 20cb963..0000000
--- a/dolphin-modules/dolphin-module-core/src/main/java/day/gitlab/dolphin/core/entity/dto/DictionarySearchParamsDTO.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package day.gitlab.dolphin.core.entity.dto;
-
-import jakarta.validation.constraints.Min;
-import jakarta.validation.constraints.NotNull;
-import lombok.AllArgsConstructor;
-import lombok.Data;
-import lombok.NoArgsConstructor;
-
-@Data
-@NoArgsConstructor
-@AllArgsConstructor
-public class DictionarySearchParamsDTO {
-
- @Min(1)
- @NotNull
- private Long current;
-
- @Min(1)
- @NotNull
- private Long size;
-
- private String name;
-
- private String code;
-
- private String type;
-}
diff --git a/dolphin-modules/dolphin-module-core/src/main/java/day/gitlab/dolphin/core/entity/table/DictionaryItemTableDef.java b/dolphin-modules/dolphin-module-core/src/main/java/day/gitlab/dolphin/core/entity/table/DictionaryItemTableDef.java
deleted file mode 100644
index 7ec8cf6..0000000
--- a/dolphin-modules/dolphin-module-core/src/main/java/day/gitlab/dolphin/core/entity/table/DictionaryItemTableDef.java
+++ /dev/null
@@ -1,92 +0,0 @@
-package day.gitlab.dolphin.core.entity.table;
-
-import com.mybatisflex.core.query.QueryColumn;
-import com.mybatisflex.core.table.TableDef;
-
-import java.io.Serial;
-
-/**
- * 字典项 表定义层。
- *
- * @author jiangyc
- * @since 2025-11-28
- */
-public class DictionaryItemTableDef extends TableDef {
-
- @Serial
- private static final long serialVersionUID = 1L;
-
- /**
- * 字典项
- */
- public static final DictionaryItemTableDef DICTIONARY_ITEM = new DictionaryItemTableDef();
-
- /**
- * 主键
- */
- public final QueryColumn ID = new QueryColumn(this, "id");
-
- /**
- * 字典项代码
- */
- public final QueryColumn CODE = new QueryColumn(this, "code");
-
- /**
- * 字典项名称
- */
- public final QueryColumn NAME = new QueryColumn(this, "name");
-
- /**
- * 字典项排序,升序排列
- */
- public final QueryColumn SORT = new QueryColumn(this, "sort");
-
- /**
- * 父级ID,如果为空则为根节点
- */
- public final QueryColumn PARENT_ID = new QueryColumn(this, "parent_id");
-
- /**
- * 创建时间
- */
- public final QueryColumn CREATE_TIME = new QueryColumn(this, "create_time");
-
- /**
- * 修改时间
- */
- public final QueryColumn UPDATE_TIME = new QueryColumn(this, "update_time");
-
- /**
- * 字典项描述
- */
- public final QueryColumn DESCRIPTION = new QueryColumn(this, "description");
-
- /**
- * 字典ID
- */
- public final QueryColumn DICTIONARY_ID = new QueryColumn(this, "dictionary_id");
-
- /**
- * 所有字段。
- */
- public final QueryColumn ALL_COLUMNS = new QueryColumn(this, "*");
-
- /**
- * 默认字段,不包含逻辑删除或者 large 等字段。
- */
- public final QueryColumn[] DEFAULT_COLUMNS = new QueryColumn[]{ID, DICTIONARY_ID, PARENT_ID, NAME, CODE, SORT, DESCRIPTION, CREATE_TIME, UPDATE_TIME};
-
- public DictionaryItemTableDef() {
- super("", "sys_core_dictionary_item");
- }
-
- private DictionaryItemTableDef(String schema, String name, String alisa) {
- super(schema, name, alisa);
- }
-
- public DictionaryItemTableDef as(String alias) {
- String key = getNameWithSchema() + "." + alias;
- return getCache(key, k -> new DictionaryItemTableDef("", "sys_core_dictionary_item", alias));
- }
-
-}
diff --git a/dolphin-modules/dolphin-module-core/src/main/java/day/gitlab/dolphin/core/entity/table/DictionaryTableDef.java b/dolphin-modules/dolphin-module-core/src/main/java/day/gitlab/dolphin/core/entity/table/DictionaryTableDef.java
deleted file mode 100644
index 6e7f4f9..0000000
--- a/dolphin-modules/dolphin-module-core/src/main/java/day/gitlab/dolphin/core/entity/table/DictionaryTableDef.java
+++ /dev/null
@@ -1,82 +0,0 @@
-package day.gitlab.dolphin.core.entity.table;
-
-import com.mybatisflex.core.query.QueryColumn;
-import com.mybatisflex.core.table.TableDef;
-
-import java.io.Serial;
-
-/**
- * 字典 表定义层。
- *
- * @author jiangyc
- * @since 2025-11-28
- */
-public class DictionaryTableDef extends TableDef {
-
- @Serial
- private static final long serialVersionUID = 1L;
-
- /**
- * 字典
- */
- public static final DictionaryTableDef DICTIONARY = new DictionaryTableDef();
-
- /**
- * 主键
- */
- public final QueryColumn ID = new QueryColumn(this, "id");
-
- /**
- * 字典代码
- */
- public final QueryColumn CODE = new QueryColumn(this, "code");
-
- /**
- * 字典名称
- */
- public final QueryColumn NAME = new QueryColumn(this, "name");
-
- /**
- * 字典类型: enum-枚举、tree-树型
- */
- public final QueryColumn TYPE = new QueryColumn(this, "type");
-
- /**
- * 创建时间
- */
- public final QueryColumn CREATE_TIME = new QueryColumn(this, "create_time");
-
- /**
- * 修改时间
- */
- public final QueryColumn UPDATE_TIME = new QueryColumn(this, "update_time");
-
- /**
- * 字典描述
- */
- public final QueryColumn DESCRIPTION = new QueryColumn(this, "description");
-
- /**
- * 所有字段。
- */
- public final QueryColumn ALL_COLUMNS = new QueryColumn(this, "*");
-
- /**
- * 默认字段,不包含逻辑删除或者 large 等字段。
- */
- public final QueryColumn[] DEFAULT_COLUMNS = new QueryColumn[]{ID, NAME, CODE, TYPE, DESCRIPTION, CREATE_TIME, UPDATE_TIME};
-
- public DictionaryTableDef() {
- super("", "sys_core_dictionary");
- }
-
- private DictionaryTableDef(String schema, String name, String alisa) {
- super(schema, name, alisa);
- }
-
- public DictionaryTableDef as(String alias) {
- String key = getNameWithSchema() + "." + alias;
- return getCache(key, k -> new DictionaryTableDef("", "sys_core_dictionary", alias));
- }
-
-}
diff --git a/dolphin-modules/dolphin-module-core/src/main/java/day/gitlab/dolphin/core/mapper/DictionaryItemMapper.java b/dolphin-modules/dolphin-module-core/src/main/java/day/gitlab/dolphin/core/mapper/DictionaryItemMapper.java
deleted file mode 100644
index 1785dc7..0000000
--- a/dolphin-modules/dolphin-module-core/src/main/java/day/gitlab/dolphin/core/mapper/DictionaryItemMapper.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package day.gitlab.dolphin.core.mapper;
-
-import org.apache.ibatis.annotations.Mapper;
-import com.mybatisflex.core.BaseMapper;
-import day.gitlab.dolphin.core.entity.DictionaryItem;
-
-/**
- * 字典项 映射层。
- *
- * @author jiangyc
- * @since 2025-11-28
- */
-@Mapper
-public interface DictionaryItemMapper extends BaseMapper {
-
-}
diff --git a/dolphin-modules/dolphin-module-core/src/main/java/day/gitlab/dolphin/core/mapper/DictionaryMapper.java b/dolphin-modules/dolphin-module-core/src/main/java/day/gitlab/dolphin/core/mapper/DictionaryMapper.java
deleted file mode 100644
index 9e1ae2e..0000000
--- a/dolphin-modules/dolphin-module-core/src/main/java/day/gitlab/dolphin/core/mapper/DictionaryMapper.java
+++ /dev/null
@@ -1,37 +0,0 @@
-package day.gitlab.dolphin.core.mapper;
-
-import com.mybatisflex.core.paginate.Page;
-import day.gitlab.dolphin.common.core.entity.QueryPageRequest;
-import day.gitlab.dolphin.common.mybatis.Pages;
-import day.gitlab.dolphin.core.entity.dto.DictionaryDTO;
-import day.gitlab.dolphin.core.entity.table.DictionaryTableDef;
-import org.apache.ibatis.annotations.Mapper;
-import com.mybatisflex.core.BaseMapper;
-import day.gitlab.dolphin.core.entity.Dictionary;
-import org.springframework.util.StringUtils;
-
-/**
- * 字典 映射层。
- *
- * @author jiangyc
- * @since 2025-11-28
- */
-@Mapper
-public interface DictionaryMapper extends BaseMapper {
-
- default Page page(QueryPageRequest pageRequest) {
- return Pages.paginate(this, pageRequest, (dict, wrapper) -> {
- if (StringUtils.hasText(dict.getName())) {
- wrapper.and(DictionaryTableDef.DICTIONARY.NAME.like(dict.getName()));
- }
- if (StringUtils.hasText(dict.getCode())) {
- wrapper.and(DictionaryTableDef.DICTIONARY.CODE.like(dict.getCode()));
- }
- if (StringUtils.hasText(dict.getType())) {
- wrapper.and(DictionaryTableDef.DICTIONARY.TYPE.eq(dict.getType()));
- }
-
- return wrapper;
- });
- }
-}
diff --git a/dolphin-modules/dolphin-module-core/src/main/java/day/gitlab/dolphin/core/service/DictionaryItemService.java b/dolphin-modules/dolphin-module-core/src/main/java/day/gitlab/dolphin/core/service/DictionaryItemService.java
deleted file mode 100644
index 8c0b0dd..0000000
--- a/dolphin-modules/dolphin-module-core/src/main/java/day/gitlab/dolphin/core/service/DictionaryItemService.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package day.gitlab.dolphin.core.service;
-
-/**
- * 字典项 服务层。
- *
- * @author jiangyc
- * @since 2025-11-28
- */
-public interface DictionaryItemService {
-
-}
diff --git a/dolphin-modules/dolphin-module-core/src/main/java/day/gitlab/dolphin/core/service/DictionaryService.java b/dolphin-modules/dolphin-module-core/src/main/java/day/gitlab/dolphin/core/service/DictionaryService.java
deleted file mode 100644
index 0e0b665..0000000
--- a/dolphin-modules/dolphin-module-core/src/main/java/day/gitlab/dolphin/core/service/DictionaryService.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package day.gitlab.dolphin.core.service;
-
-import day.gitlab.dolphin.common.core.entity.PageResponse;
-import day.gitlab.dolphin.common.core.entity.QueryPageRequest;
-import day.gitlab.dolphin.core.entity.dto.DictionaryDTO;
-import day.gitlab.dolphin.core.entity.vo.DictionaryVO;
-
-import java.util.List;
-
-/**
- * 字典 服务层。
- *
- * @author jiangyc
- * @since 2025-11-28
- */
-public interface DictionaryService {
-
- PageResponse page(QueryPageRequest pageRequest);
-
- void add(DictionaryDTO dictionaryDTO);
-
- void edit(DictionaryDTO dictionaryDTO);
-
- void delete(String id);
-
- void deleteBatch(List ids);
-}
diff --git a/dolphin-modules/dolphin-module-core/src/main/java/day/gitlab/dolphin/core/service/impl/DictionaryItemServiceImpl.java b/dolphin-modules/dolphin-module-core/src/main/java/day/gitlab/dolphin/core/service/impl/DictionaryItemServiceImpl.java
deleted file mode 100644
index a57f727..0000000
--- a/dolphin-modules/dolphin-module-core/src/main/java/day/gitlab/dolphin/core/service/impl/DictionaryItemServiceImpl.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package day.gitlab.dolphin.core.service.impl;
-
-import day.gitlab.dolphin.core.service.DictionaryItemService;
-import org.springframework.stereotype.Service;
-
-/**
- * 字典项 服务层实现。
- *
- * @author jiangyc
- * @since 2025-11-28
- */
-@Service
-public class DictionaryItemServiceImpl implements DictionaryItemService {
-
-}
diff --git a/dolphin-modules/dolphin-module-core/src/main/java/day/gitlab/dolphin/core/service/impl/DictionaryServiceImpl.java b/dolphin-modules/dolphin-module-core/src/main/java/day/gitlab/dolphin/core/service/impl/DictionaryServiceImpl.java
deleted file mode 100644
index 07694e5..0000000
--- a/dolphin-modules/dolphin-module-core/src/main/java/day/gitlab/dolphin/core/service/impl/DictionaryServiceImpl.java
+++ /dev/null
@@ -1,112 +0,0 @@
-package day.gitlab.dolphin.core.service.impl;
-
-import com.mybatisflex.core.paginate.Page;
-import day.gitlab.dolphin.common.core.entity.PageResponse;
-import day.gitlab.dolphin.common.core.entity.QueryPageRequest;
-import day.gitlab.dolphin.common.core.i18n.MessagesHelper;
-import day.gitlab.dolphin.common.mybatis.Pages;
-import day.gitlab.dolphin.core.constants.Exceptions;
-import day.gitlab.dolphin.core.entity.Dictionary;
-import day.gitlab.dolphin.core.entity.dto.DictionaryDTO;
-import day.gitlab.dolphin.core.entity.vo.DictionaryVO;
-import day.gitlab.dolphin.core.mapper.DictionaryMapper;
-import day.gitlab.dolphin.core.service.DictionaryService;
-import jakarta.annotation.Resource;
-import org.springframework.stereotype.Service;
-import org.springframework.util.StringUtils;
-
-import java.sql.Timestamp;
-import java.time.Instant;
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * 字典 服务层实现。
- *
- * @author jiangyc
- * @since 2025-11-28
- */
-@Service
-public class DictionaryServiceImpl implements DictionaryService {
-
- @Resource
- private DictionaryMapper dictionaryMapper;
-
- @Resource
- private MessagesHelper messagesHelper;
-
- @Override
- public PageResponse page(QueryPageRequest pageRequest) {
- Page page = dictionaryMapper.page(pageRequest);
-
- return Pages.toPageResponse(page, (rec) -> {
- DictionaryVO vo = new DictionaryVO();
- vo.setId(rec.getId());
- vo.setName(rec.getName());
- vo.setCode(rec.getCode());
- vo.setType(rec.getType());
- vo.setDescription(rec.getDescription());
- vo.setCreateTime(rec.getCreateTime());
- vo.setUpdateTime(rec.getUpdateTime());
- return vo;
- });
- }
-
- @Override
- public void add(DictionaryDTO dictionaryDTO) {
- validate(dictionaryDTO);
-
- Dictionary dict = Dictionary.builder()
- .name(dictionaryDTO.getName())
- .code(dictionaryDTO.getCode())
- .type(dictionaryDTO.getType())
- .description(dictionaryDTO.getDescription())
- .createTime(Timestamp.from(Instant.now()))
- .updateTime(Timestamp.from(Instant.now()))
- .build();
- dictionaryMapper.insert(dict);
- }
-
- @Override
- public void edit(DictionaryDTO dictionaryDTO) {
- validate(dictionaryDTO);
-
- Dictionary dict = Dictionary.builder()
- .id(dictionaryDTO.getId())
- .name(dictionaryDTO.getName())
- .code(dictionaryDTO.getCode())
- .type(dictionaryDTO.getType())
- .description(dictionaryDTO.getDescription())
- .updateTime(Timestamp.from(Instant.now()))
- .build();
- dictionaryMapper.update(dict);
- }
-
- @Override
- public void delete(String id) {
- dictionaryMapper.deleteById(id);
- }
-
- @Override
- public void deleteBatch(List ids) {
- dictionaryMapper.deleteBatchByIds(ids);
- }
-
- private void validate(DictionaryDTO dictionaryDTO) {
- List fields = new ArrayList<>();
-
- if (!StringUtils.hasText(dictionaryDTO.getName())) {
- fields.add("name");
- }
- if (!StringUtils.hasText(dictionaryDTO.getCode())) {
- fields.add("code");
- }
- if (!StringUtils.hasText(dictionaryDTO.getType())) {
- fields.add("type");
- }
-
- if (!fields.isEmpty()) {
- throw messagesHelper.newBusinessException(Exceptions.FIELD_REQUIRED, String.join(",", fields));
- }
- }
-}
diff --git a/dolphin-modules/dolphin-module-core/src/main/java/day/gitlab/dolphin/module/core/controller/DictionaryController.java b/dolphin-modules/dolphin-module-core/src/main/java/day/gitlab/dolphin/module/core/controller/DictionaryController.java
new file mode 100644
index 0000000..250d962
--- /dev/null
+++ b/dolphin-modules/dolphin-module-core/src/main/java/day/gitlab/dolphin/module/core/controller/DictionaryController.java
@@ -0,0 +1,43 @@
+package day.gitlab.dolphin.module.core.controller;
+
+import day.gitlab.dolphin.common.web.entity.ApiResponse;
+import day.gitlab.dolphin.common.web.entity.PageRequest;
+import day.gitlab.dolphin.common.web.entity.PageResponse;
+import day.gitlab.dolphin.module.core.controller.dto.DictionaryDTO;
+import day.gitlab.dolphin.module.core.controller.vo.DictionaryVO;
+import day.gitlab.dolphin.module.core.service.DictionaryService;
+import lombok.RequiredArgsConstructor;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.HashMap;
+
+@RestController
+@RequiredArgsConstructor
+@RequestMapping("/dictionary")
+public class DictionaryController {
+
+ private final DictionaryService dictionaryService;
+
+ @PostMapping("/paginate")
+ public ApiResponse> paginate(@RequestBody PageRequest pageRequest) {
+ return ApiResponse.success(dictionaryService.paginate(pageRequest));
+ }
+
+ @PostMapping("/update")
+ public ApiResponse update(@RequestBody DictionaryDTO record) {
+ return ApiResponse.success(dictionaryService.update(record));
+ }
+
+ @PostMapping("/delete")
+ public ApiResponse delete(@RequestBody DictionaryDTO record) {
+ return ApiResponse.success(dictionaryService.delete(record));
+ }
+
+ @PostMapping("/insert")
+ public ApiResponse insert(@RequestBody DictionaryDTO record) {
+ return ApiResponse.success(dictionaryService.insert(record));
+ }
+}
diff --git a/dolphin-modules/dolphin-module-core/src/main/java/day/gitlab/dolphin/core/entity/dto/DictionaryDTO.java b/dolphin-modules/dolphin-module-core/src/main/java/day/gitlab/dolphin/module/core/controller/dto/DictionaryDTO.java
similarity index 69%
rename from dolphin-modules/dolphin-module-core/src/main/java/day/gitlab/dolphin/core/entity/dto/DictionaryDTO.java
rename to dolphin-modules/dolphin-module-core/src/main/java/day/gitlab/dolphin/module/core/controller/dto/DictionaryDTO.java
index 268077a..8b5c6a4 100644
--- a/dolphin-modules/dolphin-module-core/src/main/java/day/gitlab/dolphin/core/entity/dto/DictionaryDTO.java
+++ b/dolphin-modules/dolphin-module-core/src/main/java/day/gitlab/dolphin/module/core/controller/dto/DictionaryDTO.java
@@ -1,14 +1,10 @@
-package day.gitlab.dolphin.core.entity.dto;
+package day.gitlab.dolphin.module.core.controller.dto;
import lombok.AllArgsConstructor;
-import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
-import java.util.List;
-
@Data
-@Builder
@NoArgsConstructor
@AllArgsConstructor
public class DictionaryDTO {
@@ -22,6 +18,4 @@ public class DictionaryDTO {
private String type;
private String description;
-
- private List ids;
}
diff --git a/dolphin-modules/dolphin-module-core/src/main/java/day/gitlab/dolphin/core/entity/vo/DictionaryVO.java b/dolphin-modules/dolphin-module-core/src/main/java/day/gitlab/dolphin/module/core/controller/vo/DictionaryVO.java
similarity index 65%
rename from dolphin-modules/dolphin-module-core/src/main/java/day/gitlab/dolphin/core/entity/vo/DictionaryVO.java
rename to dolphin-modules/dolphin-module-core/src/main/java/day/gitlab/dolphin/module/core/controller/vo/DictionaryVO.java
index d4135e7..7af4ceb 100644
--- a/dolphin-modules/dolphin-module-core/src/main/java/day/gitlab/dolphin/core/entity/vo/DictionaryVO.java
+++ b/dolphin-modules/dolphin-module-core/src/main/java/day/gitlab/dolphin/module/core/controller/vo/DictionaryVO.java
@@ -1,14 +1,15 @@
-package day.gitlab.dolphin.core.entity.vo;
+package day.gitlab.dolphin.module.core.controller.vo;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
-import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.sql.Timestamp;
@Data
-@Builder
@NoArgsConstructor
@AllArgsConstructor
public class DictionaryVO {
diff --git a/dolphin-modules/dolphin-module-core/src/main/java/day/gitlab/dolphin/module/core/entity/Dictionary.java b/dolphin-modules/dolphin-module-core/src/main/java/day/gitlab/dolphin/module/core/entity/Dictionary.java
new file mode 100644
index 0000000..dd26ab2
--- /dev/null
+++ b/dolphin-modules/dolphin-module-core/src/main/java/day/gitlab/dolphin/module/core/entity/Dictionary.java
@@ -0,0 +1,31 @@
+package day.gitlab.dolphin.module.core.entity;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.sql.Timestamp;
+
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+@TableName("sys_core_dictionary")
+public class Dictionary {
+
+ @TableId
+ private String id;
+
+ private String name;
+
+ private String code;
+
+ private String type;
+
+ private String description;
+
+ private Timestamp createTime;
+
+ private Timestamp updateTime;
+}
diff --git a/dolphin-modules/dolphin-module-core/src/main/java/day/gitlab/dolphin/module/core/mapper/DictionaryMapper.java b/dolphin-modules/dolphin-module-core/src/main/java/day/gitlab/dolphin/module/core/mapper/DictionaryMapper.java
new file mode 100644
index 0000000..b5861cd
--- /dev/null
+++ b/dolphin-modules/dolphin-module-core/src/main/java/day/gitlab/dolphin/module/core/mapper/DictionaryMapper.java
@@ -0,0 +1,9 @@
+package day.gitlab.dolphin.module.core.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import day.gitlab.dolphin.module.core.entity.Dictionary;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface DictionaryMapper extends BaseMapper {
+}
diff --git a/dolphin-modules/dolphin-module-core/src/main/java/day/gitlab/dolphin/module/core/service/DictionaryService.java b/dolphin-modules/dolphin-module-core/src/main/java/day/gitlab/dolphin/module/core/service/DictionaryService.java
new file mode 100644
index 0000000..396c67e
--- /dev/null
+++ b/dolphin-modules/dolphin-module-core/src/main/java/day/gitlab/dolphin/module/core/service/DictionaryService.java
@@ -0,0 +1,19 @@
+package day.gitlab.dolphin.module.core.service;
+
+import day.gitlab.dolphin.common.web.entity.PageRequest;
+import day.gitlab.dolphin.common.web.entity.PageResponse;
+import day.gitlab.dolphin.module.core.controller.dto.DictionaryDTO;
+import day.gitlab.dolphin.module.core.controller.vo.DictionaryVO;
+
+import java.util.List;
+
+public interface DictionaryService {
+
+ PageResponse paginate(PageRequest pageRequest);
+
+ boolean update(DictionaryDTO record);
+
+ boolean delete(DictionaryDTO record);
+
+ boolean insert(DictionaryDTO record);
+}
diff --git a/dolphin-modules/dolphin-module-core/src/main/java/day/gitlab/dolphin/module/core/service/impl/DictionaryServiceImpl.java b/dolphin-modules/dolphin-module-core/src/main/java/day/gitlab/dolphin/module/core/service/impl/DictionaryServiceImpl.java
new file mode 100644
index 0000000..e3eb438
--- /dev/null
+++ b/dolphin-modules/dolphin-module-core/src/main/java/day/gitlab/dolphin/module/core/service/impl/DictionaryServiceImpl.java
@@ -0,0 +1,90 @@
+package day.gitlab.dolphin.module.core.service.impl;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import day.gitlab.dolphin.common.core.util.Strings;
+import day.gitlab.dolphin.common.mybatis.util.Pages;
+import day.gitlab.dolphin.common.web.entity.PageRequest;
+import day.gitlab.dolphin.common.web.entity.PageResponse;
+import day.gitlab.dolphin.module.core.controller.dto.DictionaryDTO;
+import day.gitlab.dolphin.module.core.controller.vo.DictionaryVO;
+import day.gitlab.dolphin.module.core.entity.Dictionary;
+import day.gitlab.dolphin.module.core.mapper.DictionaryMapper;
+import day.gitlab.dolphin.module.core.service.DictionaryService;
+import lombok.NonNull;
+import lombok.RequiredArgsConstructor;
+import org.springframework.beans.BeanUtils;
+import org.springframework.stereotype.Service;
+
+import java.sql.Timestamp;
+import java.time.Instant;
+
+@Service
+@RequiredArgsConstructor
+public class DictionaryServiceImpl implements DictionaryService {
+
+ @NonNull
+ private final DictionaryMapper dictionaryMapper;
+
+ @Override
+ public PageResponse paginate(PageRequest pageRequest) {
+ Page paginate = Pages.paginate(pageRequest, dictionaryMapper, (dto, wrapper) -> {
+ if (Strings.isNotBlank(dto.getName())) {
+ wrapper.like("name", dto.getName());
+ }
+ if (Strings.isNotBlank(dto.getCode())) {
+ wrapper.eq("code", dto.getCode());
+ }
+ if (Strings.isNotBlank(dto.getType())) {
+ wrapper.eq("type", dto.getType());
+ }
+
+ return wrapper;
+ });
+
+ return Pages.toPageResponse(paginate, (record) -> {
+ DictionaryVO dictionaryVO = new DictionaryVO();
+ BeanUtils.copyProperties(record, dictionaryVO);
+ return dictionaryVO;
+ });
+ }
+
+ @Override
+ public boolean update(DictionaryDTO record) {
+ Dictionary dictionary = dictionaryMapper.selectById(record.getId());
+ if (dictionary != null) {
+ if (Strings.isNotBlank(dictionary.getName())) {
+ dictionary.setName(dictionary.getName());
+ }
+ if (Strings.isNotBlank(dictionary.getCode())) {
+ dictionary.setCode(dictionary.getCode());
+ }
+ if (Strings.isNotBlank(dictionary.getType())) {
+ dictionary.setType(dictionary.getType());
+ }
+ if (Strings.isNotBlank(dictionary.getDescription())) {
+ dictionary.setDescription(dictionary.getDescription());
+ }
+ dictionary.setUpdateTime(Timestamp.from(Instant.now()));
+ return dictionaryMapper.updateById(dictionary) == 1;
+ }
+ return false;
+ }
+
+ @Override
+ public boolean delete(DictionaryDTO record) {
+ Dictionary dictionary = dictionaryMapper.selectById(record.getId());
+ if (dictionary != null) {
+ return dictionaryMapper.deleteById(dictionary.getId()) == 1;
+ }
+ return false;
+ }
+
+ @Override
+ public boolean insert(DictionaryDTO record) {
+ Dictionary dictionary = new Dictionary();
+ BeanUtils.copyProperties(record, dictionary);
+ dictionary.setCreateTime(Timestamp.from(Instant.now()));
+ dictionary.setUpdateTime(Timestamp.from(Instant.now()));
+ return dictionaryMapper.insert(dictionary) == 1;
+ }
+}
diff --git a/dolphin-modules/dolphin-module-core/src/main/resources/mapper/DictionaryMapper.xml b/dolphin-modules/dolphin-module-core/src/main/resources/mapper/DictionaryMapper.xml
new file mode 100644
index 0000000..bc624a5
--- /dev/null
+++ b/dolphin-modules/dolphin-module-core/src/main/resources/mapper/DictionaryMapper.xml
@@ -0,0 +1,58 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/dolphin-modules/dolphin-module-rbac/pom.xml b/dolphin-modules/dolphin-module-rbac/pom.xml
index 690eade..56a5332 100644
--- a/dolphin-modules/dolphin-module-rbac/pom.xml
+++ b/dolphin-modules/dolphin-module-rbac/pom.xml
@@ -1,60 +1,43 @@
- 4.0.0
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
+ 4.0.0
+
day.gitlab
dolphin-modules
0.0.1-SNAPSHOT
- dolphin-module-rbac
- jar
+ dolphin-module-rbac
+ jar
-
+
day.gitlab
dolphin-common-security
${project.version}
-
- day.gitlab
- dolphin-common-mybatis
- ${project.version}
-
org.springframework.boot
- spring-boot-starter-web
-
-
- org.springframework.boot
- spring-boot-starter-validation
-
-
- org.springframework.boot
- spring-boot-starter-jdbc
-
-
-
- com.mybatis-flex
- mybatis-flex-spring-boot3-starter
+ spring-boot-starter-webmvc
- org.projectlombok
- lombok
- true
-
+ org.projectlombok
+ lombok
+ true
+
-
-
+
+
org.apache.maven.plugins
maven-compiler-plugin
-
+
diff --git a/dolphin-modules/dolphin-module-rbac/src/main/java/day/gitlab/dolphin/module/rbac/entity/Department.java b/dolphin-modules/dolphin-module-rbac/src/main/java/day/gitlab/dolphin/module/rbac/entity/Department.java
new file mode 100644
index 0000000..55618b1
--- /dev/null
+++ b/dolphin-modules/dolphin-module-rbac/src/main/java/day/gitlab/dolphin/module/rbac/entity/Department.java
@@ -0,0 +1,59 @@
+package day.gitlab.dolphin.module.rbac.entity;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.util.Date;
+import lombok.Data;
+
+/**
+ * 部门表
+ */
+@Data
+@TableName(value ="sys_rbac_department")
+public class Department {
+ /**
+ * 主键
+ */
+ @TableId
+ private String id;
+
+ /**
+ * 区划ID
+ */
+ private String regionId;
+
+ /**
+ * 上级部门ID
+ */
+ private String parentId;
+
+ /**
+ * 部门名称
+ */
+ private String name;
+
+ /**
+ * 部门代码
+ */
+ private String code;
+
+ /**
+ * 部门排序
+ */
+ private Integer sort;
+
+ /**
+ * 描述
+ */
+ private String description;
+
+ /**
+ * 创建时间
+ */
+ private Date createTime;
+
+ /**
+ * 修改时间
+ */
+ private Date updateTime;
+}
\ No newline at end of file
diff --git a/dolphin-modules/dolphin-module-rbac/src/main/java/day/gitlab/dolphin/rbac/entity/Region.java b/dolphin-modules/dolphin-module-rbac/src/main/java/day/gitlab/dolphin/module/rbac/entity/Region.java
similarity index 55%
rename from dolphin-modules/dolphin-module-rbac/src/main/java/day/gitlab/dolphin/rbac/entity/Region.java
rename to dolphin-modules/dolphin-module-rbac/src/main/java/day/gitlab/dolphin/module/rbac/entity/Region.java
index e9f6436..1e58cf0 100644
--- a/dolphin-modules/dolphin-module-rbac/src/main/java/day/gitlab/dolphin/rbac/entity/Region.java
+++ b/dolphin-modules/dolphin-module-rbac/src/main/java/day/gitlab/dolphin/module/rbac/entity/Region.java
@@ -1,37 +1,20 @@
-package day.gitlab.dolphin.rbac.entity;
+package day.gitlab.dolphin.module.rbac.entity;
-import com.mybatisflex.annotation.Id;
-import com.mybatisflex.annotation.Table;
-import java.io.Serializable;
-import java.sql.Timestamp;
-
-import java.io.Serial;
-
-import lombok.AllArgsConstructor;
-import lombok.Builder;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.util.Date;
import lombok.Data;
-import lombok.NoArgsConstructor;
/**
- * 区划项 实体类。
- *
- * @author jiangyc
- * @since 2025-11-28
+ * 区划项
*/
@Data
-@Builder
-@NoArgsConstructor
-@AllArgsConstructor
-@Table("sys_rbac_region")
-public class Region implements Serializable {
-
- @Serial
- private static final long serialVersionUID = 1L;
-
+@TableName(value ="sys_rbac_region")
+public class Region {
/**
* 主键
*/
- @Id
+ @TableId
private String id;
/**
@@ -82,11 +65,10 @@ public class Region implements Serializable {
/**
* 创建时间
*/
- private Timestamp createTime;
+ private Date createTime;
/**
* 修改时间
*/
- private Timestamp updateTime;
-
-}
+ private Date updateTime;
+}
\ No newline at end of file
diff --git a/dolphin-modules/dolphin-module-rbac/src/main/java/day/gitlab/dolphin/module/rbac/entity/Role.java b/dolphin-modules/dolphin-module-rbac/src/main/java/day/gitlab/dolphin/module/rbac/entity/Role.java
new file mode 100644
index 0000000..a1cdce7
--- /dev/null
+++ b/dolphin-modules/dolphin-module-rbac/src/main/java/day/gitlab/dolphin/module/rbac/entity/Role.java
@@ -0,0 +1,49 @@
+package day.gitlab.dolphin.module.rbac.entity;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.util.Date;
+import lombok.Data;
+
+/**
+ * 角色表
+ */
+@Data
+@TableName(value ="sys_rbac_role")
+public class Role {
+ /**
+ * 主键
+ */
+ @TableId
+ private String id;
+
+ /**
+ * 角色名称
+ */
+ private String name;
+
+ /**
+ * 角色代码
+ */
+ private String code;
+
+ /**
+ * 角色排序
+ */
+ private Integer sort;
+
+ /**
+ * 描述
+ */
+ private String description;
+
+ /**
+ * 创建时间
+ */
+ private Date createTime;
+
+ /**
+ * 修改时间
+ */
+ private Date updateTime;
+}
\ No newline at end of file
diff --git a/dolphin-modules/dolphin-module-rbac/src/main/java/day/gitlab/dolphin/module/rbac/entity/User.java b/dolphin-modules/dolphin-module-rbac/src/main/java/day/gitlab/dolphin/module/rbac/entity/User.java
new file mode 100644
index 0000000..d8da699
--- /dev/null
+++ b/dolphin-modules/dolphin-module-rbac/src/main/java/day/gitlab/dolphin/module/rbac/entity/User.java
@@ -0,0 +1,56 @@
+package day.gitlab.dolphin.module.rbac.entity;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.util.Date;
+
+import day.gitlab.dolphin.module.rbac.enums.UserEnabled;
+import lombok.Data;
+
+/**
+ * 用户表
+ */
+@Data
+@TableName(value ="sys_rbac_user")
+public class User {
+ /**
+ * 主键
+ */
+ @TableId
+ private String id;
+
+ /**
+ * 用户名称
+ */
+ private String username;
+
+ /**
+ * 用户昵称
+ */
+ private String nickname;
+
+ /**
+ * 用户密码
+ */
+ private String password;
+
+ /**
+ * 是否启用:0-未启用/1-启用
+ */
+ private UserEnabled enabled;
+
+ /**
+ * 描述
+ */
+ private String description;
+
+ /**
+ * 创建时间
+ */
+ private Date createTime;
+
+ /**
+ * 修改时间
+ */
+ private Date updateTime;
+}
\ No newline at end of file
diff --git a/dolphin-modules/dolphin-module-rbac/src/main/java/day/gitlab/dolphin/module/rbac/enums/UserEnabled.java b/dolphin-modules/dolphin-module-rbac/src/main/java/day/gitlab/dolphin/module/rbac/enums/UserEnabled.java
new file mode 100644
index 0000000..2c675cc
--- /dev/null
+++ b/dolphin-modules/dolphin-module-rbac/src/main/java/day/gitlab/dolphin/module/rbac/enums/UserEnabled.java
@@ -0,0 +1,15 @@
+package day.gitlab.dolphin.module.rbac.enums;
+
+import com.baomidou.mybatisplus.annotation.IEnum;
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
+@Getter
+@AllArgsConstructor
+public enum UserEnabled implements IEnum {
+
+ ENABLED("1"),
+ DISABLED("0");
+
+ private final String value;
+}
diff --git a/dolphin-modules/dolphin-module-rbac/src/main/java/day/gitlab/dolphin/module/rbac/mapper/DepartmentMapper.java b/dolphin-modules/dolphin-module-rbac/src/main/java/day/gitlab/dolphin/module/rbac/mapper/DepartmentMapper.java
new file mode 100644
index 0000000..35e4cfb
--- /dev/null
+++ b/dolphin-modules/dolphin-module-rbac/src/main/java/day/gitlab/dolphin/module/rbac/mapper/DepartmentMapper.java
@@ -0,0 +1,17 @@
+package day.gitlab.dolphin.module.rbac.mapper;
+
+import day.gitlab.dolphin.module.rbac.entity.Department;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 针对表【sys_rbac_department(部门表)】的数据库操作Mapper
+ */
+@Mapper
+public interface DepartmentMapper extends BaseMapper {
+
+}
+
+
+
+
diff --git a/dolphin-modules/dolphin-module-rbac/src/main/java/day/gitlab/dolphin/module/rbac/mapper/RegionMapper.java b/dolphin-modules/dolphin-module-rbac/src/main/java/day/gitlab/dolphin/module/rbac/mapper/RegionMapper.java
new file mode 100644
index 0000000..7b4d642
--- /dev/null
+++ b/dolphin-modules/dolphin-module-rbac/src/main/java/day/gitlab/dolphin/module/rbac/mapper/RegionMapper.java
@@ -0,0 +1,17 @@
+package day.gitlab.dolphin.module.rbac.mapper;
+
+import day.gitlab.dolphin.module.rbac.entity.Region;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 针对表【sys_rbac_region(区划项)】的数据库操作Mapper
+*/
+@Mapper
+public interface RegionMapper extends BaseMapper {
+
+}
+
+
+
+
diff --git a/dolphin-modules/dolphin-module-rbac/src/main/java/day/gitlab/dolphin/module/rbac/mapper/RoleMapper.java b/dolphin-modules/dolphin-module-rbac/src/main/java/day/gitlab/dolphin/module/rbac/mapper/RoleMapper.java
new file mode 100644
index 0000000..162061d
--- /dev/null
+++ b/dolphin-modules/dolphin-module-rbac/src/main/java/day/gitlab/dolphin/module/rbac/mapper/RoleMapper.java
@@ -0,0 +1,20 @@
+package day.gitlab.dolphin.module.rbac.mapper;
+
+import day.gitlab.dolphin.module.rbac.entity.Role;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.util.List;
+
+/**
+ * 针对表【sys_rbac_role(角色表)】的数据库操作Mapper
+ */
+@Mapper
+public interface RoleMapper extends BaseMapper {
+
+ List findAllByUserId(String userId);
+}
+
+
+
+
diff --git a/dolphin-modules/dolphin-module-rbac/src/main/java/day/gitlab/dolphin/module/rbac/mapper/UserMapper.java b/dolphin-modules/dolphin-module-rbac/src/main/java/day/gitlab/dolphin/module/rbac/mapper/UserMapper.java
new file mode 100644
index 0000000..3913b8e
--- /dev/null
+++ b/dolphin-modules/dolphin-module-rbac/src/main/java/day/gitlab/dolphin/module/rbac/mapper/UserMapper.java
@@ -0,0 +1,24 @@
+package day.gitlab.dolphin.module.rbac.mapper;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import day.gitlab.dolphin.module.rbac.entity.User;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 针对表【sys_rbac_user(用户表)】的数据库操作Mapper
+ */
+@Mapper
+public interface UserMapper extends BaseMapper {
+
+ default User findByUsername(String username) {
+ LambdaQueryWrapper wrapper = Wrappers.lambdaQuery()
+ .eq(User::getUsername, username);
+ return selectOne(wrapper);
+ }
+}
+
+
+
+
diff --git a/dolphin-modules/dolphin-module-rbac/src/main/java/day/gitlab/dolphin/module/rbac/service/DepartmentService.java b/dolphin-modules/dolphin-module-rbac/src/main/java/day/gitlab/dolphin/module/rbac/service/DepartmentService.java
new file mode 100644
index 0000000..1359357
--- /dev/null
+++ b/dolphin-modules/dolphin-module-rbac/src/main/java/day/gitlab/dolphin/module/rbac/service/DepartmentService.java
@@ -0,0 +1,8 @@
+package day.gitlab.dolphin.module.rbac.service;
+
+/**
+ * 针对表【sys_rbac_department(部门表)】的数据库操作Service
+ */
+public interface DepartmentService {
+
+}
diff --git a/dolphin-modules/dolphin-module-rbac/src/main/java/day/gitlab/dolphin/module/rbac/service/RegionService.java b/dolphin-modules/dolphin-module-rbac/src/main/java/day/gitlab/dolphin/module/rbac/service/RegionService.java
new file mode 100644
index 0000000..5e79676
--- /dev/null
+++ b/dolphin-modules/dolphin-module-rbac/src/main/java/day/gitlab/dolphin/module/rbac/service/RegionService.java
@@ -0,0 +1,8 @@
+package day.gitlab.dolphin.module.rbac.service;
+
+/**
+ * 针对表【sys_rbac_region(区划项)】的数据库操作Service
+ */
+public interface RegionService {
+
+}
diff --git a/dolphin-modules/dolphin-module-rbac/src/main/java/day/gitlab/dolphin/module/rbac/service/RoleService.java b/dolphin-modules/dolphin-module-rbac/src/main/java/day/gitlab/dolphin/module/rbac/service/RoleService.java
new file mode 100644
index 0000000..e27c03d
--- /dev/null
+++ b/dolphin-modules/dolphin-module-rbac/src/main/java/day/gitlab/dolphin/module/rbac/service/RoleService.java
@@ -0,0 +1,8 @@
+package day.gitlab.dolphin.module.rbac.service;
+
+/**
+ * 针对表【sys_rbac_role(角色表)】的数据库操作Service
+ */
+public interface RoleService {
+
+}
diff --git a/dolphin-modules/dolphin-module-rbac/src/main/java/day/gitlab/dolphin/module/rbac/service/UserService.java b/dolphin-modules/dolphin-module-rbac/src/main/java/day/gitlab/dolphin/module/rbac/service/UserService.java
new file mode 100644
index 0000000..824b171
--- /dev/null
+++ b/dolphin-modules/dolphin-module-rbac/src/main/java/day/gitlab/dolphin/module/rbac/service/UserService.java
@@ -0,0 +1,8 @@
+package day.gitlab.dolphin.module.rbac.service;
+
+/**
+ * 针对表【sys_rbac_user(用户表)】的数据库操作Service
+ */
+public interface UserService {
+
+}
diff --git a/dolphin-modules/dolphin-module-rbac/src/main/java/day/gitlab/dolphin/module/rbac/service/impl/DepartmentServiceImpl.java b/dolphin-modules/dolphin-module-rbac/src/main/java/day/gitlab/dolphin/module/rbac/service/impl/DepartmentServiceImpl.java
new file mode 100644
index 0000000..b914781
--- /dev/null
+++ b/dolphin-modules/dolphin-module-rbac/src/main/java/day/gitlab/dolphin/module/rbac/service/impl/DepartmentServiceImpl.java
@@ -0,0 +1,16 @@
+package day.gitlab.dolphin.module.rbac.service.impl;
+
+import day.gitlab.dolphin.module.rbac.service.DepartmentService;
+import org.springframework.stereotype.Service;
+
+/**
+ * 针对表【sys_rbac_department(部门表)】的数据库操作Service实现
+ */
+@Service
+public class DepartmentServiceImpl implements DepartmentService {
+
+}
+
+
+
+
diff --git a/dolphin-modules/dolphin-module-rbac/src/main/java/day/gitlab/dolphin/module/rbac/service/impl/RegionServiceImpl.java b/dolphin-modules/dolphin-module-rbac/src/main/java/day/gitlab/dolphin/module/rbac/service/impl/RegionServiceImpl.java
new file mode 100644
index 0000000..8a04f8d
--- /dev/null
+++ b/dolphin-modules/dolphin-module-rbac/src/main/java/day/gitlab/dolphin/module/rbac/service/impl/RegionServiceImpl.java
@@ -0,0 +1,16 @@
+package day.gitlab.dolphin.module.rbac.service.impl;
+
+import day.gitlab.dolphin.module.rbac.service.RegionService;
+import org.springframework.stereotype.Service;
+
+/**
+ * 针对表【sys_rbac_region(区划项)】的数据库操作Service实现
+ */
+@Service
+public class RegionServiceImpl implements RegionService {
+
+}
+
+
+
+
diff --git a/dolphin-modules/dolphin-module-rbac/src/main/java/day/gitlab/dolphin/module/rbac/service/impl/RoleServiceImpl.java b/dolphin-modules/dolphin-module-rbac/src/main/java/day/gitlab/dolphin/module/rbac/service/impl/RoleServiceImpl.java
new file mode 100644
index 0000000..264d069
--- /dev/null
+++ b/dolphin-modules/dolphin-module-rbac/src/main/java/day/gitlab/dolphin/module/rbac/service/impl/RoleServiceImpl.java
@@ -0,0 +1,16 @@
+package day.gitlab.dolphin.module.rbac.service.impl;
+
+import day.gitlab.dolphin.module.rbac.service.RoleService;
+import org.springframework.stereotype.Service;
+
+/**
+ * 针对表【sys_rbac_role(角色表)】的数据库操作Service实现
+ */
+@Service
+public class RoleServiceImpl implements RoleService {
+
+}
+
+
+
+
diff --git a/dolphin-modules/dolphin-module-rbac/src/main/java/day/gitlab/dolphin/module/rbac/service/impl/UserServiceImpl.java b/dolphin-modules/dolphin-module-rbac/src/main/java/day/gitlab/dolphin/module/rbac/service/impl/UserServiceImpl.java
new file mode 100644
index 0000000..ec1a5c3
--- /dev/null
+++ b/dolphin-modules/dolphin-module-rbac/src/main/java/day/gitlab/dolphin/module/rbac/service/impl/UserServiceImpl.java
@@ -0,0 +1,16 @@
+package day.gitlab.dolphin.module.rbac.service.impl;
+
+import day.gitlab.dolphin.module.rbac.service.UserService;
+import org.springframework.stereotype.Service;
+
+/**
+ * 针对表【sys_rbac_user(用户表)】的数据库操作Service实现
+ */
+@Service
+public class UserServiceImpl implements UserService {
+
+}
+
+
+
+
diff --git a/dolphin-modules/dolphin-module-rbac/src/main/java/day/gitlab/dolphin/rbac/constants/UserEnabled.java b/dolphin-modules/dolphin-module-rbac/src/main/java/day/gitlab/dolphin/rbac/constants/UserEnabled.java
deleted file mode 100644
index 0b1f5a1..0000000
--- a/dolphin-modules/dolphin-module-rbac/src/main/java/day/gitlab/dolphin/rbac/constants/UserEnabled.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package day.gitlab.dolphin.rbac.constants;
-
-public class UserEnabled {
-
- public static final String ENABLED = "1";
-
- public static final String DISABLED = "0";
-}
diff --git a/dolphin-modules/dolphin-module-rbac/src/main/java/day/gitlab/dolphin/rbac/controller/DepartmentController.java b/dolphin-modules/dolphin-module-rbac/src/main/java/day/gitlab/dolphin/rbac/controller/DepartmentController.java
deleted file mode 100644
index 8d872f7..0000000
--- a/dolphin-modules/dolphin-module-rbac/src/main/java/day/gitlab/dolphin/rbac/controller/DepartmentController.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package day.gitlab.dolphin.rbac.controller;
-
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-/**
- * 部门表 控制层。
- *
- * @author jiangyc
- * @since 2025-11-28
- */
-@RestController
-@RequestMapping("/department")
-public class DepartmentController {
-}
diff --git a/dolphin-modules/dolphin-module-rbac/src/main/java/day/gitlab/dolphin/rbac/controller/RegionController.java b/dolphin-modules/dolphin-module-rbac/src/main/java/day/gitlab/dolphin/rbac/controller/RegionController.java
deleted file mode 100644
index ca5cb29..0000000
--- a/dolphin-modules/dolphin-module-rbac/src/main/java/day/gitlab/dolphin/rbac/controller/RegionController.java
+++ /dev/null
@@ -1,26 +0,0 @@
-package day.gitlab.dolphin.rbac.controller;
-
-import com.mybatisflex.core.paginate.Page;
-import org.springframework.web.bind.annotation.DeleteMapping;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.PutMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.beans.factory.annotation.Autowired;
-import day.gitlab.dolphin.rbac.entity.Region;
-import day.gitlab.dolphin.rbac.service.RegionService;
-import org.springframework.web.bind.annotation.RestController;
-import java.util.List;
-
-/**
- * 区划项 控制层。
- *
- * @author jiangyc
- * @since 2025-11-28
- */
-@RestController
-@RequestMapping("/region")
-public class RegionController {
-}
diff --git a/dolphin-modules/dolphin-module-rbac/src/main/java/day/gitlab/dolphin/rbac/controller/RoleController.java b/dolphin-modules/dolphin-module-rbac/src/main/java/day/gitlab/dolphin/rbac/controller/RoleController.java
deleted file mode 100644
index 930fb13..0000000
--- a/dolphin-modules/dolphin-module-rbac/src/main/java/day/gitlab/dolphin/rbac/controller/RoleController.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package day.gitlab.dolphin.rbac.controller;
-
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-/**
- * 角色表 控制层。
- *
- * @author jiangyc
- * @since 2025-11-28
- */
-@RestController
-@RequestMapping("/role")
-public class RoleController {
-}
diff --git a/dolphin-modules/dolphin-module-rbac/src/main/java/day/gitlab/dolphin/rbac/controller/UserController.java b/dolphin-modules/dolphin-module-rbac/src/main/java/day/gitlab/dolphin/rbac/controller/UserController.java
deleted file mode 100644
index 582461a..0000000
--- a/dolphin-modules/dolphin-module-rbac/src/main/java/day/gitlab/dolphin/rbac/controller/UserController.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package day.gitlab.dolphin.rbac.controller;
-
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-/**
- * 用户表 控制层。
- *
- * @author jiangyc
- * @since 2025-11-28
- */
-@RestController
-@RequestMapping("/user")
-public class UserController {
-}
diff --git a/dolphin-modules/dolphin-module-rbac/src/main/java/day/gitlab/dolphin/rbac/entity/Department.java b/dolphin-modules/dolphin-module-rbac/src/main/java/day/gitlab/dolphin/rbac/entity/Department.java
deleted file mode 100644
index 8556800..0000000
--- a/dolphin-modules/dolphin-module-rbac/src/main/java/day/gitlab/dolphin/rbac/entity/Department.java
+++ /dev/null
@@ -1,77 +0,0 @@
-package day.gitlab.dolphin.rbac.entity;
-
-import com.mybatisflex.annotation.Id;
-import com.mybatisflex.annotation.Table;
-import java.io.Serializable;
-import java.sql.Timestamp;
-
-import java.io.Serial;
-
-import lombok.AllArgsConstructor;
-import lombok.Builder;
-import lombok.Data;
-import lombok.NoArgsConstructor;
-
-/**
- * 部门表 实体类。
- *
- * @author jiangyc
- * @since 2025-11-28
- */
-@Data
-@Builder
-@NoArgsConstructor
-@AllArgsConstructor
-@Table("sys_rbac_department")
-public class Department implements Serializable {
-
- @Serial
- private static final long serialVersionUID = 1L;
-
- /**
- * 主键
- */
- @Id
- private String id;
-
- /**
- * 区划ID
- */
- private String regionId;
-
- /**
- * 上级部门ID
- */
- private String parentId;
-
- /**
- * 部门名称
- */
- private String name;
-
- /**
- * 部门代码
- */
- private String code;
-
- /**
- * 部门排序
- */
- private Integer sort;
-
- /**
- * 描述
- */
- private String description;
-
- /**
- * 创建时间
- */
- private Timestamp createTime;
-
- /**
- * 修改时间
- */
- private Timestamp updateTime;
-
-}
diff --git a/dolphin-modules/dolphin-module-rbac/src/main/java/day/gitlab/dolphin/rbac/entity/Role.java b/dolphin-modules/dolphin-module-rbac/src/main/java/day/gitlab/dolphin/rbac/entity/Role.java
deleted file mode 100644
index 6e8c01c..0000000
--- a/dolphin-modules/dolphin-module-rbac/src/main/java/day/gitlab/dolphin/rbac/entity/Role.java
+++ /dev/null
@@ -1,67 +0,0 @@
-package day.gitlab.dolphin.rbac.entity;
-
-import com.mybatisflex.annotation.Id;
-import com.mybatisflex.annotation.Table;
-import java.io.Serializable;
-import java.sql.Timestamp;
-
-import java.io.Serial;
-
-import lombok.AllArgsConstructor;
-import lombok.Builder;
-import lombok.Data;
-import lombok.NoArgsConstructor;
-
-/**
- * 角色表 实体类。
- *
- * @author jiangyc
- * @since 2025-11-28
- */
-@Data
-@Builder
-@NoArgsConstructor
-@AllArgsConstructor
-@Table("sys_rbac_role")
-public class Role implements Serializable {
-
- @Serial
- private static final long serialVersionUID = 1L;
-
- /**
- * 主键
- */
- @Id
- private String id;
-
- /**
- * 角色名称
- */
- private String name;
-
- /**
- * 角色代码
- */
- private String code;
-
- /**
- * 角色排序
- */
- private Integer sort;
-
- /**
- * 描述
- */
- private String description;
-
- /**
- * 创建时间
- */
- private Timestamp createTime;
-
- /**
- * 修改时间
- */
- private Timestamp updateTime;
-
-}
diff --git a/dolphin-modules/dolphin-module-rbac/src/main/java/day/gitlab/dolphin/rbac/entity/User.java b/dolphin-modules/dolphin-module-rbac/src/main/java/day/gitlab/dolphin/rbac/entity/User.java
deleted file mode 100644
index b7cfe5d..0000000
--- a/dolphin-modules/dolphin-module-rbac/src/main/java/day/gitlab/dolphin/rbac/entity/User.java
+++ /dev/null
@@ -1,78 +0,0 @@
-package day.gitlab.dolphin.rbac.entity;
-
-import com.mybatisflex.annotation.Id;
-import com.mybatisflex.annotation.RelationOneToMany;
-import com.mybatisflex.annotation.Table;
-import java.io.Serializable;
-import java.sql.Timestamp;
-
-import java.io.Serial;
-import java.util.List;
-
-import lombok.AllArgsConstructor;
-import lombok.Builder;
-import lombok.Data;
-import lombok.NoArgsConstructor;
-
-/**
- * 用户表 实体类。
- *
- * @author jiangyc
- * @since 2025-11-28
- */
-@Data
-@Builder
-@NoArgsConstructor
-@AllArgsConstructor
-@Table("sys_rbac_user")
-public class User implements Serializable {
-
- @Serial
- private static final long serialVersionUID = 1L;
-
- /**
- * 主键
- */
- @Id
- private String id;
-
- /**
- * 用户名称
- */
- private String username;
-
- /**
- * 用户昵称
- */
- private String nickname;
-
- /**
- * 用户密码
- */
- private String password;
-
- /**
- * 是否启用:0-未启用/1-启用
- */
- private String enabled;
-
- /**
- * 描述
- */
- private String description;
-
- /**
- * 创建时间
- */
- private Timestamp createTime;
-
- /**
- * 修改时间
- */
- private Timestamp updateTime;
-
- @RelationOneToMany(joinTable = "sys_rbac_user_role",
- selfField = "id", joinSelfColumn = "user_id",
- targetField = "id", joinTargetColumn = "role_id")
- private List roles;
-}
diff --git a/dolphin-modules/dolphin-module-rbac/src/main/java/day/gitlab/dolphin/rbac/entity/table/DepartmentTableDef.java b/dolphin-modules/dolphin-module-rbac/src/main/java/day/gitlab/dolphin/rbac/entity/table/DepartmentTableDef.java
deleted file mode 100644
index ba4c407..0000000
--- a/dolphin-modules/dolphin-module-rbac/src/main/java/day/gitlab/dolphin/rbac/entity/table/DepartmentTableDef.java
+++ /dev/null
@@ -1,92 +0,0 @@
-package day.gitlab.dolphin.rbac.entity.table;
-
-import com.mybatisflex.core.query.QueryColumn;
-import com.mybatisflex.core.table.TableDef;
-
-import java.io.Serial;
-
-/**
- * 部门表 表定义层。
- *
- * @author jiangyc
- * @since 2025-11-28
- */
-public class DepartmentTableDef extends TableDef {
-
- @Serial
- private static final long serialVersionUID = 1L;
-
- /**
- * 部门表
- */
- public static final DepartmentTableDef DEPARTMENT = new DepartmentTableDef();
-
- /**
- * 主键
- */
- public final QueryColumn ID = new QueryColumn(this, "id");
-
- /**
- * 部门代码
- */
- public final QueryColumn CODE = new QueryColumn(this, "code");
-
- /**
- * 部门名称
- */
- public final QueryColumn NAME = new QueryColumn(this, "name");
-
- /**
- * 部门排序
- */
- public final QueryColumn SORT = new QueryColumn(this, "sort");
-
- /**
- * 上级部门ID
- */
- public final QueryColumn PARENT_ID = new QueryColumn(this, "parent_id");
-
- /**
- * 区划ID
- */
- public final QueryColumn REGION_ID = new QueryColumn(this, "region_id");
-
- /**
- * 创建时间
- */
- public final QueryColumn CREATE_TIME = new QueryColumn(this, "create_time");
-
- /**
- * 修改时间
- */
- public final QueryColumn UPDATE_TIME = new QueryColumn(this, "update_time");
-
- /**
- * 描述
- */
- public final QueryColumn DESCRIPTION = new QueryColumn(this, "description");
-
- /**
- * 所有字段。
- */
- public final QueryColumn ALL_COLUMNS = new QueryColumn(this, "*");
-
- /**
- * 默认字段,不包含逻辑删除或者 large 等字段。
- */
- public final QueryColumn[] DEFAULT_COLUMNS = new QueryColumn[]{ID, REGION_ID, PARENT_ID, NAME, CODE, SORT, DESCRIPTION, CREATE_TIME, UPDATE_TIME};
-
- public DepartmentTableDef() {
- super("", "sys_rbac_department");
- }
-
- private DepartmentTableDef(String schema, String name, String alisa) {
- super(schema, name, alisa);
- }
-
- public DepartmentTableDef as(String alias) {
- String key = getNameWithSchema() + "." + alias;
- return getCache(key, k -> new DepartmentTableDef("", "sys_rbac_department", alias));
- }
-
-}
diff --git a/dolphin-modules/dolphin-module-rbac/src/main/java/day/gitlab/dolphin/rbac/entity/table/RegionTableDef.java b/dolphin-modules/dolphin-module-rbac/src/main/java/day/gitlab/dolphin/rbac/entity/table/RegionTableDef.java
deleted file mode 100644
index b5eca1d..0000000
--- a/dolphin-modules/dolphin-module-rbac/src/main/java/day/gitlab/dolphin/rbac/entity/table/RegionTableDef.java
+++ /dev/null
@@ -1,107 +0,0 @@
-package day.gitlab.dolphin.rbac.entity.table;
-
-import com.mybatisflex.core.query.QueryColumn;
-import com.mybatisflex.core.table.TableDef;
-
-import java.io.Serial;
-
-/**
- * 区划项 表定义层。
- *
- * @author jiangyc
- * @since 2025-11-28
- */
-public class RegionTableDef extends TableDef {
-
- @Serial
- private static final long serialVersionUID = 1L;
-
- /**
- * 区划项
- */
- public static final RegionTableDef REGION = new RegionTableDef();
-
- /**
- * 主键
- */
- public final QueryColumn ID = new QueryColumn(this, "id");
-
- /**
- * 区划代码
- */
- public final QueryColumn CODE = new QueryColumn(this, "code");
-
- /**
- * 区划名称
- */
- public final QueryColumn NAME = new QueryColumn(this, "name");
-
- /**
- * 区划排序
- */
- public final QueryColumn SORT = new QueryColumn(this, "sort");
-
- /**
- * 主区划ID
- */
- public final QueryColumn ROOT_ID = new QueryColumn(this, "root_id");
-
- /**
- * 区划扩展代码
- */
- public final QueryColumn EXT_CODE = new QueryColumn(this, "ext_code");
-
- /**
- * 上级区划ID
- */
- public final QueryColumn PARENT_ID = new QueryColumn(this, "parent_id");
-
- /**
- * 主区划代码
- */
- public final QueryColumn ROOT_CODE = new QueryColumn(this, "root_code");
-
- /**
- * 创建时间
- */
- public final QueryColumn CREATE_TIME = new QueryColumn(this, "create_time");
-
- /**
- * 上级区划代码
- */
- public final QueryColumn PARENT_CODE = new QueryColumn(this, "parent_code");
-
- /**
- * 修改时间
- */
- public final QueryColumn UPDATE_TIME = new QueryColumn(this, "update_time");
-
- /**
- * 区划描述
- */
- public final QueryColumn DESCRIPTION = new QueryColumn(this, "description");
-
- /**
- * 所有字段。
- */
- public final QueryColumn ALL_COLUMNS = new QueryColumn(this, "*");
-
- /**
- * 默认字段,不包含逻辑删除或者 large 等字段。
- */
- public final QueryColumn[] DEFAULT_COLUMNS = new QueryColumn[]{ID, PARENT_ID, PARENT_CODE, ROOT_ID, ROOT_CODE, NAME, CODE, EXT_CODE, SORT, DESCRIPTION, CREATE_TIME, UPDATE_TIME};
-
- public RegionTableDef() {
- super("", "sys_rbac_region");
- }
-
- private RegionTableDef(String schema, String name, String alisa) {
- super(schema, name, alisa);
- }
-
- public RegionTableDef as(String alias) {
- String key = getNameWithSchema() + "." + alias;
- return getCache(key, k -> new RegionTableDef("", "sys_rbac_region", alias));
- }
-
-}
diff --git a/dolphin-modules/dolphin-module-rbac/src/main/java/day/gitlab/dolphin/rbac/entity/table/RoleTableDef.java b/dolphin-modules/dolphin-module-rbac/src/main/java/day/gitlab/dolphin/rbac/entity/table/RoleTableDef.java
deleted file mode 100644
index 818a8b1..0000000
--- a/dolphin-modules/dolphin-module-rbac/src/main/java/day/gitlab/dolphin/rbac/entity/table/RoleTableDef.java
+++ /dev/null
@@ -1,82 +0,0 @@
-package day.gitlab.dolphin.rbac.entity.table;
-
-import com.mybatisflex.core.query.QueryColumn;
-import com.mybatisflex.core.table.TableDef;
-
-import java.io.Serial;
-
-/**
- * 角色表 表定义层。
- *
- * @author jiangyc
- * @since 2025-11-28
- */
-public class RoleTableDef extends TableDef {
-
- @Serial
- private static final long serialVersionUID = 1L;
-
- /**
- * 角色表
- */
- public static final RoleTableDef ROLE = new RoleTableDef();
-
- /**
- * 主键
- */
- public final QueryColumn ID = new QueryColumn(this, "id");
-
- /**
- * 角色代码
- */
- public final QueryColumn CODE = new QueryColumn(this, "code");
-
- /**
- * 角色名称
- */
- public final QueryColumn NAME = new QueryColumn(this, "name");
-
- /**
- * 角色排序
- */
- public final QueryColumn SORT = new QueryColumn(this, "sort");
-
- /**
- * 创建时间
- */
- public final QueryColumn CREATE_TIME = new QueryColumn(this, "create_time");
-
- /**
- * 修改时间
- */
- public final QueryColumn UPDATE_TIME = new QueryColumn(this, "update_time");
-
- /**
- * 描述
- */
- public final QueryColumn DESCRIPTION = new QueryColumn(this, "description");
-
- /**
- * 所有字段。
- */
- public final QueryColumn ALL_COLUMNS = new QueryColumn(this, "*");
-
- /**
- * 默认字段,不包含逻辑删除或者 large 等字段。
- */
- public final QueryColumn[] DEFAULT_COLUMNS = new QueryColumn[]{ID, NAME, CODE, SORT, DESCRIPTION, CREATE_TIME, UPDATE_TIME};
-
- public RoleTableDef() {
- super("", "sys_rbac_role");
- }
-
- private RoleTableDef(String schema, String name, String alisa) {
- super(schema, name, alisa);
- }
-
- public RoleTableDef as(String alias) {
- String key = getNameWithSchema() + "." + alias;
- return getCache(key, k -> new RoleTableDef("", "sys_rbac_role", alias));
- }
-
-}
diff --git a/dolphin-modules/dolphin-module-rbac/src/main/java/day/gitlab/dolphin/rbac/entity/table/UserTableDef.java b/dolphin-modules/dolphin-module-rbac/src/main/java/day/gitlab/dolphin/rbac/entity/table/UserTableDef.java
deleted file mode 100644
index 5975701..0000000
--- a/dolphin-modules/dolphin-module-rbac/src/main/java/day/gitlab/dolphin/rbac/entity/table/UserTableDef.java
+++ /dev/null
@@ -1,87 +0,0 @@
-package day.gitlab.dolphin.rbac.entity.table;
-
-import com.mybatisflex.core.query.QueryColumn;
-import com.mybatisflex.core.table.TableDef;
-
-import java.io.Serial;
-
-/**
- * 用户表 表定义层。
- *
- * @author jiangyc
- * @since 2025-11-28
- */
-public class UserTableDef extends TableDef {
-
- @Serial
- private static final long serialVersionUID = 1L;
-
- /**
- * 用户表
- */
- public static final UserTableDef USER = new UserTableDef();
-
- /**
- * 主键
- */
- public final QueryColumn ID = new QueryColumn(this, "id");
-
- /**
- * 是否启用:0-未启用/1-启用
- */
- public final QueryColumn ENABLED = new QueryColumn(this, "enabled");
-
- /**
- * 用户昵称
- */
- public final QueryColumn NICKNAME = new QueryColumn(this, "nickname");
-
- /**
- * 用户密码
- */
- public final QueryColumn PASSWORD = new QueryColumn(this, "password");
-
- /**
- * 用户名称
- */
- public final QueryColumn USERNAME = new QueryColumn(this, "username");
-
- /**
- * 创建时间
- */
- public final QueryColumn CREATE_TIME = new QueryColumn(this, "create_time");
-
- /**
- * 修改时间
- */
- public final QueryColumn UPDATE_TIME = new QueryColumn(this, "update_time");
-
- /**
- * 描述
- */
- public final QueryColumn DESCRIPTION = new QueryColumn(this, "description");
-
- /**
- * 所有字段。
- */
- public final QueryColumn ALL_COLUMNS = new QueryColumn(this, "*");
-
- /**
- * 默认字段,不包含逻辑删除或者 large 等字段。
- */
- public final QueryColumn[] DEFAULT_COLUMNS = new QueryColumn[]{ID, USERNAME, NICKNAME, PASSWORD, ENABLED, DESCRIPTION, CREATE_TIME, UPDATE_TIME};
-
- public UserTableDef() {
- super("", "sys_rbac_user");
- }
-
- private UserTableDef(String schema, String name, String alisa) {
- super(schema, name, alisa);
- }
-
- public UserTableDef as(String alias) {
- String key = getNameWithSchema() + "." + alias;
- return getCache(key, k -> new UserTableDef("", "sys_rbac_user", alias));
- }
-
-}
diff --git a/dolphin-modules/dolphin-module-rbac/src/main/java/day/gitlab/dolphin/rbac/mapper/DepartmentMapper.java b/dolphin-modules/dolphin-module-rbac/src/main/java/day/gitlab/dolphin/rbac/mapper/DepartmentMapper.java
deleted file mode 100644
index d7c90cd..0000000
--- a/dolphin-modules/dolphin-module-rbac/src/main/java/day/gitlab/dolphin/rbac/mapper/DepartmentMapper.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package day.gitlab.dolphin.rbac.mapper;
-
-import org.apache.ibatis.annotations.Mapper;
-import com.mybatisflex.core.BaseMapper;
-import day.gitlab.dolphin.rbac.entity.Department;
-
-/**
- * 部门表 映射层。
- *
- * @author jiangyc
- * @since 2025-11-28
- */
-@Mapper
-public interface DepartmentMapper extends BaseMapper {
-
-}
diff --git a/dolphin-modules/dolphin-module-rbac/src/main/java/day/gitlab/dolphin/rbac/mapper/RegionMapper.java b/dolphin-modules/dolphin-module-rbac/src/main/java/day/gitlab/dolphin/rbac/mapper/RegionMapper.java
deleted file mode 100644
index ea065a6..0000000
--- a/dolphin-modules/dolphin-module-rbac/src/main/java/day/gitlab/dolphin/rbac/mapper/RegionMapper.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package day.gitlab.dolphin.rbac.mapper;
-
-import org.apache.ibatis.annotations.Mapper;
-import com.mybatisflex.core.BaseMapper;
-import day.gitlab.dolphin.rbac.entity.Region;
-
-/**
- * 区划项 映射层。
- *
- * @author jiangyc
- * @since 2025-11-28
- */
-@Mapper
-public interface RegionMapper extends BaseMapper {
-
-}
diff --git a/dolphin-modules/dolphin-module-rbac/src/main/java/day/gitlab/dolphin/rbac/mapper/RoleMapper.java b/dolphin-modules/dolphin-module-rbac/src/main/java/day/gitlab/dolphin/rbac/mapper/RoleMapper.java
deleted file mode 100644
index b57cb1f..0000000
--- a/dolphin-modules/dolphin-module-rbac/src/main/java/day/gitlab/dolphin/rbac/mapper/RoleMapper.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package day.gitlab.dolphin.rbac.mapper;
-
-import org.apache.ibatis.annotations.Mapper;
-import com.mybatisflex.core.BaseMapper;
-import day.gitlab.dolphin.rbac.entity.Role;
-
-/**
- * 角色表 映射层。
- *
- * @author jiangyc
- * @since 2025-11-28
- */
-@Mapper
-public interface RoleMapper extends BaseMapper {
-
-}
diff --git a/dolphin-modules/dolphin-module-rbac/src/main/java/day/gitlab/dolphin/rbac/mapper/UserMapper.java b/dolphin-modules/dolphin-module-rbac/src/main/java/day/gitlab/dolphin/rbac/mapper/UserMapper.java
deleted file mode 100644
index c4e504f..0000000
--- a/dolphin-modules/dolphin-module-rbac/src/main/java/day/gitlab/dolphin/rbac/mapper/UserMapper.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package day.gitlab.dolphin.rbac.mapper;
-
-import com.mybatisflex.core.query.QueryCondition;
-import day.gitlab.dolphin.rbac.entity.table.UserTableDef;
-import org.apache.ibatis.annotations.Mapper;
-import com.mybatisflex.core.BaseMapper;
-import day.gitlab.dolphin.rbac.entity.User;
-
-/**
- * 用户表 映射层。
- *
- * @author jiangyc
- * @since 2025-11-28
- */
-@Mapper
-public interface UserMapper extends BaseMapper {
-
- default User findByUsername(String username) {
- QueryCondition queryCondition = UserTableDef.USER.USERNAME.eq(username);
- return selectOneByCondition(queryCondition);
- }
-}
diff --git a/dolphin-modules/dolphin-module-rbac/src/main/java/day/gitlab/dolphin/rbac/service/DepartmentService.java b/dolphin-modules/dolphin-module-rbac/src/main/java/day/gitlab/dolphin/rbac/service/DepartmentService.java
deleted file mode 100644
index 1a8ea23..0000000
--- a/dolphin-modules/dolphin-module-rbac/src/main/java/day/gitlab/dolphin/rbac/service/DepartmentService.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package day.gitlab.dolphin.rbac.service;
-
-/**
- * 部门表 服务层。
- *
- * @author jiangyc
- * @since 2025-11-28
- */
-public interface DepartmentService {
-
-}
diff --git a/dolphin-modules/dolphin-module-rbac/src/main/java/day/gitlab/dolphin/rbac/service/RegionService.java b/dolphin-modules/dolphin-module-rbac/src/main/java/day/gitlab/dolphin/rbac/service/RegionService.java
deleted file mode 100644
index c1f09d2..0000000
--- a/dolphin-modules/dolphin-module-rbac/src/main/java/day/gitlab/dolphin/rbac/service/RegionService.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package day.gitlab.dolphin.rbac.service;
-
-/**
- * 区划项 服务层。
- *
- * @author jiangyc
- * @since 2025-11-28
- */
-public interface RegionService {
-
-}
diff --git a/dolphin-modules/dolphin-module-rbac/src/main/java/day/gitlab/dolphin/rbac/service/RoleService.java b/dolphin-modules/dolphin-module-rbac/src/main/java/day/gitlab/dolphin/rbac/service/RoleService.java
deleted file mode 100644
index 753f759..0000000
--- a/dolphin-modules/dolphin-module-rbac/src/main/java/day/gitlab/dolphin/rbac/service/RoleService.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package day.gitlab.dolphin.rbac.service;
-
-/**
- * 角色表 服务层。
- *
- * @author jiangyc
- * @since 2025-11-28
- */
-public interface RoleService {
-
-}
diff --git a/dolphin-modules/dolphin-module-rbac/src/main/java/day/gitlab/dolphin/rbac/service/UserService.java b/dolphin-modules/dolphin-module-rbac/src/main/java/day/gitlab/dolphin/rbac/service/UserService.java
deleted file mode 100644
index 81136b5..0000000
--- a/dolphin-modules/dolphin-module-rbac/src/main/java/day/gitlab/dolphin/rbac/service/UserService.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package day.gitlab.dolphin.rbac.service;
-
-/**
- * 用户表 服务层。
- *
- * @author jiangyc
- * @since 2025-11-28
- */
-public interface UserService {
-
-}
diff --git a/dolphin-modules/dolphin-module-rbac/src/main/java/day/gitlab/dolphin/rbac/service/impl/DepartmentServiceImpl.java b/dolphin-modules/dolphin-module-rbac/src/main/java/day/gitlab/dolphin/rbac/service/impl/DepartmentServiceImpl.java
deleted file mode 100644
index 5bfd726..0000000
--- a/dolphin-modules/dolphin-module-rbac/src/main/java/day/gitlab/dolphin/rbac/service/impl/DepartmentServiceImpl.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package day.gitlab.dolphin.rbac.service.impl;
-
-import day.gitlab.dolphin.rbac.service.DepartmentService;
-import org.springframework.stereotype.Service;
-
-/**
- * 部门表 服务层实现。
- *
- * @author jiangyc
- * @since 2025-11-28
- */
-@Service
-public class DepartmentServiceImpl implements DepartmentService {
-
-}
diff --git a/dolphin-modules/dolphin-module-rbac/src/main/java/day/gitlab/dolphin/rbac/service/impl/RegionServiceImpl.java b/dolphin-modules/dolphin-module-rbac/src/main/java/day/gitlab/dolphin/rbac/service/impl/RegionServiceImpl.java
deleted file mode 100644
index 736dd3a..0000000
--- a/dolphin-modules/dolphin-module-rbac/src/main/java/day/gitlab/dolphin/rbac/service/impl/RegionServiceImpl.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package day.gitlab.dolphin.rbac.service.impl;
-
-import day.gitlab.dolphin.rbac.service.RegionService;
-import org.springframework.stereotype.Service;
-
-/**
- * 区划项 服务层实现。
- *
- * @author jiangyc
- * @since 2025-11-28
- */
-@Service
-public class RegionServiceImpl implements RegionService {
-
-}
diff --git a/dolphin-modules/dolphin-module-rbac/src/main/java/day/gitlab/dolphin/rbac/service/impl/RoleServiceImpl.java b/dolphin-modules/dolphin-module-rbac/src/main/java/day/gitlab/dolphin/rbac/service/impl/RoleServiceImpl.java
deleted file mode 100644
index 0c409a8..0000000
--- a/dolphin-modules/dolphin-module-rbac/src/main/java/day/gitlab/dolphin/rbac/service/impl/RoleServiceImpl.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package day.gitlab.dolphin.rbac.service.impl;
-
-import day.gitlab.dolphin.rbac.service.RoleService;
-import org.springframework.stereotype.Service;
-
-/**
- * 角色表 服务层实现。
- *
- * @author jiangyc
- * @since 2025-11-28
- */
-@Service
-public class RoleServiceImpl implements RoleService {
-
-}
diff --git a/dolphin-modules/dolphin-module-rbac/src/main/java/day/gitlab/dolphin/rbac/service/impl/UserServiceImpl.java b/dolphin-modules/dolphin-module-rbac/src/main/java/day/gitlab/dolphin/rbac/service/impl/UserServiceImpl.java
deleted file mode 100644
index c9152b4..0000000
--- a/dolphin-modules/dolphin-module-rbac/src/main/java/day/gitlab/dolphin/rbac/service/impl/UserServiceImpl.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package day.gitlab.dolphin.rbac.service.impl;
-
-import day.gitlab.dolphin.rbac.service.UserService;
-import org.springframework.stereotype.Service;
-
-/**
- * 用户表 服务层实现。
- *
- * @author jiangyc
- * @since 2025-11-28
- */
-@Service
-public class UserServiceImpl implements UserService {
-
-}
diff --git a/dolphin-modules/dolphin-module-rbac/src/main/resources/mapper/RoleMapper.xml b/dolphin-modules/dolphin-module-rbac/src/main/resources/mapper/RoleMapper.xml
new file mode 100644
index 0000000..de0ec32
--- /dev/null
+++ b/dolphin-modules/dolphin-module-rbac/src/main/resources/mapper/RoleMapper.xml
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dolphin-modules/pom.xml b/dolphin-modules/pom.xml
index 19a6dbc..8e9c7ff 100644
--- a/dolphin-modules/pom.xml
+++ b/dolphin-modules/pom.xml
@@ -1,19 +1,19 @@
- 4.0.0
-
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
+ 4.0.0
+
+
day.gitlab
dolphin-backend
0.0.1-SNAPSHOT
- dolphin-modules
- pom
+ dolphin-modules
+ pom
-
- dolphin-module-core
- dolphin-module-rbac
- dolphin-module-auth
-
+
+ dolphin-module-core
+ dolphin-module-rbac
+
diff --git a/pom.xml b/pom.xml
index 6e488e5..5f07835 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1,104 +1,120 @@
- 4.0.0
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
+ 4.0.0
- day.gitlab
- dolphin-backend
- 0.0.1-SNAPSHOT
- pom
+ day.gitlab
+ dolphin-backend
+ 0.0.1-SNAPSHOT
+ pom
-
- 21
- 3.5.8
- 1.11.4
- 0.13.0
-
+ dolphin-backend
+ dolphin-backend ${project.version}
+ https://gitlab.day/dolphin-projects/dolphin-backend.git
-
- dolphin-commons
- dolphin-modules
- dolphin-compose
-
+
+
+ Yongchun Jiang
+ JSpringYC@gmail.com
+ https://gitlab.day
+
+
-
-
-
-
- org.springframework.boot
- spring-boot-dependencies
- ${spring-boot.version}
- pom
- import
-
-
-
- com.mybatis-flex
- mybatis-flex-dependencies
- ${mybatis-flex.version}
- pom
- import
-
-
-
- io.jsonwebtoken
- jjwt-api
- ${jjwt.version}
-
-
- io.jsonwebtoken
- jjwt-impl
- ${jjwt.version}
- runtime
-
-
- io.jsonwebtoken
- jjwt-jackson
- ${jjwt.version}
- runtime
-
-
-
+
+ 25
+
+ 4.0.0
+
+ 4.0.0
+ 3.5.15
+
+ 0.13.0
+
-
-
-
-
- org.apache.maven.plugins
- maven-compiler-plugin
-
-
-
- org.projectlombok
- lombok
-
-
- ${java.version}
- ${java.version}
- UTF-8
-
-
-
- org.springframework.boot
- spring-boot-maven-plugin
- ${spring-boot.version}
-
+
+ dolphin-commons
+ dolphin-modules
+ dolphin-authorize
+ dolphin-compose
+
+
+
+
+
+
+ org.springframework.boot
+ spring-boot-dependencies
+ ${spring-boot.version}
+ pom
+ import
+
+
+
+ org.mybatis.spring.boot
+ mybatis-spring-boot-starter
+ ${mybatis-spring.version}
+
+
+ com.baomidou
+ mybatis-plus-spring-boot4-starter
+ ${mybatis-plus.version}
+
+
+
+ io.jsonwebtoken
+ jjwt-api
+ ${jjwt.version}
+
+
+ io.jsonwebtoken
+ jjwt-impl
+ ${jjwt.version}
+
+
+ io.jsonwebtoken
+ jjwt-jackson
+ ${jjwt.version}
+
+
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+
+
+
+ org.projectlombok
+ lombok
+
+
+ ${java.version}
+ ${java.version}
+
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
repackage
-
-
-
- org.projectlombok
- lombok
-
-
-
-
-
-
-
+
+
+
+ org.projectlombok
+ lombok
+
+
+
+
+
+
+