diff --git a/pigx-common/pigx-common-bom/pom.xml b/pigx-common/pigx-common-bom/pom.xml index 6a962072d..2c3a2c457 100644 --- a/pigx-common/pigx-common-bom/pom.xml +++ b/pigx-common/pigx-common-bom/pom.xml @@ -30,7 +30,7 @@ 0.5.0 2.3.6.RELEASE 1.2.75 - 2.2.0 + 2.3.0 3.0.52.ALL 1.11.543 0.0.23 diff --git a/pigx-common/pigx-common-data/src/main/java/com/pig4cloud/pigx/common/data/mybatis/MybatisPlusConfiguration.java b/pigx-common/pigx-common-data/src/main/java/com/pig4cloud/pigx/common/data/mybatis/MybatisPlusConfiguration.java index 19b324694..988b1c33b 100644 --- a/pigx-common/pigx-common-data/src/main/java/com/pig4cloud/pigx/common/data/mybatis/MybatisPlusConfiguration.java +++ b/pigx-common/pigx-common-data/src/main/java/com/pig4cloud/pigx/common/data/mybatis/MybatisPlusConfiguration.java @@ -17,7 +17,6 @@ package com.pig4cloud.pigx.common.data.mybatis; -import com.baomidou.mybatisplus.annotation.DbType; import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor; import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor; import com.baomidou.mybatisplus.extension.plugins.inner.TenantLineInnerInterceptor; @@ -90,7 +89,6 @@ public class MybatisPlusConfiguration implements WebMvcConfigurer { interceptor.addInnerInterceptor(dataScopeInnerInterceptor); // 分页支持 PaginationInnerInterceptor paginationInnerInterceptor = new PaginationInnerInterceptor(); - paginationInnerInterceptor.setDbType(DbType.MYSQL); paginationInnerInterceptor.setMaxLimit(1000L); interceptor.addInnerInterceptor(paginationInnerInterceptor); return interceptor; diff --git a/pigx-common/pigx-common-test/src/main/java/com/pig4cloud/pigx/test/kit/OAuthKit.java b/pigx-common/pigx-common-test/src/main/java/com/pig4cloud/pigx/test/kit/OAuthKit.java index ada75a05a..e39879987 100644 --- a/pigx-common/pigx-common-test/src/main/java/com/pig4cloud/pigx/test/kit/OAuthKit.java +++ b/pigx-common/pigx-common-test/src/main/java/com/pig4cloud/pigx/test/kit/OAuthKit.java @@ -3,6 +3,7 @@ package com.pig4cloud.pigx.test.kit; import com.pig4cloud.pigx.common.core.util.SpringContextHolder; import org.springframework.http.HttpHeaders; import org.springframework.security.oauth2.client.OAuth2ClientContext; +import org.springframework.security.oauth2.common.OAuth2AccessToken; import org.springframework.test.web.servlet.request.RequestPostProcessor; /** @@ -21,7 +22,8 @@ public class OAuthKit { return mockRequest -> { OAuth2ClientContext clientContext = SpringContextHolder.getBean(OAuth2ClientContext.class); String token = clientContext.getAccessToken().getValue(); - mockRequest.addHeader(HttpHeaders.AUTHORIZATION, String.format("Bearer: %s", token)); + mockRequest.addHeader(HttpHeaders.AUTHORIZATION, + String.format("%s %s", OAuth2AccessToken.BEARER_TYPE, token)); return mockRequest; }; } diff --git a/pigx-upms/pigx-upms-api/src/main/resources/META-INF/spring.factories b/pigx-upms/pigx-upms-api/src/main/resources/META-INF/spring.factories index 6822beadc..b1b94cd3d 100755 --- a/pigx-upms/pigx-upms-api/src/main/resources/META-INF/spring.factories +++ b/pigx-upms/pigx-upms-api/src/main/resources/META-INF/spring.factories @@ -1,8 +1,9 @@ # 配置 feignclient 的全类名路径, 避免包名不规范无法扫描问题 com.pig4cloud.pigx.common.feign.PigxFeignAutoConfiguration=\ com.pig4cloud.pigx.admin.api.feign.RemoteDataScopeService,\ + com.pig4cloud.pigx.admin.api.feign.RemoteClientDetailsService,\ com.pig4cloud.pigx.admin.api.feign.RemoteLogService,\ com.pig4cloud.pigx.admin.api.feign.RemoteParamService,\ com.pig4cloud.pigx.admin.api.feign.RemoteTenantService,\ com.pig4cloud.pigx.admin.api.feign.RemoteTokenService,\ - com.pig4cloud.pigx.admin.api.feign.RemoteUserService \ No newline at end of file + com.pig4cloud.pigx.admin.api.feign.RemoteUserService diff --git a/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/controller/SysFileController.java b/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/controller/SysFileController.java index 255ce1166..e399d36f8 100644 --- a/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/controller/SysFileController.java +++ b/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/controller/SysFileController.java @@ -104,7 +104,7 @@ public class SysFileController { * @param response 本地文件 */ @SneakyThrows - @GetMapping("/local/{fileName}") + @GetMapping("/local/file/{fileName}") public void localFile(@PathVariable String fileName, HttpServletResponse response) { ClassPathResource resource = new ClassPathResource("file/" + fileName); response.setContentType("application/octet-stream; charset=UTF-8"); diff --git a/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/controller/SysUserController.java b/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/controller/SysUserController.java index c068c81dc..91b2f77ea 100644 --- a/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/controller/SysUserController.java +++ b/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/controller/SysUserController.java @@ -188,7 +188,7 @@ public class SysUserController { */ @ResponseExcel @GetMapping("/export") - @PreAuthorize("@pms.hasPermission('sys_log_export')") + @PreAuthorize("@pms.hasPermission('sys_user_export')") public List export(UserDTO userDTO) { return userService.listUser(userDTO); } @@ -200,7 +200,7 @@ public class SysUserController { * @return R */ @PostMapping("/import") - @PreAuthorize("@pms.hasPermission('sys_log_export')") + @PreAuthorize("@pms.hasPermission('sys_user_export')") public R importUser(@RequestExcel List excelVOList, BindingResult bindingResult) { return userService.importUser(excelVOList, bindingResult); } diff --git a/pigx-visual/pigx-codegen/pom.xml b/pigx-visual/pigx-codegen/pom.xml index 022fa8f91..51e45c7bc 100755 --- a/pigx-visual/pigx-codegen/pom.xml +++ b/pigx-visual/pigx-codegen/pom.xml @@ -15,6 +15,7 @@ 代码生成模块 + 0.0.1 4.0 11.5.0.0 12.1.0.1-atlassian-hosted @@ -123,6 +124,12 @@ org.apache.velocity ${velocity.version} + + + io.springboot.plugin + screw-spring-boot-starter + ${screw.version} + org.springframework.boot diff --git a/pigx-visual/pigx-codegen/src/main/java/com/pig4cloud/pigx/codegen/controller/GeneratorController.java b/pigx-visual/pigx-codegen/src/main/java/com/pig4cloud/pigx/codegen/controller/GeneratorController.java index 38d7b5d93..c272a0bb3 100755 --- a/pigx-visual/pigx-codegen/src/main/java/com/pig4cloud/pigx/codegen/controller/GeneratorController.java +++ b/pigx-visual/pigx-codegen/src/main/java/com/pig4cloud/pigx/codegen/controller/GeneratorController.java @@ -17,18 +17,25 @@ package com.pig4cloud.pigx.codegen.controller; +import cn.hutool.core.collection.CollUtil; import cn.hutool.core.io.IoUtil; +import cn.smallbun.screw.boot.config.Screw; +import cn.smallbun.screw.boot.properties.ScrewProperties; +import com.baomidou.dynamic.datasource.DynamicRoutingDataSource; +import com.baomidou.dynamic.datasource.toolkit.DynamicDataSourceContextHolder; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.pig4cloud.pigx.codegen.entity.GenConfig; import com.pig4cloud.pigx.codegen.service.GenTableColumnService; import com.pig4cloud.pigx.codegen.service.GeneratorService; import com.pig4cloud.pigx.common.core.util.R; +import com.pig4cloud.pigx.common.core.util.SpringContextHolder; import lombok.AllArgsConstructor; import lombok.SneakyThrows; import org.springframework.http.HttpHeaders; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletResponse; +import javax.sql.DataSource; /** * 代码生成器 @@ -41,6 +48,8 @@ import javax.servlet.http.HttpServletResponse; @RequestMapping("/generator") public class GeneratorController { + private final Screw screw; + private final GeneratorService generatorService; private final GenTableColumnService columnService; @@ -94,4 +103,24 @@ public class GeneratorController { IoUtil.write(response.getOutputStream(), Boolean.TRUE, data); } + @SneakyThrows + @GetMapping("/doc") + public void generatorDoc(String[] tableNames, String dsName, HttpServletResponse response) { + // 设置指定的数据源 + DynamicRoutingDataSource dynamicRoutingDataSource = SpringContextHolder.getBean(DynamicRoutingDataSource.class); + DynamicDataSourceContextHolder.push(dsName); + DataSource dataSource = dynamicRoutingDataSource.determineDataSource(); + + // 设置指定的目标表 + ScrewProperties screwProperties = SpringContextHolder.getBean(ScrewProperties.class); + screwProperties.setDesignatedTableName(CollUtil.toList(tableNames)); + + // 生成 + byte[] data = screw.documentGeneration(dataSource, screwProperties).toByteArray(); + response.reset(); + response.addHeader(HttpHeaders.CONTENT_LENGTH, String.valueOf(data.length)); + response.setContentType("application/octet-stream; charset=UTF-8"); + IoUtil.write(response.getOutputStream(), Boolean.TRUE, data); + } + } diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/config/DruidProperties.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/config/DruidProperties.java index 7d901bfea..d7f19289f 100644 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/config/DruidProperties.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/config/DruidProperties.java @@ -79,22 +79,6 @@ public class DruidProperties { datasource.setUsername(username); datasource.setPassword(password); datasource.setDriverClassName(driverClassName); - // configuration - datasource.setInitialSize(initialSize); - datasource.setMinIdle(minIdle); - datasource.setMaxActive(maxActive); - datasource.setMaxWait(maxWait); - - datasource.setTimeBetweenEvictionRunsMillis(timeBetweenEvictionRunsMillis); - datasource.setMinEvictableIdleTimeMillis(minEvictableIdleTimeMillis); - datasource.setTestWhileIdle(testWhileIdle); - - datasource.setPoolPreparedStatements(poolPreparedStatements); - datasource.setMaxPoolPreparedStatementPerConnectionSize(maxPoolPreparedStatementPerConnectionSize); - - datasource.setConnectionErrorRetryAttempts(connectionErrorRetryAttempts); - datasource.setBreakAfterAcquireFailure(breakAfterAcquireFailure); - datasource.setTimeBetweenConnectErrorMillis(timeBetweenConnectErrorMillis); return datasource; } diff --git a/pom.xml b/pom.xml index ac1a79f27..b6a5d24b0 100644 --- a/pom.xml +++ b/pom.xml @@ -33,7 +33,7 @@ - 2.5.6 + 2.5.7 2020.0.4 2021.1 UTF-8