空项目起手式

This commit is contained in:
shikong 2023-08-09 00:56:46 +08:00
parent fb03c2c57c
commit 47c3ce7e71
27 changed files with 3986 additions and 57 deletions

38
annotation/.gitignore vendored Normal file
View File

@ -0,0 +1,38 @@
target/
!.mvn/wrapper/maven-wrapper.jar
!**/src/main/**/target/
!**/src/test/**/target/
### IntelliJ IDEA ###
.idea/modules.xml
.idea/jarRepositories.xml
.idea/compiler.xml
.idea/libraries/
*.iws
*.iml
*.ipr
### Eclipse ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
.sts4-cache
### NetBeans ###
/nbproject/private/
/nbbuild/
/dist/
/nbdist/
/.nb-gradle/
build/
!**/src/main/**/build/
!**/src/test/**/build/
### VS Code ###
.vscode/
### Mac OS ###
.DS_Store

48
annotation/pom.xml Normal file
View File

@ -0,0 +1,48 @@
<?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>cn.skcks.docking</groupId>
<artifactId>gb28181</artifactId>
<version>0.0.1-SNAPSHOT</version>
</parent>
<groupId>cn.skcks.docking.gb28181</groupId>
<artifactId>annotation</artifactId>
<properties>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
</project>

View File

@ -0,0 +1,64 @@
package cn.skcks.docking.gb28181.annotation.web;
import org.springframework.core.annotation.AliasFor;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import java.lang.annotation.*;
/**
* @author Shikong
*/
@Inherited
@Target({ElementType.TYPE, ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@RequestMapping(produces = MediaType.APPLICATION_JSON_VALUE)
@ResponseBody
public @interface JsonMapping {
/**
* Alias for {@link RequestMapping#method}.
*/
@AliasFor(annotation = RequestMapping.class)
RequestMethod[] method() default {};
/**
* Alias for {@link RequestMapping#name}.
*/
@AliasFor(annotation = RequestMapping.class)
String name() default "";
/**
* Alias for {@link RequestMapping#value}.
*/
@AliasFor(annotation = RequestMapping.class)
String[] value() default {};
/**
* Alias for {@link RequestMapping#path}.
*/
@AliasFor(annotation = RequestMapping.class)
String[] path() default {};
/**
* Alias for {@link RequestMapping#params}.
*/
@AliasFor(annotation = RequestMapping.class)
String[] params() default {};
/**
* Alias for {@link RequestMapping#headers}.
*/
@AliasFor(annotation = RequestMapping.class)
String[] headers() default {};
/**
* Alias for {@link RequestMapping#consumes}.
* @since 4.3.5
*/
@AliasFor(annotation = RequestMapping.class)
String[] consumes() default {};
}

View File

@ -0,0 +1,54 @@
package cn.skcks.docking.gb28181.annotation.web.methods;
import cn.skcks.docking.gb28181.annotation.web.JsonMapping;
import org.springframework.core.annotation.AliasFor;
import org.springframework.web.bind.annotation.RequestMethod;
import java.lang.annotation.*;
/**
* @author Shikong
*/
@Inherited
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@JsonMapping(method = RequestMethod.DELETE)
public @interface DeleteJson {
/**
* Alias for {@link JsonMapping#name}.
*/
@AliasFor(annotation = JsonMapping.class)
String name() default "";
/**
* Alias for {@link JsonMapping#value}.
*/
@AliasFor(annotation = JsonMapping.class)
String[] value() default {};
/**
* Alias for {@link JsonMapping#path}.
*/
@AliasFor(annotation = JsonMapping.class)
String[] path() default {};
/**
* Alias for {@link JsonMapping#params}.
*/
@AliasFor(annotation = JsonMapping.class)
String[] params() default {};
/**
* Alias for {@link JsonMapping#headers}.
*/
@AliasFor(annotation = JsonMapping.class)
String[] headers() default {};
/**
* Alias for {@link JsonMapping#consumes}.
* @since 4.3.5
*/
@AliasFor(annotation = JsonMapping.class)
String[] consumes() default {};
}

View File

@ -0,0 +1,54 @@
package cn.skcks.docking.gb28181.annotation.web.methods;
import cn.skcks.docking.gb28181.annotation.web.JsonMapping;
import org.springframework.core.annotation.AliasFor;
import org.springframework.web.bind.annotation.RequestMethod;
import java.lang.annotation.*;
/**
* @author Shikong
*/
@Inherited
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@JsonMapping(method = RequestMethod.GET)
public @interface GetJson {
/**
* Alias for {@link JsonMapping#name}.
*/
@AliasFor(annotation = JsonMapping.class)
String name() default "";
/**
* Alias for {@link JsonMapping#value}.
*/
@AliasFor(annotation = JsonMapping.class)
String[] value() default {};
/**
* Alias for {@link JsonMapping#path}.
*/
@AliasFor(annotation = JsonMapping.class)
String[] path() default {};
/**
* Alias for {@link JsonMapping#params}.
*/
@AliasFor(annotation = JsonMapping.class)
String[] params() default {};
/**
* Alias for {@link JsonMapping#headers}.
*/
@AliasFor(annotation = JsonMapping.class)
String[] headers() default {};
/**
* Alias for {@link JsonMapping#consumes}.
* @since 4.3.5
*/
@AliasFor(annotation = JsonMapping.class)
String[] consumes() default {};
}

View File

@ -0,0 +1,55 @@
package cn.skcks.docking.gb28181.annotation.web.methods;
import cn.skcks.docking.gb28181.annotation.web.JsonMapping;
import org.springframework.core.annotation.AliasFor;
import org.springframework.web.bind.annotation.RequestMethod;
import java.lang.annotation.*;
/**
* @author Shikong
*/
@Inherited
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@JsonMapping(method = RequestMethod.HEAD)
public @interface HeadJson {
/**
* Alias for {@link JsonMapping#name}.
*/
@AliasFor(annotation = JsonMapping.class)
String name() default "";
/**
* Alias for {@link JsonMapping#value}.
*/
@AliasFor(annotation = JsonMapping.class)
String[] value() default {};
/**
* Alias for {@link JsonMapping#path}.
*/
@AliasFor(annotation = JsonMapping.class)
String[] path() default {};
/**
* Alias for {@link JsonMapping#params}.
*/
@AliasFor(annotation = JsonMapping.class)
String[] params() default {};
/**
* Alias for {@link JsonMapping#headers}.
*/
@AliasFor(annotation = JsonMapping.class)
String[] headers() default {};
/**
* Alias for {@link JsonMapping#consumes}.
* @since 4.3.5
*/
@AliasFor(annotation = JsonMapping.class)
String[] consumes() default {};
}

View File

@ -0,0 +1,55 @@
package cn.skcks.docking.gb28181.annotation.web.methods;
import cn.skcks.docking.gb28181.annotation.web.JsonMapping;
import org.springframework.core.annotation.AliasFor;
import org.springframework.web.bind.annotation.RequestMethod;
import java.lang.annotation.*;
/**
* @author Shikong
*/
@Inherited
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@JsonMapping(method = RequestMethod.OPTIONS)
public @interface OptionsJson {
/**
* Alias for {@link JsonMapping#name}.
*/
@AliasFor(annotation = JsonMapping.class)
String name() default "";
/**
* Alias for {@link JsonMapping#value}.
*/
@AliasFor(annotation = JsonMapping.class)
String[] value() default {};
/**
* Alias for {@link JsonMapping#path}.
*/
@AliasFor(annotation = JsonMapping.class)
String[] path() default {};
/**
* Alias for {@link JsonMapping#params}.
*/
@AliasFor(annotation = JsonMapping.class)
String[] params() default {};
/**
* Alias for {@link JsonMapping#headers}.
*/
@AliasFor(annotation = JsonMapping.class)
String[] headers() default {};
/**
* Alias for {@link JsonMapping#consumes}.
* @since 4.3.5
*/
@AliasFor(annotation = JsonMapping.class)
String[] consumes() default {};
}

View File

@ -0,0 +1,54 @@
package cn.skcks.docking.gb28181.annotation.web.methods;
import cn.skcks.docking.gb28181.annotation.web.JsonMapping;
import org.springframework.core.annotation.AliasFor;
import org.springframework.web.bind.annotation.RequestMethod;
import java.lang.annotation.*;
/**
* @author Shikong
*/
@Inherited
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@JsonMapping(method = RequestMethod.PATCH)
public @interface PatchJson {
/**
* Alias for {@link JsonMapping#name}.
*/
@AliasFor(annotation = JsonMapping.class)
String name() default "";
/**
* Alias for {@link JsonMapping#value}.
*/
@AliasFor(annotation = JsonMapping.class)
String[] value() default {};
/**
* Alias for {@link JsonMapping#path}.
*/
@AliasFor(annotation = JsonMapping.class)
String[] path() default {};
/**
* Alias for {@link JsonMapping#params}.
*/
@AliasFor(annotation = JsonMapping.class)
String[] params() default {};
/**
* Alias for {@link JsonMapping#headers}.
*/
@AliasFor(annotation = JsonMapping.class)
String[] headers() default {};
/**
* Alias for {@link JsonMapping#consumes}.
* @since 4.3.5
*/
@AliasFor(annotation = JsonMapping.class)
String[] consumes() default {};
}

View File

@ -0,0 +1,54 @@
package cn.skcks.docking.gb28181.annotation.web.methods;
import cn.skcks.docking.gb28181.annotation.web.JsonMapping;
import org.springframework.core.annotation.AliasFor;
import org.springframework.web.bind.annotation.RequestMethod;
import java.lang.annotation.*;
/**
* @author Shikong
*/
@Inherited
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@JsonMapping(method = RequestMethod.POST)
public @interface PostJson {
/**
* Alias for {@link JsonMapping#name}.
*/
@AliasFor(annotation = JsonMapping.class)
String name() default "";
/**
* Alias for {@link JsonMapping#value}.
*/
@AliasFor(annotation = JsonMapping.class)
String[] value() default {};
/**
* Alias for {@link JsonMapping#path}.
*/
@AliasFor(annotation = JsonMapping.class)
String[] path() default {};
/**
* Alias for {@link JsonMapping#params}.
*/
@AliasFor(annotation = JsonMapping.class)
String[] params() default {};
/**
* Alias for {@link JsonMapping#headers}.
*/
@AliasFor(annotation = JsonMapping.class)
String[] headers() default {};
/**
* Alias for {@link JsonMapping#consumes}.
* @since 4.3.5
*/
@AliasFor(annotation = JsonMapping.class)
String[] consumes() default {};
}

View File

@ -0,0 +1,54 @@
package cn.skcks.docking.gb28181.annotation.web.methods;
import cn.skcks.docking.gb28181.annotation.web.JsonMapping;
import org.springframework.core.annotation.AliasFor;
import org.springframework.web.bind.annotation.RequestMethod;
import java.lang.annotation.*;
/**
* @author Shikong
*/
@Inherited
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@JsonMapping(method = RequestMethod.PUT)
public @interface PutJson {
/**
* Alias for {@link JsonMapping#name}.
*/
@AliasFor(annotation = JsonMapping.class)
String name() default "";
/**
* Alias for {@link JsonMapping#value}.
*/
@AliasFor(annotation = JsonMapping.class)
String[] value() default {};
/**
* Alias for {@link JsonMapping#path}.
*/
@AliasFor(annotation = JsonMapping.class)
String[] path() default {};
/**
* Alias for {@link JsonMapping#params}.
*/
@AliasFor(annotation = JsonMapping.class)
String[] params() default {};
/**
* Alias for {@link JsonMapping#headers}.
*/
@AliasFor(annotation = JsonMapping.class)
String[] headers() default {};
/**
* Alias for {@link JsonMapping#consumes}.
* @since 4.3.5
*/
@AliasFor(annotation = JsonMapping.class)
String[] consumes() default {};
}

View File

@ -0,0 +1,54 @@
package cn.skcks.docking.gb28181.annotation.web.methods;
import cn.skcks.docking.gb28181.annotation.web.JsonMapping;
import org.springframework.core.annotation.AliasFor;
import org.springframework.web.bind.annotation.RequestMethod;
import java.lang.annotation.*;
/**
* @author Shikong
*/
@Inherited
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@JsonMapping(method = RequestMethod.TRACE)
public @interface TraceJson {
/**
* Alias for {@link JsonMapping#name}.
*/
@AliasFor(annotation = JsonMapping.class)
String name() default "";
/**
* Alias for {@link JsonMapping#value}.
*/
@AliasFor(annotation = JsonMapping.class)
String[] value() default {};
/**
* Alias for {@link JsonMapping#path}.
*/
@AliasFor(annotation = JsonMapping.class)
String[] path() default {};
/**
* Alias for {@link JsonMapping#params}.
*/
@AliasFor(annotation = JsonMapping.class)
String[] params() default {};
/**
* Alias for {@link JsonMapping#headers}.
*/
@AliasFor(annotation = JsonMapping.class)
String[] headers() default {};
/**
* Alias for {@link JsonMapping#consumes}.
* @since 4.3.5
*/
@AliasFor(annotation = JsonMapping.class)
String[] consumes() default {};
}

38
api/.gitignore vendored Normal file
View File

@ -0,0 +1,38 @@
target/
!.mvn/wrapper/maven-wrapper.jar
!**/src/main/**/target/
!**/src/test/**/target/
### IntelliJ IDEA ###
.idea/modules.xml
.idea/jarRepositories.xml
.idea/compiler.xml
.idea/libraries/
*.iws
*.iml
*.ipr
### Eclipse ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
.sts4-cache
### NetBeans ###
/nbproject/private/
/nbbuild/
/dist/
/nbdist/
/.nb-gradle/
build/
!**/src/main/**/build/
!**/src/test/**/build/
### VS Code ###
.vscode/
### Mac OS ###
.DS_Store

21
api/pom.xml Normal file
View File

@ -0,0 +1,21 @@
<?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>cn.skcks.docking</groupId>
<artifactId>gb28181</artifactId>
<version>0.0.1-SNAPSHOT</version>
</parent>
<groupId>cn.skcks.docking.gb28181</groupId>
<artifactId>api</artifactId>
<properties>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
</project>

38
common/.gitignore vendored Normal file
View File

@ -0,0 +1,38 @@
target/
!.mvn/wrapper/maven-wrapper.jar
!**/src/main/**/target/
!**/src/test/**/target/
### IntelliJ IDEA ###
.idea/modules.xml
.idea/jarRepositories.xml
.idea/compiler.xml
.idea/libraries/
*.iws
*.iml
*.ipr
### Eclipse ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
.sts4-cache
### NetBeans ###
/nbproject/private/
/nbbuild/
/dist/
/nbdist/
/.nb-gradle/
build/
!**/src/main/**/build/
!**/src/test/**/build/
### VS Code ###
.vscode/
### Mac OS ###
.DS_Store

106
common/pom.xml Normal file
View File

@ -0,0 +1,106 @@
<?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>cn.skcks.docking</groupId>
<artifactId>gb28181</artifactId>
<version>0.0.1-SNAPSHOT</version>
</parent>
<groupId>cn.skcks.docking.gb28181</groupId>
<artifactId>common</artifactId>
<properties>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<!--mybatis 分页器插件-->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-starter-common</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-redis</artifactId>
<exclusions>
<exclusion>
<artifactId>lettuce-core</artifactId>
<groupId>io.lettuce</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
</plugins>
<resources>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/**</include>
</includes>
<filtering>true</filtering>
</resource>
</resources>
</build>
</project>

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,3 @@
spring:
session:
store-type: none

View File

@ -0,0 +1,7 @@
██████╗ ██████╗ ██████╗██╗ ██╗██╗███╗ ██╗ ██████╗ _____ ____ ___ ___ __ ___ __
██╔══██╗██╔═══██╗██╔════╝██║ ██╔╝██║████╗ ██║██╔════╝ / ____| _ \ |__ \ / _ /_ |/ _ /_ |
██║ ██║██║ ██║██║ █████╔╝ ██║██╔██╗ ██║██║ ███╗ | | __| |_) | ) | (_) | | (_) | |
██║ ██║██║ ██║██║ ██╔═██╗ ██║██║╚██╗██║██║ ██║ | | |_ | _ < / / > _ <| |> _ <| |
██████╔╝╚██████╔╝╚██████╗██║ ██╗██║██║ ╚████║╚██████╔╝ | |__| | |_) | / /_| (_) | | (_) | |
╚═════╝ ╚═════╝ ╚═════╝╚═╝ ╚═╝╚═╝╚═╝ ╚═══╝ ╚═════╝ \_____|____/ |____|\___/|_|\___/|_|

223
pom.xml
View File

@ -11,59 +11,200 @@
<groupId>cn.skcks.docking</groupId> <groupId>cn.skcks.docking</groupId>
<artifactId>gb28181</artifactId> <artifactId>gb28181</artifactId>
<version>0.0.1-SNAPSHOT</version> <version>0.0.1-SNAPSHOT</version>
<packaging>pom</packaging>
<name>gb28181-docking-platform</name> <name>gb28181-docking-platform</name>
<description>GB28181 Docking Platform</description> <description>GB28181 Docking Platform</description>
<properties> <modules>
<java.version>17</java.version> <module>starter</module>
</properties> <module>annotation</module>
<dependencies> <module>common</module>
<dependency> <module>api</module>
<groupId>org.springframework.boot</groupId> </modules>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency> <properties>
<groupId>org.springframework.boot</groupId> <maven.compiler.source>17</maven.compiler.source>
<artifactId>spring-boot-devtools</artifactId> <maven.compiler.target>17</maven.compiler.target>
<scope>runtime</scope> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<optional>true</optional> <java.version>17</java.version>
</dependency>
<dependency> <springboot.version>3.1.2</springboot.version>
<groupId>com.mysql</groupId>
<artifactId>mysql-connector-j</artifactId> <!--Java Bean-->
<scope>runtime</scope> <org.mapstruct.version>1.5.3.Final</org.mapstruct.version>
</dependency> <lombok.version>1.18.24</lombok.version>
<dependency>
<groupId>org.springframework.boot</groupId> <!--数据库-->
<artifactId>spring-boot-configuration-processor</artifactId> <mysql.version>8.0.31</mysql.version>
<optional>true</optional> <mybatis.version>3.0.1</mybatis.version>
</dependency> <mybatis-dynamic.version>1.4.1</mybatis-dynamic.version>
<dependency> <mybatis-generator-maven-plugin.version>1.4.1</mybatis-generator-maven-plugin.version>
<groupId>org.projectlombok</groupId> <pagehelper.version>1.4.6</pagehelper.version>
<artifactId>lombok</artifactId>
<optional>true</optional> <!--工具-->
</dependency> <hutool.version>5.8.11</hutool.version>
<dependency>
<groupId>org.springframework.boot</groupId> <!--SpringDoc-->
<artifactId>spring-boot-starter-test</artifactId> <springdoc.version>2.0.2</springdoc.version>
<scope>test</scope> </properties>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<!--MapStruct-->
<dependency>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct</artifactId>
<version>${org.mapstruct.version}</version>
</dependency>
<dependency>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct-processor</artifactId>
<version>${org.mapstruct.version}</version>
<scope>compile</scope>
</dependency>
<!--lombok-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>${lombok.version}</version>
<scope>provided</scope>
</dependency>
<!--mybatis 分页器插件-->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>${pagehelper.version}</version>
</dependency>
<!--hutool-->
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>${hutool.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>${springboot.version}</version>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-undertow</artifactId>
<version>${springboot.version}</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springdoc/springdoc-openapi-starter-common -->
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-starter-common</artifactId>
<version>${springdoc.version}</version>
</dependency>
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
<version>${springdoc.version}</version>
</dependency>
</dependencies>
</dependencyManagement>
<build> <build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>${mybatis-generator-maven-plugin.version}</version>
<configuration>
<!--配置文件的位置-->
<configurationFile>src/main/resources/config/generatorConfig.xml</configurationFile>
<verbose>true</verbose>
<overwrite>true</overwrite>
</configuration>
<executions>
<execution>
<id>Generate MyBatis Artifacts</id>
<goals>
<goal>generate</goal>
</goals>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>${mysql.version}</version>
</dependency>
</dependencies>
</plugin>
</plugins>
</pluginManagement>
<plugins> <plugins>
<plugin> <plugin>
<groupId>org.springframework.boot</groupId> <groupId>org.apache.maven.plugins</groupId>
<artifactId>spring-boot-maven-plugin</artifactId> <artifactId>maven-compiler-plugin</artifactId>
<version>${maven-compiler-plugin.version}</version>
<configuration> <configuration>
<excludes> <annotationProcessorPaths>
<exclude> <path>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct-processor</artifactId>
<version>${org.mapstruct.version}</version>
</path>
<path>
<groupId>org.projectlombok</groupId> <groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId> <artifactId>lombok</artifactId>
</exclude> <version>${lombok.version}</version>
</excludes> </path>
<path>
<groupId>org.projectlombok</groupId>
<artifactId>lombok-mapstruct-binding</artifactId>
<version>0.2.0</version>
</path>
<path>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<version>${springboot.version}</version>
</path>
<!-- other annotation processors -->
</annotationProcessorPaths>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>${maven-surefire-plugin.version}</version>
<configuration>
<skipTests>true</skipTests>
</configuration> </configuration>
</plugin> </plugin>
</plugins> </plugins>
<resources>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/**</include>
</includes>
<filtering>true</filtering>
</resource>
</resources>
</build> </build>
</project> </project>

View File

@ -1 +0,0 @@

View File

@ -1,13 +0,0 @@
package cn.skcks.docking.gb28181;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;
@SpringBootTest
class Gb28181DockingPlatformApplicationTests {
@Test
void contextLoads() {
}
}

38
starter/.gitignore vendored Normal file
View File

@ -0,0 +1,38 @@
target/
!.mvn/wrapper/maven-wrapper.jar
!**/src/main/**/target/
!**/src/test/**/target/
### IntelliJ IDEA ###
.idea/modules.xml
.idea/jarRepositories.xml
.idea/compiler.xml
.idea/libraries/
*.iws
*.iml
*.ipr
### Eclipse ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
.sts4-cache
### NetBeans ###
/nbproject/private/
/nbbuild/
/dist/
/nbdist/
/.nb-gradle/
build/
!**/src/main/**/build/
!**/src/test/**/build/
### VS Code ###
.vscode/
### Mac OS ###
.DS_Store

118
starter/pom.xml Normal file
View File

@ -0,0 +1,118 @@
<?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>cn.skcks.docking</groupId>
<artifactId>gb28181</artifactId>
<version>0.0.1-SNAPSHOT</version>
</parent>
<groupId>cn.skcks.docking.gb28181</groupId>
<artifactId>starter</artifactId>
<packaging>jar</packaging>
<properties>
<maven.build.timestamp.format>MMddHHmm</maven.build.timestamp.format>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>cn.skcks.docking.gb28181</groupId>
<artifactId>common</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-undertow</artifactId>
<version>${springboot.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>com.mysql</groupId>
<artifactId>mysql-connector-j</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<finalName>${project.artifactId}-${project.version}</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<skip>false</skip>
<excludes>
<exclude>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</exclude>
</excludes>
</configuration>
<executions>
<execution>
<id>repackage</id>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<skipTests>true</skipTests>
</configuration>
</plugin>
</plugins>
<resources>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/**</include>
</includes>
<filtering>true</filtering>
</resource>
</resources>
</build>
</project>

View File

@ -2,8 +2,9 @@ package cn.skcks.docking.gb28181;
import org.springframework.boot.SpringApplication; import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
@SpringBootApplication @SpringBootApplication(exclude = DataSourceAutoConfiguration.class)
public class Gb28181DockingPlatformApplication { public class Gb28181DockingPlatformApplication {
public static void main(String[] args) { public static void main(String[] args) {

View File

@ -0,0 +1,2 @@
server:
port: 28181

View File

@ -0,0 +1,53 @@
<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true" scanPeriod="60 seconds" debug="false">
<contextName>logback</contextName>
<!--定义日志文件的存储地址 勿在 LogBack 的配置中使用相对路径-->
<!--<property name="log.path" value="./log/business_Log" />-->
<!--输出到控制台-->
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<!-- <filter class="ch.qos.logback.classic.filter.ThresholdFilter">-->
<!-- <level>INFO</level>-->
<!-- </filter>-->
<!-- <withJansi>true</withJansi>-->
<encoder>
<!--<pattern>%d %p (%file:%line\)- %m%n</pattern>-->
<!--格式化输出:%d:表示日期 %thread:表示线程名 %-5level:级别从左显示5个字符宽度 %msg:日志消息 %n:是换行符-->
<pattern>%red(%d{yyyy-MM-dd HH:mm:ss.SSS}) %green([%thread]) %highlight(%-5level) %yellow(at %class.%method) (%file:%line\) - %cyan(%msg%n)</pattern>
<!--<pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %magenta(%-5level) %green([%-50.50class]) >>> %cyan(%msg) %n</pattern>-->
<charset>UTF-8</charset>
</encoder>
</appender>
<!--&lt;!&ndash;输出到文件&ndash;&gt;-->
<!--<appender name="file" class="ch.qos.logback.core.rolling.RollingFileAppender">-->
<!-- <filter class="ch.qos.logback.classic.filter.ThresholdFilter">-->
<!-- <level>INFO</level>-->
<!-- </filter>-->
<!-- <file>${log.path}/logback.log</file>-->
<!-- <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">-->
<!-- <fileNamePattern>${log.path}/logback-%d{yyyy-MM-dd-HH-mm}.log</fileNamePattern>-->
<!-- <maxHistory>365</maxHistory>-->
<!-- &lt;!&ndash; <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">&ndash;&gt;-->
<!-- &lt;!&ndash; <maxFileSize>100kB</maxFileSize>&ndash;&gt;-->
<!-- &lt;!&ndash; </timeBasedFileNamingAndTriggeringPolicy>&ndash;&gt;-->
<!-- </rollingPolicy>-->
<!-- <encoder>-->
<!-- &lt;!&ndash;格式化输出:%d:表示日期 %thread:表示线程名 %-5level:级别从左显示5个字符宽度 %msg:日志消息 %n:是换行符&ndash;&gt;-->
<!-- <pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n</pattern>-->
<!-- <charset>UTF-8</charset>-->
<!-- </encoder>-->
<!--</appender>-->
<!-- 如果appender里没有限定日志级别那么root可以统一设置如果没有配置那么控制台和文件不会输出任何日志这里root的level不做限制-->
<root level="INFO">
<!-- 允许控制台输出-->
<appender-ref ref="console" />
<!--&lt;!&ndash; 允许文件输出&ndash;&gt;-->
<!--<appender-ref ref="file" />-->
</root>
<logger name="cn.skcks.docking.gb28181" level="DEBUG" />
</configuration>

View File

@ -0,0 +1,12 @@
package cn.skcks.docking.gb28181;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
@SpringBootApplication(exclude = DataSourceAutoConfiguration.class)
public class Gb28181DockingPlatformApplicationTest {
public static void main(String[] args) {
SpringApplication.run(Gb28181DockingPlatformApplication.class, args);
}
}