feat: 规范化包,避免重复扫描仓库

This commit is contained in:
wangyu 2024-06-25 23:19:32 +08:00
parent 0ec52fd90a
commit 1d67d20416
60 changed files with 270 additions and 115 deletions

View File

@ -31,5 +31,11 @@
<groupId>com.flyfish.framework</groupId>
<artifactId>flyfish-data-common</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
</project>

View File

@ -1,27 +1,74 @@
package com.flyfish.framework.mongodb.config;
import com.flyfish.framework.mongodb.config.annotations.EnableMongoRepo;
import com.flyfish.framework.mongodb.config.annotations.EnableReactiveMongoRepo;
import com.flyfish.framework.mongodb.operations.MongoReactiveEntityOperations;
import com.flyfish.framework.mongodb.repository.factory.DefaultReactiveRepositoryFactoryBean;
import com.flyfish.framework.mongodb.repository.factory.DefaultRepositoryFactoryBean;
import com.flyfish.framework.mongodb.repository.impl.DefaultReactiveRepositoryImpl;
import com.flyfish.framework.mongodb.repository.impl.DefaultRepositoryImpl;
import com.flyfish.framework.repository.ReactiveEntityOperations;
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
import org.springframework.boot.autoconfigure.AutoConfiguration;
import org.springframework.boot.autoconfigure.data.mongo.MongoDataAutoConfiguration;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;
import org.springframework.context.annotation.ImportSelector;
import org.springframework.core.type.AnnotationMetadata;
import org.springframework.data.mongodb.config.EnableMongoAuditing;
import org.springframework.data.mongodb.config.EnableReactiveMongoAuditing;
import org.springframework.data.mongodb.core.ReactiveMongoOperations;
import org.springframework.data.mongodb.repository.config.EnableMongoRepositories;
import org.springframework.data.mongodb.repository.config.EnableReactiveMongoRepositories;
import org.springframework.lang.NonNull;
@EnableMongoRepositories(
repositoryFactoryBeanClass = DefaultRepositoryFactoryBean.class,
repositoryBaseClass = DefaultRepositoryImpl.class
)
@EnableMongoAuditing
@Configuration
import java.util.ArrayList;
import java.util.List;
import static com.flyfish.framework.mongodb.config.MongoDataConfig.MongoRepositoriesImportSelector;
@AutoConfiguration(before = MongoDataAutoConfiguration.class)
@Import(MongoRepositoriesImportSelector.class)
public class MongoDataConfig {
@Bean
@ConditionalOnBean(ReactiveMongoOperations.class)
public ReactiveEntityOperations mongoReactiveEntityOperations(ReactiveMongoOperations reactiveMongoOperations) {
return new MongoReactiveEntityOperations(reactiveMongoOperations);
static class MongoRepositoriesImportSelector implements ImportSelector {
@Override
@NonNull
public String[] selectImports(@NonNull AnnotationMetadata annotationMetadata) {
List<String> imports = new ArrayList<>();
if (annotationMetadata.hasMetaAnnotation(EnableMongoRepo.class.getName())) {
imports.add(MongoRepoConfig.class.getName());
}
if (annotationMetadata.hasMetaAnnotation(EnableReactiveMongoRepo.class.getName())) {
imports.add(ReactiveMongoRepoConfig.class.getName());
}
return imports.toArray(new String[]{});
}
}
@EnableReactiveMongoRepositories(
repositoryFactoryBeanClass = DefaultReactiveRepositoryFactoryBean.class,
repositoryBaseClass = DefaultReactiveRepositoryImpl.class,
basePackages = "com.flyfish.framework.*.repository"
)
@EnableReactiveMongoAuditing
public static class ReactiveMongoRepoConfig {
@Bean
public ReactiveEntityOperations mongoReactiveEntityOperations(ReactiveMongoOperations reactiveMongoOperations) {
return new MongoReactiveEntityOperations(reactiveMongoOperations);
}
}
@EnableMongoRepositories(
repositoryFactoryBeanClass = DefaultRepositoryFactoryBean.class,
repositoryBaseClass = DefaultRepositoryImpl.class,
basePackages = "com.flyfish.framework.*.repository"
)
@EnableMongoAuditing
public static class MongoRepoConfig {
}
}

View File

@ -3,7 +3,6 @@ package com.flyfish.framework.mongodb.config.annotations;
import com.flyfish.framework.mongodb.repository.factory.DefaultRepositoryFactoryBean;
import com.flyfish.framework.mongodb.repository.impl.DefaultRepositoryImpl;
import org.springframework.core.annotation.AliasFor;
import org.springframework.data.mongodb.config.EnableMongoAuditing;
import org.springframework.data.mongodb.repository.config.EnableMongoRepositories;
import java.lang.annotation.*;
@ -12,7 +11,6 @@ import java.lang.annotation.*;
repositoryFactoryBeanClass = DefaultRepositoryFactoryBean.class,
repositoryBaseClass = DefaultRepositoryImpl.class
)
@EnableMongoAuditing
@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented

View File

@ -3,7 +3,6 @@ package com.flyfish.framework.mongodb.config.annotations;
import com.flyfish.framework.mongodb.repository.factory.DefaultReactiveRepositoryFactoryBean;
import com.flyfish.framework.mongodb.repository.impl.DefaultReactiveRepositoryImpl;
import org.springframework.core.annotation.AliasFor;
import org.springframework.data.mongodb.config.EnableReactiveMongoAuditing;
import org.springframework.data.mongodb.repository.config.EnableReactiveMongoRepositories;
import java.lang.annotation.*;
@ -12,7 +11,6 @@ import java.lang.annotation.*;
repositoryFactoryBeanClass = DefaultReactiveRepositoryFactoryBean.class,
repositoryBaseClass = DefaultReactiveRepositoryImpl.class
)
@EnableReactiveMongoAuditing
@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@ -25,5 +23,5 @@ public @interface EnableReactiveMongoRepo {
* @return 结果
*/
@AliasFor(annotation = EnableReactiveMongoRepositories.class)
String[] basePackages() default "com.flyfish";
String[] basePackages() default {};
}

View File

@ -0,0 +1,39 @@
package com.flyfish.test.mongo;
import com.flyfish.test.mongo.repository.TestDO;
import com.flyfish.test.mongo.repository.TestQO;
import com.flyfish.test.mongo.repository.TestRepository;
import com.flyfish.framework.mongodb.config.MongoDataConfig;
import com.flyfish.framework.mongodb.config.annotations.EnableReactiveMongoRepo;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.context.annotation.Import;
import org.springframework.test.context.junit.jupiter.SpringExtension;
import javax.annotation.Resource;
@ExtendWith(SpringExtension.class)
@SpringBootTest(classes = MongoRepositoryTest.class)
@SpringBootApplication(scanBasePackages = "com.flyfish.framework")
@Import(MongoDataConfig.class)
@EnableReactiveMongoRepo
public class MongoRepositoryTest {
@Resource
private TestRepository testRepository;
@Test
public void test() {
TestQO qo = new TestQO();
qo.setName("");
TestDO test = new TestDO();
test.setId("1");
test.setCode("ttt");
test.setName("测试名称");
System.out.println(testRepository.insert(test).block());
System.out.println(testRepository.findAll(qo).collectList().block());
}
}

View File

@ -0,0 +1,11 @@
package com.flyfish.test.mongo.repository;
import com.flyfish.framework.domain.base.AuditDomain;
import lombok.Data;
import org.springframework.data.mongodb.core.mapping.Document;
@Document("test")
@Data
public class TestDO extends AuditDomain {
}

View File

@ -0,0 +1,7 @@
package com.flyfish.test.mongo.repository;
import com.flyfish.framework.domain.base.NameLikeQo;
public class TestQO extends NameLikeQo<TestDO> {
}

View File

@ -0,0 +1,9 @@
package com.flyfish.test.mongo.repository;
import com.flyfish.framework.repository.DefaultReactiveRepository;
/**
* 测试仓库
*/
public interface TestRepository extends DefaultReactiveRepository<TestDO> {
}

View File

@ -0,0 +1,5 @@
spring:
data:
mongodb:
host: 127.0.0.1
port: 27017

View File

@ -0,0 +1 @@
DROP TABLE IF EXISTS `test`;

View File

@ -0,0 +1,14 @@
CREATE TABLE IF NOT EXISTS `test`
(
`id` VARCHAR(36) NOT NULL COMMENT '主键',
`code` VARCHAR(32) NOT NULL COMMENT '编码',
`name` VARCHAR(100) NOT NULL COMMENT '名称',
`create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`modify_time` DATETIME NOT NULL COMMENT '修改时间',
`creator` VARCHAR(36) NULL COMMENT '创建人名称',
`creator_id` VARCHAR(36) NULL COMMENT '创建人id',
`modifier` VARCHAR(36) NULL COMMENT '修改人名称',
`modifier_id` VARCHAR(36) NULL COMMENT '修改人id',
`delete` BIT(1) NOT NULL DEFAULT b'0',
PRIMARY KEY (`id`)
) COMMENT '测试表';

View File

@ -29,7 +29,7 @@ import java.util.Optional;
@EnableR2dbcRepositories(
repositoryFactoryBeanClass = DefaultReactiveRepositoryFactoryBean.class,
repositoryBaseClass = DefaultReactiveRepositoryImpl.class,
basePackages = "com.flyfish.framework"
basePackages = "com.flyfish.framework.*.repository"
)
@EnableR2dbcAuditing
@AutoConfiguration(before = R2dbcAutoConfiguration.class)

View File

@ -0,0 +1,17 @@
package com.flyfish.framework.r2dbc.query.fill;
import com.flyfish.framework.domain.base.Domain;
import reactor.core.publisher.Flux;
import reactor.core.publisher.Mono;
/**
* r2dbc引用填充
*
* @author wangyu
*/
public interface R2dbcReferenceFiller {
<T extends Domain> Flux<T> fill(Flux<T> beans);
<T extends Domain> Mono<T> fill(Mono<T> bean);
}

View File

@ -13,10 +13,12 @@ import org.springframework.data.domain.Sort;
import org.springframework.data.r2dbc.convert.R2dbcConverter;
import org.springframework.data.r2dbc.core.R2dbcEntityOperations;
import org.springframework.data.r2dbc.repository.support.SimpleR2dbcRepository;
import org.springframework.data.relational.core.mapping.RelationalPersistentEntity;
import org.springframework.data.relational.core.query.Criteria;
import org.springframework.data.relational.core.query.Query;
import org.springframework.data.relational.repository.query.RelationalEntityInformation;
import org.springframework.data.repository.core.EntityInformation;
import org.springframework.data.util.Lazy;
import org.springframework.lang.NonNull;
import org.springframework.util.Assert;
import reactor.core.publisher.Flux;
@ -38,6 +40,8 @@ public class DefaultReactiveRepositoryImpl<T extends Domain> extends SimpleR2dbc
private final R2dbcEntityOperations entityOperations;
private final Lazy<RelationalPersistentEntity<T>> persistentEntity;
/**
* 构造新的默认仓库
*
@ -49,6 +53,9 @@ public class DefaultReactiveRepositoryImpl<T extends Domain> extends SimpleR2dbc
super(entity, entityOperations, converter);
this.entity = entity;
this.entityOperations = entityOperations;
this.persistentEntity = Lazy.of(() -> (RelationalPersistentEntity<T>) converter
.getMappingContext()
.getRequiredPersistentEntity(this.entity.getJavaType()));
}

View File

@ -1,22 +1,17 @@
package com.flyfish.framework.r2dbc;
import com.flyfish.framework.query.Queries;
import com.flyfish.framework.r2dbc.config.R2dbcDataConfig;
import com.flyfish.framework.r2dbc.config.annotations.EnableR2dbcRepo;
import com.flyfish.framework.r2dbc.repository.TestDO;
import com.flyfish.framework.r2dbc.repository.TestQO;
import com.flyfish.framework.r2dbc.repository.TestRepository;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.r2dbc.R2dbcProperties;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Import;
import org.springframework.test.context.junit.jupiter.SpringExtension;
import javax.annotation.Resource;
import java.util.Arrays;
@ExtendWith(SpringExtension.class)
@SpringBootTest(classes = R2DbcRepositoryTest.class)

View File

@ -1,6 +1,6 @@
package com.flyfish.framework.annotations;
package com.flyfish.framework.user.annotations;
import com.flyfish.framework.config.WebSecurityConfig;
import com.flyfish.framework.user.config.WebSecurityConfig;
import com.flyfish.framework.configuration.redis.EnableReactiveRedis;
import org.springframework.context.annotation.Import;

View File

@ -1,11 +1,11 @@
package com.flyfish.framework.config;
package com.flyfish.framework.user.config;
import com.flyfish.framework.domain.AdminUserDetails;
import com.flyfish.framework.user.domain.AdminUserDetails;
import com.flyfish.framework.domain.po.User;
import com.flyfish.framework.enums.UserStatus;
import com.flyfish.framework.service.AuthenticationAuditor;
import com.flyfish.framework.service.AuthenticationLogger;
import com.flyfish.framework.service.UserService;
import com.flyfish.framework.user.service.UserService;
import com.flyfish.framework.transform.ResultDataTransformer;
import org.springframework.security.authentication.BadCredentialsException;
import org.springframework.security.core.AuthenticationException;

View File

@ -1,4 +1,4 @@
package com.flyfish.framework.config;
package com.flyfish.framework.user.config;
/**
* rsa密钥使用PKCS8的私钥格式

View File

@ -1,22 +1,22 @@
package com.flyfish.framework.config;
package com.flyfish.framework.user.config;
import com.flyfish.framework.config.captcha.DxCaptchaValidator;
import com.flyfish.framework.config.converter.EncryptedAuthenticationConverter;
import com.flyfish.framework.config.properties.SecurityProperties;
import com.flyfish.framework.user.config.captcha.DxCaptchaValidator;
import com.flyfish.framework.user.config.converter.EncryptedAuthenticationConverter;
import com.flyfish.framework.user.config.properties.SecurityProperties;
import com.flyfish.framework.configuration.jwt.JwtProperties;
import com.flyfish.framework.configuration.jwt.JwtSecurityContextRepository;
import com.flyfish.framework.configuration.jwt.TokenProvider;
import com.flyfish.framework.domain.UserQo;
import com.flyfish.framework.user.domain.UserQo;
import com.flyfish.framework.domain.po.User;
import com.flyfish.framework.enums.UserStatus;
import com.flyfish.framework.enums.UserType;
import com.flyfish.framework.handler.JsonAuthenticationFailureHandler;
import com.flyfish.framework.handler.JsonAuthenticationSuccessHandler;
import com.flyfish.framework.handler.JsonLogoutSuccessHandler;
import com.flyfish.framework.initializer.UserInitializer;
import com.flyfish.framework.user.initializer.UserInitializer;
import com.flyfish.framework.service.AuthenticationAuditor;
import com.flyfish.framework.service.AuthenticationLogger;
import com.flyfish.framework.service.UserService;
import com.flyfish.framework.user.service.UserService;
import org.apache.commons.lang3.ArrayUtils;
import org.springframework.beans.factory.ObjectProvider;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;

View File

@ -1,4 +1,4 @@
package com.flyfish.framework.config.audit;
package com.flyfish.framework.user.config.audit;
import com.flyfish.framework.utils.UserUtils;
import org.springframework.data.domain.ReactiveAuditorAware;

View File

@ -1,8 +1,8 @@
package com.flyfish.framework.config.audit;
package com.flyfish.framework.user.config.audit;
import com.flyfish.framework.auditor.ReactiveBeanPoster;
import com.flyfish.framework.domain.po.Role;
import com.flyfish.framework.service.UserDetailsConverter;
import com.flyfish.framework.user.service.UserDetailsConverter;
import com.flyfish.framework.utils.ReactiveRedisOperations;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Component;

View File

@ -1,4 +1,4 @@
package com.flyfish.framework.config.audit;
package com.flyfish.framework.user.config.audit;
import com.flyfish.framework.context.UserContext;
import com.flyfish.framework.domain.base.Domain;

View File

@ -1,14 +1,14 @@
package com.flyfish.framework.config.audit;
package com.flyfish.framework.user.config.audit;
import com.flyfish.framework.auditor.ReactiveBeanAuditor;
import com.flyfish.framework.auditor.ReactiveBeanPoster;
import com.flyfish.framework.config.constants.UserCacheKeys;
import com.flyfish.framework.user.service.UserDetailsConverter;
import com.flyfish.framework.user.utils.StrengthUtils;
import com.flyfish.framework.user.config.constants.UserCacheKeys;
import com.flyfish.framework.domain.po.User;
import com.flyfish.framework.enums.UserType;
import com.flyfish.framework.service.UserDetailsConverter;
import com.flyfish.framework.utils.Assert;
import com.flyfish.framework.utils.ReactiveRedisOperations;
import com.flyfish.framework.utils.StrengthUtils;
import lombok.RequiredArgsConstructor;
import org.apache.commons.lang3.StringUtils;
import org.springframework.security.crypto.password.PasswordEncoder;

View File

@ -1,13 +1,11 @@
package com.flyfish.framework.config.captcha;
package com.flyfish.framework.user.config.captcha;
import com.dingxianginc.ctu.client.CaptchaClient;
import com.dingxianginc.ctu.client.model.CaptchaResponse;
import com.flyfish.framework.config.properties.SecurityProperties;
import lombok.RequiredArgsConstructor;
import com.flyfish.framework.user.config.properties.SecurityProperties;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.BooleanUtils;
import org.springframework.security.authentication.BadCredentialsException;
import org.springframework.stereotype.Component;
/**
* 顶象验证码验证器

View File

@ -1,4 +1,4 @@
package com.flyfish.framework.config.constants;
package com.flyfish.framework.user.config.constants;
public interface UserCacheKeys {

View File

@ -1,9 +1,9 @@
package com.flyfish.framework.config.converter;
package com.flyfish.framework.user.config.converter;
import com.flyfish.framework.config.RSAKeys;
import com.flyfish.framework.config.captcha.DxCaptchaValidator;
import com.flyfish.framework.config.properties.SecurityProperties;
import com.flyfish.framework.utils.RSAUtils;
import com.flyfish.framework.user.config.RSAKeys;
import com.flyfish.framework.user.utils.RSAUtils;
import com.flyfish.framework.user.config.captcha.DxCaptchaValidator;
import com.flyfish.framework.user.config.properties.SecurityProperties;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import lombok.val;

View File

@ -1,4 +1,4 @@
package com.flyfish.framework.config.properties;
package com.flyfish.framework.user.config.properties;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;

View File

@ -1,12 +1,12 @@
package com.flyfish.framework.controller;
package com.flyfish.framework.user.controller;
import com.flyfish.framework.bean.Result;
import com.flyfish.framework.controller.reactive.ReactiveTreeController;
import com.flyfish.framework.domain.AdminUserDetails;
import com.flyfish.framework.domain.DepartmentQo;
import com.flyfish.framework.user.service.DepartmentService;
import com.flyfish.framework.user.domain.AdminUserDetails;
import com.flyfish.framework.user.domain.DepartmentQo;
import com.flyfish.framework.domain.po.Department;
import com.flyfish.framework.enums.UserType;
import com.flyfish.framework.service.DepartmentService;
import com.flyfish.framework.utils.DepartUtils;
import com.flyfish.framework.utils.UserUtils;
import org.apache.commons.collections4.CollectionUtils;

View File

@ -1,13 +1,9 @@
package com.flyfish.framework.controller;
package com.flyfish.framework.user.controller;
import com.flyfish.framework.bean.Result;
import com.flyfish.framework.config.RSAKeys;
import com.flyfish.framework.config.properties.SecurityProperties;
import com.flyfish.framework.configuration.annotations.CurrentUser;
import com.flyfish.framework.user.config.RSAKeys;
import com.flyfish.framework.user.config.properties.SecurityProperties;
import com.flyfish.framework.configuration.jwt.TokenProvider;
import com.flyfish.framework.domain.po.User;
import com.flyfish.framework.utils.UserUtils;
import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
import org.springframework.security.core.Authentication;
import org.springframework.security.core.context.ReactiveSecurityContextHolder;
import org.springframework.web.bind.annotation.*;

View File

@ -1,7 +1,7 @@
package com.flyfish.framework.controller;
package com.flyfish.framework.user.controller;
import com.flyfish.framework.controller.reactive.ReactiveTreeController;
import com.flyfish.framework.domain.PermissionQo;
import com.flyfish.framework.user.domain.PermissionQo;
import com.flyfish.framework.domain.po.Permission;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

View File

@ -1,7 +1,7 @@
package com.flyfish.framework.controller;
package com.flyfish.framework.user.controller;
import com.flyfish.framework.controller.reactive.ReactiveBaseController;
import com.flyfish.framework.domain.RoleQo;
import com.flyfish.framework.user.domain.RoleQo;
import com.flyfish.framework.domain.po.Role;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

View File

@ -1,18 +1,18 @@
package com.flyfish.framework.controller;
package com.flyfish.framework.user.controller;
import com.flyfish.framework.annotations.Operation;
import com.flyfish.framework.bean.Result;
import com.flyfish.framework.configuration.annotations.CurrentUser;
import com.flyfish.framework.controller.reactive.ReactiveBaseController;
import com.flyfish.framework.domain.UserPasswordDto;
import com.flyfish.framework.domain.UserQo;
import com.flyfish.framework.user.utils.StrengthUtils;
import com.flyfish.framework.user.domain.UserPasswordDto;
import com.flyfish.framework.user.domain.UserQo;
import com.flyfish.framework.domain.base.IUser;
import com.flyfish.framework.domain.po.Role;
import com.flyfish.framework.domain.po.User;
import com.flyfish.framework.enums.UserStatus;
import com.flyfish.framework.service.UserService;
import com.flyfish.framework.user.service.UserService;
import com.flyfish.framework.utils.Assert;
import com.flyfish.framework.utils.StrengthUtils;
import com.flyfish.framework.utils.UserUtils;
import org.springframework.security.core.context.ReactiveSecurityContextHolder;
import org.springframework.security.crypto.password.PasswordEncoder;

View File

@ -1,4 +1,4 @@
package com.flyfish.framework.domain;
package com.flyfish.framework.user.domain;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;

View File

@ -1,4 +1,4 @@
package com.flyfish.framework.domain;
package com.flyfish.framework.user.domain;
import com.flyfish.framework.domain.po.Department;
import com.flyfish.framework.domain.tree.TreeQo;

View File

@ -1,4 +1,4 @@
package com.flyfish.framework.domain;
package com.flyfish.framework.user.domain;
import lombok.Data;

View File

@ -1,4 +1,4 @@
package com.flyfish.framework.domain;
package com.flyfish.framework.user.domain;
import com.flyfish.framework.domain.po.Permission;

View File

@ -1,4 +1,4 @@
package com.flyfish.framework.domain;
package com.flyfish.framework.user.domain;
import com.flyfish.framework.domain.base.NameLikeQo;
import com.flyfish.framework.domain.po.Role;

View File

@ -1,4 +1,4 @@
package com.flyfish.framework.domain;
package com.flyfish.framework.user.domain;
import com.flyfish.framework.validation.annotations.Password;
import lombok.Getter;

View File

@ -1,4 +1,4 @@
package com.flyfish.framework.domain;
package com.flyfish.framework.user.domain;
import com.flyfish.framework.domain.base.NameLikeQo;
import com.flyfish.framework.domain.po.User;

View File

@ -1,4 +1,4 @@
package com.flyfish.framework.initializer;
package com.flyfish.framework.user.initializer;
import org.springframework.beans.factory.InitializingBean;

View File

@ -1,6 +1,7 @@
package com.flyfish.framework.repository;
package com.flyfish.framework.user.repository;
import com.flyfish.framework.domain.po.Department;
import com.flyfish.framework.repository.DefaultReactiveRepository;
/**
* 部门仓库

View File

@ -1,7 +1,8 @@
package com.flyfish.framework.repository;
package com.flyfish.framework.user.repository;
import com.flyfish.framework.domain.po.Permission;
import com.flyfish.framework.repository.DefaultReactiveRepository;
/**
* 权限仓库

View File

@ -1,6 +1,7 @@
package com.flyfish.framework.repository;
package com.flyfish.framework.user.repository;
import com.flyfish.framework.domain.po.Role;
import com.flyfish.framework.repository.DefaultReactiveRepository;
/**
* 角色仓库

View File

@ -1,6 +1,7 @@
package com.flyfish.framework.repository;
package com.flyfish.framework.user.repository;
import com.flyfish.framework.domain.po.User;
import com.flyfish.framework.repository.DefaultReactiveRepository;
import reactor.core.publisher.Mono;
/**

View File

@ -1,6 +1,7 @@
package com.flyfish.framework.service;
package com.flyfish.framework.user.service;
import com.flyfish.framework.domain.po.Department;
import com.flyfish.framework.service.BaseReactiveService;
import reactor.core.publisher.Mono;
import java.util.Set;

View File

@ -1,9 +1,10 @@
package com.flyfish.framework.service;
package com.flyfish.framework.user.service;
import com.flyfish.framework.config.constants.UserCacheKeys;
import com.flyfish.framework.user.config.constants.UserCacheKeys;
import com.flyfish.framework.configuration.jwt.TokenProvider;
import com.flyfish.framework.domain.base.IUser;
import com.flyfish.framework.enums.UserStatus;
import com.flyfish.framework.service.FlyfishUserDetailsService;
import com.flyfish.framework.utils.Assert;
import com.flyfish.framework.utils.ReactiveRedisOperations;
import lombok.RequiredArgsConstructor;

View File

@ -1,4 +1,4 @@
package com.flyfish.framework.service;
package com.flyfish.framework.user.service;
import com.flyfish.framework.domain.po.Permission;

View File

@ -1,8 +1,8 @@
package com.flyfish.framework.service;
package com.flyfish.framework.user.service;
import com.flyfish.framework.domain.PermissionQo;
import com.flyfish.framework.domain.RoleQo;
import com.flyfish.framework.user.domain.PermissionQo;
import com.flyfish.framework.user.domain.RoleQo;
import com.flyfish.framework.domain.base.Domain;
import com.flyfish.framework.domain.base.IUser;
import com.flyfish.framework.domain.base.Qo;

View File

@ -1,6 +1,6 @@
package com.flyfish.framework.service;
package com.flyfish.framework.user.service;
import com.flyfish.framework.domain.AdminUserDetails;
import com.flyfish.framework.user.domain.AdminUserDetails;
import com.flyfish.framework.domain.base.IUser;
import com.flyfish.framework.domain.po.Department;
import com.flyfish.framework.domain.po.Role;

View File

@ -1,11 +1,12 @@
package com.flyfish.framework.service;
package com.flyfish.framework.user.service;
import com.flyfish.framework.domain.UserQo;
import com.flyfish.framework.user.repository.UserRepository;
import com.flyfish.framework.user.domain.UserQo;
import com.flyfish.framework.domain.authorized.AuthorizedUserDetails;
import com.flyfish.framework.domain.base.Qo;
import com.flyfish.framework.domain.po.User;
import com.flyfish.framework.enums.UserType;
import com.flyfish.framework.repository.UserRepository;
import com.flyfish.framework.service.UserFindService;
import com.flyfish.framework.service.impl.BaseReactiveServiceImpl;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.data.domain.Page;

View File

@ -1,7 +1,7 @@
package com.flyfish.framework.service.impl;
package com.flyfish.framework.user.service.impl;
import com.flyfish.framework.domain.AdminUserDetails;
import com.flyfish.framework.domain.DepartmentQo;
import com.flyfish.framework.user.domain.AdminUserDetails;
import com.flyfish.framework.user.domain.DepartmentQo;
import com.flyfish.framework.domain.base.Qo;
import com.flyfish.framework.domain.po.Department;
import com.flyfish.framework.enums.UserType;

View File

@ -1,9 +1,10 @@
package com.flyfish.framework.service.impl;
package com.flyfish.framework.user.service.impl;
import com.flyfish.framework.domain.base.Qo;
import com.flyfish.framework.domain.po.Department;
import com.flyfish.framework.domain.tree.TreeDomain;
import com.flyfish.framework.service.DepartmentService;
import com.flyfish.framework.user.service.DepartmentService;
import com.flyfish.framework.service.impl.BaseReactiveServiceImpl;
import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.data.mongodb.core.ReactiveMongoOperations;
@ -19,8 +20,6 @@ import java.util.Collection;
import java.util.Set;
import java.util.stream.Collectors;
import static com.flyfish.framework.service.impl.DepartmentServiceHelper.convertQo;
/**
* 部门服务
*
@ -53,7 +52,7 @@ public class MongoDepartmentServiceImpl extends BaseReactiveServiceImpl<Departme
*/
@Override
public Flux<Department> getList(Qo<Department> query) {
return convertQo(query, this::getMinDepthInIds).flatMapMany(super::getList);
return DepartmentServiceHelper.convertQo(query, this::getMinDepthInIds).flatMapMany(super::getList);
}
/**

View File

@ -1,8 +1,9 @@
package com.flyfish.framework.service.impl;
package com.flyfish.framework.user.service.impl;
import com.flyfish.framework.domain.base.Qo;
import com.flyfish.framework.domain.po.Department;
import com.flyfish.framework.service.DepartmentService;
import com.flyfish.framework.user.service.DepartmentService;
import com.flyfish.framework.service.impl.BaseReactiveServiceImpl;
import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.data.r2dbc.core.R2dbcEntityOperations;
@ -17,7 +18,7 @@ import java.util.Collection;
import java.util.Set;
import java.util.stream.Collectors;
import static com.flyfish.framework.service.impl.DepartmentServiceHelper.convertQo;
import static com.flyfish.framework.user.service.impl.DepartmentServiceHelper.convertQo;
/**
* 部门服务

View File

@ -1,4 +1,4 @@
package com.flyfish.framework.utils;
package com.flyfish.framework.user.utils;
import lombok.extern.slf4j.Slf4j;
import org.springframework.lang.Nullable;

View File

@ -1,4 +1,4 @@
package com.flyfish.framework.utils;
package com.flyfish.framework.user.utils;
import com.flyfish.framework.validation.validators.PasswordValidator;

View File

@ -1,4 +1,4 @@
package com.flyfish.framework.beans.excel;
package com.flyfish.framework.excel;
import com.flyfish.framework.controller.reactive.ReactiveBaseController;

View File

@ -1,4 +1,4 @@
package com.flyfish.framework.beans.excel;
package com.flyfish.framework.excel;
import com.flyfish.framework.domain.po.ExcelMapping;
import com.flyfish.framework.repository.DefaultReactiveRepository;

View File

@ -1,4 +1,4 @@
package com.flyfish.framework.beans.excel;
package com.flyfish.framework.excel;
import com.flyfish.framework.domain.po.ExcelMapping;
import com.flyfish.framework.service.impl.BaseReactiveServiceImpl;