Showing
267 changed files
with
793 additions
and
919 deletions
| @@ -292,12 +292,12 @@ | @@ -292,12 +292,12 @@ | ||
| 292 | </dependency> | 292 | </dependency> |
| 293 | 293 | ||
| 294 | <!-- 核心模块--> | 294 | <!-- 核心模块--> |
| 295 | - <dependency> | 295 | + <!-- <dependency> |
| 296 | <groupId>com.scm</groupId> | 296 | <groupId>com.scm</groupId> |
| 297 | <artifactId>scm-framework</artifactId> | 297 | <artifactId>scm-framework</artifactId> |
| 298 | <version>${fp-scm.version}</version> | 298 | <version>${fp-scm.version}</version> |
| 299 | </dependency> | 299 | </dependency> |
| 300 | - | 300 | +--> |
| 301 | <!-- 系统模块--> | 301 | <!-- 系统模块--> |
| 302 | <dependency> | 302 | <dependency> |
| 303 | <groupId>com.scm</groupId> | 303 | <groupId>com.scm</groupId> |
| @@ -325,6 +325,13 @@ | @@ -325,6 +325,13 @@ | ||
| 325 | <artifactId>scm-sms</artifactId> | 325 | <artifactId>scm-sms</artifactId> |
| 326 | <version>${fp-scm.version}</version> | 326 | <version>${fp-scm.version}</version> |
| 327 | </dependency> | 327 | </dependency> |
| 328 | + | ||
| 329 | + <!-- SMS短信模块 --> | ||
| 330 | + <dependency> | ||
| 331 | + <groupId>com.scm</groupId> | ||
| 332 | + <artifactId>scm-core</artifactId> | ||
| 333 | + <version>${fp-scm.version}</version> | ||
| 334 | + </dependency> | ||
| 328 | </dependencies> | 335 | </dependencies> |
| 329 | </dependencyManagement> | 336 | </dependencyManagement> |
| 330 | 337 | ||
| @@ -332,12 +339,7 @@ | @@ -332,12 +339,7 @@ | ||
| 332 | <module>scm-admin</module> | 339 | <module>scm-admin</module> |
| 333 | <module>scm-framework</module> | 340 | <module>scm-framework</module> |
| 334 | <module>scm-system</module> | 341 | <module>scm-system</module> |
| 335 | - <module>scm-job</module> | ||
| 336 | - <module>scm-generator</module> | ||
| 337 | - <module>scm-common</module> | ||
| 338 | <module>scm-extend</module> | 342 | <module>scm-extend</module> |
| 339 | - <module>scm-oss</module> | ||
| 340 | - <module>scm-sms</module> | ||
| 341 | </modules> | 343 | </modules> |
| 342 | <packaging>pom</packaging> | 344 | <packaging>pom</packaging> |
| 343 | 345 |
| @@ -48,7 +48,7 @@ | @@ -48,7 +48,7 @@ | ||
| 48 | <!-- 核心模块--> | 48 | <!-- 核心模块--> |
| 49 | <dependency> | 49 | <dependency> |
| 50 | <groupId>com.scm</groupId> | 50 | <groupId>com.scm</groupId> |
| 51 | - <artifactId>scm-framework</artifactId> | 51 | + <artifactId>scm-core</artifactId> |
| 52 | </dependency> | 52 | </dependency> |
| 53 | 53 | ||
| 54 | <dependency> | 54 | <dependency> |
| @@ -49,7 +49,7 @@ spring: | @@ -49,7 +49,7 @@ spring: | ||
| 49 | driverClassName: com.mysql.cj.jdbc.Driver | 49 | driverClassName: com.mysql.cj.jdbc.Driver |
| 50 | # jdbc 所有参数配置参考 https://lionli.blog.csdn.net/article/details/122018562 | 50 | # jdbc 所有参数配置参考 https://lionli.blog.csdn.net/article/details/122018562 |
| 51 | # rewriteBatchedStatements=true 批处理优化 大幅提升批量插入更新删除性能(对数据库有性能损耗 使用批量操作应考虑性能问题) | 51 | # rewriteBatchedStatements=true 批处理优化 大幅提升批量插入更新删除性能(对数据库有性能损耗 使用批量操作应考虑性能问题) |
| 52 | - url: jdbc:mysql://192.168.1.18:3306/ruoyi-vue?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true | 52 | + url: jdbc:mysql://192.168.1.21:3306/ruoyi-vue?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true |
| 53 | username: root | 53 | username: root |
| 54 | password: root | 54 | password: root |
| 55 | # 从库数据源 | 55 | # 从库数据源 |
| @@ -57,7 +57,7 @@ spring: | @@ -57,7 +57,7 @@ spring: | ||
| 57 | lazy: true | 57 | lazy: true |
| 58 | type: ${spring.datasource.type} | 58 | type: ${spring.datasource.type} |
| 59 | driverClassName: com.mysql.cj.jdbc.Driver | 59 | driverClassName: com.mysql.cj.jdbc.Driver |
| 60 | - url: jdbc:mysql://192.168.1.18:3306/ruoyi-vue2?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true | 60 | + url: jdbc:mysql://192.168.1.21:3306/ruoyi-vue2?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true |
| 61 | username: root | 61 | username: root |
| 62 | password: root | 62 | password: root |
| 63 | hikari: | 63 | hikari: |
| @@ -81,13 +81,13 @@ spring: | @@ -81,13 +81,13 @@ spring: | ||
| 81 | ds0: | 81 | ds0: |
| 82 | type: com.zaxxer.hikari.HikariDataSource | 82 | type: com.zaxxer.hikari.HikariDataSource |
| 83 | driver-class-name: com.mysql.cj.jdbc.Driver | 83 | driver-class-name: com.mysql.cj.jdbc.Driver |
| 84 | - url: jdbc:mysql://192.168.1.18:3306/ruoyi-vue?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true | 84 | + url: jdbc:mysql://192.168.1.21:3306/ruoyi-vue?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true |
| 85 | username: root | 85 | username: root |
| 86 | password: root | 86 | password: root |
| 87 | ds1: | 87 | ds1: |
| 88 | type: com.zaxxer.hikari.HikariDataSource | 88 | type: com.zaxxer.hikari.HikariDataSource |
| 89 | driver-class-name: com.mysql.cj.jdbc.Driver | 89 | driver-class-name: com.mysql.cj.jdbc.Driver |
| 90 | - url: jdbc:mysql://192.168.1.18:3306/ruoyi-vue?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true | 90 | + url: jdbc:mysql://192.168.1.21:3306/ruoyi-vue?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true |
| 91 | username: root | 91 | username: root |
| 92 | password: root | 92 | password: root |
| 93 | rules: # 配置表规则 | 93 | rules: # 配置表规则 |
| @@ -125,7 +125,7 @@ spring: | @@ -125,7 +125,7 @@ spring: | ||
| 125 | spring: | 125 | spring: |
| 126 | redis: | 126 | redis: |
| 127 | # 地址 | 127 | # 地址 |
| 128 | - host: 192.168.1.18 | 128 | + host: 192.168.1.21 |
| 129 | # 端口,默认为6379 | 129 | # 端口,默认为6379 |
| 130 | port: 6379 | 130 | port: 6379 |
| 131 | # 数据库索引 | 131 | # 数据库索引 |
| @@ -8,65 +8,18 @@ | @@ -8,65 +8,18 @@ | ||
| 8 | <version>4.8.2</version> | 8 | <version>4.8.2</version> |
| 9 | </parent> | 9 | </parent> |
| 10 | <modelVersion>4.0.0</modelVersion> | 10 | <modelVersion>4.0.0</modelVersion> |
| 11 | - | ||
| 12 | <artifactId>scm-framework</artifactId> | 11 | <artifactId>scm-framework</artifactId> |
| 12 | + <packaging>pom</packaging> | ||
| 13 | + | ||
| 14 | + <modules> | ||
| 15 | + <module>scm-common</module> | ||
| 16 | + <module>scm-generator</module> | ||
| 17 | + <module>scm-job</module> | ||
| 18 | + <module>scm-mybatis</module> | ||
| 19 | + <module>scm-oss</module> | ||
| 20 | + <module>scm-sms</module> | ||
| 21 | + <module>scm-core</module> | ||
| 22 | + </modules> | ||
| 13 | 23 | ||
| 14 | - <description> | ||
| 15 | - framework框架核心 | ||
| 16 | - </description> | ||
| 17 | - | ||
| 18 | - <dependencies> | ||
| 19 | - | ||
| 20 | - <!-- SpringBoot Web容器 --> | ||
| 21 | - <dependency> | ||
| 22 | - <groupId>org.springframework.boot</groupId> | ||
| 23 | - <artifactId>spring-boot-starter-web</artifactId> | ||
| 24 | - <exclusions> | ||
| 25 | - <exclusion> | ||
| 26 | - <artifactId>spring-boot-starter-tomcat</artifactId> | ||
| 27 | - <groupId>org.springframework.boot</groupId> | ||
| 28 | - </exclusion> | ||
| 29 | - </exclusions> | ||
| 30 | - </dependency> | ||
| 31 | - <!-- web 容器使用 undertow 性能更强 --> | ||
| 32 | - <dependency> | ||
| 33 | - <groupId>org.springframework.boot</groupId> | ||
| 34 | - <artifactId>spring-boot-starter-undertow</artifactId> | ||
| 35 | - </dependency> | ||
| 36 | - | ||
| 37 | - <!-- SpringBoot 拦截器 --> | ||
| 38 | - <dependency> | ||
| 39 | - <groupId>org.springframework.boot</groupId> | ||
| 40 | - <artifactId>spring-boot-starter-aop</artifactId> | ||
| 41 | - </dependency> | ||
| 42 | - | ||
| 43 | - <!-- sql性能分析插件 --> | ||
| 44 | - <dependency> | ||
| 45 | - <groupId>p6spy</groupId> | ||
| 46 | - <artifactId>p6spy</artifactId> | ||
| 47 | - </dependency> | ||
| 48 | - | ||
| 49 | - <dependency> | ||
| 50 | - <groupId>org.springframework.boot</groupId> | ||
| 51 | - <artifactId>spring-boot-starter-actuator</artifactId> | ||
| 52 | - </dependency> | ||
| 53 | - | ||
| 54 | - <dependency> | ||
| 55 | - <groupId>de.codecentric</groupId> | ||
| 56 | - <artifactId>spring-boot-admin-starter-client</artifactId> | ||
| 57 | - </dependency> | ||
| 58 | - | ||
| 59 | - <dependency> | ||
| 60 | - <groupId>com.alibaba</groupId> | ||
| 61 | - <artifactId>transmittable-thread-local</artifactId> | ||
| 62 | - </dependency> | ||
| 63 | - | ||
| 64 | - <!-- 系统模块--> | ||
| 65 | - <dependency> | ||
| 66 | - <groupId>com.scm</groupId> | ||
| 67 | - <artifactId>scm-common</artifactId> | ||
| 68 | - </dependency> | ||
| 69 | - | ||
| 70 | - </dependencies> | ||
| 71 | 24 | ||
| 72 | </project> | 25 | </project> |
| @@ -3,7 +3,7 @@ | @@ -3,7 +3,7 @@ | ||
| 3 | xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | 3 | xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
| 4 | xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> | 4 | xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> |
| 5 | <parent> | 5 | <parent> |
| 6 | - <artifactId>fp_scm</artifactId> | 6 | + <artifactId>scm-framework</artifactId> |
| 7 | <groupId>com.scm</groupId> | 7 | <groupId>com.scm</groupId> |
| 8 | <version>4.8.2</version> | 8 | <version>4.8.2</version> |
| 9 | </parent> | 9 | </parent> |
scm-framework/scm-core/pom.xml
0 → 100644
| 1 | +<?xml version="1.0" encoding="UTF-8"?> | ||
| 2 | +<project xmlns="http://maven.apache.org/POM/4.0.0" | ||
| 3 | + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | ||
| 4 | + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> | ||
| 5 | + <parent> | ||
| 6 | + <groupId>com.scm</groupId> | ||
| 7 | + <artifactId>scm-framework</artifactId> | ||
| 8 | + <version>4.8.2</version> | ||
| 9 | + </parent> | ||
| 10 | + <modelVersion>4.0.0</modelVersion> | ||
| 11 | + | ||
| 12 | + <artifactId>scm-core</artifactId> | ||
| 13 | + | ||
| 14 | + <dependencies> | ||
| 15 | + | ||
| 16 | + <!-- SpringBoot Web容器 --> | ||
| 17 | + <dependency> | ||
| 18 | + <groupId>org.springframework.boot</groupId> | ||
| 19 | + <artifactId>spring-boot-starter-web</artifactId> | ||
| 20 | + <exclusions> | ||
| 21 | + <exclusion> | ||
| 22 | + <artifactId>spring-boot-starter-tomcat</artifactId> | ||
| 23 | + <groupId>org.springframework.boot</groupId> | ||
| 24 | + </exclusion> | ||
| 25 | + </exclusions> | ||
| 26 | + </dependency> | ||
| 27 | + <!-- web 容器使用 undertow 性能更强 --> | ||
| 28 | + <dependency> | ||
| 29 | + <groupId>org.springframework.boot</groupId> | ||
| 30 | + <artifactId>spring-boot-starter-undertow</artifactId> | ||
| 31 | + </dependency> | ||
| 32 | + | ||
| 33 | + <!-- SpringBoot 拦截器 --> | ||
| 34 | + <dependency> | ||
| 35 | + <groupId>org.springframework.boot</groupId> | ||
| 36 | + <artifactId>spring-boot-starter-aop</artifactId> | ||
| 37 | + </dependency> | ||
| 38 | + | ||
| 39 | + <!-- sql性能分析插件 --> | ||
| 40 | + <dependency> | ||
| 41 | + <groupId>p6spy</groupId> | ||
| 42 | + <artifactId>p6spy</artifactId> | ||
| 43 | + </dependency> | ||
| 44 | + | ||
| 45 | + <dependency> | ||
| 46 | + <groupId>org.springframework.boot</groupId> | ||
| 47 | + <artifactId>spring-boot-starter-actuator</artifactId> | ||
| 48 | + </dependency> | ||
| 49 | + | ||
| 50 | + <dependency> | ||
| 51 | + <groupId>de.codecentric</groupId> | ||
| 52 | + <artifactId>spring-boot-admin-starter-client</artifactId> | ||
| 53 | + </dependency> | ||
| 54 | + | ||
| 55 | + <dependency> | ||
| 56 | + <groupId>com.alibaba</groupId> | ||
| 57 | + <artifactId>transmittable-thread-local</artifactId> | ||
| 58 | + </dependency> | ||
| 59 | + | ||
| 60 | + <!-- 系统模块--> | ||
| 61 | + <dependency> | ||
| 62 | + <groupId>com.scm</groupId> | ||
| 63 | + <artifactId>scm-common</artifactId> | ||
| 64 | + </dependency> | ||
| 65 | + | ||
| 66 | + </dependencies> | ||
| 67 | + | ||
| 68 | +</project> |
| @@ -3,7 +3,7 @@ | @@ -3,7 +3,7 @@ | ||
| 3 | xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | 3 | xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
| 4 | xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> | 4 | xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> |
| 5 | <parent> | 5 | <parent> |
| 6 | - <artifactId>fp_scm</artifactId> | 6 | + <artifactId>scm-framework</artifactId> |
| 7 | <groupId>com.scm</groupId> | 7 | <groupId>com.scm</groupId> |
| 8 | <version>4.8.2</version> | 8 | <version>4.8.2</version> |
| 9 | </parent> | 9 | </parent> |
| 1 | +package ${packageName}.domain.bo; | ||
| 2 | + | ||
| 3 | +import com.ruoyi.common.core.validate.AddGroup; | ||
| 4 | +import com.ruoyi.common.core.validate.EditGroup; | ||
| 5 | +import lombok.Data; | ||
| 6 | +import lombok.EqualsAndHashCode; | ||
| 7 | +import javax.validation.constraints.*; | ||
| 8 | + | ||
| 9 | +import java.util.Date; | ||
| 10 | + | ||
| 11 | +#foreach ($import in $importList) | ||
| 12 | +import ${import}; | ||
| 13 | +#end | ||
| 14 | +#if($table.crud || $table.sub) | ||
| 15 | +import com.ruoyi.common.core.domain.BaseEntity; | ||
| 16 | +#elseif($table.tree) | ||
| 17 | +import com.ruoyi.common.core.domain.TreeEntity; | ||
| 18 | +#end | ||
| 19 | + | ||
| 20 | +/** | ||
| 21 | + * ${functionName}业务对象 ${tableName} | ||
| 22 | + * | ||
| 23 | + * @author ${author} | ||
| 24 | + * @date ${datetime} | ||
| 25 | + */ | ||
| 26 | +#if($table.crud || $table.sub) | ||
| 27 | +#set($Entity="BaseEntity") | ||
| 28 | +#elseif($table.tree) | ||
| 29 | +#set($Entity="TreeEntity<${ClassName}Bo>") | ||
| 30 | +#end | ||
| 31 | + | ||
| 32 | +@Data | ||
| 33 | +@EqualsAndHashCode(callSuper = true) | ||
| 34 | +public class ${ClassName}Bo extends ${Entity} { | ||
| 35 | + | ||
| 36 | +#foreach ($column in $columns) | ||
| 37 | +#if(!$table.isSuperColumn($column.javaField) && ($column.query || $column.insert || $column.edit)) | ||
| 38 | + /** | ||
| 39 | + * $column.columnComment | ||
| 40 | + */ | ||
| 41 | +#if($column.insert && $column.edit) | ||
| 42 | +#set($Group="AddGroup.class, EditGroup.class") | ||
| 43 | +#elseif($column.insert) | ||
| 44 | +#set($Group="AddGroup.class") | ||
| 45 | +#elseif($column.edit) | ||
| 46 | +#set($Group="EditGroup.class") | ||
| 47 | +#end | ||
| 48 | +#if($column.required) | ||
| 49 | +#if($column.javaType == 'String') | ||
| 50 | + @NotBlank(message = "$column.columnComment不能为空", groups = { $Group }) | ||
| 51 | +#else | ||
| 52 | + @NotNull(message = "$column.columnComment不能为空", groups = { $Group }) | ||
| 53 | +#end | ||
| 54 | +#end | ||
| 55 | + private $column.javaType $column.javaField; | ||
| 56 | + | ||
| 57 | +#end | ||
| 58 | +#end | ||
| 59 | + | ||
| 60 | +} |
| 1 | +package ${packageName}.service; | ||
| 2 | + | ||
| 3 | +import ${packageName}.domain.${ClassName}; | ||
| 4 | +import ${packageName}.domain.vo.${ClassName}Vo; | ||
| 5 | +import ${packageName}.domain.bo.${ClassName}Bo; | ||
| 6 | +#if($table.crud || $table.sub) | ||
| 7 | +import com.ruoyi.common.core.page.TableDataInfo; | ||
| 8 | +import com.ruoyi.common.core.domain.PageQuery; | ||
| 9 | +#end | ||
| 10 | + | ||
| 11 | +import java.util.Collection; | ||
| 12 | +import java.util.List; | ||
| 13 | + | ||
| 14 | +/** | ||
| 15 | + * ${functionName}Service接口 | ||
| 16 | + * | ||
| 17 | + * @author ${author} | ||
| 18 | + * @date ${datetime} | ||
| 19 | + */ | ||
| 20 | +public interface I${ClassName}Service { | ||
| 21 | + | ||
| 22 | + /** | ||
| 23 | + * 查询${functionName} | ||
| 24 | + */ | ||
| 25 | + ${ClassName}Vo queryById(${pkColumn.javaType} ${pkColumn.javaField}); | ||
| 26 | + | ||
| 27 | +#if($table.crud || $table.sub) | ||
| 28 | + /** | ||
| 29 | + * 查询${functionName}列表 | ||
| 30 | + */ | ||
| 31 | + TableDataInfo<${ClassName}Vo> queryPageList(${ClassName}Bo bo, PageQuery pageQuery); | ||
| 32 | +#end | ||
| 33 | + | ||
| 34 | + /** | ||
| 35 | + * 查询${functionName}列表 | ||
| 36 | + */ | ||
| 37 | + List<${ClassName}Vo> queryList(${ClassName}Bo bo); | ||
| 38 | + | ||
| 39 | + /** | ||
| 40 | + * 新增${functionName} | ||
| 41 | + */ | ||
| 42 | + Boolean insertByBo(${ClassName}Bo bo); | ||
| 43 | + | ||
| 44 | + /** | ||
| 45 | + * 修改${functionName} | ||
| 46 | + */ | ||
| 47 | + Boolean updateByBo(${ClassName}Bo bo); | ||
| 48 | + | ||
| 49 | + /** | ||
| 50 | + * 校验并批量删除${functionName}信息 | ||
| 51 | + */ | ||
| 52 | + Boolean deleteWithValidByIds(Collection<${pkColumn.javaType}> ids, Boolean isValid); | ||
| 53 | +} |
| 1 | +package ${packageName}.domain; | ||
| 2 | + | ||
| 3 | +#foreach ($import in $subImportList) | ||
| 4 | +import ${import}; | ||
| 5 | +#end | ||
| 6 | +import org.apache.commons.lang3.builder.ToStringBuilder; | ||
| 7 | +import org.apache.commons.lang3.builder.ToStringStyle; | ||
| 8 | +import com.ruoyi.common.annotation.Excel; | ||
| 9 | +import com.ruoyi.common.core.domain.BaseEntity; | ||
| 10 | + | ||
| 11 | +/** | ||
| 12 | + * ${subTable.functionName}对象 ${subTableName} | ||
| 13 | + * | ||
| 14 | + * @author ${author} | ||
| 15 | + * @date ${datetime} | ||
| 16 | + */ | ||
| 17 | +public class ${subClassName} extends BaseEntity | ||
| 18 | +{ | ||
| 19 | + private static final long serialVersionUID = 1L; | ||
| 20 | + | ||
| 21 | +#foreach ($column in $subTable.columns) | ||
| 22 | +#if(!$table.isSuperColumn($column.javaField)) | ||
| 23 | + /** $column.columnComment */ | ||
| 24 | +#if($column.list) | ||
| 25 | +#set($parentheseIndex=$column.columnComment.indexOf("(")) | ||
| 26 | +#if($parentheseIndex != -1) | ||
| 27 | +#set($comment=$column.columnComment.substring(0, $parentheseIndex)) | ||
| 28 | +#else | ||
| 29 | +#set($comment=$column.columnComment) | ||
| 30 | +#end | ||
| 31 | +#if($parentheseIndex != -1) | ||
| 32 | + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") | ||
| 33 | +#elseif($column.javaType == 'Date') | ||
| 34 | + @JsonFormat(pattern = "yyyy-MM-dd") | ||
| 35 | + @Excel(name = "${comment}", width = 30, dateFormat = "yyyy-MM-dd") | ||
| 36 | +#else | ||
| 37 | + @Excel(name = "${comment}") | ||
| 38 | +#end | ||
| 39 | +#end | ||
| 40 | + private $column.javaType $column.javaField; | ||
| 41 | + | ||
| 42 | +#end | ||
| 43 | +#end | ||
| 44 | +#foreach ($column in $subTable.columns) | ||
| 45 | +#if(!$table.isSuperColumn($column.javaField)) | ||
| 46 | +#if($column.javaField.length() > 2 && $column.javaField.substring(1,2).matches("[A-Z]")) | ||
| 47 | +#set($AttrName=$column.javaField) | ||
| 48 | +#else | ||
| 49 | +#set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)}) | ||
| 50 | +#end | ||
| 51 | + public void set${AttrName}($column.javaType $column.javaField) | ||
| 52 | + { | ||
| 53 | + this.$column.javaField = $column.javaField; | ||
| 54 | + } | ||
| 55 | + | ||
| 56 | + public $column.javaType get${AttrName}() | ||
| 57 | + { | ||
| 58 | + return $column.javaField; | ||
| 59 | + } | ||
| 60 | +#end | ||
| 61 | +#end | ||
| 62 | + | ||
| 63 | + @Override | ||
| 64 | + public String toString() { | ||
| 65 | + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) | ||
| 66 | +#foreach ($column in $subTable.columns) | ||
| 67 | +#if($column.javaField.length() > 2 && $column.javaField.substring(1,2).matches("[A-Z]")) | ||
| 68 | +#set($AttrName=$column.javaField) | ||
| 69 | +#else | ||
| 70 | +#set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)}) | ||
| 71 | +#end | ||
| 72 | + .append("${column.javaField}", get${AttrName}()) | ||
| 73 | +#end | ||
| 74 | + .toString(); | ||
| 75 | + } | ||
| 76 | +} |
| 1 | +package ${packageName}.domain.vo; | ||
| 2 | + | ||
| 3 | +#foreach ($import in $importList) | ||
| 4 | +import ${import}; | ||
| 5 | +#end | ||
| 6 | +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; | ||
| 7 | +import com.alibaba.excel.annotation.ExcelProperty; | ||
| 8 | +import com.ruoyi.common.annotation.ExcelDictFormat; | ||
| 9 | +import com.ruoyi.common.convert.ExcelDictConvert; | ||
| 10 | +import lombok.Data; | ||
| 11 | +import java.util.Date; | ||
| 12 | + | ||
| 13 | +import java.io.Serializable; | ||
| 14 | + | ||
| 15 | +/** | ||
| 16 | + * ${functionName}视图对象 ${tableName} | ||
| 17 | + * | ||
| 18 | + * @author ${author} | ||
| 19 | + * @date ${datetime} | ||
| 20 | + */ | ||
| 21 | +@Data | ||
| 22 | +@ExcelIgnoreUnannotated | ||
| 23 | +public class ${ClassName}Vo implements Serializable { | ||
| 24 | + | ||
| 25 | + private static final long serialVersionUID = 1L; | ||
| 26 | + | ||
| 27 | +#foreach ($column in $columns) | ||
| 28 | +#if($column.list) | ||
| 29 | + /** | ||
| 30 | + * $column.columnComment | ||
| 31 | + */ | ||
| 32 | +#set($parentheseIndex=$column.columnComment.indexOf("(")) | ||
| 33 | +#if($parentheseIndex != -1) | ||
| 34 | +#set($comment=$column.columnComment.substring(0, $parentheseIndex)) | ||
| 35 | +#else | ||
| 36 | +#set($comment=$column.columnComment) | ||
| 37 | +#end | ||
| 38 | +#if(${column.dictType} && ${column.dictType} != '') | ||
| 39 | + @ExcelProperty(value = "${comment}", converter = ExcelDictConvert.class) | ||
| 40 | + @ExcelDictFormat(dictType = "${column.dictType}") | ||
| 41 | +#elseif($parentheseIndex != -1) | ||
| 42 | + @ExcelProperty(value = "${comment}", converter = ExcelDictConvert.class) | ||
| 43 | + @ExcelDictFormat(readConverterExp = "$column.readConverterExp()") | ||
| 44 | +#else | ||
| 45 | + @ExcelProperty(value = "${comment}") | ||
| 46 | +#end | ||
| 47 | + private $column.javaType $column.javaField; | ||
| 48 | + | ||
| 49 | +#end | ||
| 50 | +#end | ||
| 51 | + | ||
| 52 | +} |
| 1 | +import request from '@/utils/request' | ||
| 2 | + | ||
| 3 | +// 查询${functionName}列表 | ||
| 4 | +export function list${BusinessName}(query) { | ||
| 5 | + return request({ | ||
| 6 | + url: '/${moduleName}/${businessName}/list', | ||
| 7 | + method: 'get', | ||
| 8 | + params: query | ||
| 9 | + }) | ||
| 10 | +} | ||
| 11 | + | ||
| 12 | +// 查询${functionName}详细 | ||
| 13 | +export function get${BusinessName}(${pkColumn.javaField}) { | ||
| 14 | + return request({ | ||
| 15 | + url: '/${moduleName}/${businessName}/' + ${pkColumn.javaField}, | ||
| 16 | + method: 'get' | ||
| 17 | + }) | ||
| 18 | +} | ||
| 19 | + | ||
| 20 | +// 新增${functionName} | ||
| 21 | +export function add${BusinessName}(data) { | ||
| 22 | + return request({ | ||
| 23 | + url: '/${moduleName}/${businessName}', | ||
| 24 | + method: 'post', | ||
| 25 | + data: data | ||
| 26 | + }) | ||
| 27 | +} | ||
| 28 | + | ||
| 29 | +// 修改${functionName} | ||
| 30 | +export function update${BusinessName}(data) { | ||
| 31 | + return request({ | ||
| 32 | + url: '/${moduleName}/${businessName}', | ||
| 33 | + method: 'put', | ||
| 34 | + data: data | ||
| 35 | + }) | ||
| 36 | +} | ||
| 37 | + | ||
| 38 | +// 删除${functionName} | ||
| 39 | +export function del${BusinessName}(${pkColumn.javaField}) { | ||
| 40 | + return request({ | ||
| 41 | + url: '/${moduleName}/${businessName}/' + ${pkColumn.javaField}, | ||
| 42 | + method: 'delete' | ||
| 43 | + }) | ||
| 44 | +} |
| 1 | +-- 菜单 SQL | ||
| 2 | +insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) | ||
| 3 | +values(${table.menuIds[0]}, '${functionName}', '${parentMenuId}', '1', '${businessName}', '${moduleName}/${businessName}/index', 1, 0, 'C', '0', '0', '${permissionPrefix}:list', '#', 'admin', sysdate, '', null, '${functionName}菜单'); | ||
| 4 | + | ||
| 5 | +-- 按钮 SQL | ||
| 6 | +insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) | ||
| 7 | +values(${table.menuIds[1]}, '${functionName}查询', ${table.menuIds[0]}, '1', '#', '', 1, 0, 'F', '0', '0', '${permissionPrefix}:query', '#', 'admin', sysdate, '', null, ''); | ||
| 8 | + | ||
| 9 | +insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) | ||
| 10 | +values(${table.menuIds[2]}, '${functionName}新增', ${table.menuIds[0]}, '2', '#', '', 1, 0, 'F', '0', '0', '${permissionPrefix}:add', '#', 'admin', sysdate, '', null, ''); | ||
| 11 | + | ||
| 12 | +insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) | ||
| 13 | +values(${table.menuIds[3]}, '${functionName}修改', ${table.menuIds[0]}, '3', '#', '', 1, 0, 'F', '0', '0', '${permissionPrefix}:edit', '#', 'admin', sysdate, '', null, ''); | ||
| 14 | + | ||
| 15 | +insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) | ||
| 16 | +values(${table.menuIds[4]}, '${functionName}删除', ${table.menuIds[0]}, '4', '#', '', 1, 0, 'F', '0', '0', '${permissionPrefix}:remove', '#', 'admin', sysdate, '', null, ''); | ||
| 17 | + | ||
| 18 | +insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) | ||
| 19 | +values(${table.menuIds[5]}, '${functionName}导出', ${table.menuIds[0]}, '5', '#', '', 1, 0, 'F', '0', '0', '${permissionPrefix}:export', '#', 'admin', sysdate, '', null, ''); |
| 1 | +-- 菜单 SQL | ||
| 2 | +insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) | ||
| 3 | +values(${table.menuIds[0]}, '${functionName}', '${parentMenuId}', '1', '${businessName}', '${moduleName}/${businessName}/index', 1, 0, 'C', '0', '0', '${permissionPrefix}:list', '#', 'admin', now(), '', null, '${functionName}菜单'); | ||
| 4 | + | ||
| 5 | +-- 按钮 SQL | ||
| 6 | +insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) | ||
| 7 | +values(${table.menuIds[1]}, '${functionName}查询', ${table.menuIds[0]}, '1', '#', '', 1, 0, 'F', '0', '0', '${permissionPrefix}:query', '#', 'admin', now(), '', null, ''); | ||
| 8 | + | ||
| 9 | +insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) | ||
| 10 | +values(${table.menuIds[2]}, '${functionName}新增', ${table.menuIds[0]}, '2', '#', '', 1, 0, 'F', '0', '0', '${permissionPrefix}:add', '#', 'admin', now(), '', null, ''); | ||
| 11 | + | ||
| 12 | +insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) | ||
| 13 | +values(${table.menuIds[3]}, '${functionName}修改', ${table.menuIds[0]}, '3', '#', '', 1, 0, 'F', '0', '0', '${permissionPrefix}:edit', '#', 'admin', now(), '', null, ''); | ||
| 14 | + | ||
| 15 | +insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) | ||
| 16 | +values(${table.menuIds[4]}, '${functionName}删除', ${table.menuIds[0]}, '4', '#', '', 1, 0, 'F', '0', '0', '${permissionPrefix}:remove', '#', 'admin', now(), '', null, ''); | ||
| 17 | + | ||
| 18 | +insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) | ||
| 19 | +values(${table.menuIds[5]}, '${functionName}导出', ${table.menuIds[0]}, '5', '#', '', 1, 0, 'F', '0', '0', '${permissionPrefix}:export', '#', 'admin', now(), '', null, ''); | ||
| 20 | + |
| 1 | +-- 菜单 SQL | ||
| 2 | +insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) | ||
| 3 | +values(${table.menuIds[0]}, '${functionName}', '${parentMenuId}', '1', '${businessName}', '${moduleName}/${businessName}/index', 1, 0, 'C', '0', '0', '${permissionPrefix}:list', '#', 'admin', sysdate(), '', null, '${functionName}菜单'); | ||
| 4 | + | ||
| 5 | +-- 按钮 SQL | ||
| 6 | +insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) | ||
| 7 | +values(${table.menuIds[1]}, '${functionName}查询', ${table.menuIds[0]}, '1', '#', '', 1, 0, 'F', '0', '0', '${permissionPrefix}:query', '#', 'admin', sysdate(), '', null, ''); | ||
| 8 | + | ||
| 9 | +insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) | ||
| 10 | +values(${table.menuIds[2]}, '${functionName}新增', ${table.menuIds[0]}, '2', '#', '', 1, 0, 'F', '0', '0', '${permissionPrefix}:add', '#', 'admin', sysdate(), '', null, ''); | ||
| 11 | + | ||
| 12 | +insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) | ||
| 13 | +values(${table.menuIds[3]}, '${functionName}修改', ${table.menuIds[0]}, '3', '#', '', 1, 0, 'F', '0', '0', '${permissionPrefix}:edit', '#', 'admin', sysdate(), '', null, ''); | ||
| 14 | + | ||
| 15 | +insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) | ||
| 16 | +values(${table.menuIds[4]}, '${functionName}删除', ${table.menuIds[0]}, '4', '#', '', 1, 0, 'F', '0', '0', '${permissionPrefix}:remove', '#', 'admin', sysdate(), '', null, ''); | ||
| 17 | + | ||
| 18 | +insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) | ||
| 19 | +values(${table.menuIds[5]}, '${functionName}导出', ${table.menuIds[0]}, '5', '#', '', 1, 0, 'F', '0', '0', '${permissionPrefix}:export', '#', 'admin', sysdate(), '', null, ''); |
| 1 | +-- 菜单 SQL | ||
| 2 | +insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) | ||
| 3 | +values(${table.menuIds[0]}, '${functionName}', '${parentMenuId}', '1', '${businessName}', '${moduleName}/${businessName}/index', 1, 0, 'C', '0', '0', '${permissionPrefix}:list', '#', 'admin', getdate(), '', null, '${functionName}菜单'); | ||
| 4 | + | ||
| 5 | +-- 按钮 SQL | ||
| 6 | +insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) | ||
| 7 | +values(${table.menuIds[1]}, '${functionName}查询', ${table.menuIds[0]}, '1', '#', '', 1, 0, 'F', '0', '0', '${permissionPrefix}:query', '#', 'admin', getdate(), '', null, ''); | ||
| 8 | + | ||
| 9 | +insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) | ||
| 10 | +values(${table.menuIds[2]}, '${functionName}新增', ${table.menuIds[0]}, '2', '#', '', 1, 0, 'F', '0', '0', '${permissionPrefix}:add', '#', 'admin', getdate(), '', null, ''); | ||
| 11 | + | ||
| 12 | +insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) | ||
| 13 | +values(${table.menuIds[3]}, '${functionName}修改', ${table.menuIds[0]}, '3', '#', '', 1, 0, 'F', '0', '0', '${permissionPrefix}:edit', '#', 'admin', getdate(), '', null, ''); | ||
| 14 | + | ||
| 15 | +insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) | ||
| 16 | +values(${table.menuIds[4]}, '${functionName}删除', ${table.menuIds[0]}, '4', '#', '', 1, 0, 'F', '0', '0', '${permissionPrefix}:remove', '#', 'admin', getdate(), '', null, ''); | ||
| 17 | + | ||
| 18 | +insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) | ||
| 19 | +values(${table.menuIds[5]}, '${functionName}导出', ${table.menuIds[0]}, '5', '#', '', 1, 0, 'F', '0', '0', '${permissionPrefix}:export', '#', 'admin', getdate(), '', null, ''); |
scm-framework/scm-job/pom.xml
0 → 100644
| 1 | +<?xml version="1.0" encoding="UTF-8"?> | ||
| 2 | +<project xmlns="http://maven.apache.org/POM/4.0.0" | ||
| 3 | + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | ||
| 4 | + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> | ||
| 5 | + <parent> | ||
| 6 | + <artifactId>scm-framework</artifactId> | ||
| 7 | + <groupId>com.scm</groupId> | ||
| 8 | + <version>4.8.2</version> | ||
| 9 | + </parent> | ||
| 10 | + <modelVersion>4.0.0</modelVersion> | ||
| 11 | + <packaging>jar</packaging> | ||
| 12 | + <artifactId>scm-job</artifactId> | ||
| 13 | + | ||
| 14 | + <description> | ||
| 15 | + 任务调度 | ||
| 16 | + </description> | ||
| 17 | + | ||
| 18 | + <dependencies> | ||
| 19 | + | ||
| 20 | + <!-- 通用工具--> | ||
| 21 | + <dependency> | ||
| 22 | + <groupId>com.scm</groupId> | ||
| 23 | + <artifactId>scm-common</artifactId> | ||
| 24 | + </dependency> | ||
| 25 | + | ||
| 26 | + <!-- xxl-job-core --> | ||
| 27 | + <dependency> | ||
| 28 | + <groupId>com.xuxueli</groupId> | ||
| 29 | + <artifactId>xxl-job-core</artifactId> | ||
| 30 | + </dependency> | ||
| 31 | + | ||
| 32 | + </dependencies> | ||
| 33 | + | ||
| 34 | +</project> | ||
| 35 | + |
| 1 | +package com.ruoyi.job.config; | ||
| 2 | + | ||
| 3 | +import com.ruoyi.job.config.properties.XxlJobProperties; | ||
| 4 | +import com.xxl.job.core.executor.impl.XxlJobSpringExecutor; | ||
| 5 | +import lombok.AllArgsConstructor; | ||
| 6 | +import lombok.extern.slf4j.Slf4j; | ||
| 7 | +import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; | ||
| 8 | +import org.springframework.boot.context.properties.EnableConfigurationProperties; | ||
| 9 | +import org.springframework.context.annotation.Bean; | ||
| 10 | +import org.springframework.context.annotation.Configuration; | ||
| 11 | + | ||
| 12 | +/** | ||
| 13 | + * xxl-job config | ||
| 14 | + * | ||
| 15 | + * @author Lion Li | ||
| 16 | + */ | ||
| 17 | +@Slf4j | ||
| 18 | +@Configuration | ||
| 19 | +@EnableConfigurationProperties(XxlJobProperties.class) | ||
| 20 | +@AllArgsConstructor | ||
| 21 | +@ConditionalOnProperty(prefix = "xxl.job", name = "enabled", havingValue = "true") | ||
| 22 | +public class XxlJobConfig { | ||
| 23 | + | ||
| 24 | + private final XxlJobProperties xxlJobProperties; | ||
| 25 | + | ||
| 26 | + @Bean | ||
| 27 | + public XxlJobSpringExecutor xxlJobExecutor() { | ||
| 28 | + log.info(">>>>>>>>>>> xxl-job config init."); | ||
| 29 | + XxlJobSpringExecutor xxlJobSpringExecutor = new XxlJobSpringExecutor(); | ||
| 30 | + xxlJobSpringExecutor.setAdminAddresses(xxlJobProperties.getAdminAddresses()); | ||
| 31 | + xxlJobSpringExecutor.setAccessToken(xxlJobProperties.getAccessToken()); | ||
| 32 | + XxlJobProperties.Executor executor = xxlJobProperties.getExecutor(); | ||
| 33 | + xxlJobSpringExecutor.setAppname(executor.getAppname()); | ||
| 34 | + xxlJobSpringExecutor.setAddress(executor.getAddress()); | ||
| 35 | + xxlJobSpringExecutor.setIp(executor.getIp()); | ||
| 36 | + xxlJobSpringExecutor.setPort(executor.getPort()); | ||
| 37 | + xxlJobSpringExecutor.setLogPath(executor.getLogPath()); | ||
| 38 | + xxlJobSpringExecutor.setLogRetentionDays(executor.getLogRetentionDays()); | ||
| 39 | + return xxlJobSpringExecutor; | ||
| 40 | + } | ||
| 41 | + | ||
| 42 | +} |
| @@ -3,31 +3,15 @@ | @@ -3,31 +3,15 @@ | ||
| 3 | xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | 3 | xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
| 4 | xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> | 4 | xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> |
| 5 | <parent> | 5 | <parent> |
| 6 | - <artifactId>fp_scm</artifactId> | 6 | + <artifactId>scm-framework</artifactId> |
| 7 | <groupId>com.scm</groupId> | 7 | <groupId>com.scm</groupId> |
| 8 | <version>4.8.2</version> | 8 | <version>4.8.2</version> |
| 9 | </parent> | 9 | </parent> |
| 10 | <modelVersion>4.0.0</modelVersion> | 10 | <modelVersion>4.0.0</modelVersion> |
| 11 | 11 | ||
| 12 | - <artifactId>scm-oss</artifactId> | ||
| 13 | - | ||
| 14 | - <description> | ||
| 15 | - OSS对象存储模块 | ||
| 16 | - </description> | 12 | + <artifactId>scm-mybatis</artifactId> |
| 17 | 13 | ||
| 18 | <dependencies> | 14 | <dependencies> |
| 19 | 15 | ||
| 20 | - <!-- 通用工具--> | ||
| 21 | - <dependency> | ||
| 22 | - <groupId>com.scm</groupId> | ||
| 23 | - <artifactId>scm-common</artifactId> | ||
| 24 | - </dependency> | ||
| 25 | - | ||
| 26 | - <dependency> | ||
| 27 | - <groupId>com.amazonaws</groupId> | ||
| 28 | - <artifactId>aws-java-sdk-s3</artifactId> | ||
| 29 | - </dependency> | ||
| 30 | - | ||
| 31 | </dependencies> | 16 | </dependencies> |
| 32 | - | ||
| 33 | </project> | 17 | </project> |
scm-framework/scm-oss/pom.xml
0 → 100644
| 1 | +<?xml version="1.0" encoding="UTF-8"?> | ||
| 2 | +<project xmlns="http://maven.apache.org/POM/4.0.0" | ||
| 3 | + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | ||
| 4 | + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> | ||
| 5 | + <parent> | ||
| 6 | + <artifactId>scm-framework</artifactId> | ||
| 7 | + <groupId>com.scm</groupId> | ||
| 8 | + <version>4.8.2</version> | ||
| 9 | + </parent> | ||
| 10 | + <modelVersion>4.0.0</modelVersion> | ||
| 11 | + | ||
| 12 | + <artifactId>scm-oss</artifactId> | ||
| 13 | + | ||
| 14 | + <description> | ||
| 15 | + OSS对象存储模块 | ||
| 16 | + </description> | ||
| 17 | + | ||
| 18 | + <dependencies> | ||
| 19 | + | ||
| 20 | + <!-- 通用工具--> | ||
| 21 | + <dependency> | ||
| 22 | + <groupId>com.scm</groupId> | ||
| 23 | + <artifactId>scm-common</artifactId> | ||
| 24 | + </dependency> | ||
| 25 | + | ||
| 26 | + <dependency> | ||
| 27 | + <groupId>com.amazonaws</groupId> | ||
| 28 | + <artifactId>aws-java-sdk-s3</artifactId> | ||
| 29 | + </dependency> | ||
| 30 | + | ||
| 31 | + </dependencies> | ||
| 32 | + | ||
| 33 | +</project> |
| 1 | +package com.ruoyi.oss.enumd; | ||
| 2 | + | ||
| 3 | +import com.amazonaws.services.s3.model.CannedAccessControlList; | ||
| 4 | +import lombok.AllArgsConstructor; | ||
| 5 | +import lombok.Getter; | ||
| 6 | + | ||
| 7 | +/** | ||
| 8 | + * 桶访问策略配置 | ||
| 9 | + * | ||
| 10 | + * @author 陈賝 | ||
| 11 | + */ | ||
| 12 | +@Getter | ||
| 13 | +@AllArgsConstructor | ||
| 14 | +public enum AccessPolicyType { | ||
| 15 | + | ||
| 16 | + /** | ||
| 17 | + * private | ||
| 18 | + */ | ||
| 19 | + PRIVATE("0", CannedAccessControlList.Private, PolicyType.WRITE), | ||
| 20 | + | ||
| 21 | + /** | ||
| 22 | + * public | ||
| 23 | + */ | ||
| 24 | + PUBLIC("1", CannedAccessControlList.PublicRead, PolicyType.READ), | ||
| 25 | + | ||
| 26 | + /** | ||
| 27 | + * custom | ||
| 28 | + */ | ||
| 29 | + CUSTOM("2",CannedAccessControlList.PublicRead, PolicyType.READ); | ||
| 30 | + | ||
| 31 | + /** | ||
| 32 | + * 桶 权限类型 | ||
| 33 | + */ | ||
| 34 | + private final String type; | ||
| 35 | + | ||
| 36 | + /** | ||
| 37 | + * 文件对象 权限类型 | ||
| 38 | + */ | ||
| 39 | + private final CannedAccessControlList acl; | ||
| 40 | + | ||
| 41 | + /** | ||
| 42 | + * 桶策略类型 | ||
| 43 | + */ | ||
| 44 | + private final PolicyType policyType; | ||
| 45 | + | ||
| 46 | + public static AccessPolicyType getByType(String type) { | ||
| 47 | + for (AccessPolicyType value : values()) { | ||
| 48 | + if (value.getType().equals(type)) { | ||
| 49 | + return value; | ||
| 50 | + } | ||
| 51 | + } | ||
| 52 | + throw new RuntimeException("'type' not found By " + type); | ||
| 53 | + } | ||
| 54 | + | ||
| 55 | +} |
| 1 | +package com.ruoyi.oss.factory; | ||
| 2 | + | ||
| 3 | +import com.ruoyi.common.constant.CacheNames; | ||
| 4 | +import com.ruoyi.common.utils.JsonUtils; | ||
| 5 | +import com.ruoyi.common.utils.StringUtils; | ||
| 6 | +import com.ruoyi.common.utils.redis.CacheUtils; | ||
| 7 | +import com.ruoyi.common.utils.redis.RedisUtils; | ||
| 8 | +import com.ruoyi.oss.constant.OssConstant; | ||
| 9 | +import com.ruoyi.oss.core.OssClient; | ||
| 10 | +import com.ruoyi.oss.exception.OssException; | ||
| 11 | +import com.ruoyi.oss.properties.OssProperties; | ||
| 12 | +import lombok.extern.slf4j.Slf4j; | ||
| 13 | + | ||
| 14 | +import java.util.Map; | ||
| 15 | +import java.util.concurrent.ConcurrentHashMap; | ||
| 16 | + | ||
| 17 | +/** | ||
| 18 | + * 文件上传Factory | ||
| 19 | + * | ||
| 20 | + * @author Lion Li | ||
| 21 | + */ | ||
| 22 | +@Slf4j | ||
| 23 | +public class OssFactory { | ||
| 24 | + | ||
| 25 | + private static final Map<String, OssClient> CLIENT_CACHE = new ConcurrentHashMap<>(); | ||
| 26 | + | ||
| 27 | + /** | ||
| 28 | + * 获取默认实例 | ||
| 29 | + */ | ||
| 30 | + public static OssClient instance() { | ||
| 31 | + // 获取redis 默认类型 | ||
| 32 | + String configKey = RedisUtils.getCacheObject(OssConstant.DEFAULT_CONFIG_KEY); | ||
| 33 | + if (StringUtils.isEmpty(configKey)) { | ||
| 34 | + throw new OssException("文件存储服务类型无法找到!"); | ||
| 35 | + } | ||
| 36 | + return instance(configKey); | ||
| 37 | + } | ||
| 38 | + | ||
| 39 | + /** | ||
| 40 | + * 根据类型获取实例 | ||
| 41 | + */ | ||
| 42 | + public static synchronized OssClient instance(String configKey) { | ||
| 43 | + String json = CacheUtils.get(CacheNames.SYS_OSS_CONFIG, configKey); | ||
| 44 | + if (json == null) { | ||
| 45 | + throw new OssException("系统异常, '" + configKey + "'配置信息不存在!"); | ||
| 46 | + } | ||
| 47 | + OssProperties properties = JsonUtils.parseObject(json, OssProperties.class); | ||
| 48 | + OssClient client = CLIENT_CACHE.get(configKey); | ||
| 49 | + if (client == null) { | ||
| 50 | + CLIENT_CACHE.put(configKey, new OssClient(configKey, properties)); | ||
| 51 | + log.info("创建OSS实例 key => {}", configKey); | ||
| 52 | + return CLIENT_CACHE.get(configKey); | ||
| 53 | + } | ||
| 54 | + // 配置不相同则重新构建 | ||
| 55 | + if (!client.checkPropertiesSame(properties)) { | ||
| 56 | + CLIENT_CACHE.put(configKey, new OssClient(configKey, properties)); | ||
| 57 | + log.info("重载OSS实例 key => {}", configKey); | ||
| 58 | + return CLIENT_CACHE.get(configKey); | ||
| 59 | + } | ||
| 60 | + return client; | ||
| 61 | + } | ||
| 62 | + | ||
| 63 | +} |
| 1 | +package com.ruoyi.oss.properties; | ||
| 2 | + | ||
| 3 | +import lombok.Data; | ||
| 4 | + | ||
| 5 | +/** | ||
| 6 | + * OSS对象存储 配置属性 | ||
| 7 | + * | ||
| 8 | + * @author Lion Li | ||
| 9 | + */ | ||
| 10 | +@Data | ||
| 11 | +public class OssProperties { | ||
| 12 | + | ||
| 13 | + /** | ||
| 14 | + * 访问站点 | ||
| 15 | + */ | ||
| 16 | + private String endpoint; | ||
| 17 | + | ||
| 18 | + /** | ||
| 19 | + * 自定义域名 | ||
| 20 | + */ | ||
| 21 | + private String domain; | ||
| 22 | + | ||
| 23 | + /** | ||
| 24 | + * 前缀 | ||
| 25 | + */ | ||
| 26 | + private String prefix; | ||
| 27 | + | ||
| 28 | + /** | ||
| 29 | + * ACCESS_KEY | ||
| 30 | + */ | ||
| 31 | + private String accessKey; | ||
| 32 | + | ||
| 33 | + /** | ||
| 34 | + * SECRET_KEY | ||
| 35 | + */ | ||
| 36 | + private String secretKey; | ||
| 37 | + | ||
| 38 | + /** | ||
| 39 | + * 存储空间名 | ||
| 40 | + */ | ||
| 41 | + private String bucketName; | ||
| 42 | + | ||
| 43 | + /** | ||
| 44 | + * 存储区域 | ||
| 45 | + */ | ||
| 46 | + private String region; | ||
| 47 | + | ||
| 48 | + /** | ||
| 49 | + * 是否https(Y=是,N=否) | ||
| 50 | + */ | ||
| 51 | + private String isHttps; | ||
| 52 | + | ||
| 53 | + /** | ||
| 54 | + * 桶权限类型(0private 1public 2custom) | ||
| 55 | + */ | ||
| 56 | + private String accessPolicy; | ||
| 57 | + | ||
| 58 | +} |
scm-framework/scm-sms/pom.xml
0 → 100644
| 1 | +<?xml version="1.0" encoding="UTF-8"?> | ||
| 2 | +<project xmlns="http://maven.apache.org/POM/4.0.0" | ||
| 3 | + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | ||
| 4 | + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> | ||
| 5 | + <parent> | ||
| 6 | + <artifactId>scm-framework</artifactId> | ||
| 7 | + <groupId>com.scm</groupId> | ||
| 8 | + <version>4.8.2</version> | ||
| 9 | + </parent> | ||
| 10 | + <modelVersion>4.0.0</modelVersion> | ||
| 11 | + | ||
| 12 | + <artifactId>scm-sms</artifactId> | ||
| 13 | + | ||
| 14 | + <description> | ||
| 15 | + SMS短信模块 | ||
| 16 | + </description> | ||
| 17 | + | ||
| 18 | + <dependencies> | ||
| 19 | + | ||
| 20 | + <!-- 通用工具--> | ||
| 21 | + <dependency> | ||
| 22 | + <groupId>com.scm</groupId> | ||
| 23 | + <artifactId>scm-common</artifactId> | ||
| 24 | + </dependency> | ||
| 25 | + | ||
| 26 | + <dependency> | ||
| 27 | + <groupId>org.dromara.sms4j</groupId> | ||
| 28 | + <artifactId>sms4j-spring-boot-starter</artifactId> | ||
| 29 | + <exclusions> | ||
| 30 | + <!-- 排除京东短信内存在的fastjson等待作者后续修复 --> | ||
| 31 | + <exclusion> | ||
| 32 | + <groupId>com.alibaba</groupId> | ||
| 33 | + <artifactId>fastjson</artifactId> | ||
| 34 | + </exclusion> | ||
| 35 | + </exclusions> | ||
| 36 | + </dependency> | ||
| 37 | + | ||
| 38 | + </dependencies> | ||
| 39 | + | ||
| 40 | +</project> |
| 1 | -package ${packageName}.domain.bo; | ||
| 2 | - | ||
| 3 | -import com.ruoyi.common.core.validate.AddGroup; | ||
| 4 | -import com.ruoyi.common.core.validate.EditGroup; | ||
| 5 | -import lombok.Data; | ||
| 6 | -import lombok.EqualsAndHashCode; | ||
| 7 | -import javax.validation.constraints.*; | ||
| 8 | - | ||
| 9 | -import java.util.Date; | ||
| 10 | - | ||
| 11 | -#foreach ($import in $importList) | ||
| 12 | -import ${import}; | ||
| 13 | -#end | ||
| 14 | -#if($table.crud || $table.sub) | ||
| 15 | -import com.ruoyi.common.core.domain.BaseEntity; | ||
| 16 | -#elseif($table.tree) | ||
| 17 | -import com.ruoyi.common.core.domain.TreeEntity; | ||
| 18 | -#end | ||
| 19 | - | ||
| 20 | -/** | ||
| 21 | - * ${functionName}业务对象 ${tableName} | ||
| 22 | - * | ||
| 23 | - * @author ${author} | ||
| 24 | - * @date ${datetime} | ||
| 25 | - */ | ||
| 26 | -#if($table.crud || $table.sub) | ||
| 27 | -#set($Entity="BaseEntity") | ||
| 28 | -#elseif($table.tree) | ||
| 29 | -#set($Entity="TreeEntity<${ClassName}Bo>") | ||
| 30 | -#end | ||
| 31 | - | ||
| 32 | -@Data | ||
| 33 | -@EqualsAndHashCode(callSuper = true) | ||
| 34 | -public class ${ClassName}Bo extends ${Entity} { | ||
| 35 | - | ||
| 36 | -#foreach ($column in $columns) | ||
| 37 | -#if(!$table.isSuperColumn($column.javaField) && ($column.query || $column.insert || $column.edit)) | ||
| 38 | - /** | ||
| 39 | - * $column.columnComment | ||
| 40 | - */ | ||
| 41 | -#if($column.insert && $column.edit) | ||
| 42 | -#set($Group="AddGroup.class, EditGroup.class") | ||
| 43 | -#elseif($column.insert) | ||
| 44 | -#set($Group="AddGroup.class") | ||
| 45 | -#elseif($column.edit) | ||
| 46 | -#set($Group="EditGroup.class") | ||
| 47 | -#end | ||
| 48 | -#if($column.required) | ||
| 49 | -#if($column.javaType == 'String') | ||
| 50 | - @NotBlank(message = "$column.columnComment不能为空", groups = { $Group }) | ||
| 51 | -#else | ||
| 52 | - @NotNull(message = "$column.columnComment不能为空", groups = { $Group }) | ||
| 53 | -#end | ||
| 54 | -#end | ||
| 55 | - private $column.javaType $column.javaField; | ||
| 56 | - | ||
| 57 | -#end | ||
| 58 | -#end | ||
| 59 | - | ||
| 60 | -} |
| 1 | -package ${packageName}.service; | ||
| 2 | - | ||
| 3 | -import ${packageName}.domain.${ClassName}; | ||
| 4 | -import ${packageName}.domain.vo.${ClassName}Vo; | ||
| 5 | -import ${packageName}.domain.bo.${ClassName}Bo; | ||
| 6 | -#if($table.crud || $table.sub) | ||
| 7 | -import com.ruoyi.common.core.page.TableDataInfo; | ||
| 8 | -import com.ruoyi.common.core.domain.PageQuery; | ||
| 9 | -#end | ||
| 10 | - | ||
| 11 | -import java.util.Collection; | ||
| 12 | -import java.util.List; | ||
| 13 | - | ||
| 14 | -/** | ||
| 15 | - * ${functionName}Service接口 | ||
| 16 | - * | ||
| 17 | - * @author ${author} | ||
| 18 | - * @date ${datetime} | ||
| 19 | - */ | ||
| 20 | -public interface I${ClassName}Service { | ||
| 21 | - | ||
| 22 | - /** | ||
| 23 | - * 查询${functionName} | ||
| 24 | - */ | ||
| 25 | - ${ClassName}Vo queryById(${pkColumn.javaType} ${pkColumn.javaField}); | ||
| 26 | - | ||
| 27 | -#if($table.crud || $table.sub) | ||
| 28 | - /** | ||
| 29 | - * 查询${functionName}列表 | ||
| 30 | - */ | ||
| 31 | - TableDataInfo<${ClassName}Vo> queryPageList(${ClassName}Bo bo, PageQuery pageQuery); | ||
| 32 | -#end | ||
| 33 | - | ||
| 34 | - /** | ||
| 35 | - * 查询${functionName}列表 | ||
| 36 | - */ | ||
| 37 | - List<${ClassName}Vo> queryList(${ClassName}Bo bo); | ||
| 38 | - | ||
| 39 | - /** | ||
| 40 | - * 新增${functionName} | ||
| 41 | - */ | ||
| 42 | - Boolean insertByBo(${ClassName}Bo bo); | ||
| 43 | - | ||
| 44 | - /** | ||
| 45 | - * 修改${functionName} | ||
| 46 | - */ | ||
| 47 | - Boolean updateByBo(${ClassName}Bo bo); | ||
| 48 | - | ||
| 49 | - /** | ||
| 50 | - * 校验并批量删除${functionName}信息 | ||
| 51 | - */ | ||
| 52 | - Boolean deleteWithValidByIds(Collection<${pkColumn.javaType}> ids, Boolean isValid); | ||
| 53 | -} |
| 1 | -package ${packageName}.domain; | ||
| 2 | - | ||
| 3 | -#foreach ($import in $subImportList) | ||
| 4 | -import ${import}; | ||
| 5 | -#end | ||
| 6 | -import org.apache.commons.lang3.builder.ToStringBuilder; | ||
| 7 | -import org.apache.commons.lang3.builder.ToStringStyle; | ||
| 8 | -import com.ruoyi.common.annotation.Excel; | ||
| 9 | -import com.ruoyi.common.core.domain.BaseEntity; | ||
| 10 | - | ||
| 11 | -/** | ||
| 12 | - * ${subTable.functionName}对象 ${subTableName} | ||
| 13 | - * | ||
| 14 | - * @author ${author} | ||
| 15 | - * @date ${datetime} | ||
| 16 | - */ | ||
| 17 | -public class ${subClassName} extends BaseEntity | ||
| 18 | -{ | ||
| 19 | - private static final long serialVersionUID = 1L; | ||
| 20 | - | ||
| 21 | -#foreach ($column in $subTable.columns) | ||
| 22 | -#if(!$table.isSuperColumn($column.javaField)) | ||
| 23 | - /** $column.columnComment */ | ||
| 24 | -#if($column.list) | ||
| 25 | -#set($parentheseIndex=$column.columnComment.indexOf("(")) | ||
| 26 | -#if($parentheseIndex != -1) | ||
| 27 | -#set($comment=$column.columnComment.substring(0, $parentheseIndex)) | ||
| 28 | -#else | ||
| 29 | -#set($comment=$column.columnComment) | ||
| 30 | -#end | ||
| 31 | -#if($parentheseIndex != -1) | ||
| 32 | - @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") | ||
| 33 | -#elseif($column.javaType == 'Date') | ||
| 34 | - @JsonFormat(pattern = "yyyy-MM-dd") | ||
| 35 | - @Excel(name = "${comment}", width = 30, dateFormat = "yyyy-MM-dd") | ||
| 36 | -#else | ||
| 37 | - @Excel(name = "${comment}") | ||
| 38 | -#end | ||
| 39 | -#end | ||
| 40 | - private $column.javaType $column.javaField; | ||
| 41 | - | ||
| 42 | -#end | ||
| 43 | -#end | ||
| 44 | -#foreach ($column in $subTable.columns) | ||
| 45 | -#if(!$table.isSuperColumn($column.javaField)) | ||
| 46 | -#if($column.javaField.length() > 2 && $column.javaField.substring(1,2).matches("[A-Z]")) | ||
| 47 | -#set($AttrName=$column.javaField) | ||
| 48 | -#else | ||
| 49 | -#set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)}) | ||
| 50 | -#end | ||
| 51 | - public void set${AttrName}($column.javaType $column.javaField) | ||
| 52 | - { | ||
| 53 | - this.$column.javaField = $column.javaField; | ||
| 54 | - } | ||
| 55 | - | ||
| 56 | - public $column.javaType get${AttrName}() | ||
| 57 | - { | ||
| 58 | - return $column.javaField; | ||
| 59 | - } | ||
| 60 | -#end | ||
| 61 | -#end | ||
| 62 | - | ||
| 63 | - @Override | ||
| 64 | - public String toString() { | ||
| 65 | - return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) | ||
| 66 | -#foreach ($column in $subTable.columns) | ||
| 67 | -#if($column.javaField.length() > 2 && $column.javaField.substring(1,2).matches("[A-Z]")) | ||
| 68 | -#set($AttrName=$column.javaField) | ||
| 69 | -#else | ||
| 70 | -#set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)}) | ||
| 71 | -#end | ||
| 72 | - .append("${column.javaField}", get${AttrName}()) | ||
| 73 | -#end | ||
| 74 | - .toString(); | ||
| 75 | - } | ||
| 76 | -} |
| 1 | -package ${packageName}.domain.vo; | ||
| 2 | - | ||
| 3 | -#foreach ($import in $importList) | ||
| 4 | -import ${import}; | ||
| 5 | -#end | ||
| 6 | -import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; | ||
| 7 | -import com.alibaba.excel.annotation.ExcelProperty; | ||
| 8 | -import com.ruoyi.common.annotation.ExcelDictFormat; | ||
| 9 | -import com.ruoyi.common.convert.ExcelDictConvert; | ||
| 10 | -import lombok.Data; | ||
| 11 | -import java.util.Date; | ||
| 12 | - | ||
| 13 | -import java.io.Serializable; | ||
| 14 | - | ||
| 15 | -/** | ||
| 16 | - * ${functionName}视图对象 ${tableName} | ||
| 17 | - * | ||
| 18 | - * @author ${author} | ||
| 19 | - * @date ${datetime} | ||
| 20 | - */ | ||
| 21 | -@Data | ||
| 22 | -@ExcelIgnoreUnannotated | ||
| 23 | -public class ${ClassName}Vo implements Serializable { | ||
| 24 | - | ||
| 25 | - private static final long serialVersionUID = 1L; | ||
| 26 | - | ||
| 27 | -#foreach ($column in $columns) | ||
| 28 | -#if($column.list) | ||
| 29 | - /** | ||
| 30 | - * $column.columnComment | ||
| 31 | - */ | ||
| 32 | -#set($parentheseIndex=$column.columnComment.indexOf("(")) | ||
| 33 | -#if($parentheseIndex != -1) | ||
| 34 | -#set($comment=$column.columnComment.substring(0, $parentheseIndex)) | ||
| 35 | -#else | ||
| 36 | -#set($comment=$column.columnComment) | ||
| 37 | -#end | ||
| 38 | -#if(${column.dictType} && ${column.dictType} != '') | ||
| 39 | - @ExcelProperty(value = "${comment}", converter = ExcelDictConvert.class) | ||
| 40 | - @ExcelDictFormat(dictType = "${column.dictType}") | ||
| 41 | -#elseif($parentheseIndex != -1) | ||
| 42 | - @ExcelProperty(value = "${comment}", converter = ExcelDictConvert.class) | ||
| 43 | - @ExcelDictFormat(readConverterExp = "$column.readConverterExp()") | ||
| 44 | -#else | ||
| 45 | - @ExcelProperty(value = "${comment}") | ||
| 46 | -#end | ||
| 47 | - private $column.javaType $column.javaField; | ||
| 48 | - | ||
| 49 | -#end | ||
| 50 | -#end | ||
| 51 | - | ||
| 52 | -} |
| 1 | -import request from '@/utils/request' | ||
| 2 | - | ||
| 3 | -// 查询${functionName}列表 | ||
| 4 | -export function list${BusinessName}(query) { | ||
| 5 | - return request({ | ||
| 6 | - url: '/${moduleName}/${businessName}/list', | ||
| 7 | - method: 'get', | ||
| 8 | - params: query | ||
| 9 | - }) | ||
| 10 | -} | ||
| 11 | - | ||
| 12 | -// 查询${functionName}详细 | ||
| 13 | -export function get${BusinessName}(${pkColumn.javaField}) { | ||
| 14 | - return request({ | ||
| 15 | - url: '/${moduleName}/${businessName}/' + ${pkColumn.javaField}, | ||
| 16 | - method: 'get' | ||
| 17 | - }) | ||
| 18 | -} | ||
| 19 | - | ||
| 20 | -// 新增${functionName} | ||
| 21 | -export function add${BusinessName}(data) { | ||
| 22 | - return request({ | ||
| 23 | - url: '/${moduleName}/${businessName}', | ||
| 24 | - method: 'post', | ||
| 25 | - data: data | ||
| 26 | - }) | ||
| 27 | -} | ||
| 28 | - | ||
| 29 | -// 修改${functionName} | ||
| 30 | -export function update${BusinessName}(data) { | ||
| 31 | - return request({ | ||
| 32 | - url: '/${moduleName}/${businessName}', | ||
| 33 | - method: 'put', | ||
| 34 | - data: data | ||
| 35 | - }) | ||
| 36 | -} | ||
| 37 | - | ||
| 38 | -// 删除${functionName} | ||
| 39 | -export function del${BusinessName}(${pkColumn.javaField}) { | ||
| 40 | - return request({ | ||
| 41 | - url: '/${moduleName}/${businessName}/' + ${pkColumn.javaField}, | ||
| 42 | - method: 'delete' | ||
| 43 | - }) | ||
| 44 | -} |
| 1 | --- 菜单 SQL | ||
| 2 | -insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) | ||
| 3 | -values(${table.menuIds[0]}, '${functionName}', '${parentMenuId}', '1', '${businessName}', '${moduleName}/${businessName}/index', 1, 0, 'C', '0', '0', '${permissionPrefix}:list', '#', 'admin', sysdate, '', null, '${functionName}菜单'); | ||
| 4 | - | ||
| 5 | --- 按钮 SQL | ||
| 6 | -insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) | ||
| 7 | -values(${table.menuIds[1]}, '${functionName}查询', ${table.menuIds[0]}, '1', '#', '', 1, 0, 'F', '0', '0', '${permissionPrefix}:query', '#', 'admin', sysdate, '', null, ''); | ||
| 8 | - | ||
| 9 | -insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) | ||
| 10 | -values(${table.menuIds[2]}, '${functionName}新增', ${table.menuIds[0]}, '2', '#', '', 1, 0, 'F', '0', '0', '${permissionPrefix}:add', '#', 'admin', sysdate, '', null, ''); | ||
| 11 | - | ||
| 12 | -insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) | ||
| 13 | -values(${table.menuIds[3]}, '${functionName}修改', ${table.menuIds[0]}, '3', '#', '', 1, 0, 'F', '0', '0', '${permissionPrefix}:edit', '#', 'admin', sysdate, '', null, ''); | ||
| 14 | - | ||
| 15 | -insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) | ||
| 16 | -values(${table.menuIds[4]}, '${functionName}删除', ${table.menuIds[0]}, '4', '#', '', 1, 0, 'F', '0', '0', '${permissionPrefix}:remove', '#', 'admin', sysdate, '', null, ''); | ||
| 17 | - | ||
| 18 | -insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) | ||
| 19 | -values(${table.menuIds[5]}, '${functionName}导出', ${table.menuIds[0]}, '5', '#', '', 1, 0, 'F', '0', '0', '${permissionPrefix}:export', '#', 'admin', sysdate, '', null, ''); |
| 1 | --- 菜单 SQL | ||
| 2 | -insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) | ||
| 3 | -values(${table.menuIds[0]}, '${functionName}', '${parentMenuId}', '1', '${businessName}', '${moduleName}/${businessName}/index', 1, 0, 'C', '0', '0', '${permissionPrefix}:list', '#', 'admin', now(), '', null, '${functionName}菜单'); | ||
| 4 | - | ||
| 5 | --- 按钮 SQL | ||
| 6 | -insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) | ||
| 7 | -values(${table.menuIds[1]}, '${functionName}查询', ${table.menuIds[0]}, '1', '#', '', 1, 0, 'F', '0', '0', '${permissionPrefix}:query', '#', 'admin', now(), '', null, ''); | ||
| 8 | - | ||
| 9 | -insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) | ||
| 10 | -values(${table.menuIds[2]}, '${functionName}新增', ${table.menuIds[0]}, '2', '#', '', 1, 0, 'F', '0', '0', '${permissionPrefix}:add', '#', 'admin', now(), '', null, ''); | ||
| 11 | - | ||
| 12 | -insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) | ||
| 13 | -values(${table.menuIds[3]}, '${functionName}修改', ${table.menuIds[0]}, '3', '#', '', 1, 0, 'F', '0', '0', '${permissionPrefix}:edit', '#', 'admin', now(), '', null, ''); | ||
| 14 | - | ||
| 15 | -insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) | ||
| 16 | -values(${table.menuIds[4]}, '${functionName}删除', ${table.menuIds[0]}, '4', '#', '', 1, 0, 'F', '0', '0', '${permissionPrefix}:remove', '#', 'admin', now(), '', null, ''); | ||
| 17 | - | ||
| 18 | -insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) | ||
| 19 | -values(${table.menuIds[5]}, '${functionName}导出', ${table.menuIds[0]}, '5', '#', '', 1, 0, 'F', '0', '0', '${permissionPrefix}:export', '#', 'admin', now(), '', null, ''); | ||
| 20 | - |
| 1 | --- 菜单 SQL | ||
| 2 | -insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) | ||
| 3 | -values(${table.menuIds[0]}, '${functionName}', '${parentMenuId}', '1', '${businessName}', '${moduleName}/${businessName}/index', 1, 0, 'C', '0', '0', '${permissionPrefix}:list', '#', 'admin', sysdate(), '', null, '${functionName}菜单'); | ||
| 4 | - | ||
| 5 | --- 按钮 SQL | ||
| 6 | -insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) | ||
| 7 | -values(${table.menuIds[1]}, '${functionName}查询', ${table.menuIds[0]}, '1', '#', '', 1, 0, 'F', '0', '0', '${permissionPrefix}:query', '#', 'admin', sysdate(), '', null, ''); | ||
| 8 | - | ||
| 9 | -insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) | ||
| 10 | -values(${table.menuIds[2]}, '${functionName}新增', ${table.menuIds[0]}, '2', '#', '', 1, 0, 'F', '0', '0', '${permissionPrefix}:add', '#', 'admin', sysdate(), '', null, ''); | ||
| 11 | - | ||
| 12 | -insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) | ||
| 13 | -values(${table.menuIds[3]}, '${functionName}修改', ${table.menuIds[0]}, '3', '#', '', 1, 0, 'F', '0', '0', '${permissionPrefix}:edit', '#', 'admin', sysdate(), '', null, ''); | ||
| 14 | - | ||
| 15 | -insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) | ||
| 16 | -values(${table.menuIds[4]}, '${functionName}删除', ${table.menuIds[0]}, '4', '#', '', 1, 0, 'F', '0', '0', '${permissionPrefix}:remove', '#', 'admin', sysdate(), '', null, ''); | ||
| 17 | - | ||
| 18 | -insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) | ||
| 19 | -values(${table.menuIds[5]}, '${functionName}导出', ${table.menuIds[0]}, '5', '#', '', 1, 0, 'F', '0', '0', '${permissionPrefix}:export', '#', 'admin', sysdate(), '', null, ''); |
| 1 | --- 菜单 SQL | ||
| 2 | -insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) | ||
| 3 | -values(${table.menuIds[0]}, '${functionName}', '${parentMenuId}', '1', '${businessName}', '${moduleName}/${businessName}/index', 1, 0, 'C', '0', '0', '${permissionPrefix}:list', '#', 'admin', getdate(), '', null, '${functionName}菜单'); | ||
| 4 | - | ||
| 5 | --- 按钮 SQL | ||
| 6 | -insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) | ||
| 7 | -values(${table.menuIds[1]}, '${functionName}查询', ${table.menuIds[0]}, '1', '#', '', 1, 0, 'F', '0', '0', '${permissionPrefix}:query', '#', 'admin', getdate(), '', null, ''); | ||
| 8 | - | ||
| 9 | -insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) | ||
| 10 | -values(${table.menuIds[2]}, '${functionName}新增', ${table.menuIds[0]}, '2', '#', '', 1, 0, 'F', '0', '0', '${permissionPrefix}:add', '#', 'admin', getdate(), '', null, ''); | ||
| 11 | - | ||
| 12 | -insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) | ||
| 13 | -values(${table.menuIds[3]}, '${functionName}修改', ${table.menuIds[0]}, '3', '#', '', 1, 0, 'F', '0', '0', '${permissionPrefix}:edit', '#', 'admin', getdate(), '', null, ''); | ||
| 14 | - | ||
| 15 | -insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) | ||
| 16 | -values(${table.menuIds[4]}, '${functionName}删除', ${table.menuIds[0]}, '4', '#', '', 1, 0, 'F', '0', '0', '${permissionPrefix}:remove', '#', 'admin', getdate(), '', null, ''); | ||
| 17 | - | ||
| 18 | -insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) | ||
| 19 | -values(${table.menuIds[5]}, '${functionName}导出', ${table.menuIds[0]}, '5', '#', '', 1, 0, 'F', '0', '0', '${permissionPrefix}:export', '#', 'admin', getdate(), '', null, ''); |
scm-job/pom.xml
deleted
100644 → 0
| 1 | -<?xml version="1.0" encoding="UTF-8"?> | ||
| 2 | -<project xmlns="http://maven.apache.org/POM/4.0.0" | ||
| 3 | - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | ||
| 4 | - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> | ||
| 5 | - <parent> | ||
| 6 | - <artifactId>fp_scm</artifactId> | ||
| 7 | - <groupId>com.scm</groupId> | ||
| 8 | - <version>4.8.2</version> | ||
| 9 | - </parent> | ||
| 10 | - <modelVersion>4.0.0</modelVersion> | ||
| 11 | - <packaging>jar</packaging> | ||
| 12 | - <artifactId>scm-job</artifactId> | ||
| 13 | - | ||
| 14 | - <description> | ||
| 15 | - 任务调度 | ||
| 16 | - </description> | ||
| 17 | - | ||
| 18 | - <dependencies> | ||
| 19 | - | ||
| 20 | - <!-- 通用工具--> | ||
| 21 | - <dependency> | ||
| 22 | - <groupId>com.scm</groupId> | ||
| 23 | - <artifactId>scm-common</artifactId> | ||
| 24 | - </dependency> | ||
| 25 | - | ||
| 26 | - <!-- xxl-job-core --> | ||
| 27 | - <dependency> | ||
| 28 | - <groupId>com.xuxueli</groupId> | ||
| 29 | - <artifactId>xxl-job-core</artifactId> | ||
| 30 | - </dependency> | ||
| 31 | - | ||
| 32 | - </dependencies> | ||
| 33 | - | ||
| 34 | -</project> | ||
| 35 | - |
| 1 | -package com.ruoyi.job.config; | ||
| 2 | - | ||
| 3 | -import com.ruoyi.job.config.properties.XxlJobProperties; | ||
| 4 | -import com.xxl.job.core.executor.impl.XxlJobSpringExecutor; | ||
| 5 | -import lombok.AllArgsConstructor; | ||
| 6 | -import lombok.extern.slf4j.Slf4j; | ||
| 7 | -import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; | ||
| 8 | -import org.springframework.boot.context.properties.EnableConfigurationProperties; | ||
| 9 | -import org.springframework.context.annotation.Bean; | ||
| 10 | -import org.springframework.context.annotation.Configuration; | ||
| 11 | - | ||
| 12 | -/** | ||
| 13 | - * xxl-job config | ||
| 14 | - * | ||
| 15 | - * @author Lion Li | ||
| 16 | - */ | ||
| 17 | -@Slf4j | ||
| 18 | -@Configuration | ||
| 19 | -@EnableConfigurationProperties(XxlJobProperties.class) | ||
| 20 | -@AllArgsConstructor | ||
| 21 | -@ConditionalOnProperty(prefix = "xxl.job", name = "enabled", havingValue = "true") | ||
| 22 | -public class XxlJobConfig { | ||
| 23 | - | ||
| 24 | - private final XxlJobProperties xxlJobProperties; | ||
| 25 | - | ||
| 26 | - @Bean | ||
| 27 | - public XxlJobSpringExecutor xxlJobExecutor() { | ||
| 28 | - log.info(">>>>>>>>>>> xxl-job config init."); | ||
| 29 | - XxlJobSpringExecutor xxlJobSpringExecutor = new XxlJobSpringExecutor(); | ||
| 30 | - xxlJobSpringExecutor.setAdminAddresses(xxlJobProperties.getAdminAddresses()); | ||
| 31 | - xxlJobSpringExecutor.setAccessToken(xxlJobProperties.getAccessToken()); | ||
| 32 | - XxlJobProperties.Executor executor = xxlJobProperties.getExecutor(); | ||
| 33 | - xxlJobSpringExecutor.setAppname(executor.getAppname()); | ||
| 34 | - xxlJobSpringExecutor.setAddress(executor.getAddress()); | ||
| 35 | - xxlJobSpringExecutor.setIp(executor.getIp()); | ||
| 36 | - xxlJobSpringExecutor.setPort(executor.getPort()); | ||
| 37 | - xxlJobSpringExecutor.setLogPath(executor.getLogPath()); | ||
| 38 | - xxlJobSpringExecutor.setLogRetentionDays(executor.getLogRetentionDays()); | ||
| 39 | - return xxlJobSpringExecutor; | ||
| 40 | - } | ||
| 41 | - | ||
| 42 | -} |
| 1 | -package com.ruoyi.oss.enumd; | ||
| 2 | - | ||
| 3 | -import com.amazonaws.services.s3.model.CannedAccessControlList; | ||
| 4 | -import lombok.AllArgsConstructor; | ||
| 5 | -import lombok.Getter; | ||
| 6 | - | ||
| 7 | -/** | ||
| 8 | - * 桶访问策略配置 | ||
| 9 | - * | ||
| 10 | - * @author 陈賝 | ||
| 11 | - */ | ||
| 12 | -@Getter | ||
| 13 | -@AllArgsConstructor | ||
| 14 | -public enum AccessPolicyType { | ||
| 15 | - | ||
| 16 | - /** | ||
| 17 | - * private | ||
| 18 | - */ | ||
| 19 | - PRIVATE("0", CannedAccessControlList.Private, PolicyType.WRITE), | ||
| 20 | - | ||
| 21 | - /** | ||
| 22 | - * public | ||
| 23 | - */ | ||
| 24 | - PUBLIC("1", CannedAccessControlList.PublicRead, PolicyType.READ), | ||
| 25 | - | ||
| 26 | - /** | ||
| 27 | - * custom | ||
| 28 | - */ | ||
| 29 | - CUSTOM("2",CannedAccessControlList.PublicRead, PolicyType.READ); | ||
| 30 | - | ||
| 31 | - /** | ||
| 32 | - * 桶 权限类型 | ||
| 33 | - */ | ||
| 34 | - private final String type; | ||
| 35 | - | ||
| 36 | - /** | ||
| 37 | - * 文件对象 权限类型 | ||
| 38 | - */ | ||
| 39 | - private final CannedAccessControlList acl; | ||
| 40 | - | ||
| 41 | - /** | ||
| 42 | - * 桶策略类型 | ||
| 43 | - */ | ||
| 44 | - private final PolicyType policyType; | ||
| 45 | - | ||
| 46 | - public static AccessPolicyType getByType(String type) { | ||
| 47 | - for (AccessPolicyType value : values()) { | ||
| 48 | - if (value.getType().equals(type)) { | ||
| 49 | - return value; | ||
| 50 | - } | ||
| 51 | - } | ||
| 52 | - throw new RuntimeException("'type' not found By " + type); | ||
| 53 | - } | ||
| 54 | - | ||
| 55 | -} |
| 1 | -package com.ruoyi.oss.factory; | ||
| 2 | - | ||
| 3 | -import com.ruoyi.common.constant.CacheNames; | ||
| 4 | -import com.ruoyi.common.utils.JsonUtils; | ||
| 5 | -import com.ruoyi.common.utils.StringUtils; | ||
| 6 | -import com.ruoyi.common.utils.redis.CacheUtils; | ||
| 7 | -import com.ruoyi.common.utils.redis.RedisUtils; | ||
| 8 | -import com.ruoyi.oss.constant.OssConstant; | ||
| 9 | -import com.ruoyi.oss.core.OssClient; | ||
| 10 | -import com.ruoyi.oss.exception.OssException; | ||
| 11 | -import com.ruoyi.oss.properties.OssProperties; | ||
| 12 | -import lombok.extern.slf4j.Slf4j; | ||
| 13 | - | ||
| 14 | -import java.util.Map; | ||
| 15 | -import java.util.concurrent.ConcurrentHashMap; | ||
| 16 | - | ||
| 17 | -/** | ||
| 18 | - * 文件上传Factory | ||
| 19 | - * | ||
| 20 | - * @author Lion Li | ||
| 21 | - */ | ||
| 22 | -@Slf4j | ||
| 23 | -public class OssFactory { | ||
| 24 | - | ||
| 25 | - private static final Map<String, OssClient> CLIENT_CACHE = new ConcurrentHashMap<>(); | ||
| 26 | - | ||
| 27 | - /** | ||
| 28 | - * 获取默认实例 | ||
| 29 | - */ | ||
| 30 | - public static OssClient instance() { | ||
| 31 | - // 获取redis 默认类型 | ||
| 32 | - String configKey = RedisUtils.getCacheObject(OssConstant.DEFAULT_CONFIG_KEY); | ||
| 33 | - if (StringUtils.isEmpty(configKey)) { | ||
| 34 | - throw new OssException("文件存储服务类型无法找到!"); | ||
| 35 | - } | ||
| 36 | - return instance(configKey); | ||
| 37 | - } | ||
| 38 | - | ||
| 39 | - /** | ||
| 40 | - * 根据类型获取实例 | ||
| 41 | - */ | ||
| 42 | - public static synchronized OssClient instance(String configKey) { | ||
| 43 | - String json = CacheUtils.get(CacheNames.SYS_OSS_CONFIG, configKey); | ||
| 44 | - if (json == null) { | ||
| 45 | - throw new OssException("系统异常, '" + configKey + "'配置信息不存在!"); | ||
| 46 | - } | ||
| 47 | - OssProperties properties = JsonUtils.parseObject(json, OssProperties.class); | ||
| 48 | - OssClient client = CLIENT_CACHE.get(configKey); | ||
| 49 | - if (client == null) { | ||
| 50 | - CLIENT_CACHE.put(configKey, new OssClient(configKey, properties)); | ||
| 51 | - log.info("创建OSS实例 key => {}", configKey); | ||
| 52 | - return CLIENT_CACHE.get(configKey); | ||
| 53 | - } | ||
| 54 | - // 配置不相同则重新构建 | ||
| 55 | - if (!client.checkPropertiesSame(properties)) { | ||
| 56 | - CLIENT_CACHE.put(configKey, new OssClient(configKey, properties)); | ||
| 57 | - log.info("重载OSS实例 key => {}", configKey); | ||
| 58 | - return CLIENT_CACHE.get(configKey); | ||
| 59 | - } | ||
| 60 | - return client; | ||
| 61 | - } | ||
| 62 | - | ||
| 63 | -} |
| 1 | -package com.ruoyi.oss.properties; | ||
| 2 | - | ||
| 3 | -import lombok.Data; | ||
| 4 | - | ||
| 5 | -/** | ||
| 6 | - * OSS对象存储 配置属性 | ||
| 7 | - * | ||
| 8 | - * @author Lion Li | ||
| 9 | - */ | ||
| 10 | -@Data | ||
| 11 | -public class OssProperties { | ||
| 12 | - | ||
| 13 | - /** | ||
| 14 | - * 访问站点 | ||
| 15 | - */ | ||
| 16 | - private String endpoint; | ||
| 17 | - | ||
| 18 | - /** | ||
| 19 | - * 自定义域名 | ||
| 20 | - */ | ||
| 21 | - private String domain; | ||
| 22 | - | ||
| 23 | - /** | ||
| 24 | - * 前缀 | ||
| 25 | - */ | ||
| 26 | - private String prefix; | ||
| 27 | - | ||
| 28 | - /** | ||
| 29 | - * ACCESS_KEY | ||
| 30 | - */ | ||
| 31 | - private String accessKey; | ||
| 32 | - | ||
| 33 | - /** | ||
| 34 | - * SECRET_KEY | ||
| 35 | - */ | ||
| 36 | - private String secretKey; | ||
| 37 | - | ||
| 38 | - /** | ||
| 39 | - * 存储空间名 | ||
| 40 | - */ | ||
| 41 | - private String bucketName; | ||
| 42 | - | ||
| 43 | - /** | ||
| 44 | - * 存储区域 | ||
| 45 | - */ | ||
| 46 | - private String region; | ||
| 47 | - | ||
| 48 | - /** | ||
| 49 | - * 是否https(Y=是,N=否) | ||
| 50 | - */ | ||
| 51 | - private String isHttps; | ||
| 52 | - | ||
| 53 | - /** | ||
| 54 | - * 桶权限类型(0private 1public 2custom) | ||
| 55 | - */ | ||
| 56 | - private String accessPolicy; | ||
| 57 | - | ||
| 58 | -} |
scm-sms/pom.xml
deleted
100644 → 0
| 1 | -<?xml version="1.0" encoding="UTF-8"?> | ||
| 2 | -<project xmlns="http://maven.apache.org/POM/4.0.0" | ||
| 3 | - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | ||
| 4 | - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> | ||
| 5 | - <parent> | ||
| 6 | - <artifactId>fp_scm</artifactId> | ||
| 7 | - <groupId>com.scm</groupId> | ||
| 8 | - <version>4.8.2</version> | ||
| 9 | - </parent> | ||
| 10 | - <modelVersion>4.0.0</modelVersion> | ||
| 11 | - | ||
| 12 | - <artifactId>scm-sms</artifactId> | ||
| 13 | - | ||
| 14 | - <description> | ||
| 15 | - SMS短信模块 | ||
| 16 | - </description> | ||
| 17 | - | ||
| 18 | - <dependencies> | ||
| 19 | - | ||
| 20 | - <!-- 通用工具--> | ||
| 21 | - <dependency> | ||
| 22 | - <groupId>com.scm</groupId> | ||
| 23 | - <artifactId>scm-common</artifactId> | ||
| 24 | - </dependency> | ||
| 25 | - | ||
| 26 | - <dependency> | ||
| 27 | - <groupId>org.dromara.sms4j</groupId> | ||
| 28 | - <artifactId>sms4j-spring-boot-starter</artifactId> | ||
| 29 | - <exclusions> | ||
| 30 | - <!-- 排除京东短信内存在的fastjson等待作者后续修复 --> | ||
| 31 | - <exclusion> | ||
| 32 | - <groupId>com.alibaba</groupId> | ||
| 33 | - <artifactId>fastjson</artifactId> | ||
| 34 | - </exclusion> | ||
| 35 | - </exclusions> | ||
| 36 | - </dependency> | ||
| 37 | - | ||
| 38 | - </dependencies> | ||
| 39 | - | ||
| 40 | -</project> |
| @@ -8,13 +8,13 @@ | @@ -8,13 +8,13 @@ | ||
| 8 | <template v-if="appStore.device !== 'mobile'"> | 8 | <template v-if="appStore.device !== 'mobile'"> |
| 9 | <header-search id="header-search" class="right-menu-item" /> | 9 | <header-search id="header-search" class="right-menu-item" /> |
| 10 | 10 | ||
| 11 | - <el-tooltip content="源码地址" effect="dark" placement="bottom"> | 11 | +<!-- <el-tooltip content="源码地址" effect="dark" placement="bottom"> |
| 12 | <ruo-yi-git id="ruoyi-git" class="right-menu-item hover-effect" /> | 12 | <ruo-yi-git id="ruoyi-git" class="right-menu-item hover-effect" /> |
| 13 | </el-tooltip> | 13 | </el-tooltip> |
| 14 | 14 | ||
| 15 | <el-tooltip content="文档地址" effect="dark" placement="bottom"> | 15 | <el-tooltip content="文档地址" effect="dark" placement="bottom"> |
| 16 | <ruo-yi-doc id="ruoyi-doc" class="right-menu-item hover-effect" /> | 16 | <ruo-yi-doc id="ruoyi-doc" class="right-menu-item hover-effect" /> |
| 17 | - </el-tooltip> | 17 | + </el-tooltip>--> |
| 18 | 18 | ||
| 19 | <screenfull id="screenfull" class="right-menu-item hover-effect" /> | 19 | <screenfull id="screenfull" class="right-menu-item hover-effect" /> |
| 20 | 20 |
| @@ -25,7 +25,7 @@ defineProps({ | @@ -25,7 +25,7 @@ defineProps({ | ||
| 25 | } | 25 | } |
| 26 | }) | 26 | }) |
| 27 | 27 | ||
| 28 | -const title = ref('RuoYi-Vue-Plus'); | 28 | +const title = ref('凡配供应链'); |
| 29 | const settingsStore = useSettingsStore(); | 29 | const settingsStore = useSettingsStore(); |
| 30 | const sideTheme = computed(() => settingsStore.sideTheme); | 30 | const sideTheme = computed(() => settingsStore.sideTheme); |
| 31 | </script> | 31 | </script> |
| @@ -66,7 +66,7 @@ export const constantRoutes = [ | @@ -66,7 +66,7 @@ export const constantRoutes = [ | ||
| 66 | path: '/index', | 66 | path: '/index', |
| 67 | component: () => import('@/views/index'), | 67 | component: () => import('@/views/index'), |
| 68 | name: 'Index', | 68 | name: 'Index', |
| 69 | - meta: { title: '首页', icon: 'dashboard', affix: true } | 69 | + meta: { title: '工作台', icon: 'dashboard', affix: true } |
| 70 | } | 70 | } |
| 71 | ] | 71 | ] |
| 72 | }, | 72 | }, |
| 1 | <template> | 1 | <template> |
| 2 | <div class="app-container home"> | 2 | <div class="app-container home"> |
| 3 | - <el-row :gutter="20"> | ||
| 4 | - <el-col :sm="24" :lg="12" style="padding-left: 20px"> | ||
| 5 | - <h2>RuoYi-Vue-Plus后台管理系统</h2> | ||
| 6 | - <p> | ||
| 7 | - RuoYi-Vue-Plus 是基于 RuoYi-Vue 针对 分布式集群 场景升级(不兼容原框架) | ||
| 8 | - <br/> | ||
| 9 | - * 前端开发框架 Vue、Element UI<br/> | ||
| 10 | - * 后端开发框架 Spring Boot<br/> | ||
| 11 | - * 容器框架 Undertow 基于 Netty 的高性能容器<br/> | ||
| 12 | - * 权限认证框架 Sa-Token 支持多终端认证系统<br/> | ||
| 13 | - * 关系数据库 MySQL 适配 8.X 最低 5.7<br/> | ||
| 14 | - * 缓存数据库 Redis 适配 6.X 最低 4.X<br/> | ||
| 15 | - * 数据库框架 Mybatis-Plus 快速 CRUD 增加开发效率<br/> | ||
| 16 | - * 数据库框架 p6spy 更强劲的 SQL 分析<br/> | ||
| 17 | - * 多数据源框架 dynamic-datasource 支持主从与多种类数据库异构<br/> | ||
| 18 | - * 序列化框架 Jackson 统一使用 jackson 高效可靠<br/> | ||
| 19 | - * Redis客户端 Redisson 性能强劲、API丰富<br/> | ||
| 20 | - * 分布式限流 Redisson 全局、请求IP、集群ID 多种限流<br/> | ||
| 21 | - * 分布式锁 Lock4j 注解锁、工具锁 多种多样<br/> | ||
| 22 | - * 分布式幂等 Lock4j 基于分布式锁实现<br/> | ||
| 23 | - * 分布式链路追踪 SkyWalking 支持链路追踪、网格分析、度量聚合、可视化<br/> | ||
| 24 | - * 分布式任务调度 Xxl-Job 高性能 高可靠 易扩展<br/> | ||
| 25 | - * 文件存储 Minio 本地存储<br/> | ||
| 26 | - * 文件存储 七牛、阿里、腾讯 云存储<br/> | ||
| 27 | - * 监控框架 SpringBoot-Admin 全方位服务监控<br/> | ||
| 28 | - * 校验框架 Validation 增强接口安全性 严谨性<br/> | ||
| 29 | - * Excel框架 Alibaba EasyExcel 性能优异 扩展性强<br/> | ||
| 30 | - * 文档框架 SpringDoc、javadoc 无注解零入侵基于java注释<br/> | ||
| 31 | - * 工具类框架 Hutool、Lombok 减少代码冗余 增加安全性<br/> | ||
| 32 | - * 代码生成器 适配MP、SpringDoc规范化代码 一键生成前后端代码<br/> | ||
| 33 | - * 部署方式 Docker 容器编排 一键部署业务集群<br/> | ||
| 34 | - * 国际化 SpringMessage Spring标准国际化方案<br/> | ||
| 35 | - </p> | ||
| 36 | - <p> | ||
| 37 | - <b>当前版本:</b> <span>v{{ version }}</span> | ||
| 38 | - </p> | ||
| 39 | - <p> | ||
| 40 | - <el-tag type="danger">¥免费开源</el-tag> | ||
| 41 | - </p> | ||
| 42 | - <p> | ||
| 43 | - <el-button | ||
| 44 | - type="primary" | ||
| 45 | - icon="Cloudy" | ||
| 46 | - plain | ||
| 47 | - @click="goTarget('https://gitee.com/JavaLionLi/RuoYi-Vue-Plus')" | ||
| 48 | - >访问码云</el-button | ||
| 49 | - > | ||
| 50 | - <el-button | ||
| 51 | - type="primary" | ||
| 52 | - icon="Cloudy" | ||
| 53 | - plain | ||
| 54 | - @click="goTarget('https://github.com/JavaLionLi/RuoYi-Vue-Plus')" | ||
| 55 | - >访问GitHub</el-button | ||
| 56 | - > | ||
| 57 | - <el-button | ||
| 58 | - type="primary" | ||
| 59 | - icon="Cloudy" | ||
| 60 | - plain | ||
| 61 | - @click="goTarget('https://gitee.com/JavaLionLi/RuoYi-Vue-Plus/wikis/pages?sort_id=4106467&doc_id=1469725')" | ||
| 62 | - >更新日志</el-button | ||
| 63 | - > | ||
| 64 | - </p> | ||
| 65 | - </el-col> | ||
| 66 | - | ||
| 67 | - <el-col :sm="24" :lg="12" style="padding-left: 50px"> | ||
| 68 | - <el-row> | ||
| 69 | - <el-col :span="12"> | ||
| 70 | - <h2>技术选型</h2> | ||
| 71 | - </el-col> | ||
| 72 | - </el-row> | ||
| 73 | - <el-row> | ||
| 74 | - <el-col :span="6"> | ||
| 75 | - <h4>后端技术</h4> | ||
| 76 | - <ul> | ||
| 77 | - <li>SpringBoot</li> | ||
| 78 | - <li>Sa-Token</li> | ||
| 79 | - <li>JWT</li> | ||
| 80 | - <li>MyBatis</li> | ||
| 81 | - <li>Druid</li> | ||
| 82 | - <li>Jackson</li> | ||
| 83 | - <li>...</li> | ||
| 84 | - </ul> | ||
| 85 | - </el-col> | ||
| 86 | - <el-col :span="6"> | ||
| 87 | - <h4>前端技术</h4> | ||
| 88 | - <ul> | ||
| 89 | - <li>Vue</li> | ||
| 90 | - <li>Vuex</li> | ||
| 91 | - <li>Element-ui</li> | ||
| 92 | - <li>Axios</li> | ||
| 93 | - <li>Sass</li> | ||
| 94 | - <li>Quill</li> | ||
| 95 | - <li>...</li> | ||
| 96 | - </ul> | ||
| 97 | - </el-col> | ||
| 98 | - </el-row> | ||
| 99 | - </el-col> | ||
| 100 | - </el-row> | ||
| 101 | - <el-divider /> | ||
| 102 | </div> | 3 | </div> |
| 103 | </template> | 4 | </template> |
| 104 | 5 | ||
| 105 | <script setup name="Index"> | 6 | <script setup name="Index"> |
| 106 | -const version = ref('4.8.2') | ||
| 107 | - | ||
| 108 | -function goTarget(url) { | ||
| 109 | - window.open(url, '__blank') | ||
| 110 | -} | ||
| 111 | </script> | 7 | </script> |
| 112 | - | ||
| 113 | <style scoped lang="scss"> | 8 | <style scoped lang="scss"> |
| 114 | -.home { | ||
| 115 | - blockquote { | ||
| 116 | - padding: 10px 20px; | ||
| 117 | - margin: 0 0 20px; | ||
| 118 | - font-size: 17.5px; | ||
| 119 | - border-left: 5px solid #eee; | ||
| 120 | - } | ||
| 121 | - hr { | ||
| 122 | - margin-top: 20px; | ||
| 123 | - margin-bottom: 20px; | ||
| 124 | - border: 0; | ||
| 125 | - border-top: 1px solid #eee; | ||
| 126 | - } | ||
| 127 | - .col-item { | ||
| 128 | - margin-bottom: 20px; | ||
| 129 | - } | ||
| 130 | - | ||
| 131 | - ul { | ||
| 132 | - padding: 0; | ||
| 133 | - margin: 0; | ||
| 134 | - } | ||
| 135 | - | ||
| 136 | - font-family: "open sans", "Helvetica Neue", Helvetica, Arial, sans-serif; | ||
| 137 | - font-size: 13px; | ||
| 138 | - color: #676a6c; | ||
| 139 | - overflow-x: hidden; | ||
| 140 | - | ||
| 141 | - ul { | ||
| 142 | - list-style-type: none; | ||
| 143 | - } | ||
| 144 | - | ||
| 145 | - h4 { | ||
| 146 | - margin-top: 0px; | ||
| 147 | - } | ||
| 148 | - | ||
| 149 | - h2 { | ||
| 150 | - margin-top: 10px; | ||
| 151 | - font-size: 26px; | ||
| 152 | - font-weight: 100; | ||
| 153 | - } | ||
| 154 | - | ||
| 155 | - p { | ||
| 156 | - margin-top: 10px; | ||
| 157 | - | ||
| 158 | - b { | ||
| 159 | - font-weight: 700; | ||
| 160 | - } | ||
| 161 | - } | ||
| 162 | - | ||
| 163 | - .update-log { | ||
| 164 | - ol { | ||
| 165 | - display: block; | ||
| 166 | - list-style-type: decimal; | ||
| 167 | - margin-block-start: 1em; | ||
| 168 | - margin-block-end: 1em; | ||
| 169 | - margin-inline-start: 0; | ||
| 170 | - margin-inline-end: 0; | ||
| 171 | - padding-inline-start: 40px; | ||
| 172 | - } | ||
| 173 | - } | ||
| 174 | -} | ||
| 175 | </style> | 9 | </style> |
| 176 | 10 |
-
Please register or login to post a comment