Browse Source

Initial commit

Woody 2 years ago
commit
ac1366c883

+ 48 - 0
.gitignore

@@ -0,0 +1,48 @@
+# Compiled class file
+*.class
+*.classpath
+*.factorypath
+
+# Log file
+*.log
+
+# BlueJ files
+*.ctxt
+
+# Mobile Tools for Java (J2ME)
+.mtj.tmp/
+
+# Package Files #
+*.jar
+*.war
+*.ear
+*.zip
+*.tar.gz
+*.rar
+
+# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
+hs_err_pid*
+
+# IDE Files #
+*.iml
+.idea
+.idea/
+.project
+.settings
+target
+.DS_Store
+
+# temp ignore
+*.cache
+*.diff
+*.patch
+*.tmp
+
+# Maven ignore
+.flattened-pom.xml
+
+# Commitizen
+CHANGELOG.md
+node_modules/
+package-lock.json
+package.json

+ 1 - 0
lombok.config

@@ -0,0 +1 @@
+lombok.copyableAnnotations += org.springframework.beans.factory.annotation.Qualifier

+ 76 - 0
pom.xml

@@ -0,0 +1,76 @@
+<?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.chelvc.platform</groupId>
+        <artifactId>platform-cloud</artifactId>
+        <version>1.0.0-RELEASE</version>
+        <relativePath/>
+    </parent>
+
+    <groupId>com.chelvc.cloud</groupId>
+    <artifactId>chelvc</artifactId>
+    <version>1.0.0-SNAPSHOT</version>
+
+    <properties>
+        <uc-api.version>1.0.0-SNAPSHOT</uc-api.version>
+        <uc-server.version>1.0.0-SNAPSHOT</uc-server.version>
+        <admin.version>1.0.0-SNAPSHOT</admin.version>
+        <platform-redis.version>1.0.0-RELEASE</platform-redis.version>
+        <platform-wechat.version>1.0.0-RELEASE</platform-wechat.version>
+        <platform-security.version>1.0.0-RELEASE</platform-security.version>
+        <platform-database.version>1.0.0-RELEASE</platform-database.version>
+    </properties>
+
+    <dependencies>
+        <dependency>
+            <groupId>com.chelvc.cloud</groupId>
+            <artifactId>uc-api</artifactId>
+            <version>${uc-api.version}</version>
+            <optional>true</optional>
+        </dependency>
+        <dependency>
+            <groupId>com.chelvc.cloud</groupId>
+            <artifactId>uc-server</artifactId>
+            <version>${uc-server.version}</version>
+            <optional>true</optional>
+        </dependency>
+        <dependency>
+            <groupId>com.chelvc.cloud</groupId>
+            <artifactId>admin</artifactId>
+            <version>${admin.version}</version>
+            <optional>true</optional>
+        </dependency>
+        <dependency>
+            <groupId>com.chelvc.platform</groupId>
+            <artifactId>platform-redis</artifactId>
+            <version>${platform-redis.version}</version>
+            <optional>true</optional>
+        </dependency>
+        <dependency>
+            <groupId>com.chelvc.platform</groupId>
+            <artifactId>platform-wechat</artifactId>
+            <version>${platform-wechat.version}</version>
+            <optional>true</optional>
+        </dependency>
+        <dependency>
+            <groupId>com.chelvc.platform</groupId>
+            <artifactId>platform-security</artifactId>
+            <version>${platform-security.version}</version>
+            <optional>true</optional>
+        </dependency>
+        <dependency>
+            <groupId>com.chelvc.platform</groupId>
+            <artifactId>platform-database</artifactId>
+            <version>${platform-database.version}</version>
+            <optional>true</optional>
+        </dependency>
+        <dependency>
+            <groupId>com.baomidou</groupId>
+            <artifactId>dynamic-datasource-spring-boot-starter</artifactId>
+        </dependency>
+    </dependencies>
+</project>

+ 37 - 0
src/main/java/com/chelvc/cloud/chelvc/Server.java

@@ -0,0 +1,37 @@
+package com.chelvc.cloud.chelvc;
+
+import com.chelvc.cloud.admin.AdminServer;
+import com.chelvc.cloud.uc.server.UCServer;
+import com.chelvc.platform.base.config.MultiserverMvcConfigurer;
+import com.chelvc.platform.base.context.BeanFullnameGenerator;
+import com.chelvc.platform.database.interceptor.DynamicDatasourceInterceptor;
+import com.chelvc.platform.nacos.config.MultiserverNacosConfigurer;
+import org.apache.dubbo.config.spring.context.annotation.EnableDubbo;
+import org.mybatis.spring.annotation.MapperScan;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.context.annotation.ComponentScan;
+import org.springframework.context.annotation.FilterType;
+import org.springframework.context.annotation.Import;
+
+/**
+ * 服务启动类
+ *
+ * @author Woody
+ * @date 2021/10/20
+ */
+@EnableDubbo(scanBasePackages = "com.chelvc")
+@MapperScan(basePackages = "com.chelvc.cloud.**.dao", nameGenerator = BeanFullnameGenerator.class)
+@SpringBootApplication(scanBasePackages = "com.chelvc", nameGenerator = BeanFullnameGenerator.class)
+@ComponentScan(basePackages = "com.chelvc",
+        nameGenerator = BeanFullnameGenerator.class,
+        excludeFilters = {@ComponentScan.Filter(type = FilterType.ASSIGNABLE_TYPE, classes = {
+                UCServer.class,
+                AdminServer.class
+        })})
+@Import({MultiserverMvcConfigurer.class, MultiserverNacosConfigurer.class, DynamicDatasourceInterceptor.class})
+public class Server {
+    public static void main(String[] args) {
+        SpringApplication.run(Server.class);
+    }
+}

+ 37 - 0
src/main/resources/application-dev.yml

@@ -0,0 +1,37 @@
+spring:
+  cloud:
+    nacos:
+      discovery:
+        server-addr: localhost:8848
+  datasource:
+    dynamic:
+      primary: com.chelvc.cloud.uc.server
+      datasource:
+        "[com.chelvc.cloud.uc.server]":
+          url: jdbc:mysql://localhost:3306/uc?characterEncoding=utf-8&serverTimezone=Asia/Shanghai&useSSL=false&allowMultiQueries=true&allowPublicKeyRetrieval=true
+          username: root
+          password: 12345678
+          hikari:
+            driver-class-name: com.mysql.cj.jdbc.Driver
+            pool-name: nxe
+            max-pool-size: 10
+            max-lifetime: 120000
+  redis:
+    host: localhost
+    port: 6379
+
+dubbo:
+  registry:
+    address: nacos://localhost:8848
+
+nacos:
+  config:
+    server-addr: localhost:8848
+
+platform:
+  security:
+    token:
+      secret: chelvc@2023!2#4%6&8
+  wechat:
+    appid: wxfd391217d72419e5
+    secret: 1177b742f827a754213d60237907d35a

+ 38 - 0
src/main/resources/application-pre.yml

@@ -0,0 +1,38 @@
+spring:
+  cloud:
+    nacos:
+      discovery:
+        server-addr: 172.19.158.134:8848
+  datasource:
+    dynamic:
+      primary: com.chelvc.cloud.uc.server
+      datasource:
+        "[com.chelvc.cloud.uc.server]":
+          url: jdbc:mysql://172.19.158.134:3306/uc?characterEncoding=utf-8&serverTimezone=Asia/Shanghai&useSSL=false&allowMultiQueries=true&allowPublicKeyRetrieval=true
+          username: uc
+          password: uc@2023!@#
+          hikari:
+            driver-class-name: com.mysql.cj.jdbc.Driver
+            pool-name: nxe
+            max-pool-size: 10
+            max-lifetime: 120000
+  redis:
+    host: 172.19.158.134
+    port: 9527
+    password: Chelvc@2022
+
+dubbo:
+  registry:
+    address: nacos://172.19.158.134:8848
+
+nacos:
+  config:
+    server-addr: 172.19.158.134:8848
+
+platform:
+  security:
+    token:
+      secret: chelvc@2023!2#4%6&8
+  wechat:
+    appid: wxfd391217d72419e5
+    secret: 1177b742f827a754213d60237907d35a

+ 38 - 0
src/main/resources/application-prod.yml

@@ -0,0 +1,38 @@
+spring:
+  cloud:
+    nacos:
+      discovery:
+        server-addr: 172.19.158.134:8848
+  datasource:
+    dynamic:
+      primary: com.chelvc.cloud.uc.server
+      datasource:
+        "[com.chelvc.cloud.uc.server]":
+          url: jdbc:mysql://172.19.158.134:3306/uc?characterEncoding=utf-8&serverTimezone=Asia/Shanghai&useSSL=false&allowMultiQueries=true&allowPublicKeyRetrieval=true
+          username: uc
+          password: uc@2023!@#
+          hikari:
+            driver-class-name: com.mysql.cj.jdbc.Driver
+            pool-name: nxe
+            max-pool-size: 10
+            max-lifetime: 120000
+  redis:
+    host: 172.19.158.134
+    port: 9527
+    password: Chelvc@2022
+
+dubbo:
+  registry:
+    address: nacos://172.19.158.134:8848
+
+nacos:
+  config:
+    server-addr: 172.19.158.134:8848
+
+platform:
+  security:
+    token:
+      secret: chelvc@2023!2#4%6&8
+  wechat:
+    appid: wxfd391217d72419e5
+    secret: 1177b742f827a754213d60237907d35a

+ 38 - 0
src/main/resources/application-test.yml

@@ -0,0 +1,38 @@
+spring:
+  cloud:
+    nacos:
+      discovery:
+        server-addr: 172.19.158.134:8848
+  datasource:
+    dynamic:
+      primary: com.chelvc.cloud.uc.server
+      datasource:
+        "[com.chelvc.cloud.uc.server]":
+          url: jdbc:mysql://172.19.158.134:3306/uc?characterEncoding=utf-8&serverTimezone=Asia/Shanghai&useSSL=false&allowMultiQueries=true&allowPublicKeyRetrieval=true
+          username: uc
+          password: uc@2023!@#
+          hikari:
+            driver-class-name: com.mysql.cj.jdbc.Driver
+            pool-name: nxe
+            max-pool-size: 10
+            max-lifetime: 120000
+  redis:
+    host: 172.19.158.134
+    port: 9527
+    password: Chelvc@2022
+
+dubbo:
+  registry:
+    address: nacos://172.19.158.134:8848
+
+nacos:
+  config:
+    server-addr: 172.19.158.134:8848
+
+platform:
+  security:
+    token:
+      secret: chelvc@2023!2#4%6&8
+  wechat:
+    appid: wxfd391217d72419e5
+    secret: 1177b742f827a754213d60237907d35a

+ 49 - 0
src/main/resources/application.yml

@@ -0,0 +1,49 @@
+server:
+  port: 10008
+
+spring:
+  main:
+    allow-bean-definition-overriding: true
+  profiles:
+    active: dev
+  application:
+    name: nxe
+  jackson:
+    time-zone: GMT+8
+    serialization:
+      write-dates-as-timestamps: true
+  cloud:
+    nacos:
+      discovery:
+        namespace: ${spring.profiles.active}
+  servlet:
+    multipart:
+      enabled: true
+      max-file-size: 40MB
+      max-request-size: 40MB
+
+mybatis-plus:
+  mapper-locations: classpath*:mapper/*.xml
+  global-config:
+    db-config:
+      update-strategy: ignored
+
+nacos:
+  config:
+    namespace: ${spring.profiles.active}
+
+dubbo:
+  protocol:
+    name: dubbo
+    port: 20800
+  application:
+    name: ${spring.application.name}
+    register-mode: instance
+  provider:
+    group: ${spring.profiles.active}
+    filter: -exception,customException
+  consumer:
+    group: ${spring.profiles.active}
+    check: false
+    timeout: 10000
+    retries: 0

+ 2 - 0
src/main/resources/bootstrap.yml

@@ -0,0 +1,2 @@
+logging:
+  config: classpath:logback-spring.xml

+ 33 - 0
src/main/resources/logback-spring.xml

@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<configuration>
+	<contextName>nxe</contextName>
+
+	<springProperty name="LOG_PATH" source="logging.path" defaultValue="./"/>
+
+	<appender name="CONSOLE_APPENDER" class="ch.qos.logback.core.ConsoleAppender">
+		<encoder>
+			<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger: %msg%n</pattern>
+			<charset>UTF-8</charset>
+		</encoder>
+	</appender>
+
+	<appender name="FILE_APPENDER" class="ch.qos.logback.core.rolling.RollingFileAppender">
+		<file>${LOG_PATH}/nxe.log</file>
+		<encoder>
+			<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger: %msg%n</pattern>
+			<charset>UTF-8</charset>
+		</encoder>
+		<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
+			<fileNamePattern>${LOG_PATH}/nxe-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
+			<maxFileSize>10MB</maxFileSize>
+			<maxHistory>7</maxHistory>
+		</rollingPolicy>
+	</appender>
+
+	<logger name="RocketmqClient" level="error"/>
+
+	<root level="info">
+		<appender-ref ref="CONSOLE_APPENDER"/>
+		<appender-ref ref="FILE_APPENDER"/>
+	</root>
+</configuration>