Commit ef7b8145 authored by WeiWei's avatar WeiWei

优化多数据源

parent c6043dad
package cn.quantgroup.cashloanflowboss.api.channel.entity.boss;
package cn.quantgroup.cashloanflowboss.api.channel.entity;
import cn.quantgroup.cashloanflowboss.core.persistence.Primary;
import lombok.Data;
......
package cn.quantgroup.cashloanflowboss.api.channel.repository.boss;
package cn.quantgroup.cashloanflowboss.api.channel.repository;
import cn.quantgroup.cashloanflowboss.api.channel.entity.boss.ChannelConf;
import cn.quantgroup.cashloanflowboss.api.channel.entity.ChannelConf;
import cn.quantgroup.cashloanflowboss.core.persistence.CashLoanFlowBossDataSource;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;
......@@ -9,6 +10,7 @@ import org.springframework.stereotype.Repository;
* @author suntao
*/
@CashLoanFlowBossDataSource
@Repository
public interface ChannelConfRepository extends JpaRepository<ChannelConf, Long> {
......
......@@ -2,14 +2,14 @@ package cn.quantgroup.cashloanflowboss.api.channel.service;
import java.sql.Timestamp;
import java.util.*;
import cn.quantgroup.cashloanflowboss.api.channel.entity.boss.ChannelConf;
import cn.quantgroup.cashloanflowboss.api.channel.entity.ChannelConf;
import cn.quantgroup.cashloanflowboss.api.channel.model.ChannelConfAddModel;
import cn.quantgroup.cashloanflowboss.api.channel.model.ChannelConfBaseModel;
import cn.quantgroup.cashloanflowboss.api.channel.model.ChannelConfVo;
import cn.quantgroup.cashloanflowboss.api.channel.model.ChannelListModel;
import cn.quantgroup.cashloanflowboss.spi.clf.entity.ClfCallbackConfiguration;
import cn.quantgroup.cashloanflowboss.spi.clf.entity.ClfChannelConfiguration;
import cn.quantgroup.cashloanflowboss.api.channel.repository.boss.ChannelConfRepository;
import cn.quantgroup.cashloanflowboss.api.channel.repository.ChannelConfRepository;
import cn.quantgroup.cashloanflowboss.spi.clf.entity.ClfOrderCallBack;
import cn.quantgroup.cashloanflowboss.spi.clf.repository.ClfCallbackConfigurationRepository;
import cn.quantgroup.cashloanflowboss.spi.clf.repository.ClfChannelConfigurationRepository;
......
......@@ -10,7 +10,7 @@ import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import cn.quantgroup.cashloanflowboss.api.channel.entity.boss.ChannelConf;
import cn.quantgroup.cashloanflowboss.api.channel.entity.ChannelConf;
import cn.quantgroup.cashloanflowboss.api.channel.model.ChannelConfAddModel;
import cn.quantgroup.cashloanflowboss.api.channel.model.ChannelConfBaseModel;
import cn.quantgroup.cashloanflowboss.api.channel.model.ChannelConfVo;
......
package cn.quantgroup.cashloanflowboss.api.log.model;
import cn.quantgroup.cashloanflowboss.api.role.entity.boss.Role;
import cn.quantgroup.cashloanflowboss.api.role.entity.Role;
import cn.quantgroup.cashloanflowboss.api.user.dictionary.UserRank;
import lombok.Data;
......
......@@ -2,7 +2,7 @@ package cn.quantgroup.cashloanflowboss.api.log.service;
import cn.quantgroup.cashloanflowboss.api.log.model.Principal;
import cn.quantgroup.cashloanflowboss.api.user.dictionary.UserStatus;
import cn.quantgroup.cashloanflowboss.api.user.entity.boss.User;
import cn.quantgroup.cashloanflowboss.api.user.entity.User;
import cn.quantgroup.cashloanflowboss.api.user.service.UserService;
import cn.quantgroup.cashloanflowboss.core.asserts.Assert;
import cn.quantgroup.cashloanflowboss.core.dictionary.ApplicationDictionary;
......
package cn.quantgroup.cashloanflowboss.api.order.service;
import cn.quantgroup.cashloanflowboss.api.channel.entity.boss.ChannelConf;
import cn.quantgroup.cashloanflowboss.api.channel.repository.boss.ChannelConfRepository;
import cn.quantgroup.cashloanflowboss.api.channel.entity.ChannelConf;
import cn.quantgroup.cashloanflowboss.api.channel.repository.ChannelConfRepository;
import cn.quantgroup.cashloanflowboss.api.order.model.ApproveVo;
import cn.quantgroup.cashloanflowboss.api.order.model.OrderVo;
import cn.quantgroup.cashloanflowboss.api.order.util.OrderUtil;
import cn.quantgroup.cashloanflowboss.api.user.model.UserSessionInfo;
import cn.quantgroup.cashloanflowboss.core.Application;
import cn.quantgroup.cashloanflowboss.spi.clf.entity.ClfOrderMapping;
import cn.quantgroup.cashloanflowboss.spi.clf.repository.ClfOrderMappingRepository;
......
package cn.quantgroup.cashloanflowboss.api.role.entity.boss;
package cn.quantgroup.cashloanflowboss.api.role.entity;
import cn.quantgroup.cashloanflowboss.component.security.Authority;
import lombok.AllArgsConstructor;
......
package cn.quantgroup.cashloanflowboss.api.role.entity.boss;
package cn.quantgroup.cashloanflowboss.api.role.entity;
import cn.quantgroup.cashloanflowboss.utils.JSONTools;
import com.fasterxml.jackson.core.type.TypeReference;
......
package cn.quantgroup.cashloanflowboss.api.role.entity.boss;
package cn.quantgroup.cashloanflowboss.api.role.entity;
import cn.quantgroup.cashloanflowboss.core.persistence.Primary;
import lombok.Data;
......
package cn.quantgroup.cashloanflowboss.api.role.repository.boss;
package cn.quantgroup.cashloanflowboss.api.role.repository;
import cn.quantgroup.cashloanflowboss.api.role.entity.boss.Role;
import cn.quantgroup.cashloanflowboss.api.role.entity.Role;
import cn.quantgroup.cashloanflowboss.core.persistence.CashLoanFlowBossDataSource;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;
/**
* Created by WeiWei on 2019/7/30.
*/
@CashLoanFlowBossDataSource
@Repository
public interface RoleRepository extends JpaRepository<Role, Long> {
}
package cn.quantgroup.cashloanflowboss.api.role.service;
import cn.quantgroup.cashloanflowboss.api.role.entity.boss.Role;
import cn.quantgroup.cashloanflowboss.api.role.repository.boss.RoleRepository;
import cn.quantgroup.cashloanflowboss.api.role.entity.Role;
import cn.quantgroup.cashloanflowboss.api.role.repository.RoleRepository;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
......
package cn.quantgroup.cashloanflowboss.api.user.controller;
import cn.quantgroup.cashloanflowboss.api.user.entity.boss.User;
import cn.quantgroup.cashloanflowboss.api.user.entity.User;
import cn.quantgroup.cashloanflowboss.api.user.model.Pagination;
import cn.quantgroup.cashloanflowboss.api.user.model.RegisterUserFormModel;
import cn.quantgroup.cashloanflowboss.api.user.service.UserService;
......
package cn.quantgroup.cashloanflowboss.api.user.entity.boss;
package cn.quantgroup.cashloanflowboss.api.user.entity;
import cn.quantgroup.cashloanflowboss.api.role.entity.boss.Role;
import cn.quantgroup.cashloanflowboss.api.role.entity.Role;
import cn.quantgroup.cashloanflowboss.api.user.dictionary.UserRank;
import cn.quantgroup.cashloanflowboss.api.user.dictionary.UserStatus;
import cn.quantgroup.cashloanflowboss.core.persistence.Primary;
......
package cn.quantgroup.cashloanflowboss.api.user.repository.boss;
package cn.quantgroup.cashloanflowboss.api.user.repository;
import cn.quantgroup.cashloanflowboss.api.user.entity.boss.User;
import cn.quantgroup.cashloanflowboss.api.user.entity.User;
import cn.quantgroup.cashloanflowboss.core.persistence.CashLoanFlowBossDataSource;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.repository.PagingAndSortingRepository;
......@@ -9,6 +10,7 @@ import org.springframework.stereotype.Repository;
/**
* Created by WeiWei on 2019/7/22.
*/
@CashLoanFlowBossDataSource
@Repository
public interface UserRepository extends PagingAndSortingRepository<User, String> {
......
package cn.quantgroup.cashloanflowboss.api.user.service;
import cn.quantgroup.cashloanflowboss.api.user.dictionary.UserStatus;
import cn.quantgroup.cashloanflowboss.api.user.entity.boss.User;
import cn.quantgroup.cashloanflowboss.api.user.repository.boss.UserRepository;
import cn.quantgroup.cashloanflowboss.api.user.entity.User;
import cn.quantgroup.cashloanflowboss.api.user.repository.UserRepository;
import cn.quantgroup.cashloanflowboss.core.asserts.Assert;
import cn.quantgroup.cashloanflowboss.core.dictionary.ApplicationStatus;
import cn.quantgroup.cashloanflowboss.utils.MD5Tools;
......
package cn.quantgroup.cashloanflowboss.core.configuration;
import cn.quantgroup.cashloanflowboss.api.log.model.Principal;
import cn.quantgroup.cashloanflowboss.api.role.entity.boss.Role;
import cn.quantgroup.cashloanflowboss.api.role.entity.Role;
import cn.quantgroup.cashloanflowboss.component.security.Authority;
import cn.quantgroup.cashloanflowboss.component.security.SecurityHandler;
import cn.quantgroup.cashloanflowboss.core.Application;
......
package cn.quantgroup.cashloanflowboss.core.configuration.data;
import cn.quantgroup.cashloanflowboss.core.persistence.CashLoanFlowBossDataSource;
import com.alibaba.druid.pool.DruidDataSource;
import com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceBuilder;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.autoconfigure.domain.EntityScan;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.boot.orm.jpa.EntityManagerFactoryBuilder;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Primary;
import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
......@@ -21,10 +22,8 @@ import javax.sql.DataSource;
@Configuration
@EnableTransactionManagement
@EnableJpaRepositories(basePackages = {"cn.quantgroup.cashloanflowboss.api.*.repository.boss"},
entityManagerFactoryRef = "bossEntityManager",
transactionManagerRef = "bossTransactionManager")
public class BossDSConfig {
@EnableJpaRepositories(basePackages = {"cn.quantgroup"}, entityManagerFactoryRef = "bossEntityManager", transactionManagerRef = "bossTransactionManager", includeFilters = @ComponentScan.Filter(CashLoanFlowBossDataSource.class))
public class CashLoanFlowBossDataSourceConfiguration {
@Value("${data.boss.url}")
private String jdbcUrl;
......@@ -64,7 +63,7 @@ public class BossDSConfig {
public LocalContainerEntityManagerFactoryBean entityManager(EntityManagerFactoryBuilder builder) {
return builder.dataSource(createDataSource())
.packages("cn.quantgroup.cashloanflowboss.api.*.entity.boss")
.packages("cn.quantgroup")
.persistenceUnit(uniquename)
.build();
}
......
package cn.quantgroup.cashloanflowboss.core.configuration.data;
import cn.quantgroup.cashloanflowboss.core.persistence.CashLoanFlowDataSource;
import com.alibaba.druid.pool.DruidDataSource;
import com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceBuilder;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.autoconfigure.domain.EntityScan;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.boot.orm.jpa.EntityManagerFactoryBuilder;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Primary;
import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
import org.springframework.orm.jpa.JpaTransactionManager;
import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean;
......@@ -21,10 +21,8 @@ import javax.sql.DataSource;
@Configuration
@EnableTransactionManagement
@EnableJpaRepositories(basePackages = {"cn.quantgroup.cashloanflowboss.spi.clf.repository"},
entityManagerFactoryRef = "clfEntityManager",
transactionManagerRef = "clfTransactionManager")
public class ClfDSConfig {
@EnableJpaRepositories(basePackages = {"cn.quantgroup"}, entityManagerFactoryRef = "clfEntityManager", transactionManagerRef = "clfTransactionManager", includeFilters = @ComponentScan.Filter(CashLoanFlowDataSource.class))
public class CashLoanFlowDataSourceConfiguration {
@Value("${data.clf.url}")
private String jdbcUrl;
......
package cn.quantgroup.cashloanflowboss.core.persistence;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
/**
* Created by WeiWei on 2019/8/9.
*/
@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
public @interface CashLoanFlowBossDataSource {
}
package cn.quantgroup.cashloanflowboss.core.persistence;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
/**
* Created by WeiWei on 2019/8/9.
*/
@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
public @interface CashLoanFlowDataSource {
}
package cn.quantgroup.cashloanflowboss.spi.clf.repository;
import cn.quantgroup.cashloanflowboss.core.persistence.CashLoanFlowDataSource;
import cn.quantgroup.cashloanflowboss.spi.clf.entity.ClfCallbackConfiguration;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;
/**
* function:
......@@ -9,5 +11,7 @@ import org.springframework.data.jpa.repository.JpaRepository;
*
* @author: suntao
*/
@CashLoanFlowDataSource
@Repository
public interface ClfCallbackConfigurationRepository extends JpaRepository<ClfCallbackConfiguration, Long> {
}
package cn.quantgroup.cashloanflowboss.spi.clf.repository;
import cn.quantgroup.cashloanflowboss.core.persistence.CashLoanFlowDataSource;
import cn.quantgroup.cashloanflowboss.spi.clf.entity.ClfChannelConfiguration;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.stereotype.Repository;
@CashLoanFlowDataSource
@Repository
public interface ClfChannelConfigurationRepository extends PagingAndSortingRepository<ClfChannelConfiguration, Long>, JpaSpecificationExecutor<ClfChannelConfiguration> {
......
package cn.quantgroup.cashloanflowboss.spi.clf.repository;
import cn.quantgroup.cashloanflowboss.core.persistence.CashLoanFlowDataSource;
import cn.quantgroup.cashloanflowboss.spi.clf.entity.ClfOrderCallBack;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;
/**
* function:
......@@ -9,5 +11,7 @@ import org.springframework.data.jpa.repository.JpaRepository;
*
* @author: suntao
*/
@CashLoanFlowDataSource
@Repository
public interface ClfOrderCallbackRepository extends JpaRepository<ClfOrderCallBack, Long> {
}
package cn.quantgroup.cashloanflowboss.spi.clf.repository;
import cn.quantgroup.cashloanflowboss.core.persistence.CashLoanFlowDataSource;
import cn.quantgroup.cashloanflowboss.spi.clf.entity.ClfOrderMapping;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.stereotype.Repository;
import java.sql.Timestamp;
import java.util.List;
@CashLoanFlowDataSource
@Repository
public interface ClfOrderMappingRepository extends PagingAndSortingRepository<ClfOrderMapping, Long>, JpaSpecificationExecutor<ClfOrderMapping> {
List<ClfOrderMapping> findByChannelOrderNoAndRegisteredFrom(String channelOrderNo, Long registeredFrom);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment