فهرست منبع

项目初始化

24282 1 سال پیش
والد
کامیت
f21b4f746f

+ 24 - 13
.gitignore

@@ -1,25 +1,36 @@
-# ---> Maven
-target/
-pom.xml.tag
-pom.xml.releaseBackup
-pom.xml.versionsBackup
-pom.xml.next
-release.properties
-dependency-reduced-pom.xml
-buildNumber.properties
-.mvn/timing.properties
-
-# ---> Java
+# Created by .ignore support plugin (hsz.mobi)
+### Java template
+# Compiled class file
 *.class
 
+# Log file
+*.log
+
+# BlueJ files
+*.ctxt
+
 # Mobile Tools for Java (J2ME)
 .mtj.tmp/
 
 # Package Files #
 *.jar
 *.war
+*.nar
 *.ear
+*.zip
+*.tar.gz
+*.rar
 
-# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
+# virtual machine crash logs
 hs_err_pid*
 
+.idea/.gitignore
+.idea/misc.xml
+.idea/modules.xml
+.idea/vcs.xml
+
+.idea
+app-log
+**/target
+**/libraries
+**/*.iml

+ 30 - 0
code-generation/pom.xml

@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>com.sd</groupId>
+        <artifactId>sd-bom</artifactId>
+        <version>1.0</version>
+    </parent>
+
+    <artifactId>code-generation</artifactId>
+
+    <properties>
+        <maven.compiler.source>8</maven.compiler.source>
+        <maven.compiler.target>8</maven.compiler.target>
+        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+    </properties>
+
+    <dependencies>
+
+        <dependency>
+            <groupId>com.fly</groupId>
+            <artifactId>fly-generator</artifactId>
+            <version>1.0.hx</version>
+        </dependency>
+
+    </dependencies>
+
+</project>

+ 19 - 0
code-generation/src/main/java/com/sd/Generation.java

@@ -0,0 +1,19 @@
+package com.sd;
+
+import fly.generator.GeneratorApplication;
+
+public class Generation {
+
+    public static void main(String[] args) {
+        GeneratorApplication.builder()
+                .url("jdbc:mysql://36.134.91.96:12333/sd_business?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true")
+                .username("root")
+                .password("Fjhx@pwd123")
+                .port(9989)
+                .module("sd-business")
+                .parent("com.sd.business")
+                .superServiceClass("com.ruoyi.common.core.service.BaseService")
+                .build();
+    }
+
+}

+ 66 - 0
pom.xml

@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+
+    <groupId>com.sd</groupId>
+    <artifactId>sd-bom</artifactId>
+    <version>1.0</version>
+
+    <packaging>pom</packaging>
+
+    <modules>
+        <module>sd-starter</module>
+        <module>sd-framework</module>
+        <module>sd-business</module>
+        <module>sd-wln</module>
+        <module>code-generation</module>
+    </modules>
+
+    <properties>
+        <maven.compiler.source>8</maven.compiler.source>
+        <maven.compiler.target>8</maven.compiler.target>
+        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+        <sd.version>1.0</sd.version>
+        <base.version>1.0.1</base.version>
+    </properties>
+
+    <parent>
+        <groupId>org.springframework.boot</groupId>
+        <artifactId>spring-boot-starter-parent</artifactId>
+        <version>2.7.6</version>
+    </parent>
+
+    <!-- 依赖声明 -->
+    <dependencyManagement>
+        <dependencies>
+
+            <dependency>
+                <groupId>com.fjhx</groupId>
+                <artifactId>hx-base</artifactId>
+                <version>${base.version}</version>
+            </dependency>
+
+            <dependency>
+                <groupId>com.sd</groupId>
+                <artifactId>sd-framework</artifactId>
+                <version>${sd.version}</version>
+            </dependency>
+
+            <dependency>
+                <groupId>com.sd</groupId>
+                <artifactId>sd-business</artifactId>
+                <version>${sd.version}</version>
+            </dependency>
+
+            <dependency>
+                <groupId>com.sd</groupId>
+                <artifactId>sd-wln</artifactId>
+                <version>${sd.version}</version>
+            </dependency>
+
+        </dependencies>
+    </dependencyManagement>
+
+</project>

+ 29 - 0
sd-business/pom.xml

@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>com.sd</groupId>
+        <artifactId>sd-bom</artifactId>
+        <version>1.0</version>
+    </parent>
+
+    <artifactId>sd-business</artifactId>
+
+    <properties>
+        <maven.compiler.source>8</maven.compiler.source>
+        <maven.compiler.target>8</maven.compiler.target>
+        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+    </properties>
+
+    <dependencies>
+
+        <dependency>
+            <groupId>com.sd</groupId>
+            <artifactId>sd-framework</artifactId>
+        </dependency>
+
+    </dependencies>
+
+</project>

+ 29 - 0
sd-framework/pom.xml

@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>com.sd</groupId>
+        <artifactId>sd-bom</artifactId>
+        <version>1.0</version>
+    </parent>
+
+    <artifactId>sd-framework</artifactId>
+
+    <properties>
+        <maven.compiler.source>8</maven.compiler.source>
+        <maven.compiler.target>8</maven.compiler.target>
+        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+    </properties>
+
+    <dependencies>
+
+        <dependency>
+            <groupId>com.fjhx</groupId>
+            <artifactId>hx-base</artifactId>
+        </dependency>
+
+    </dependencies>
+
+</project>

+ 48 - 0
sd-framework/src/main/java/com/sd/framework/aspect/DataSourceAspect.java

@@ -0,0 +1,48 @@
+// package com.sd.framework.aspect;
+//
+// import com.baomidou.dynamic.datasource.toolkit.DynamicDataSourceContextHolder;
+// import org.aspectj.lang.ProceedingJoinPoint;
+// import org.aspectj.lang.annotation.Around;
+// import org.aspectj.lang.annotation.Aspect;
+// import org.aspectj.lang.annotation.Pointcut;
+// import org.springframework.core.Ordered;
+// import org.springframework.core.annotation.Order;
+// import org.springframework.stereotype.Component;
+//
+// import java.util.Objects;
+//
+// @Aspect
+// @Component
+// @Order(Ordered.HIGHEST_PRECEDENCE)
+// public class DataSourceAspect {
+//
+//     @Pointcut("execution (* com.*.*.service.*.*.*(..))")
+//     public void pointcut() {
+//
+//     }
+//
+//     @Around(value = "pointcut()")
+//     public Object before(ProceedingJoinPoint point) throws Throwable {
+//         Object target = point.getTarget();
+//         String name = target.getClass().getName();
+//         String moduleName = name.split("\\.")[2];
+//
+//         String peek = DynamicDataSourceContextHolder.peek();
+//         if (Objects.equals(peek, moduleName)) {
+//             return point.proceed();
+//         }
+//
+//         if (moduleName.equals("")) {
+//             try {
+//                 DynamicDataSourceContextHolder.push(moduleName);
+//                 return point.proceed();
+//             } finally {
+//                 DynamicDataSourceContextHolder.poll();
+//             }
+//         } else {
+//             return point.proceed();
+//         }
+//     }
+//
+//
+// }

+ 34 - 0
sd-starter/pom.xml

@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+
+    <parent>
+        <groupId>com.sd</groupId>
+        <artifactId>sd-bom</artifactId>
+        <version>1.0</version>
+    </parent>
+
+    <artifactId>sd-starter</artifactId>
+
+    <dependencies>
+
+        <dependency>
+            <groupId>com.sd</groupId>
+            <artifactId>sd-framework</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>com.sd</groupId>
+            <artifactId>sd-business</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>com.sd</groupId>
+            <artifactId>sd-wln</artifactId>
+        </dependency>
+
+    </dependencies>
+
+</project>

+ 21 - 0
sd-starter/src/main/java/com/sd/SdApplication.java

@@ -0,0 +1,21 @@
+package com.sd;
+
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+
+@Slf4j
+@SpringBootApplication(scanBasePackages = {"com.sd.**", "com.ruoyi.**"})
+public class SdApplication {
+
+    public static void main(String[] args) {
+
+        SpringApplication.run(SdApplication.class, args);
+
+        log.info("\r\n==================================================================\r\n"
+                + ">>>>> " + SdApplication.class.getSimpleName() + " is success!\r\n"
+                + "==================================================================");
+
+    }
+
+}

+ 47 - 0
sd-starter/src/main/resources/application-dev.yml

@@ -0,0 +1,47 @@
+# 数据源配置
+spring:
+  datasource:
+    dynamic:
+      strict: true
+      primary: base
+      datasource:
+        base:
+          url: jdbc:mysql://36.134.91.96:12333/sd_base?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=Asia/Shanghai
+          username: root
+          password: Fjhx@pwd123
+        business:
+          url: jdbc:mysql://36.134.91.96:12333/sd_business?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=Asia/Shanghai
+          username: root
+          password: Fjhx@pwd123
+
+  # redis 配置
+  redis:
+    # 地址
+    host: 36.134.91.96
+    # 端口,默认为6379
+    port: 13444
+    # 数据库索引
+    database: 3
+    # 密码
+    password: Fjhx@pwd123
+    # 连接超时时间
+    timeout: 10s
+    lettuce:
+      pool:
+        # 连接池中的最小空闲连接
+        min-idle: 0
+        # 连接池中的最大空闲连接
+        max-idle: 8
+        # 连接池的最大数据库连接数
+        max-active: 8
+        # #连接池最大阻塞等待时间(使用负值表示没有限制)
+        max-wait: -1ms
+
+# token配置
+token:
+  # 令牌自定义标识
+  header: Authorization
+  # 令牌密钥
+  secret: abcdefghijklmnopqrstuvwxyz
+  # 令牌有效期(默认30分钟)
+  expireTime: 2880

+ 51 - 0
sd-starter/src/main/resources/application-prod.yml

@@ -0,0 +1,51 @@
+# 数据源配置
+spring:
+  datasource:
+    dynamic:
+      strict: true
+      primary: base
+      datasource:
+        base:
+          url: jdbc:mysql://192.168.0.238:23063/sd_base?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=Asia/Shanghai
+          username: hx_mysql_byteSailing_rds
+          password: da~h2swYUI#aj134&y8K
+        business:
+          url: jdbc:mysql://192.168.0.238:23063/sd_business?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=Asia/Shanghai
+          username: hx_mysql_byteSailing_rds
+          password: da~h2swYUI#aj134&y8K
+
+  # redis 配置
+  redis:
+    # 地址
+    host: 127.0.0.1
+    # 端口,默认为6379
+    port: 23784
+    # 数据库索引
+    database: 3
+    # 密码
+    password: w3G_11h4YjrsO_6P5Oi
+    # 连接超时时间
+    timeout: 10s
+    lettuce:
+      pool:
+        # 连接池中的最小空闲连接
+        min-idle: 0
+        # 连接池中的最大空闲连接
+        max-idle: 8
+        # 连接池的最大数据库连接数
+        max-active: 8
+        # #连接池最大阻塞等待时间(使用负值表示没有限制)
+        max-wait: -1ms
+
+server:
+  servlet:
+    context-path: /prod-api
+
+# token配置
+token:
+  # 令牌自定义标识
+  header: Authorization
+  # 令牌密钥
+  secret: abcdefghijklmnopqrstuvwxyz
+  # 令牌有效期(默认30分钟)
+  expireTime: 240

+ 51 - 0
sd-starter/src/main/resources/application-test.yml

@@ -0,0 +1,51 @@
+# 数据源配置
+spring:
+  datasource:
+    dynamic:
+      strict: true
+      primary: base
+      datasource:
+        base:
+          url: jdbc:mysql://36.134.91.96:12333/sd_base?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=Asia/Shanghai
+          username: root
+          password: Fjhx@pwd123
+        business:
+          url: jdbc:mysql://36.134.91.96:12333/sd_business?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=Asia/Shanghai
+          username: root
+          password: Fjhx@pwd123
+
+  # redis 配置
+  redis:
+    # 地址
+    host: 36.134.91.96
+    # 端口,默认为6379
+    port: 13444
+    # 数据库索引
+    database: 3
+    # 密码
+    password: Fjhx@pwd123
+    # 连接超时时间
+    timeout: 10s
+    lettuce:
+      pool:
+        # 连接池中的最小空闲连接
+        min-idle: 0
+        # 连接池中的最大空闲连接
+        max-idle: 8
+        # 连接池的最大数据库连接数
+        max-active: 8
+        # #连接池最大阻塞等待时间(使用负值表示没有限制)
+        max-wait: -1ms
+
+server:
+  servlet:
+    context-path: /test-api
+
+# token配置
+token:
+  # 令牌自定义标识
+  header: Authorization
+  # 令牌密钥
+  secret: abcdefghijklmnopqrstuvwxyz
+  # 令牌有效期(默认30分钟)
+  expireTime: 2880

+ 165 - 0
sd-starter/src/main/resources/application.yml

@@ -0,0 +1,165 @@
+# 项目相关配置
+ruoyi:
+  # 名称
+  name: RuoYi
+  # 版本
+  version: 3.8.5
+  # 版权年份
+  copyrightYear: 2023
+  # 实例演示开关
+  demoEnabled: true
+  # 文件路径 示例( Windows配置D:/ruoyi/uploadPath,Linux配置 /home/ruoyi/uploadPath)
+  profile: D:/ruoyi/uploadPath
+  # 获取ip地址开关
+  addressEnabled: false
+  # 验证码类型 math 数组计算 char 字符验证
+  captchaType: math
+
+# 开发环境配置
+server:
+  # 服务器的HTTP端口,默认为8080
+  port: 9898
+  tomcat:
+    # tomcat的URI编码
+    uri-encoding: UTF-8
+    # 连接数满后的排队数,默认为100
+    accept-count: 1000
+    threads:
+      # tomcat最大线程数,默认为200
+      max: 800
+      # Tomcat启动初始化的线程数,默认值10
+      min-spare: 100
+
+# 日志配置
+logging:
+  level:
+    com.ruoyi: info
+    com.fjhx: info
+    org.springframework: warn
+
+# 用户配置
+user:
+  password:
+    # 密码最大错误次数
+    maxRetryCount: 5
+    # 密码锁定时间(默认10分钟)
+    lockTime: 10
+
+# Spring配置
+spring:
+  mvc:
+    path-match:
+      matching-strategy: ant_path_matcher
+  # 资源信息
+  messages:
+    # 国际化资源文件路径
+    basename: i18n/messages
+  profiles:
+    active: dev
+  # 文件上传
+  servlet:
+    multipart:
+      # 单个文件大小
+      max-file-size: 10MB
+      # 设置总上传的文件大小
+      max-request-size: 20MB
+  main:
+    allow-circular-references: true
+
+  autoconfigure:
+    # 排除 Druid 自动配置
+    exclude: com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure
+
+  datasource:
+    # 指定使用 Druid 数据源
+    type: com.alibaba.druid.pool.DruidDataSource
+
+    dynamic:
+      druid:
+        # 初始连接数
+        initialSize: 3
+        # 最小连接池数量
+        minIdle: 10
+        # 最大连接池数量
+        maxActive: 100
+        # 配置获取连接等待超时的时间
+        maxWait: 60000
+        # 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
+        timeBetweenEvictionRunsMillis: 60000
+        # 配置一个连接在池中最小生存的时间,单位是毫秒
+        minEvictableIdleTimeMillis: 300000
+        # 配置一个连接在池中最大生存的时间,单位是毫秒
+        maxEvictableIdleTimeMillis: 900000
+        validationQueryTimeout: 10000
+        # 配置检测连接是否有效
+        validationQuery: SELECT 1
+        testWhileIdle: true
+        testOnBorrow: false
+        testOnReturn: false
+        poolPreparedStatements: true
+        maxPoolPreparedStatementPerConnectionSize: 20
+
+    druid:
+      webStatFilter:
+        enabled: true
+        exclusions:
+          - "*.js"
+          - "/druid/*"
+      statViewServlet:
+        enabled: true
+        # 设置白名单,不填则允许所有访问
+        allow:
+        urlPattern: /druid/*
+        # 控制台管理用户名和密码
+        loginUsername: superAdmin
+        loginPassword: 123456
+      filter:
+        # 配置StatFilter (SQL监控配置)
+        stat:
+          enabled: true # 开启 SQL 监控
+          logSlowSql: true  # 记录慢查询 SQL
+          slowSqlMillis: 1000 # 多长时间算慢查询
+          mergeSql: true # 条件参数化作为一条sql统计
+
+        # 配置WallFilter (防火墙配置)
+        wall:
+          enabled: true # 开启防火墙
+          config:
+            dropTableAllow: true # 允许删表操作
+            updateAllow: true # 允许更新操作
+            insertAllow: true # 允许插入操作
+            deleteAllow: true # 允许删除操作
+            multiStatementAllow: true # 支持一次执行多条sql
+
+# MyBatis Plus配置
+mybatis-plus:
+  # 搜索指定包别名
+  typeAliasesPackage: com.ruoyi.**.domain,com.sd.**.entity.po
+  # 配置mapper的扫描,找到所有的mapper.xml映射文件
+  mapperLocations: classpath*:mapper/**/*Mapper.xml
+  # 加载全局的配置文件
+  configLocation: classpath:mybatis/mybatis-config.xml
+  global-config:
+    banner: false
+
+# PageHelper分页插件
+page-helper:
+  helperDialect: mysql
+  supportMethodsArguments: true
+  params: count=countSql
+
+# 防止XSS攻击
+xss:
+  # 过滤开关
+  enabled: true
+  # 排除链接(多个用逗号分隔)
+  excludes: /system/notice
+  # 匹配链接
+  urlPatterns: /system/*,/monitor/*,/tool/*
+
+obs:
+  ak: 9HNBVBHO7F3GLUCGTK5C
+  sk: ZowLEoMJrICA9tOyln0yWVm0xGSiupe0gnbsZimk
+  endPoint: obs.cn-south-1.myhuaweicloud.com
+  url: https://os.winfaster.cn/
+  bucketName: winfaster

+ 29 - 0
sd-wln/pom.xml

@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>com.sd</groupId>
+        <artifactId>sd-bom</artifactId>
+        <version>1.0</version>
+    </parent>
+
+    <artifactId>sd-wln</artifactId>
+
+    <properties>
+        <maven.compiler.source>8</maven.compiler.source>
+        <maven.compiler.target>8</maven.compiler.target>
+        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+    </properties>
+
+    <dependencies>
+
+        <dependency>
+            <groupId>com.sd</groupId>
+            <artifactId>sd-business</artifactId>
+        </dependency>
+
+    </dependencies>
+
+</project>