diff --git a/ruoyi-modules/ruoyi-form/booksflow-form-starter/src/main/java/com/pcloud/booksflow/form/AppApplication.java b/ruoyi-modules/ruoyi-form/booksflow-form-starter/src/main/java/com/pcloud/booksflow/form/AppApplication.java index 899d0a031..cf0aa97f4 100644 --- a/ruoyi-modules/ruoyi-form/booksflow-form-starter/src/main/java/com/pcloud/booksflow/form/AppApplication.java +++ b/ruoyi-modules/ruoyi-form/booksflow-form-starter/src/main/java/com/pcloud/booksflow/form/AppApplication.java @@ -1,17 +1,17 @@ -package com.pcloud.booksflow.form; - -import lombok.extern.slf4j.Slf4j; -import org.springframework.boot.autoconfigure.SpringBootApplication; -import org.springframework.boot.builder.SpringApplicationBuilder; - -@Slf4j -@SpringBootApplication -public class AppApplication { - - public static void main(String[] args) { - log.warn("Start AppApplication service."); - new SpringApplicationBuilder(AppContext.class).build(args).run(args); - log.warn("Start AppApplication successfully."); - } - -} +//package com.pcloud.booksflow.form; +// +//import lombok.extern.slf4j.Slf4j; +//import org.springframework.boot.autoconfigure.SpringBootApplication; +//import org.springframework.boot.builder.SpringApplicationBuilder; +// +//@Slf4j +//@SpringBootApplication +//public class AppApplication { +// +// public static void main(String[] args) { +// log.warn("Start AppApplication service."); +// new SpringApplicationBuilder(AppContext.class).build(args).run(args); +// log.warn("Start AppApplication successfully."); +// } +// +//} diff --git a/ruoyi-modules/ruoyi-form/booksflow-form-starter/src/main/java/com/pcloud/booksflow/form/AppContext.java b/ruoyi-modules/ruoyi-form/booksflow-form-starter/src/main/java/com/pcloud/booksflow/form/AppContext.java index c29d06023..7e3ba7044 100644 --- a/ruoyi-modules/ruoyi-form/booksflow-form-starter/src/main/java/com/pcloud/booksflow/form/AppContext.java +++ b/ruoyi-modules/ruoyi-form/booksflow-form-starter/src/main/java/com/pcloud/booksflow/form/AppContext.java @@ -1,29 +1,29 @@ -package com.pcloud.booksflow.form; - -import com.pcloud.booksflow.form.config.BooksflowFormDataSourceConfig; -import com.pcloud.common.config.PublicConfig; -import com.pcloud.common.constant.AppLabelConstant; -import com.pcloud.common.core.datasource.DataSourceConfig; -import com.pcloud.common.readwrite.config.ReadWriteSplittingDataSourceConfig; -import org.mybatis.spring.annotation.MapperScan; -import org.springframework.cloud.netflix.eureka.EnableEurekaClient; -import org.springframework.cloud.openfeign.EnableFeignClients; -import org.springframework.context.annotation.ComponentScan; -import org.springframework.context.annotation.Configuration; -import org.springframework.context.annotation.FilterType; -import org.springframework.scheduling.annotation.EnableScheduling; - - -@Configuration -@ComponentScan(basePackages = {"com.pcloud"}, excludeFilters = { - @ComponentScan.Filter(type = FilterType.ASSIGNABLE_TYPE, classes = DataSourceConfig.class), - @ComponentScan.Filter(type = FilterType.ASSIGNABLE_TYPE, classes = ReadWriteSplittingDataSourceConfig.class), - @ComponentScan.Filter(type = FilterType.ASSIGNABLE_TYPE, classes = PublicConfig.class), - @ComponentScan.Filter(type = FilterType.ASSIGNABLE_TYPE, classes = AppLabelConstant.class) -}) -@EnableScheduling -@EnableEurekaClient -@EnableFeignClients({"com.pcloud", "com.commons.weboffice.api.service", "com.pcloud.llm.cockpit.client"}) -@MapperScan(basePackages = "com.pcloud.booksflow.form.mybatis.mapper", sqlSessionFactoryRef = BooksflowFormDataSourceConfig.SESSION_FACTORY_NAME) -public class AppContext { -} +//package com.pcloud.booksflow.form; +// +//import com.pcloud.booksflow.form.config.BooksflowFormDataSourceConfig; +//import com.pcloud.common.config.PublicConfig; +//import com.pcloud.common.constant.AppLabelConstant; +//import com.pcloud.common.core.datasource.DataSourceConfig; +//import com.pcloud.common.readwrite.config.ReadWriteSplittingDataSourceConfig; +//import org.mybatis.spring.annotation.MapperScan; +//import org.springframework.cloud.netflix.eureka.EnableEurekaClient; +//import org.springframework.cloud.openfeign.EnableFeignClients; +//import org.springframework.context.annotation.ComponentScan; +//import org.springframework.context.annotation.Configuration; +//import org.springframework.context.annotation.FilterType; +//import org.springframework.scheduling.annotation.EnableScheduling; +// +// +//@Configuration +//@ComponentScan(basePackages = {"com.pcloud"}, excludeFilters = { +// @ComponentScan.Filter(type = FilterType.ASSIGNABLE_TYPE, classes = DataSourceConfig.class), +// @ComponentScan.Filter(type = FilterType.ASSIGNABLE_TYPE, classes = ReadWriteSplittingDataSourceConfig.class), +// @ComponentScan.Filter(type = FilterType.ASSIGNABLE_TYPE, classes = PublicConfig.class), +// @ComponentScan.Filter(type = FilterType.ASSIGNABLE_TYPE, classes = AppLabelConstant.class) +//}) +//@EnableScheduling +//@EnableEurekaClient +//@EnableFeignClients({"com.pcloud", "com.commons.weboffice.api.service", "com.pcloud.llm.cockpit.client"}) +//@MapperScan(basePackages = "com.pcloud.booksflow.form.mybatis.mapper", sqlSessionFactoryRef = BooksflowFormDataSourceConfig.SESSION_FACTORY_NAME) +//public class AppContext { +//} diff --git a/ruoyi-modules/ruoyi-form/booksflow-form-starter/src/main/java/com/pcloud/booksflow/form/config/BooksflowFormDataSourceConfig.java b/ruoyi-modules/ruoyi-form/booksflow-form-starter/src/main/java/com/pcloud/booksflow/form/config/BooksflowFormDataSourceConfig.java index e6bb96dbd..1c3f05117 100644 --- a/ruoyi-modules/ruoyi-form/booksflow-form-starter/src/main/java/com/pcloud/booksflow/form/config/BooksflowFormDataSourceConfig.java +++ b/ruoyi-modules/ruoyi-form/booksflow-form-starter/src/main/java/com/pcloud/booksflow/form/config/BooksflowFormDataSourceConfig.java @@ -1,173 +1,173 @@ -package com.pcloud.booksflow.form.config; - -import com.alibaba.druid.pool.DruidDataSource; -import com.alibaba.druid.support.http.StatViewServlet; -import com.pcloud.booksflow.form.utils.TenantHelper; -import com.pcloud.common.core.mybatis.interceptor.ExecutorInterceptor; -import com.pcloud.common.druid.DruidDatasourceBuilder; -import com.pcloud.common.druid.DruidDefaultProperties; -import com.pcloud.common.readwrite.datasource.ReadWriteDataSource; -import com.pcloud.common.readwrite.route.ReadWriteMybatisRouter; -import com.pcloud.common.readwrite.route.context.ReadWriteLookupKey; -import com.pcloud.mybatis.Interceptor.MybatisPlusInterceptor; -import com.pcloud.mybatis.Interceptor.tenant.TenantLineInnerInterceptor; -import com.pcloud.mybatis.Interceptor.tenant.handler.TenantLineHandler; -import net.sf.jsqlparser.expression.Expression; -import net.sf.jsqlparser.expression.LongValue; -import org.apache.ibatis.plugin.Interceptor; -import org.apache.ibatis.session.SqlSessionFactory; -import org.mybatis.spring.SqlSessionFactoryBean; -import org.mybatis.spring.SqlSessionTemplate; -import org.mybatis.spring.annotation.MapperScan; -import org.mybatis.spring.boot.autoconfigure.SpringBootVFS; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Qualifier; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; -import org.springframework.boot.context.properties.ConfigurationProperties; -import org.springframework.boot.web.servlet.ServletRegistrationBean; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.context.annotation.DependsOn; -import org.springframework.context.annotation.Primary; -import org.springframework.transaction.TransactionManager; - -import javax.sql.DataSource; -import java.io.IOException; -import java.sql.SQLException; -import java.util.*; - -@Configuration -@MapperScan(basePackages = "com.pcloud.booksflow.form.mybatis.mapper") -public class BooksflowFormDataSourceConfig { - private final Logger logger = LoggerFactory.getLogger(getClass()); - - private static final String PREFIX = "booksflowForm"; - - public static final String DATASOURCE_NAME = PREFIX + "DataSource"; - private static final String MASTER_DATASOURCE_NAME = PREFIX + "MasterDataSource"; - private static final String SLAVE_DATASOURCE_NAME = PREFIX + "SlaveDataSource"; - public static final String TRANSACTION_MANAGER_NAME = PREFIX + "TransactionManager"; - public static final String SESSION_FACTORY_NAME = PREFIX + "SqlSessionFactory"; - public static final String SESSION_TEMPLATE_NAME = PREFIX + "SqlSessionTemplate"; - - @Value("${mybatis.mapper-locations}") - private String mapperLocations; - - @Value("${mybatis.type-aliases-package}") - private String typeAliasesPackage; - - @Bean(DruidDatasourceBuilder.DRUID_DEFAULT_PROPERTIES_NAME) - @ConditionalOnMissingBean - @ConfigurationProperties(prefix = "spring.datasource") - public DruidDefaultProperties druidDefaultProperties() { - return new DruidDefaultProperties(); - } - - @Bean(MASTER_DATASOURCE_NAME) - @ConfigurationProperties(prefix = "spring.datasource.booksflow-form.master") - public DruidDataSource master() { - logger.info("start create master datasource {}", PREFIX); - return DruidDatasourceBuilder.createDruidDatasource(druidDefaultProperties()); - } - - @Bean(SLAVE_DATASOURCE_NAME) - @ConfigurationProperties(prefix = "spring.datasource.booksflow-form.slave") - public DruidDataSource slave() { - logger.info("start create slave datasource {}", PREFIX); - return DruidDatasourceBuilder.createDruidDatasource(druidDefaultProperties()); - } - - @Primary - @Bean(DATASOURCE_NAME) - @DependsOn({MASTER_DATASOURCE_NAME, SLAVE_DATASOURCE_NAME}) - public DataSource dataSource(DruidDefaultProperties druidDefaultProperties, - @Qualifier(MASTER_DATASOURCE_NAME) DruidDataSource master, - @Qualifier(SLAVE_DATASOURCE_NAME) DruidDataSource slave) throws SQLException, IOException { - ReadWriteDataSource ds = new ReadWriteDataSource(); - ds.setDefaultTargetDataSource(master); - - Map dataSourceMap = new HashMap<>(); - dataSourceMap.put(ReadWriteLookupKey.MASTER, master); - dataSourceMap.put(ReadWriteLookupKey.SLAVE, slave); - - ds.setTargetDataSources(dataSourceMap); - return ds; - } - - @Primary - @Bean(SESSION_FACTORY_NAME) - public SqlSessionFactory sqlSessionFactory(@Qualifier(DATASOURCE_NAME) DataSource dataSource, - ExecutorInterceptor interceptor, - ReadWriteMybatisRouter rw) throws Exception { - logger.info("【DataSource {}】初始化SqlSessionFactory,", PREFIX); - final SqlSessionFactoryBean sessionFactoryBean = DruidDatasourceBuilder.createSqlSessionFactory(dataSource, mapperLocations); - logger.info("【DataSource {}】初始化SqlSessionFactory,mapperLocations={}", PREFIX, mapperLocations); - - sessionFactoryBean.setVfs(SpringBootVFS.class); - sessionFactoryBean.setTypeAliasesPackage(typeAliasesPackage); - sessionFactoryBean.setPlugins(new Interceptor[] { rw, interceptor, mybatisPlusInterceptor()}); - return sessionFactoryBean.getObject(); - } - - private MybatisPlusInterceptor mybatisPlusInterceptor() { - MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); - TenantLineInnerInterceptor tenant = new TenantHandler(Arrays.asList("tenant_init_status"), "agent_id"); - interceptor.addInnerInterceptor(tenant); - return interceptor; - } - - - public static class TenantHandler extends TenantLineInnerInterceptor { - /** - * 多租户初始化设置 - * - * @param ignoreTable 忽略的表 - * @param idName 租户id - */ - public TenantHandler(final List ignoreTable, final String idName) { - super(new TenantLineHandler() { - @Override - public Expression getTenantId() { - String tenantId = String.valueOf(TenantHelper.getTenantId()); - return new LongValue(tenantId); - } - - // 忽略表,true 表示忽略该表 - @Override - public boolean ignoreTable(String tableName) { - return ignoreTable.contains(tableName); - } - - // 多租户的列名自定义 - @Override - public String getTenantIdColumn() { - return idName; - } - }); - } - } - - @Primary - @Bean(TRANSACTION_MANAGER_NAME) - public TransactionManager transactionManager(@Qualifier(DATASOURCE_NAME) DataSource dataSource) { - return DruidDatasourceBuilder.createTransactionManager(dataSource); - } - - @Bean(name = SESSION_TEMPLATE_NAME) - @Primary - public SqlSessionTemplate sqlSessionTemplate(@Qualifier(SESSION_FACTORY_NAME) SqlSessionFactory sqlSessionFactory, - ExecutorInterceptor interceptor) throws Exception { - logger.info("【DataSource {}】初始化SqlSessionTemplate,", PREFIX); - return new SqlSessionTemplate(sqlSessionFactory); - } - - @Bean(DruidDatasourceBuilder.DRUID_STAT_VIEW_SERVLET_BEAN_NAME) - @ConditionalOnMissingBean(name = DruidDatasourceBuilder.DRUID_STAT_VIEW_SERVLET_BEAN_NAME) - public ServletRegistrationBean druidStatViewServlet(){ - return DruidDatasourceBuilder.createDruidStatViewServlet(); - } - - -} +//package com.pcloud.booksflow.form.config; +// +//import com.alibaba.druid.pool.DruidDataSource; +//import com.alibaba.druid.support.http.StatViewServlet; +//import com.pcloud.booksflow.form.utils.TenantHelper; +//import com.pcloud.common.core.mybatis.interceptor.ExecutorInterceptor; +//import com.pcloud.common.druid.DruidDatasourceBuilder; +//import com.pcloud.common.druid.DruidDefaultProperties; +//import com.pcloud.common.readwrite.datasource.ReadWriteDataSource; +//import com.pcloud.common.readwrite.route.ReadWriteMybatisRouter; +//import com.pcloud.common.readwrite.route.context.ReadWriteLookupKey; +//import com.pcloud.mybatis.Interceptor.MybatisPlusInterceptor; +//import com.pcloud.mybatis.Interceptor.tenant.TenantLineInnerInterceptor; +//import com.pcloud.mybatis.Interceptor.tenant.handler.TenantLineHandler; +//import net.sf.jsqlparser.expression.Expression; +//import net.sf.jsqlparser.expression.LongValue; +//import org.apache.ibatis.plugin.Interceptor; +//import org.apache.ibatis.session.SqlSessionFactory; +//import org.mybatis.spring.SqlSessionFactoryBean; +//import org.mybatis.spring.SqlSessionTemplate; +//import org.mybatis.spring.annotation.MapperScan; +//import org.mybatis.spring.boot.autoconfigure.SpringBootVFS; +//import org.slf4j.Logger; +//import org.slf4j.LoggerFactory; +//import org.springframework.beans.factory.annotation.Qualifier; +//import org.springframework.beans.factory.annotation.Value; +//import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; +//import org.springframework.boot.context.properties.ConfigurationProperties; +//import org.springframework.boot.web.servlet.ServletRegistrationBean; +//import org.springframework.context.annotation.Bean; +//import org.springframework.context.annotation.Configuration; +//import org.springframework.context.annotation.DependsOn; +//import org.springframework.context.annotation.Primary; +//import org.springframework.transaction.TransactionManager; +// +//import javax.sql.DataSource; +//import java.io.IOException; +//import java.sql.SQLException; +//import java.util.*; +// +//@Configuration +//@MapperScan(basePackages = "com.pcloud.booksflow.form.mybatis.mapper") +//public class BooksflowFormDataSourceConfig { +// private final Logger logger = LoggerFactory.getLogger(getClass()); +// +// private static final String PREFIX = "booksflowForm"; +// +// public static final String DATASOURCE_NAME = PREFIX + "DataSource"; +// private static final String MASTER_DATASOURCE_NAME = PREFIX + "MasterDataSource"; +// private static final String SLAVE_DATASOURCE_NAME = PREFIX + "SlaveDataSource"; +// public static final String TRANSACTION_MANAGER_NAME = PREFIX + "TransactionManager"; +// public static final String SESSION_FACTORY_NAME = PREFIX + "SqlSessionFactory"; +// public static final String SESSION_TEMPLATE_NAME = PREFIX + "SqlSessionTemplate"; +// +// @Value("${mybatis.mapper-locations}") +// private String mapperLocations; +// +// @Value("${mybatis.type-aliases-package}") +// private String typeAliasesPackage; +// +// @Bean(DruidDatasourceBuilder.DRUID_DEFAULT_PROPERTIES_NAME) +// @ConditionalOnMissingBean +// @ConfigurationProperties(prefix = "spring.datasource") +// public DruidDefaultProperties druidDefaultProperties() { +// return new DruidDefaultProperties(); +// } +// +// @Bean(MASTER_DATASOURCE_NAME) +// @ConfigurationProperties(prefix = "spring.datasource.booksflow-form.master") +// public DruidDataSource master() { +// logger.info("start create master datasource {}", PREFIX); +// return DruidDatasourceBuilder.createDruidDatasource(druidDefaultProperties()); +// } +// +// @Bean(SLAVE_DATASOURCE_NAME) +// @ConfigurationProperties(prefix = "spring.datasource.booksflow-form.slave") +// public DruidDataSource slave() { +// logger.info("start create slave datasource {}", PREFIX); +// return DruidDatasourceBuilder.createDruidDatasource(druidDefaultProperties()); +// } +// +// @Primary +// @Bean(DATASOURCE_NAME) +// @DependsOn({MASTER_DATASOURCE_NAME, SLAVE_DATASOURCE_NAME}) +// public DataSource dataSource(DruidDefaultProperties druidDefaultProperties, +// @Qualifier(MASTER_DATASOURCE_NAME) DruidDataSource master, +// @Qualifier(SLAVE_DATASOURCE_NAME) DruidDataSource slave) throws SQLException, IOException { +// ReadWriteDataSource ds = new ReadWriteDataSource(); +// ds.setDefaultTargetDataSource(master); +// +// Map dataSourceMap = new HashMap<>(); +// dataSourceMap.put(ReadWriteLookupKey.MASTER, master); +// dataSourceMap.put(ReadWriteLookupKey.SLAVE, slave); +// +// ds.setTargetDataSources(dataSourceMap); +// return ds; +// } +// +// @Primary +// @Bean(SESSION_FACTORY_NAME) +// public SqlSessionFactory sqlSessionFactory(@Qualifier(DATASOURCE_NAME) DataSource dataSource, +// ExecutorInterceptor interceptor, +// ReadWriteMybatisRouter rw) throws Exception { +// logger.info("【DataSource {}】初始化SqlSessionFactory,", PREFIX); +// final SqlSessionFactoryBean sessionFactoryBean = DruidDatasourceBuilder.createSqlSessionFactory(dataSource, mapperLocations); +// logger.info("【DataSource {}】初始化SqlSessionFactory,mapperLocations={}", PREFIX, mapperLocations); +// +// sessionFactoryBean.setVfs(SpringBootVFS.class); +// sessionFactoryBean.setTypeAliasesPackage(typeAliasesPackage); +// sessionFactoryBean.setPlugins(new Interceptor[] { rw, interceptor, mybatisPlusInterceptor()}); +// return sessionFactoryBean.getObject(); +// } +// +// private MybatisPlusInterceptor mybatisPlusInterceptor() { +// MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); +// TenantLineInnerInterceptor tenant = new TenantHandler(Arrays.asList("tenant_init_status"), "agent_id"); +// interceptor.addInnerInterceptor(tenant); +// return interceptor; +// } +// +// +// public static class TenantHandler extends TenantLineInnerInterceptor { +// /** +// * 多租户初始化设置 +// * +// * @param ignoreTable 忽略的表 +// * @param idName 租户id +// */ +// public TenantHandler(final List ignoreTable, final String idName) { +// super(new TenantLineHandler() { +// @Override +// public Expression getTenantId() { +// String tenantId = String.valueOf(TenantHelper.getTenantId()); +// return new LongValue(tenantId); +// } +// +// // 忽略表,true 表示忽略该表 +// @Override +// public boolean ignoreTable(String tableName) { +// return ignoreTable.contains(tableName); +// } +// +// // 多租户的列名自定义 +// @Override +// public String getTenantIdColumn() { +// return idName; +// } +// }); +// } +// } +// +// @Primary +// @Bean(TRANSACTION_MANAGER_NAME) +// public TransactionManager transactionManager(@Qualifier(DATASOURCE_NAME) DataSource dataSource) { +// return DruidDatasourceBuilder.createTransactionManager(dataSource); +// } +// +// @Bean(name = SESSION_TEMPLATE_NAME) +// @Primary +// public SqlSessionTemplate sqlSessionTemplate(@Qualifier(SESSION_FACTORY_NAME) SqlSessionFactory sqlSessionFactory, +// ExecutorInterceptor interceptor) throws Exception { +// logger.info("【DataSource {}】初始化SqlSessionTemplate,", PREFIX); +// return new SqlSessionTemplate(sqlSessionFactory); +// } +// +// @Bean(DruidDatasourceBuilder.DRUID_STAT_VIEW_SERVLET_BEAN_NAME) +// @ConditionalOnMissingBean(name = DruidDatasourceBuilder.DRUID_STAT_VIEW_SERVLET_BEAN_NAME) +// public ServletRegistrationBean druidStatViewServlet(){ +// return DruidDatasourceBuilder.createDruidStatViewServlet(); +// } +// +// +//} diff --git a/ruoyi-modules/ruoyi-form/booksflow-form-starter/src/main/java/com/pcloud/booksflow/form/config/BooksflowFormExceptionHandler.java b/ruoyi-modules/ruoyi-form/booksflow-form-starter/src/main/java/com/pcloud/booksflow/form/config/BooksflowFormExceptionHandler.java index 367568023..9eadb07f8 100644 --- a/ruoyi-modules/ruoyi-form/booksflow-form-starter/src/main/java/com/pcloud/booksflow/form/config/BooksflowFormExceptionHandler.java +++ b/ruoyi-modules/ruoyi-form/booksflow-form-starter/src/main/java/com/pcloud/booksflow/form/config/BooksflowFormExceptionHandler.java @@ -1,55 +1,55 @@ -package com.pcloud.booksflow.form.config; - -import com.pcloud.common.core.exception.GlobalExceptionHandler; -import com.pcloud.common.dto.ResponseDto; -import com.pcloud.common.exceptions.BizException; -import com.pcloud.common.permission.PermissionException; -import lombok.extern.slf4j.Slf4j; -import org.mybatis.spring.MyBatisSystemException; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.http.HttpStatus; -import org.springframework.http.ResponseEntity; -import org.springframework.validation.BindException; -import org.springframework.web.bind.annotation.ControllerAdvice; -import org.springframework.web.bind.annotation.ExceptionHandler; - -import javax.servlet.http.HttpServletRequest; -import java.util.stream.Collectors; - -@ControllerAdvice -@Slf4j -public class BooksflowFormExceptionHandler { - - @Autowired - private GlobalExceptionHandler globalExceptionHandler; - - @ExceptionHandler(BindException.class) - public ResponseEntity handleBindException(BindException e) { - String errorMsg = "参数校验失败: " + e.getBindingResult().getFieldErrors() - .stream() - .map(error -> error.getField() + ": " + error.getDefaultMessage()) - .collect(Collectors.joining(", ")); - log.warn(errorMsg, e); - ResponseDto responseDto = new ResponseDto<>(HttpStatus.BAD_REQUEST.value(), errorMsg); - return new ResponseEntity<>(responseDto, HttpStatus.BAD_REQUEST); - } - - @ExceptionHandler(BizException.class) - public ResponseEntity bizException(BizException e) { - log.error("错误:", e); - ResponseDto responseDto = new ResponseDto<>(HttpStatus.INTERNAL_SERVER_ERROR.value(), e.getMessage()); - return new ResponseEntity<>(responseDto, HttpStatus.INTERNAL_SERVER_ERROR); - } - - @ExceptionHandler(MyBatisSystemException.class) - public ResponseEntity myBatisSystemException(HttpServletRequest request, MyBatisSystemException e) throws Exception { - Throwable cause = e.getCause().getCause(); - if (cause instanceof PermissionException) { - return globalExceptionHandler.exceptionHandler(request, (PermissionException) cause); - } - log.warn("MyBatisSystemException:", e); - ResponseDto responseDto = new ResponseDto<>(HttpStatus.INTERNAL_SERVER_ERROR.value(), "系统繁忙,请稍后再试!"); - return new ResponseEntity<>(responseDto, HttpStatus.INTERNAL_SERVER_ERROR); - } - -} +//package com.pcloud.booksflow.form.config; +// +//import com.pcloud.common.core.exception.GlobalExceptionHandler; +//import com.pcloud.common.dto.ResponseDto; +//import com.pcloud.common.exceptions.BizException; +//import com.pcloud.common.permission.PermissionException; +//import lombok.extern.slf4j.Slf4j; +//import org.mybatis.spring.MyBatisSystemException; +//import org.springframework.beans.factory.annotation.Autowired; +//import org.springframework.http.HttpStatus; +//import org.springframework.http.ResponseEntity; +//import org.springframework.validation.BindException; +//import org.springframework.web.bind.annotation.ControllerAdvice; +//import org.springframework.web.bind.annotation.ExceptionHandler; +// +//import javax.servlet.http.HttpServletRequest; +//import java.util.stream.Collectors; +// +//@ControllerAdvice +//@Slf4j +//public class BooksflowFormExceptionHandler { +// +// @Autowired +// private GlobalExceptionHandler globalExceptionHandler; +// +// @ExceptionHandler(BindException.class) +// public ResponseEntity handleBindException(BindException e) { +// String errorMsg = "参数校验失败: " + e.getBindingResult().getFieldErrors() +// .stream() +// .map(error -> error.getField() + ": " + error.getDefaultMessage()) +// .collect(Collectors.joining(", ")); +// log.warn(errorMsg, e); +// ResponseDto responseDto = new ResponseDto<>(HttpStatus.BAD_REQUEST.value(), errorMsg); +// return new ResponseEntity<>(responseDto, HttpStatus.BAD_REQUEST); +// } +// +// @ExceptionHandler(BizException.class) +// public ResponseEntity bizException(BizException e) { +// log.error("错误:", e); +// ResponseDto responseDto = new ResponseDto<>(HttpStatus.INTERNAL_SERVER_ERROR.value(), e.getMessage()); +// return new ResponseEntity<>(responseDto, HttpStatus.INTERNAL_SERVER_ERROR); +// } +// +// @ExceptionHandler(MyBatisSystemException.class) +// public ResponseEntity myBatisSystemException(HttpServletRequest request, MyBatisSystemException e) throws Exception { +// Throwable cause = e.getCause().getCause(); +// if (cause instanceof PermissionException) { +// return globalExceptionHandler.exceptionHandler(request, (PermissionException) cause); +// } +// log.warn("MyBatisSystemException:", e); +// ResponseDto responseDto = new ResponseDto<>(HttpStatus.INTERNAL_SERVER_ERROR.value(), "系统繁忙,请稍后再试!"); +// return new ResponseEntity<>(responseDto, HttpStatus.INTERNAL_SERVER_ERROR); +// } +// +//} diff --git a/ruoyi-modules/ruoyi-form/booksflow-form-starter/src/main/java/com/pcloud/booksflow/form/config/NacosPropertyLoadConfig.java b/ruoyi-modules/ruoyi-form/booksflow-form-starter/src/main/java/com/pcloud/booksflow/form/config/NacosPropertyLoadConfig.java index a6446c80b..f5b6e3ea7 100644 --- a/ruoyi-modules/ruoyi-form/booksflow-form-starter/src/main/java/com/pcloud/booksflow/form/config/NacosPropertyLoadConfig.java +++ b/ruoyi-modules/ruoyi-form/booksflow-form-starter/src/main/java/com/pcloud/booksflow/form/config/NacosPropertyLoadConfig.java @@ -1,19 +1,19 @@ -package com.pcloud.booksflow.form.config; - -import com.alibaba.nacos.spring.context.annotation.config.EnableNacosConfig; -import com.alibaba.nacos.spring.context.annotation.config.NacosPropertySource; -import lombok.Data; -import org.springframework.context.annotation.Configuration; -import org.springframework.stereotype.Component; - -@Configuration -@EnableNacosConfig -@NacosPropertySource(dataId = "booksflow-form.yml", autoRefreshed = true, groupId = "${config.group.id:DEFAULT_GROUP}") -@NacosPropertySource(dataId = "db-default.yml") -@NacosPropertySource(dataId = "eureka.yml", first = true, groupId = "${config.group.id:DEFAULT_GROUP}") -@NacosPropertySource(dataId = "redis.properties", groupId = "${config.group.id:DEFAULT_GROUP}") -@Data -@Component -public class NacosPropertyLoadConfig { - -} +//package com.pcloud.booksflow.form.config; +// +//import com.alibaba.nacos.spring.context.annotation.config.EnableNacosConfig; +//import com.alibaba.nacos.spring.context.annotation.config.NacosPropertySource; +//import lombok.Data; +//import org.springframework.context.annotation.Configuration; +//import org.springframework.stereotype.Component; +// +//@Configuration +//@EnableNacosConfig +//@NacosPropertySource(dataId = "booksflow-form.yml", autoRefreshed = true, groupId = "${config.group.id:DEFAULT_GROUP}") +//@NacosPropertySource(dataId = "db-default.yml") +//@NacosPropertySource(dataId = "eureka.yml", first = true, groupId = "${config.group.id:DEFAULT_GROUP}") +//@NacosPropertySource(dataId = "redis.properties", groupId = "${config.group.id:DEFAULT_GROUP}") +//@Data +//@Component +//public class NacosPropertyLoadConfig { +// +//} diff --git a/ruoyi-modules/ruoyi-form/booksflow-form-starter/src/main/java/com/pcloud/booksflow/form/config/SwaggerConfig.java b/ruoyi-modules/ruoyi-form/booksflow-form-starter/src/main/java/com/pcloud/booksflow/form/config/SwaggerConfig.java index 81e85f0d7..e64a8c40b 100644 --- a/ruoyi-modules/ruoyi-form/booksflow-form-starter/src/main/java/com/pcloud/booksflow/form/config/SwaggerConfig.java +++ b/ruoyi-modules/ruoyi-form/booksflow-form-starter/src/main/java/com/pcloud/booksflow/form/config/SwaggerConfig.java @@ -1,37 +1,37 @@ -package com.pcloud.booksflow.form.config; - -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.context.annotation.Profile; -import springfox.documentation.builders.ApiInfoBuilder; -import springfox.documentation.builders.PathSelectors; -import springfox.documentation.builders.RequestHandlerSelectors; -import springfox.documentation.service.ApiInfo; -import springfox.documentation.spi.DocumentationType; -import springfox.documentation.spring.web.plugins.Docket; -import springfox.documentation.swagger2.annotations.EnableSwagger2; - - -@Configuration -@EnableSwagger2 -@Profile({"dev", "test"}) -public class SwaggerConfig { - - @Bean - public Docket api() { - return new Docket(DocumentationType.SWAGGER_2) - .select() - .apis(RequestHandlerSelectors.basePackage("com.pcloud.booksflow.form")) - .paths(PathSelectors.any()) - .build() - .apiInfo(apiInfo()); - } - - private ApiInfo apiInfo() { - return new ApiInfoBuilder() - .title("BooksFlow Form API") - .description("表单管理服务API文档") - .version("1.0") - .build(); - } -} +//package com.pcloud.booksflow.form.config; +// +//import org.springframework.context.annotation.Bean; +//import org.springframework.context.annotation.Configuration; +//import org.springframework.context.annotation.Profile; +//import springfox.documentation.builders.ApiInfoBuilder; +//import springfox.documentation.builders.PathSelectors; +//import springfox.documentation.builders.RequestHandlerSelectors; +//import springfox.documentation.service.ApiInfo; +//import springfox.documentation.spi.DocumentationType; +//import springfox.documentation.spring.web.plugins.Docket; +//import springfox.documentation.swagger2.annotations.EnableSwagger2; +// +// +//@Configuration +//@EnableSwagger2 +//@Profile({"dev", "test"}) +//public class SwaggerConfig { +// +// @Bean +// public Docket api() { +// return new Docket(DocumentationType.SWAGGER_2) +// .select() +// .apis(RequestHandlerSelectors.basePackage("com.pcloud.booksflow.form")) +// .paths(PathSelectors.any()) +// .build() +// .apiInfo(apiInfo()); +// } +// +// private ApiInfo apiInfo() { +// return new ApiInfoBuilder() +// .title("BooksFlow Form API") +// .description("表单管理服务API文档") +// .version("1.0") +// .build(); +// } +//}