refactor(manage-db): 重构领域模型和查询工具类

将领域模型从sys.core和sys.infrastructure包迁移到manage-db包
添加BaseDomain作为基础领域类
实现QueryUtil工具类用于构建查询条件
新增多个Repository接口定义
添加commons-collections4依赖
This commit is contained in:
张翔
2026-03-13 19:41:03 +08:00
parent 57f85b20c8
commit 9aed900408
54 changed files with 83 additions and 65 deletions
+13
View File
@@ -17,6 +17,11 @@
<description>Database module for Novalon Manage API</description>
<dependencies>
<dependency>
<groupId>cn.novalon.manage</groupId>
<artifactId>manage-common</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-r2dbc</artifactId>
@@ -48,6 +53,14 @@
<version>1.5.5.Final</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-collections4</artifactId>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
@@ -1,4 +1,4 @@
package cn.novalon.manage.sys.core.domain;
package cn.novalon.manage.db.domain;
import java.time.LocalDateTime;
@@ -1,4 +1,4 @@
package cn.novalon.manage.sys.core.domain;
package cn.novalon.manage.db.domain;
import java.time.LocalDateTime;
@@ -1,6 +1,6 @@
package cn.novalon.manage.db;
import cn.novalon.manage.sys.infrastructure.db.entity.DictionaryEntity;
import cn.novalon.manage.db.entity.DictionaryEntity;
import org.springframework.data.r2dbc.repository.R2dbcRepository;
import org.springframework.stereotype.Repository;
import reactor.core.publisher.Flux;
@@ -1,4 +1,4 @@
package cn.novalon.manage.sys.core.domain;
package cn.novalon.manage.db.domain;
public class OperationLog extends BaseDomain {
@@ -1,6 +1,6 @@
package cn.novalon.manage.db;
import cn.novalon.manage.sys.infrastructure.db.entity.OperationLogEntity;
import cn.novalon.manage.db.entity.OperationLogEntity;
import org.springframework.data.r2dbc.repository.R2dbcRepository;
import org.springframework.stereotype.Repository;
import reactor.core.publisher.Flux;
@@ -1,4 +1,4 @@
package cn.novalon.manage.sys.infrastructure.db.utils;
package cn.novalon.manage.db;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
@@ -1,4 +1,4 @@
package cn.novalon.manage.sys.infrastructure.db.utils;
package cn.novalon.manage.db;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
@@ -1,4 +1,4 @@
package cn.novalon.manage.sys.core.domain;
package cn.novalon.manage.db.domain;
import java.time.LocalDateTime;
@@ -1,6 +1,6 @@
package cn.novalon.manage.db;
import cn.novalon.manage.sys.infrastructure.db.entity.SysConfigEntity;
import cn.novalon.manage.db.entity.SysConfigEntity;
import org.springframework.data.domain.Sort;
import org.springframework.data.r2dbc.repository.R2dbcRepository;
import org.springframework.stereotype.Repository;
@@ -1,4 +1,4 @@
package cn.novalon.manage.sys.core.domain;
package cn.novalon.manage.db.domain;
import java.time.LocalDateTime;
@@ -1,6 +1,6 @@
package cn.novalon.manage.db;
import cn.novalon.manage.sys.infrastructure.db.entity.SysDictDataEntity;
import cn.novalon.manage.db.entity.SysDictDataEntity;
import org.springframework.data.domain.Sort;
import org.springframework.data.r2dbc.repository.R2dbcRepository;
import org.springframework.stereotype.Repository;
@@ -1,4 +1,4 @@
package cn.novalon.manage.sys.core.domain;
package cn.novalon.manage.db.domain;
import java.time.LocalDateTime;
@@ -1,6 +1,6 @@
package cn.novalon.manage.db;
import cn.novalon.manage.sys.infrastructure.db.entity.SysDictTypeEntity;
import cn.novalon.manage.db.entity.SysDictTypeEntity;
import org.springframework.data.domain.Sort;
import org.springframework.data.r2dbc.repository.R2dbcRepository;
import org.springframework.stereotype.Repository;
@@ -1,4 +1,4 @@
package cn.novalon.manage.sys.core.domain;
package cn.novalon.manage.db.domain;
import java.time.LocalDateTime;
@@ -1,6 +1,6 @@
package cn.novalon.manage.db;
import cn.novalon.manage.sys.infrastructure.db.entity.SysExceptionLogEntity;
import cn.novalon.manage.db.entity.SysExceptionLogEntity;
import org.springframework.data.r2dbc.repository.R2dbcRepository;
import org.springframework.stereotype.Repository;
import reactor.core.publisher.Flux;
@@ -1,4 +1,4 @@
package cn.novalon.manage.sys.core.domain;
package cn.novalon.manage.db.domain;
import java.time.LocalDateTime;
@@ -1,6 +1,6 @@
package cn.novalon.manage.db;
import cn.novalon.manage.sys.infrastructure.db.entity.SysFileEntity;
import cn.novalon.manage.db.entity.SysFileEntity;
import org.springframework.data.domain.Sort;
import org.springframework.data.r2dbc.repository.R2dbcRepository;
import org.springframework.stereotype.Repository;
@@ -1,4 +1,4 @@
package cn.novalon.manage.sys.core.domain;
package cn.novalon.manage.db.domain;
import java.time.LocalDateTime;
@@ -1,6 +1,6 @@
package cn.novalon.manage.db;
import cn.novalon.manage.sys.infrastructure.db.entity.SysLoginLogEntity;
import cn.novalon.manage.db.entity.SysLoginLogEntity;
import org.springframework.data.r2dbc.repository.R2dbcRepository;
import org.springframework.stereotype.Repository;
import reactor.core.publisher.Flux;
@@ -1,4 +1,4 @@
package cn.novalon.manage.sys.core.domain;
package cn.novalon.manage.db.domain;
import java.util.List;
@@ -1,6 +1,6 @@
package cn.novalon.manage.db;
import cn.novalon.manage.sys.infrastructure.db.entity.SysMenuEntity;
import cn.novalon.manage.db.entity.SysMenuEntity;
import org.springframework.data.r2dbc.repository.R2dbcRepository;
import org.springframework.stereotype.Repository;
import reactor.core.publisher.Flux;
@@ -1,4 +1,4 @@
package cn.novalon.manage.sys.core.domain.query;
package cn.novalon.manage.db;
/**
* @author zhangxiang
@@ -1,4 +1,4 @@
package cn.novalon.manage.sys.core.domain;
package cn.novalon.manage.db.domain;
import java.time.LocalDateTime;
@@ -1,6 +1,6 @@
package cn.novalon.manage.db;
import cn.novalon.manage.sys.infrastructure.db.entity.SysNoticeEntity;
import cn.novalon.manage.db.entity.SysNoticeEntity;
import org.springframework.data.domain.Sort;
import org.springframework.data.r2dbc.repository.R2dbcRepository;
import org.springframework.stereotype.Repository;
@@ -1,6 +1,6 @@
package cn.novalon.manage.sys.core.domain;
package cn.novalon.manage.db.domain;
import cn.novalon.manage.sys.core.utils.SnowflakeId;
import cn.novalon.manage.common.util.SnowflakeId;
import java.time.LocalDateTime;
@@ -1,6 +1,6 @@
package cn.novalon.manage.db;
import cn.novalon.manage.sys.infrastructure.db.entity.SysRoleEntity;
import cn.novalon.manage.db.entity.SysRoleEntity;
import org.springframework.data.domain.Sort;
import org.springframework.data.r2dbc.repository.R2dbcRepository;
import org.springframework.stereotype.Repository;
@@ -1,4 +1,4 @@
package cn.novalon.manage.sys.core.domain.query;
package cn.novalon.manage.db;
/**
* @author zhangxiang
@@ -1,6 +1,6 @@
package cn.novalon.manage.sys.core.domain;
package cn.novalon.manage.db.domain;
import cn.novalon.manage.sys.core.utils.SnowflakeId;
import cn.novalon.manage.common.util.SnowflakeId;
import java.time.LocalDateTime;
@@ -1,6 +1,6 @@
package cn.novalon.manage.db;
import cn.novalon.manage.sys.infrastructure.db.entity.SysUserEntity;
import cn.novalon.manage.db.entity.SysUserEntity;
import org.springframework.data.domain.Sort;
import org.springframework.data.r2dbc.repository.R2dbcRepository;
import org.springframework.stereotype.Repository;
@@ -1,4 +1,4 @@
package cn.novalon.manage.sys.core.domain;
package cn.novalon.manage.db.domain;
import java.time.LocalDateTime;
@@ -1,6 +1,6 @@
package cn.novalon.manage.db;
import cn.novalon.manage.sys.infrastructure.db.entity.SysUserMessageEntity;
import cn.novalon.manage.db.entity.SysUserMessageEntity;
import org.springframework.data.r2dbc.repository.R2dbcRepository;
import org.springframework.stereotype.Repository;
import reactor.core.publisher.Flux;
@@ -1,4 +1,4 @@
package cn.novalon.manage.sys.core.domain.query;
package cn.novalon.manage.db;
/**
* @author zhangxiang
@@ -1,6 +1,6 @@
package cn.novalon.manage.db.converter;
import cn.novalon.manage.sys.core.domain.Dictionary;
import cn.novalon.manage.db.domain.Dictionary;
import cn.novalon.manage.db.entity.DictionaryEntity;
import org.springframework.stereotype.Component;
@@ -1,6 +1,6 @@
package cn.novalon.manage.db.converter;
import cn.novalon.manage.sys.core.domain.OperationLog;
import cn.novalon.manage.db.domain.OperationLog;
import cn.novalon.manage.db.entity.OperationLogEntity;
import org.springframework.stereotype.Component;
@@ -1,6 +1,6 @@
package cn.novalon.manage.db.converter;
import cn.novalon.manage.sys.core.domain.SysConfig;
import cn.novalon.manage.db.domain.SysConfig;
import cn.novalon.manage.db.entity.SysConfigEntity;
import org.springframework.stereotype.Component;
@@ -1,6 +1,6 @@
package cn.novalon.manage.db.converter;
import cn.novalon.manage.sys.core.domain.SysDictData;
import cn.novalon.manage.db.domain.SysDictData;
import cn.novalon.manage.db.entity.SysDictDataEntity;
import org.springframework.stereotype.Component;
@@ -1,6 +1,6 @@
package cn.novalon.manage.db.converter;
import cn.novalon.manage.sys.core.domain.SysDictType;
import cn.novalon.manage.db.domain.SysDictType;
import cn.novalon.manage.db.entity.SysDictTypeEntity;
import org.springframework.stereotype.Component;
@@ -1,6 +1,6 @@
package cn.novalon.manage.db.converter;
import cn.novalon.manage.sys.core.domain.SysExceptionLog;
import cn.novalon.manage.db.domain.SysExceptionLog;
import cn.novalon.manage.db.entity.SysExceptionLogEntity;
import org.springframework.stereotype.Component;
@@ -1,6 +1,6 @@
package cn.novalon.manage.db.converter;
import cn.novalon.manage.sys.core.domain.SysFile;
import cn.novalon.manage.db.domain.SysFile;
import cn.novalon.manage.db.entity.SysFileEntity;
import org.springframework.stereotype.Component;
@@ -1,6 +1,6 @@
package cn.novalon.manage.db.converter;
import cn.novalon.manage.sys.core.domain.SysLoginLog;
import cn.novalon.manage.db.domain.SysLoginLog;
import cn.novalon.manage.db.entity.SysLoginLogEntity;
import org.springframework.stereotype.Component;
@@ -1,6 +1,6 @@
package cn.novalon.manage.db.converter;
import cn.novalon.manage.sys.core.domain.SysMenu;
import cn.novalon.manage.db.domain.SysMenu;
import cn.novalon.manage.db.entity.SysMenuEntity;
import org.springframework.stereotype.Component;
@@ -1,6 +1,6 @@
package cn.novalon.manage.db.converter;
import cn.novalon.manage.sys.core.domain.SysNotice;
import cn.novalon.manage.db.domain.SysNotice;
import cn.novalon.manage.db.entity.SysNoticeEntity;
import org.springframework.stereotype.Component;
@@ -1,6 +1,6 @@
package cn.novalon.manage.db.converter;
import cn.novalon.manage.sys.core.domain.SysRole;
import cn.novalon.manage.db.domain.SysRole;
import cn.novalon.manage.db.entity.SysRoleEntity;
import org.springframework.stereotype.Component;
@@ -1,6 +1,6 @@
package cn.novalon.manage.db.converter;
import cn.novalon.manage.sys.core.domain.SysUser;
import cn.novalon.manage.db.domain.SysUser;
import cn.novalon.manage.db.entity.SysUserEntity;
import org.springframework.stereotype.Component;
@@ -1,6 +1,6 @@
package cn.novalon.manage.db.converter;
import cn.novalon.manage.sys.core.domain.SysUserMessage;
import cn.novalon.manage.db.domain.SysUserMessage;
import cn.novalon.manage.db.entity.SysUserMessageEntity;
import org.springframework.stereotype.Component;
@@ -1,7 +1,7 @@
package cn.novalon.manage.db.entity;
import cn.novalon.manage.sys.core.domain.query.SysMenuQuery;
import cn.novalon.manage.sys.infrastructure.db.utils.QueryField;
import cn.novalon.manage.db.SysMenuQuery;
import cn.novalon.manage.db.QueryField;
/**
* @author zhangxiang
@@ -1,7 +1,7 @@
package cn.novalon.manage.db.entity;
import cn.novalon.manage.sys.core.domain.query.SysRoleQuery;
import cn.novalon.manage.sys.infrastructure.db.utils.QueryField;
import cn.novalon.manage.db.SysRoleQuery;
import cn.novalon.manage.db.QueryField;
/**
* @author zhangxiang
@@ -1,7 +1,7 @@
package cn.novalon.manage.db.entity;
import cn.novalon.manage.sys.core.domain.query.SysUserQuery;
import cn.novalon.manage.sys.infrastructure.db.utils.QueryField;
import cn.novalon.manage.db.SysUserQuery;
import cn.novalon.manage.db.QueryField;
/**
* @author zhangxiang
@@ -1,6 +1,6 @@
package cn.novalon.manage.sys.core.repository;
package cn.novalon.manage.db.repository;
import cn.novalon.manage.sys.core.domain.OperationLog;
import cn.novalon.manage.db.domain.OperationLog;
import reactor.core.publisher.Flux;
import reactor.core.publisher.Mono;
@@ -1,6 +1,6 @@
package cn.novalon.manage.sys.core.repository;
package cn.novalon.manage.db.repository;
import cn.novalon.manage.sys.core.domain.SysMenu;
import cn.novalon.manage.db.domain.SysMenu;
import reactor.core.publisher.Flux;
import reactor.core.publisher.Mono;
@@ -1,8 +1,8 @@
package cn.novalon.manage.sys.core.repository;
package cn.novalon.manage.db.repository;
import cn.novalon.manage.sys.core.domain.SysRole;
import cn.novalon.manage.sys.dto.request.PageRequest;
import cn.novalon.manage.sys.dto.response.PageResponse;
import cn.novalon.manage.db.domain.SysRole;
import cn.novalon.manage.common.dto.PageRequest;
import cn.novalon.manage.common.dto.PageResponse;
import org.springframework.data.domain.Sort;
import org.springframework.data.relational.core.query.Query;
import reactor.core.publisher.Flux;
@@ -1,8 +1,8 @@
package cn.novalon.manage.sys.core.repository;
package cn.novalon.manage.db.repository;
import cn.novalon.manage.sys.core.domain.SysUser;
import cn.novalon.manage.sys.dto.request.PageRequest;
import cn.novalon.manage.sys.dto.response.PageResponse;
import cn.novalon.manage.db.domain.SysUser;
import cn.novalon.manage.common.dto.PageRequest;
import cn.novalon.manage.common.dto.PageResponse;
import org.springframework.data.domain.Sort;
import org.springframework.data.relational.core.query.Query;
import reactor.core.publisher.Flux;
+5
View File
@@ -94,6 +94,11 @@
<artifactId>commons-lang3</artifactId>
<version>3.17.0</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-collections4</artifactId>
<version>4.4</version>
</dependency>
<dependency>
<groupId>io.jsonwebtoken</groupId>
<artifactId>jjwt-api</artifactId>