From 199c0de8e7a101584c5abf7a8c2bd9eb2217f6a3 Mon Sep 17 00:00:00 2001 From: mitao <2763622819@qq.com> Date: 星期四, 16 五月 2024 13:09:04 +0800 Subject: [PATCH] 提交微服务业务基础模块 --- ruoyi-modules/ruoyi-article/src/main/resources/mybatis-config.xml | 27 ruoyi-modules/ruoyi-member/src/main/resources/banner.txt | 12 ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/RuoYiArticleApplication.java | 36 ruoyi-modules/ruoyi-promotion/src/main/resources/bootstrap.yml | 82 ++ ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/RuoYiGoodsApplication.java | 36 ruoyi-modules/ruoyi-system/src/main/resources/banner.txt | 12 ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/RuoYiAuctionApplication.java | 36 ruoyi-modules/ruoyi-article/src/main/resources/logback.xml | 74 + ruoyi-modules/pom.xml | 6 ruoyi-modules/ruoyi-auction/src/main/resources/logback.xml | 74 + ruoyi-modules/ruoyi-order/pom.xml | 146 +++ ruoyi-modules/ruoyi-goods/src/main/resources/logback.xml | 74 + ruoyi-modules/ruoyi-auction/src/main/resources/bootstrap.yml | 82 ++ ruoyi-modules/ruoyi-goods/src/main/resources/mybatis-config.xml | 27 ruoyi-modules/ruoyi-member/src/main/resources/logback.xml | 74 + ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/RuoYiPromotionApplication.java | 36 ruoyi-modules/ruoyi-auction/src/main/resources/mybatis-config.xml | 27 ruoyi-modules/ruoyi-goods/src/main/resources/bootstrap.yml | 82 ++ ruoyi-modules/ruoyi-promotion/src/main/resources/banner.txt | 10 ruoyi-modules/ruoyi-promotion/src/main/resources/logback.xml | 74 + ruoyi-modules/ruoyi-order/src/main/resources/banner.txt | 10 ruoyi-modules/ruoyi-order/src/main/resources/bootstrap.yml | 82 ++ ruoyi-modules/ruoyi-promotion/src/main/resources/mybatis-config.xml | 27 ruoyi-modules/ruoyi-order/src/main/resources/logback.xml | 74 + ruoyi-modules/ruoyi-member/src/main/resources/bootstrap.yml | 82 ++ ruoyi-modules/ruoyi-article/src/main/resources/bootstrap.yml | 82 ++ ruoyi-modules/ruoyi-member/pom.xml | 145 +++ ruoyi-modules/ruoyi-promotion/pom.xml | 146 +++ ruoyi-modules/ruoyi-auction/pom.xml | 146 +++ ruoyi-modules/ruoyi-goods/pom.xml | 145 +++ ruoyi-modules/ruoyi-goods/src/main/resources/banner.txt | 11 ruoyi-modules/ruoyi-article/pom.xml | 146 +++ ruoyi-modules/ruoyi-member/src/main/resources/mybatis-config.xml | 27 ruoyi-modules/ruoyi-article/src/main/resources/banner.txt | 13 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/RuoYiMemberApplication.java | 36 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/RuoYiOrderApplication.java | 36 ruoyi-modules/ruoyi-auction/src/main/resources/banner.txt | 12 ruoyi-modules/ruoyi-order/src/main/resources/mybatis-config.xml | 27 38 files changed, 2,268 insertions(+), 6 deletions(-) diff --git a/ruoyi-modules/pom.xml b/ruoyi-modules/pom.xml index 3fa1bdd..456e50b 100644 --- a/ruoyi-modules/pom.xml +++ b/ruoyi-modules/pom.xml @@ -14,6 +14,12 @@ <module>ruoyi-job</module> <module>ruoyi-file</module> <module>ruoyi-seata-demo</module> + <module>ruoyi-member</module> + <module>ruoyi-goods</module> + <module>ruoyi-auction</module> + <module>ruoyi-order</module> + <module>ruoyi-promotion</module> + <module>ruoyi-article</module> </modules> <artifactId>ruoyi-modules</artifactId> diff --git a/ruoyi-modules/ruoyi-article/pom.xml b/ruoyi-modules/ruoyi-article/pom.xml new file mode 100644 index 0000000..bd337b3 --- /dev/null +++ b/ruoyi-modules/ruoyi-article/pom.xml @@ -0,0 +1,146 @@ +<?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.ruoyi</groupId> + <artifactId>ruoyi-modules</artifactId> + <version>3.6.2</version> + </parent> + + <artifactId>ruoyi-modules-article</artifactId> + + <properties> + <maven.compiler.source>11</maven.compiler.source> + <maven.compiler.target>11</maven.compiler.target> + <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> + </properties> + <description> + ruoyi-modules-article资讯模块 + </description> + + <dependencies> + + <dependency> + <groupId>com.ruoyi</groupId> + <artifactId>ruoyi-api-system</artifactId> + <scope>compile</scope> + </dependency> + + <!-- SpringCloud Alibaba Nacos --> + <dependency> + <groupId>com.alibaba.cloud</groupId> + <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> + </dependency> + + <!-- SpringCloud Alibaba Nacos Config --> + <dependency> + <groupId>com.alibaba.cloud</groupId> + <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId> + </dependency> + + <!-- SpringCloud Alibaba Sentinel --> + <dependency> + <groupId>com.alibaba.cloud</groupId> + <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId> + </dependency> + + <!-- SpringBoot Actuator --> + <dependency> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-starter-actuator</artifactId> + </dependency> + + <!-- Swagger UI --> + <dependency> + <groupId>io.springfox</groupId> + <artifactId>springfox-swagger-ui</artifactId> + <version>${swagger.fox.version}</version> + </dependency> + + <!-- Mysql Connector --> + <dependency> + <groupId>mysql</groupId> + <artifactId>mysql-connector-java</artifactId> + </dependency> + + <!-- RuoYi Common DataSource --> + <dependency> + <groupId>com.ruoyi</groupId> + <artifactId>ruoyi-common-datasource</artifactId> + </dependency> + + <!-- RuoYi Common DataScope --> + <dependency> + <groupId>com.ruoyi</groupId> + <artifactId>ruoyi-common-datascope</artifactId> + </dependency> + + <!-- RuoYi Common Log --> + <dependency> + <groupId>com.ruoyi</groupId> + <artifactId>ruoyi-common-log</artifactId> + </dependency> + + <!-- RuoYi Common Swagger --> + <dependency> + <groupId>com.ruoyi</groupId> + <artifactId>ruoyi-common-swagger</artifactId> + </dependency> + + <!-- 引入Druid依赖,阿里巴巴所提供的数据源 --> + <dependency> + <groupId>com.alibaba</groupId> + <artifactId>druid-spring-boot-starter</artifactId> + <version>${druid.version}</version> + </dependency> + <dependency> + <groupId>com.alibaba</groupId> + <artifactId>fastjson</artifactId> + <version>1.2.47</version> + </dependency> + + <dependency> + <groupId>cn.afterturn</groupId> + <artifactId>easypoi-spring-boot-starter</artifactId> + <version>4.0.0</version> + <exclusions> + <exclusion> + <artifactId>guava</artifactId> + <groupId>com.google.guava</groupId> + </exclusion> + </exclusions> + </dependency> + + </dependencies> + + <build> + <finalName>${project.artifactId}</finalName> + <plugins> + <plugin> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-maven-plugin</artifactId> + <executions> + <execution> + <goals> + <goal>repackage</goal> + </goals> + </execution> + </executions> + </plugin> + </plugins> + <resources> + <resource> + <directory>src/main/resources</directory> + </resource> + <resource> + <directory>src/main/java</directory> + <includes> + <include>**/*.xml</include> + </includes> + <filtering>false</filtering> + </resource> + </resources> + </build> +</project> \ No newline at end of file diff --git a/ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/RuoYiArticleApplication.java b/ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/RuoYiArticleApplication.java new file mode 100644 index 0000000..f580c71 --- /dev/null +++ b/ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/RuoYiArticleApplication.java @@ -0,0 +1,36 @@ +package com.ruoyi.article; + +import com.ruoyi.common.security.annotation.EnableCustomConfig; +import com.ruoyi.common.security.annotation.EnableRyFeignClients; +import com.ruoyi.common.swagger.annotation.EnableCustomSwagger2; +import org.mybatis.spring.annotation.MapperScan; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +/** + * 系统模块 + * + * @author ruoyi + */ +@EnableCustomConfig +@MapperScan({"com.ruoyi.article.mapper"}) +@EnableCustomSwagger2 +@EnableRyFeignClients +@SpringBootApplication +public class RuoYiArticleApplication +{ + public static void main(String[] args) + { + SpringApplication.run(RuoYiArticleApplication.class, args); + System.out.println("(♥◠‿◠)ノ゙ 资讯模块启动成功 ლ(´ڡ`ლ)゙ \n" + + " .-------. ____ __ \n" + + " | _ _ \\ \\ \\ / / \n" + + " | ( ' ) | \\ _. / ' \n" + + " |(_ o _) / _( )_ .' \n" + + " | (_,_).' __ ___(_ o _)' \n" + + " | |\\ \\ | || |(_,_)' \n" + + " | | \\ `' /| `-' / \n" + + " | | \\ / \\ / \n" + + " ''-' `'-' `-..-' "); + } +} diff --git a/ruoyi-modules/ruoyi-article/src/main/resources/banner.txt b/ruoyi-modules/ruoyi-article/src/main/resources/banner.txt new file mode 100644 index 0000000..b8d9d06 --- /dev/null +++ b/ruoyi-modules/ruoyi-article/src/main/resources/banner.txt @@ -0,0 +1,13 @@ +Spring Boot Version: ${spring-boot.version} +Spring Application Name: ${spring.application.name} + ██ ██ ██ + ░██ ░░ ░██ + ██████ ██████ ██████ ██ █████ ░██ █████ + ░░░░░░██ ░░██░░█░░░██░ ░██ ██░░░██ ░██ ██░░░██ + ███████ ░██ ░ ░██ ░██░██ ░░ ░██░███████ + ██░░░░██ ░██ ░██ ░██░██ ██ ░██░██░░░░ +░░████████░███ ░░██ ░██░░█████ ███░░██████ + ░░░░░░░░ ░░░ ░░ ░░ ░░░░░ ░░░ ░░░░░░ + + + diff --git a/ruoyi-modules/ruoyi-article/src/main/resources/bootstrap.yml b/ruoyi-modules/ruoyi-article/src/main/resources/bootstrap.yml new file mode 100644 index 0000000..d8b60a6 --- /dev/null +++ b/ruoyi-modules/ruoyi-article/src/main/resources/bootstrap.yml @@ -0,0 +1,82 @@ +# Spring +spring: + application: + # 应用名称 + name: ruoyi-article + main: + allow-bean-definition-overriding: true + profiles: + # 环境配置 + active: dev +--- +spring: + config: + activate: + on-profile: dev + cloud: + nacos: + discovery: + # 服务注册地址 + server-addr: 127.0.0.1:8858 + service: ${spring.application.name} + group: DEFAULT_GROUP + namespace: 689e0f09-d102-460c-ac5c-5ea50a3174be + config: + # 配置中心地址 + server-addr: 127.0.0.1:8858 + namespace: 689e0f09-d102-460c-ac5c-5ea50a3174be + group: DEFAULT_GROUP + name: ${spring.application.name} + # 配置文件格式 + file-extension: yml + # 共享配置 + shared-configs: + - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} +--- +spring: + config: + activate: + on-profile: prod + cloud: + nacos: + discovery: + # 服务注册地址 + server-addr: 127.0.0.1:8848 + service: ${spring.application.name} + group: DEFAULT_GROUP + namespace: 3452d750-b08d-4485-a1e9-4fb0548f1fc2 + config: + # 配置中心地址 + server-addr: 127.0.0.1:8848 + namespace: 3452d750-b08d-4485-a1e9-4fb0548f1fc2 + group: DEFAULT_GROUP + name: ${spring.application.name} + # 配置文件格式 + file-extension: yml + # 共享配置 + shared-configs: + - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} +--- +spring: + config: + activate: + on-profile: test + cloud: + nacos: + discovery: + # 服务注册地址 + server-addr: 127.0.0.1:8848 + service: ${spring.application.name} + group: DEFAULT_GROUP + namespace: 96712c7a-480b-4f40-b783-39f00f3b33ce + config: + # 配置中心地址 + server-addr: 127.0.0.1:8848 + namespace: 96712c7a-480b-4f40-b783-39f00f3b33ce + group: DEFAULT_GROUP + name: ${spring.application.name} + # 配置文件格式 + file-extension: yml + # 共享配置 + shared-configs: + - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} \ No newline at end of file diff --git a/ruoyi-modules/ruoyi-article/src/main/resources/logback.xml b/ruoyi-modules/ruoyi-article/src/main/resources/logback.xml new file mode 100644 index 0000000..780256f --- /dev/null +++ b/ruoyi-modules/ruoyi-article/src/main/resources/logback.xml @@ -0,0 +1,74 @@ +<?xml version="1.0" encoding="UTF-8"?> +<configuration scan="true" scanPeriod="60 seconds" debug="false"> + <!-- 日志存放路径 --> + <property name="log.path" value="logs/ruoyi-article" /> + <!-- 日志输出格式 --> + <property name="log.pattern" value="%d{HH:mm:ss.SSS} [%thread] %-5level %logger{20} - [%method,%line] - %msg%n" /> + + <!-- 控制台输出 --> + <appender name="console" class="ch.qos.logback.core.ConsoleAppender"> + <encoder> + <pattern>${log.pattern}</pattern> + </encoder> + </appender> + + <!-- 系统日志输出 --> + <appender name="file_info" class="ch.qos.logback.core.rolling.RollingFileAppender"> + <file>${log.path}/info.log</file> + <!-- 循环政策:基于时间创建日志文件 --> + <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> + <!-- 日志文件名格式 --> + <fileNamePattern>${log.path}/info.%d{yyyy-MM-dd}.log</fileNamePattern> + <!-- 日志最大的历史 60天 --> + <maxHistory>60</maxHistory> + </rollingPolicy> + <encoder> + <pattern>${log.pattern}</pattern> + </encoder> + <filter class="ch.qos.logback.classic.filter.LevelFilter"> + <!-- 过滤的级别 --> + <level>INFO</level> + <!-- 匹配时的操作:接收(记录) --> + <onMatch>ACCEPT</onMatch> + <!-- 不匹配时的操作:拒绝(不记录) --> + <onMismatch>DENY</onMismatch> + </filter> + </appender> + + <appender name="file_error" class="ch.qos.logback.core.rolling.RollingFileAppender"> + <file>${log.path}/error.log</file> + <!-- 循环政策:基于时间创建日志文件 --> + <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> + <!-- 日志文件名格式 --> + <fileNamePattern>${log.path}/error.%d{yyyy-MM-dd}.log</fileNamePattern> + <!-- 日志最大的历史 60天 --> + <maxHistory>60</maxHistory> + </rollingPolicy> + <encoder> + <pattern>${log.pattern}</pattern> + </encoder> + <filter class="ch.qos.logback.classic.filter.LevelFilter"> + <!-- 过滤的级别 --> + <level>ERROR</level> + <!-- 匹配时的操作:接收(记录) --> + <onMatch>ACCEPT</onMatch> + <!-- 不匹配时的操作:拒绝(不记录) --> + <onMismatch>DENY</onMismatch> + </filter> + </appender> + + <!-- 系统模块日志级别控制 --> + <logger name="com.ruoyi" level="info" /> + <!-- Spring日志级别控制 --> + <logger name="org.springframework" level="warn" /> + + <root level="info"> + <appender-ref ref="console" /> + </root> + + <!--系统操作日志--> + <root level="info"> + <appender-ref ref="file_info" /> + <appender-ref ref="file_error" /> + </root> +</configuration> \ No newline at end of file diff --git a/ruoyi-modules/ruoyi-article/src/main/resources/mybatis-config.xml b/ruoyi-modules/ruoyi-article/src/main/resources/mybatis-config.xml new file mode 100644 index 0000000..6bd8b03 --- /dev/null +++ b/ruoyi-modules/ruoyi-article/src/main/resources/mybatis-config.xml @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> +<configuration> + + <settings> + <!-- 打印查询语句 不会写入到日志文件中--> + <setting name="logImpl" value="STDOUT_LOGGING"/> + <!--<setting name="logImpl" value="LOG4J" />--> + <!-- 控制全局缓存(二级缓存),按美团技术团队的说法,尽量别用缓存机制 emmmm.... --> + <setting name="cacheEnabled" value="true"/> + <!-- 延迟加载的全局开关。当开启时,所有关联对象都会延迟加载。默认 false --> + <!-- <setting name="lazyLoadingEnabled" value="true"/> --> + <setting name="mapUnderscoreToCamelCase" value="false"/><!--是否将map下划线方式转为驼峰式命名--> + <!-- 当开启时,任何方法的调用都会加载该对象的所有属性。默认 false,可通过select标签的 fetchType来覆盖--> + <!-- <setting name="aggressiveLazyLoading" value="false"/>--> + <!-- Mybatis 创建具有延迟加载能力的对象所用到的代理工具,默认JAVASSIST --> + <!--<setting name="proxyFactory" value="CGLIB" />--> + <!-- 关于mybatis的一二级缓存 请参照:https://tech.meituan.com/2018/01/19/mybatis-cache.html --> + <!-- 一级缓存范围默认:SESSION ,此范围在复杂应用场景中可能会出现脏读数据--> + <!-- STATEMENT级别的缓存,使一级缓存,只针对当前执行的这一statement有效 --> + <!--<setting name="localCacheScope" value="STATEMENT"/>--> + <setting name="localCacheScope" value="STATEMENT"/> + <!--开启枚举类自动转换--> + <setting name="defaultEnumTypeHandler" value="org.apache.ibatis.type.EnumOrdinalTypeHandler"/> + </settings> + +</configuration> diff --git a/ruoyi-modules/ruoyi-auction/pom.xml b/ruoyi-modules/ruoyi-auction/pom.xml new file mode 100644 index 0000000..8f94805 --- /dev/null +++ b/ruoyi-modules/ruoyi-auction/pom.xml @@ -0,0 +1,146 @@ +<?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.ruoyi</groupId> + <artifactId>ruoyi-modules</artifactId> + <version>3.6.2</version> + </parent> + + <artifactId>ruoyi-modules-auction</artifactId> + + <properties> + <maven.compiler.source>11</maven.compiler.source> + <maven.compiler.target>11</maven.compiler.target> + <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> + </properties> + <description> + ruoyi-modules-auction拍卖模块 + </description> + + <dependencies> + + <dependency> + <groupId>com.ruoyi</groupId> + <artifactId>ruoyi-api-system</artifactId> + <scope>compile</scope> + </dependency> + + <!-- SpringCloud Alibaba Nacos --> + <dependency> + <groupId>com.alibaba.cloud</groupId> + <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> + </dependency> + + <!-- SpringCloud Alibaba Nacos Config --> + <dependency> + <groupId>com.alibaba.cloud</groupId> + <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId> + </dependency> + + <!-- SpringCloud Alibaba Sentinel --> + <dependency> + <groupId>com.alibaba.cloud</groupId> + <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId> + </dependency> + + <!-- SpringBoot Actuator --> + <dependency> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-starter-actuator</artifactId> + </dependency> + + <!-- Swagger UI --> + <dependency> + <groupId>io.springfox</groupId> + <artifactId>springfox-swagger-ui</artifactId> + <version>${swagger.fox.version}</version> + </dependency> + + <!-- Mysql Connector --> + <dependency> + <groupId>mysql</groupId> + <artifactId>mysql-connector-java</artifactId> + </dependency> + + <!-- RuoYi Common DataSource --> + <dependency> + <groupId>com.ruoyi</groupId> + <artifactId>ruoyi-common-datasource</artifactId> + </dependency> + + <!-- RuoYi Common DataScope --> + <dependency> + <groupId>com.ruoyi</groupId> + <artifactId>ruoyi-common-datascope</artifactId> + </dependency> + + <!-- RuoYi Common Log --> + <dependency> + <groupId>com.ruoyi</groupId> + <artifactId>ruoyi-common-log</artifactId> + </dependency> + + <!-- RuoYi Common Swagger --> + <dependency> + <groupId>com.ruoyi</groupId> + <artifactId>ruoyi-common-swagger</artifactId> + </dependency> + + <!-- 引入Druid依赖,阿里巴巴所提供的数据源 --> + <dependency> + <groupId>com.alibaba</groupId> + <artifactId>druid-spring-boot-starter</artifactId> + <version>${druid.version}</version> + </dependency> + <dependency> + <groupId>com.alibaba</groupId> + <artifactId>fastjson</artifactId> + <version>1.2.47</version> + </dependency> + + <dependency> + <groupId>cn.afterturn</groupId> + <artifactId>easypoi-spring-boot-starter</artifactId> + <version>4.0.0</version> + <exclusions> + <exclusion> + <artifactId>guava</artifactId> + <groupId>com.google.guava</groupId> + </exclusion> + </exclusions> + </dependency> + + </dependencies> + + <build> + <finalName>${project.artifactId}</finalName> + <plugins> + <plugin> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-maven-plugin</artifactId> + <executions> + <execution> + <goals> + <goal>repackage</goal> + </goals> + </execution> + </executions> + </plugin> + </plugins> + <resources> + <resource> + <directory>src/main/resources</directory> + </resource> + <resource> + <directory>src/main/java</directory> + <includes> + <include>**/*.xml</include> + </includes> + <filtering>false</filtering> + </resource> + </resources> + </build> +</project> \ No newline at end of file diff --git a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/RuoYiAuctionApplication.java b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/RuoYiAuctionApplication.java new file mode 100644 index 0000000..db66f58 --- /dev/null +++ b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/RuoYiAuctionApplication.java @@ -0,0 +1,36 @@ +package com.ruoyi.auction; + +import com.ruoyi.common.security.annotation.EnableCustomConfig; +import com.ruoyi.common.security.annotation.EnableRyFeignClients; +import com.ruoyi.common.swagger.annotation.EnableCustomSwagger2; +import org.mybatis.spring.annotation.MapperScan; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +/** + * 系统模块 + * + * @author ruoyi + */ +@EnableCustomConfig +@MapperScan({"com.ruoyi.auction.mapper"}) +@EnableCustomSwagger2 +@EnableRyFeignClients +@SpringBootApplication +public class RuoYiAuctionApplication +{ + public static void main(String[] args) + { + SpringApplication.run(RuoYiAuctionApplication.class, args); + System.out.println("(♥◠‿◠)ノ゙ 拍卖模块启动成功 ლ(´ڡ`ლ)゙ \n" + + " .-------. ____ __ \n" + + " | _ _ \\ \\ \\ / / \n" + + " | ( ' ) | \\ _. / ' \n" + + " |(_ o _) / _( )_ .' \n" + + " | (_,_).' __ ___(_ o _)' \n" + + " | |\\ \\ | || |(_,_)' \n" + + " | | \\ `' /| `-' / \n" + + " | | \\ / \\ / \n" + + " ''-' `'-' `-..-' "); + } +} diff --git a/ruoyi-modules/ruoyi-auction/src/main/resources/banner.txt b/ruoyi-modules/ruoyi-auction/src/main/resources/banner.txt new file mode 100644 index 0000000..bdd6fa4 --- /dev/null +++ b/ruoyi-modules/ruoyi-auction/src/main/resources/banner.txt @@ -0,0 +1,12 @@ +Spring Boot Version: ${spring-boot.version} +Spring Application Name: ${spring.application.name} + ██ ██ + ░██ ░░ + ██████ ██ ██ █████ ██████ ██ ██████ ███████ + ░░░░░░██ ░██ ░██ ██░░░██░░░██░ ░██ ██░░░░██░░██░░░██ + ███████ ░██ ░██░██ ░░ ░██ ░██░██ ░██ ░██ ░██ + ██░░░░██ ░██ ░██░██ ██ ░██ ░██░██ ░██ ░██ ░██ + ░░████████░░██████░░█████ ░░██ ░██░░██████ ███ ░██ + ░░░░░░░░ ░░░░░░ ░░░░░ ░░ ░░ ░░░░░░ ░░░ ░░ + + diff --git a/ruoyi-modules/ruoyi-auction/src/main/resources/bootstrap.yml b/ruoyi-modules/ruoyi-auction/src/main/resources/bootstrap.yml new file mode 100644 index 0000000..9d0661c --- /dev/null +++ b/ruoyi-modules/ruoyi-auction/src/main/resources/bootstrap.yml @@ -0,0 +1,82 @@ +# Spring +spring: + application: + # 应用名称 + name: ruoyi-auction + main: + allow-bean-definition-overriding: true + profiles: + # 环境配置 + active: dev +--- +spring: + config: + activate: + on-profile: dev + cloud: + nacos: + discovery: + # 服务注册地址 + server-addr: 127.0.0.1:8858 + service: ${spring.application.name} + group: DEFAULT_GROUP + namespace: 689e0f09-d102-460c-ac5c-5ea50a3174be + config: + # 配置中心地址 + server-addr: 127.0.0.1:8858 + namespace: 689e0f09-d102-460c-ac5c-5ea50a3174be + group: DEFAULT_GROUP + name: ${spring.application.name} + # 配置文件格式 + file-extension: yml + # 共享配置 + shared-configs: + - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} +--- +spring: + config: + activate: + on-profile: prod + cloud: + nacos: + discovery: + # 服务注册地址 + server-addr: 127.0.0.1:8848 + service: ${spring.application.name} + group: DEFAULT_GROUP + namespace: 3452d750-b08d-4485-a1e9-4fb0548f1fc2 + config: + # 配置中心地址 + server-addr: 127.0.0.1:8848 + namespace: 3452d750-b08d-4485-a1e9-4fb0548f1fc2 + group: DEFAULT_GROUP + name: ${spring.application.name} + # 配置文件格式 + file-extension: yml + # 共享配置 + shared-configs: + - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} +--- +spring: + config: + activate: + on-profile: test + cloud: + nacos: + discovery: + # 服务注册地址 + server-addr: 127.0.0.1:8848 + service: ${spring.application.name} + group: DEFAULT_GROUP + namespace: 96712c7a-480b-4f40-b783-39f00f3b33ce + config: + # 配置中心地址 + server-addr: 127.0.0.1:8848 + namespace: 96712c7a-480b-4f40-b783-39f00f3b33ce + group: DEFAULT_GROUP + name: ${spring.application.name} + # 配置文件格式 + file-extension: yml + # 共享配置 + shared-configs: + - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} \ No newline at end of file diff --git a/ruoyi-modules/ruoyi-auction/src/main/resources/logback.xml b/ruoyi-modules/ruoyi-auction/src/main/resources/logback.xml new file mode 100644 index 0000000..12526cf --- /dev/null +++ b/ruoyi-modules/ruoyi-auction/src/main/resources/logback.xml @@ -0,0 +1,74 @@ +<?xml version="1.0" encoding="UTF-8"?> +<configuration scan="true" scanPeriod="60 seconds" debug="false"> + <!-- 日志存放路径 --> + <property name="log.path" value="logs/ruoyi-auction" /> + <!-- 日志输出格式 --> + <property name="log.pattern" value="%d{HH:mm:ss.SSS} [%thread] %-5level %logger{20} - [%method,%line] - %msg%n" /> + + <!-- 控制台输出 --> + <appender name="console" class="ch.qos.logback.core.ConsoleAppender"> + <encoder> + <pattern>${log.pattern}</pattern> + </encoder> + </appender> + + <!-- 系统日志输出 --> + <appender name="file_info" class="ch.qos.logback.core.rolling.RollingFileAppender"> + <file>${log.path}/info.log</file> + <!-- 循环政策:基于时间创建日志文件 --> + <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> + <!-- 日志文件名格式 --> + <fileNamePattern>${log.path}/info.%d{yyyy-MM-dd}.log</fileNamePattern> + <!-- 日志最大的历史 60天 --> + <maxHistory>60</maxHistory> + </rollingPolicy> + <encoder> + <pattern>${log.pattern}</pattern> + </encoder> + <filter class="ch.qos.logback.classic.filter.LevelFilter"> + <!-- 过滤的级别 --> + <level>INFO</level> + <!-- 匹配时的操作:接收(记录) --> + <onMatch>ACCEPT</onMatch> + <!-- 不匹配时的操作:拒绝(不记录) --> + <onMismatch>DENY</onMismatch> + </filter> + </appender> + + <appender name="file_error" class="ch.qos.logback.core.rolling.RollingFileAppender"> + <file>${log.path}/error.log</file> + <!-- 循环政策:基于时间创建日志文件 --> + <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> + <!-- 日志文件名格式 --> + <fileNamePattern>${log.path}/error.%d{yyyy-MM-dd}.log</fileNamePattern> + <!-- 日志最大的历史 60天 --> + <maxHistory>60</maxHistory> + </rollingPolicy> + <encoder> + <pattern>${log.pattern}</pattern> + </encoder> + <filter class="ch.qos.logback.classic.filter.LevelFilter"> + <!-- 过滤的级别 --> + <level>ERROR</level> + <!-- 匹配时的操作:接收(记录) --> + <onMatch>ACCEPT</onMatch> + <!-- 不匹配时的操作:拒绝(不记录) --> + <onMismatch>DENY</onMismatch> + </filter> + </appender> + + <!-- 系统模块日志级别控制 --> + <logger name="com.ruoyi" level="info" /> + <!-- Spring日志级别控制 --> + <logger name="org.springframework" level="warn" /> + + <root level="info"> + <appender-ref ref="console" /> + </root> + + <!--系统操作日志--> + <root level="info"> + <appender-ref ref="file_info" /> + <appender-ref ref="file_error" /> + </root> +</configuration> \ No newline at end of file diff --git a/ruoyi-modules/ruoyi-auction/src/main/resources/mybatis-config.xml b/ruoyi-modules/ruoyi-auction/src/main/resources/mybatis-config.xml new file mode 100644 index 0000000..6bd8b03 --- /dev/null +++ b/ruoyi-modules/ruoyi-auction/src/main/resources/mybatis-config.xml @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> +<configuration> + + <settings> + <!-- 打印查询语句 不会写入到日志文件中--> + <setting name="logImpl" value="STDOUT_LOGGING"/> + <!--<setting name="logImpl" value="LOG4J" />--> + <!-- 控制全局缓存(二级缓存),按美团技术团队的说法,尽量别用缓存机制 emmmm.... --> + <setting name="cacheEnabled" value="true"/> + <!-- 延迟加载的全局开关。当开启时,所有关联对象都会延迟加载。默认 false --> + <!-- <setting name="lazyLoadingEnabled" value="true"/> --> + <setting name="mapUnderscoreToCamelCase" value="false"/><!--是否将map下划线方式转为驼峰式命名--> + <!-- 当开启时,任何方法的调用都会加载该对象的所有属性。默认 false,可通过select标签的 fetchType来覆盖--> + <!-- <setting name="aggressiveLazyLoading" value="false"/>--> + <!-- Mybatis 创建具有延迟加载能力的对象所用到的代理工具,默认JAVASSIST --> + <!--<setting name="proxyFactory" value="CGLIB" />--> + <!-- 关于mybatis的一二级缓存 请参照:https://tech.meituan.com/2018/01/19/mybatis-cache.html --> + <!-- 一级缓存范围默认:SESSION ,此范围在复杂应用场景中可能会出现脏读数据--> + <!-- STATEMENT级别的缓存,使一级缓存,只针对当前执行的这一statement有效 --> + <!--<setting name="localCacheScope" value="STATEMENT"/>--> + <setting name="localCacheScope" value="STATEMENT"/> + <!--开启枚举类自动转换--> + <setting name="defaultEnumTypeHandler" value="org.apache.ibatis.type.EnumOrdinalTypeHandler"/> + </settings> + +</configuration> diff --git a/ruoyi-modules/ruoyi-goods/pom.xml b/ruoyi-modules/ruoyi-goods/pom.xml new file mode 100644 index 0000000..72af07e --- /dev/null +++ b/ruoyi-modules/ruoyi-goods/pom.xml @@ -0,0 +1,145 @@ +<?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.ruoyi</groupId> + <artifactId>ruoyi-modules</artifactId> + <version>3.6.2</version> + </parent> + + <artifactId>ruoyi-modules-goods</artifactId> + + <properties> + <maven.compiler.source>11</maven.compiler.source> + <maven.compiler.target>11</maven.compiler.target> + <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> + </properties> + <description> + ruoyi-modules-goods商品模块 + </description> + <dependencies> + + <dependency> + <groupId>com.ruoyi</groupId> + <artifactId>ruoyi-api-system</artifactId> + <scope>compile</scope> + </dependency> + + <!-- SpringCloud Alibaba Nacos --> + <dependency> + <groupId>com.alibaba.cloud</groupId> + <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> + </dependency> + + <!-- SpringCloud Alibaba Nacos Config --> + <dependency> + <groupId>com.alibaba.cloud</groupId> + <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId> + </dependency> + + <!-- SpringCloud Alibaba Sentinel --> + <dependency> + <groupId>com.alibaba.cloud</groupId> + <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId> + </dependency> + + <!-- SpringBoot Actuator --> + <dependency> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-starter-actuator</artifactId> + </dependency> + + <!-- Swagger UI --> + <dependency> + <groupId>io.springfox</groupId> + <artifactId>springfox-swagger-ui</artifactId> + <version>${swagger.fox.version}</version> + </dependency> + + <!-- Mysql Connector --> + <dependency> + <groupId>mysql</groupId> + <artifactId>mysql-connector-java</artifactId> + </dependency> + + <!-- RuoYi Common DataSource --> + <dependency> + <groupId>com.ruoyi</groupId> + <artifactId>ruoyi-common-datasource</artifactId> + </dependency> + + <!-- RuoYi Common DataScope --> + <dependency> + <groupId>com.ruoyi</groupId> + <artifactId>ruoyi-common-datascope</artifactId> + </dependency> + + <!-- RuoYi Common Log --> + <dependency> + <groupId>com.ruoyi</groupId> + <artifactId>ruoyi-common-log</artifactId> + </dependency> + + <!-- RuoYi Common Swagger --> + <dependency> + <groupId>com.ruoyi</groupId> + <artifactId>ruoyi-common-swagger</artifactId> + </dependency> + + <!-- 引入Druid依赖,阿里巴巴所提供的数据源 --> + <dependency> + <groupId>com.alibaba</groupId> + <artifactId>druid-spring-boot-starter</artifactId> + <version>${druid.version}</version> + </dependency> + <dependency> + <groupId>com.alibaba</groupId> + <artifactId>fastjson</artifactId> + <version>1.2.47</version> + </dependency> + + <dependency> + <groupId>cn.afterturn</groupId> + <artifactId>easypoi-spring-boot-starter</artifactId> + <version>4.0.0</version> + <exclusions> + <exclusion> + <artifactId>guava</artifactId> + <groupId>com.google.guava</groupId> + </exclusion> + </exclusions> + </dependency> + + </dependencies> + + <build> + <finalName>${project.artifactId}</finalName> + <plugins> + <plugin> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-maven-plugin</artifactId> + <executions> + <execution> + <goals> + <goal>repackage</goal> + </goals> + </execution> + </executions> + </plugin> + </plugins> + <resources> + <resource> + <directory>src/main/resources</directory> + </resource> + <resource> + <directory>src/main/java</directory> + <includes> + <include>**/*.xml</include> + </includes> + <filtering>false</filtering> + </resource> + </resources> + </build> +</project> \ No newline at end of file diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/RuoYiGoodsApplication.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/RuoYiGoodsApplication.java new file mode 100644 index 0000000..2b9bca3 --- /dev/null +++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/RuoYiGoodsApplication.java @@ -0,0 +1,36 @@ +package com.ruoyi.goods; + +import com.ruoyi.common.security.annotation.EnableCustomConfig; +import com.ruoyi.common.security.annotation.EnableRyFeignClients; +import com.ruoyi.common.swagger.annotation.EnableCustomSwagger2; +import org.mybatis.spring.annotation.MapperScan; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +/** + * 系统模块 + * + * @author ruoyi + */ +@EnableCustomConfig +@MapperScan({"com.ruoyi.goods.mapper"}) +@EnableCustomSwagger2 +@EnableRyFeignClients +@SpringBootApplication +public class RuoYiGoodsApplication +{ + public static void main(String[] args) + { + SpringApplication.run(RuoYiGoodsApplication.class, args); + System.out.println("(♥◠‿◠)ノ゙ 商品模块启动成功 ლ(´ڡ`ლ)゙ \n" + + " .-------. ____ __ \n" + + " | _ _ \\ \\ \\ / / \n" + + " | ( ' ) | \\ _. / ' \n" + + " |(_ o _) / _( )_ .' \n" + + " | (_,_).' __ ___(_ o _)' \n" + + " | |\\ \\ | || |(_,_)' \n" + + " | | \\ `' /| `-' / \n" + + " | | \\ / \\ / \n" + + " ''-' `'-' `-..-' "); + } +} diff --git a/ruoyi-modules/ruoyi-goods/src/main/resources/banner.txt b/ruoyi-modules/ruoyi-goods/src/main/resources/banner.txt new file mode 100644 index 0000000..aef06f6 --- /dev/null +++ b/ruoyi-modules/ruoyi-goods/src/main/resources/banner.txt @@ -0,0 +1,11 @@ +Spring Boot Version: ${spring-boot.version} +Spring Application Name: ${spring.application.name} + ██ + █████ ░██ + ██░░░██ ██████ ██████ ░██ ██████ +░██ ░██ ██░░░░██ ██░░░░██ ██████ ██░░░░ +░░██████░██ ░██░██ ░██ ██░░░██░░█████ + ░░░░░██░██ ░██░██ ░██░██ ░██ ░░░░░██ + █████ ░░██████ ░░██████ ░░██████ ██████ + ░░░░░ ░░░░░░ ░░░░░░ ░░░░░░ ░░░░░░ + diff --git a/ruoyi-modules/ruoyi-goods/src/main/resources/bootstrap.yml b/ruoyi-modules/ruoyi-goods/src/main/resources/bootstrap.yml new file mode 100644 index 0000000..beecb57 --- /dev/null +++ b/ruoyi-modules/ruoyi-goods/src/main/resources/bootstrap.yml @@ -0,0 +1,82 @@ +# Spring +spring: + application: + # 应用名称 + name: ruoyi-goods + main: + allow-bean-definition-overriding: true + profiles: + # 环境配置 + active: dev +--- +spring: + config: + activate: + on-profile: dev + cloud: + nacos: + discovery: + # 服务注册地址 + server-addr: 127.0.0.1:8858 + service: ${spring.application.name} + group: DEFAULT_GROUP + namespace: 689e0f09-d102-460c-ac5c-5ea50a3174be + config: + # 配置中心地址 + server-addr: 127.0.0.1:8858 + namespace: 689e0f09-d102-460c-ac5c-5ea50a3174be + group: DEFAULT_GROUP + name: ${spring.application.name} + # 配置文件格式 + file-extension: yml + # 共享配置 + shared-configs: + - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} +--- +spring: + config: + activate: + on-profile: prod + cloud: + nacos: + discovery: + # 服务注册地址 + server-addr: 127.0.0.1:8848 + service: ${spring.application.name} + group: DEFAULT_GROUP + namespace: 3452d750-b08d-4485-a1e9-4fb0548f1fc2 + config: + # 配置中心地址 + server-addr: 127.0.0.1:8848 + namespace: 3452d750-b08d-4485-a1e9-4fb0548f1fc2 + group: DEFAULT_GROUP + name: ${spring.application.name} + # 配置文件格式 + file-extension: yml + # 共享配置 + shared-configs: + - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} +--- +spring: + config: + activate: + on-profile: test + cloud: + nacos: + discovery: + # 服务注册地址 + server-addr: 127.0.0.1:8848 + service: ${spring.application.name} + group: DEFAULT_GROUP + namespace: 96712c7a-480b-4f40-b783-39f00f3b33ce + config: + # 配置中心地址 + server-addr: 127.0.0.1:8848 + namespace: 96712c7a-480b-4f40-b783-39f00f3b33ce + group: DEFAULT_GROUP + name: ${spring.application.name} + # 配置文件格式 + file-extension: yml + # 共享配置 + shared-configs: + - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} \ No newline at end of file diff --git a/ruoyi-modules/ruoyi-goods/src/main/resources/logback.xml b/ruoyi-modules/ruoyi-goods/src/main/resources/logback.xml new file mode 100644 index 0000000..7b7b75b --- /dev/null +++ b/ruoyi-modules/ruoyi-goods/src/main/resources/logback.xml @@ -0,0 +1,74 @@ +<?xml version="1.0" encoding="UTF-8"?> +<configuration scan="true" scanPeriod="60 seconds" debug="false"> + <!-- 日志存放路径 --> + <property name="log.path" value="logs/ruoyi-goods" /> + <!-- 日志输出格式 --> + <property name="log.pattern" value="%d{HH:mm:ss.SSS} [%thread] %-5level %logger{20} - [%method,%line] - %msg%n" /> + + <!-- 控制台输出 --> + <appender name="console" class="ch.qos.logback.core.ConsoleAppender"> + <encoder> + <pattern>${log.pattern}</pattern> + </encoder> + </appender> + + <!-- 系统日志输出 --> + <appender name="file_info" class="ch.qos.logback.core.rolling.RollingFileAppender"> + <file>${log.path}/info.log</file> + <!-- 循环政策:基于时间创建日志文件 --> + <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> + <!-- 日志文件名格式 --> + <fileNamePattern>${log.path}/info.%d{yyyy-MM-dd}.log</fileNamePattern> + <!-- 日志最大的历史 60天 --> + <maxHistory>60</maxHistory> + </rollingPolicy> + <encoder> + <pattern>${log.pattern}</pattern> + </encoder> + <filter class="ch.qos.logback.classic.filter.LevelFilter"> + <!-- 过滤的级别 --> + <level>INFO</level> + <!-- 匹配时的操作:接收(记录) --> + <onMatch>ACCEPT</onMatch> + <!-- 不匹配时的操作:拒绝(不记录) --> + <onMismatch>DENY</onMismatch> + </filter> + </appender> + + <appender name="file_error" class="ch.qos.logback.core.rolling.RollingFileAppender"> + <file>${log.path}/error.log</file> + <!-- 循环政策:基于时间创建日志文件 --> + <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> + <!-- 日志文件名格式 --> + <fileNamePattern>${log.path}/error.%d{yyyy-MM-dd}.log</fileNamePattern> + <!-- 日志最大的历史 60天 --> + <maxHistory>60</maxHistory> + </rollingPolicy> + <encoder> + <pattern>${log.pattern}</pattern> + </encoder> + <filter class="ch.qos.logback.classic.filter.LevelFilter"> + <!-- 过滤的级别 --> + <level>ERROR</level> + <!-- 匹配时的操作:接收(记录) --> + <onMatch>ACCEPT</onMatch> + <!-- 不匹配时的操作:拒绝(不记录) --> + <onMismatch>DENY</onMismatch> + </filter> + </appender> + + <!-- 系统模块日志级别控制 --> + <logger name="com.ruoyi" level="info" /> + <!-- Spring日志级别控制 --> + <logger name="org.springframework" level="warn" /> + + <root level="info"> + <appender-ref ref="console" /> + </root> + + <!--系统操作日志--> + <root level="info"> + <appender-ref ref="file_info" /> + <appender-ref ref="file_error" /> + </root> +</configuration> \ No newline at end of file diff --git a/ruoyi-modules/ruoyi-goods/src/main/resources/mybatis-config.xml b/ruoyi-modules/ruoyi-goods/src/main/resources/mybatis-config.xml new file mode 100644 index 0000000..6bd8b03 --- /dev/null +++ b/ruoyi-modules/ruoyi-goods/src/main/resources/mybatis-config.xml @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> +<configuration> + + <settings> + <!-- 打印查询语句 不会写入到日志文件中--> + <setting name="logImpl" value="STDOUT_LOGGING"/> + <!--<setting name="logImpl" value="LOG4J" />--> + <!-- 控制全局缓存(二级缓存),按美团技术团队的说法,尽量别用缓存机制 emmmm.... --> + <setting name="cacheEnabled" value="true"/> + <!-- 延迟加载的全局开关。当开启时,所有关联对象都会延迟加载。默认 false --> + <!-- <setting name="lazyLoadingEnabled" value="true"/> --> + <setting name="mapUnderscoreToCamelCase" value="false"/><!--是否将map下划线方式转为驼峰式命名--> + <!-- 当开启时,任何方法的调用都会加载该对象的所有属性。默认 false,可通过select标签的 fetchType来覆盖--> + <!-- <setting name="aggressiveLazyLoading" value="false"/>--> + <!-- Mybatis 创建具有延迟加载能力的对象所用到的代理工具,默认JAVASSIST --> + <!--<setting name="proxyFactory" value="CGLIB" />--> + <!-- 关于mybatis的一二级缓存 请参照:https://tech.meituan.com/2018/01/19/mybatis-cache.html --> + <!-- 一级缓存范围默认:SESSION ,此范围在复杂应用场景中可能会出现脏读数据--> + <!-- STATEMENT级别的缓存,使一级缓存,只针对当前执行的这一statement有效 --> + <!--<setting name="localCacheScope" value="STATEMENT"/>--> + <setting name="localCacheScope" value="STATEMENT"/> + <!--开启枚举类自动转换--> + <setting name="defaultEnumTypeHandler" value="org.apache.ibatis.type.EnumOrdinalTypeHandler"/> + </settings> + +</configuration> diff --git a/ruoyi-modules/ruoyi-member/pom.xml b/ruoyi-modules/ruoyi-member/pom.xml new file mode 100644 index 0000000..55dcb88 --- /dev/null +++ b/ruoyi-modules/ruoyi-member/pom.xml @@ -0,0 +1,145 @@ +<?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.ruoyi</groupId> + <artifactId>ruoyi-modules</artifactId> + <version>3.6.2</version> + </parent> + + <artifactId>ruoyi-modules-member</artifactId> + + <properties> + <maven.compiler.source>11</maven.compiler.source> + <maven.compiler.target>11</maven.compiler.target> + <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> + </properties> + <description> + ruoyi-modules-member会员模块 + </description> + <dependencies> + + <dependency> + <groupId>com.ruoyi</groupId> + <artifactId>ruoyi-api-system</artifactId> + <scope>compile</scope> + </dependency> + + <!-- SpringCloud Alibaba Nacos --> + <dependency> + <groupId>com.alibaba.cloud</groupId> + <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> + </dependency> + + <!-- SpringCloud Alibaba Nacos Config --> + <dependency> + <groupId>com.alibaba.cloud</groupId> + <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId> + </dependency> + + <!-- SpringCloud Alibaba Sentinel --> + <dependency> + <groupId>com.alibaba.cloud</groupId> + <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId> + </dependency> + + <!-- SpringBoot Actuator --> + <dependency> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-starter-actuator</artifactId> + </dependency> + + <!-- Swagger UI --> + <dependency> + <groupId>io.springfox</groupId> + <artifactId>springfox-swagger-ui</artifactId> + <version>${swagger.fox.version}</version> + </dependency> + + <!-- Mysql Connector --> + <dependency> + <groupId>mysql</groupId> + <artifactId>mysql-connector-java</artifactId> + </dependency> + + <!-- RuoYi Common DataSource --> + <dependency> + <groupId>com.ruoyi</groupId> + <artifactId>ruoyi-common-datasource</artifactId> + </dependency> + + <!-- RuoYi Common DataScope --> + <dependency> + <groupId>com.ruoyi</groupId> + <artifactId>ruoyi-common-datascope</artifactId> + </dependency> + + <!-- RuoYi Common Log --> + <dependency> + <groupId>com.ruoyi</groupId> + <artifactId>ruoyi-common-log</artifactId> + </dependency> + + <!-- RuoYi Common Swagger --> + <dependency> + <groupId>com.ruoyi</groupId> + <artifactId>ruoyi-common-swagger</artifactId> + </dependency> + + <!-- 引入Druid依赖,阿里巴巴所提供的数据源 --> + <dependency> + <groupId>com.alibaba</groupId> + <artifactId>druid-spring-boot-starter</artifactId> + <version>${druid.version}</version> + </dependency> + <dependency> + <groupId>com.alibaba</groupId> + <artifactId>fastjson</artifactId> + <version>1.2.47</version> + </dependency> + + <dependency> + <groupId>cn.afterturn</groupId> + <artifactId>easypoi-spring-boot-starter</artifactId> + <version>4.0.0</version> + <exclusions> + <exclusion> + <artifactId>guava</artifactId> + <groupId>com.google.guava</groupId> + </exclusion> + </exclusions> + </dependency> + + </dependencies> + + <build> + <finalName>${project.artifactId}</finalName> + <plugins> + <plugin> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-maven-plugin</artifactId> + <executions> + <execution> + <goals> + <goal>repackage</goal> + </goals> + </execution> + </executions> + </plugin> + </plugins> + <resources> + <resource> + <directory>src/main/resources</directory> + </resource> + <resource> + <directory>src/main/java</directory> + <includes> + <include>**/*.xml</include> + </includes> + <filtering>false</filtering> + </resource> + </resources> + </build> +</project> \ No newline at end of file diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/RuoYiMemberApplication.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/RuoYiMemberApplication.java new file mode 100644 index 0000000..5786867 --- /dev/null +++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/RuoYiMemberApplication.java @@ -0,0 +1,36 @@ +package com.ruoyi.member; + +import com.ruoyi.common.security.annotation.EnableCustomConfig; +import com.ruoyi.common.security.annotation.EnableRyFeignClients; +import com.ruoyi.common.swagger.annotation.EnableCustomSwagger2; +import org.mybatis.spring.annotation.MapperScan; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +/** + * 系统模块 + * + * @author ruoyi + */ +@EnableCustomConfig +@MapperScan({"com.ruoyi.member.mapper"}) +@EnableCustomSwagger2 +@EnableRyFeignClients +@SpringBootApplication +public class RuoYiMemberApplication +{ + public static void main(String[] args) + { + SpringApplication.run(RuoYiMemberApplication.class, args); + System.out.println("(♥◠‿◠)ノ゙ 会员模块启动成功 ლ(´ڡ`ლ)゙ \n" + + " .-------. ____ __ \n" + + " | _ _ \\ \\ \\ / / \n" + + " | ( ' ) | \\ _. / ' \n" + + " |(_ o _) / _( )_ .' \n" + + " | (_,_).' __ ___(_ o _)' \n" + + " | |\\ \\ | || |(_,_)' \n" + + " | | \\ `' /| `-' / \n" + + " | | \\ / \\ / \n" + + " ''-' `'-' `-..-' "); + } +} diff --git a/ruoyi-modules/ruoyi-member/src/main/resources/banner.txt b/ruoyi-modules/ruoyi-member/src/main/resources/banner.txt new file mode 100644 index 0000000..264a500 --- /dev/null +++ b/ruoyi-modules/ruoyi-member/src/main/resources/banner.txt @@ -0,0 +1,12 @@ +Spring Boot Version: ${spring-boot.version} +Spring Application Name: ${spring.application.name} + ██ + ░██ + ██████████ █████ ██████████ ░██ █████ ██████ +░░██░░██░░██ ██░░░██░░██░░██░░██░██████ ██░░░██░░██░░█ + ░██ ░██ ░██░███████ ░██ ░██ ░██░██░░░██░███████ ░██ ░ + ░██ ░██ ░██░██░░░░ ░██ ░██ ░██░██ ░██░██░░░░ ░██ + ███ ░██ ░██░░██████ ███ ░██ ░██░██████ ░░██████░███ +░░░ ░░ ░░ ░░░░░░ ░░░ ░░ ░░ ░░░░░ ░░░░░░ ░░░ + + diff --git a/ruoyi-modules/ruoyi-member/src/main/resources/bootstrap.yml b/ruoyi-modules/ruoyi-member/src/main/resources/bootstrap.yml new file mode 100644 index 0000000..bf86a85 --- /dev/null +++ b/ruoyi-modules/ruoyi-member/src/main/resources/bootstrap.yml @@ -0,0 +1,82 @@ +# Spring +spring: + application: + # 应用名称 + name: ruoyi-member + main: + allow-bean-definition-overriding: true + profiles: + # 环境配置 + active: dev +--- +spring: + config: + activate: + on-profile: dev + cloud: + nacos: + discovery: + # 服务注册地址 + server-addr: 127.0.0.1:8858 + service: ${spring.application.name} + group: DEFAULT_GROUP + namespace: 689e0f09-d102-460c-ac5c-5ea50a3174be + config: + # 配置中心地址 + server-addr: 127.0.0.1:8858 + namespace: 689e0f09-d102-460c-ac5c-5ea50a3174be + group: DEFAULT_GROUP + name: ${spring.application.name} + # 配置文件格式 + file-extension: yml + # 共享配置 + shared-configs: + - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} +--- +spring: + config: + activate: + on-profile: prod + cloud: + nacos: + discovery: + # 服务注册地址 + server-addr: 127.0.0.1:8848 + service: ${spring.application.name} + group: DEFAULT_GROUP + namespace: 3452d750-b08d-4485-a1e9-4fb0548f1fc2 + config: + # 配置中心地址 + server-addr: 127.0.0.1:8848 + namespace: 3452d750-b08d-4485-a1e9-4fb0548f1fc2 + group: DEFAULT_GROUP + name: ${spring.application.name} + # 配置文件格式 + file-extension: yml + # 共享配置 + shared-configs: + - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} +--- +spring: + config: + activate: + on-profile: test + cloud: + nacos: + discovery: + # 服务注册地址 + server-addr: 127.0.0.1:8848 + service: ${spring.application.name} + group: DEFAULT_GROUP + namespace: 96712c7a-480b-4f40-b783-39f00f3b33ce + config: + # 配置中心地址 + server-addr: 127.0.0.1:8848 + namespace: 96712c7a-480b-4f40-b783-39f00f3b33ce + group: DEFAULT_GROUP + name: ${spring.application.name} + # 配置文件格式 + file-extension: yml + # 共享配置 + shared-configs: + - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} \ No newline at end of file diff --git a/ruoyi-modules/ruoyi-member/src/main/resources/logback.xml b/ruoyi-modules/ruoyi-member/src/main/resources/logback.xml new file mode 100644 index 0000000..5273bf3 --- /dev/null +++ b/ruoyi-modules/ruoyi-member/src/main/resources/logback.xml @@ -0,0 +1,74 @@ +<?xml version="1.0" encoding="UTF-8"?> +<configuration scan="true" scanPeriod="60 seconds" debug="false"> + <!-- 日志存放路径 --> + <property name="log.path" value="logs/ruoyi-member" /> + <!-- 日志输出格式 --> + <property name="log.pattern" value="%d{HH:mm:ss.SSS} [%thread] %-5level %logger{20} - [%method,%line] - %msg%n" /> + + <!-- 控制台输出 --> + <appender name="console" class="ch.qos.logback.core.ConsoleAppender"> + <encoder> + <pattern>${log.pattern}</pattern> + </encoder> + </appender> + + <!-- 系统日志输出 --> + <appender name="file_info" class="ch.qos.logback.core.rolling.RollingFileAppender"> + <file>${log.path}/info.log</file> + <!-- 循环政策:基于时间创建日志文件 --> + <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> + <!-- 日志文件名格式 --> + <fileNamePattern>${log.path}/info.%d{yyyy-MM-dd}.log</fileNamePattern> + <!-- 日志最大的历史 60天 --> + <maxHistory>60</maxHistory> + </rollingPolicy> + <encoder> + <pattern>${log.pattern}</pattern> + </encoder> + <filter class="ch.qos.logback.classic.filter.LevelFilter"> + <!-- 过滤的级别 --> + <level>INFO</level> + <!-- 匹配时的操作:接收(记录) --> + <onMatch>ACCEPT</onMatch> + <!-- 不匹配时的操作:拒绝(不记录) --> + <onMismatch>DENY</onMismatch> + </filter> + </appender> + + <appender name="file_error" class="ch.qos.logback.core.rolling.RollingFileAppender"> + <file>${log.path}/error.log</file> + <!-- 循环政策:基于时间创建日志文件 --> + <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> + <!-- 日志文件名格式 --> + <fileNamePattern>${log.path}/error.%d{yyyy-MM-dd}.log</fileNamePattern> + <!-- 日志最大的历史 60天 --> + <maxHistory>60</maxHistory> + </rollingPolicy> + <encoder> + <pattern>${log.pattern}</pattern> + </encoder> + <filter class="ch.qos.logback.classic.filter.LevelFilter"> + <!-- 过滤的级别 --> + <level>ERROR</level> + <!-- 匹配时的操作:接收(记录) --> + <onMatch>ACCEPT</onMatch> + <!-- 不匹配时的操作:拒绝(不记录) --> + <onMismatch>DENY</onMismatch> + </filter> + </appender> + + <!-- 系统模块日志级别控制 --> + <logger name="com.ruoyi" level="info" /> + <!-- Spring日志级别控制 --> + <logger name="org.springframework" level="warn" /> + + <root level="info"> + <appender-ref ref="console" /> + </root> + + <!--系统操作日志--> + <root level="info"> + <appender-ref ref="file_info" /> + <appender-ref ref="file_error" /> + </root> +</configuration> \ No newline at end of file diff --git a/ruoyi-modules/ruoyi-member/src/main/resources/mybatis-config.xml b/ruoyi-modules/ruoyi-member/src/main/resources/mybatis-config.xml new file mode 100644 index 0000000..6bd8b03 --- /dev/null +++ b/ruoyi-modules/ruoyi-member/src/main/resources/mybatis-config.xml @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> +<configuration> + + <settings> + <!-- 打印查询语句 不会写入到日志文件中--> + <setting name="logImpl" value="STDOUT_LOGGING"/> + <!--<setting name="logImpl" value="LOG4J" />--> + <!-- 控制全局缓存(二级缓存),按美团技术团队的说法,尽量别用缓存机制 emmmm.... --> + <setting name="cacheEnabled" value="true"/> + <!-- 延迟加载的全局开关。当开启时,所有关联对象都会延迟加载。默认 false --> + <!-- <setting name="lazyLoadingEnabled" value="true"/> --> + <setting name="mapUnderscoreToCamelCase" value="false"/><!--是否将map下划线方式转为驼峰式命名--> + <!-- 当开启时,任何方法的调用都会加载该对象的所有属性。默认 false,可通过select标签的 fetchType来覆盖--> + <!-- <setting name="aggressiveLazyLoading" value="false"/>--> + <!-- Mybatis 创建具有延迟加载能力的对象所用到的代理工具,默认JAVASSIST --> + <!--<setting name="proxyFactory" value="CGLIB" />--> + <!-- 关于mybatis的一二级缓存 请参照:https://tech.meituan.com/2018/01/19/mybatis-cache.html --> + <!-- 一级缓存范围默认:SESSION ,此范围在复杂应用场景中可能会出现脏读数据--> + <!-- STATEMENT级别的缓存,使一级缓存,只针对当前执行的这一statement有效 --> + <!--<setting name="localCacheScope" value="STATEMENT"/>--> + <setting name="localCacheScope" value="STATEMENT"/> + <!--开启枚举类自动转换--> + <setting name="defaultEnumTypeHandler" value="org.apache.ibatis.type.EnumOrdinalTypeHandler"/> + </settings> + +</configuration> diff --git a/ruoyi-modules/ruoyi-order/pom.xml b/ruoyi-modules/ruoyi-order/pom.xml new file mode 100644 index 0000000..21c4fd8 --- /dev/null +++ b/ruoyi-modules/ruoyi-order/pom.xml @@ -0,0 +1,146 @@ +<?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.ruoyi</groupId> + <artifactId>ruoyi-modules</artifactId> + <version>3.6.2</version> + </parent> + + <artifactId>ruoyi-modules-order</artifactId> + + <properties> + <maven.compiler.source>11</maven.compiler.source> + <maven.compiler.target>11</maven.compiler.target> + <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> + </properties> + <description> + ruoyi-modules-system订单模块 + </description> + + <dependencies> + + <dependency> + <groupId>com.ruoyi</groupId> + <artifactId>ruoyi-api-system</artifactId> + <scope>compile</scope> + </dependency> + + <!-- SpringCloud Alibaba Nacos --> + <dependency> + <groupId>com.alibaba.cloud</groupId> + <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> + </dependency> + + <!-- SpringCloud Alibaba Nacos Config --> + <dependency> + <groupId>com.alibaba.cloud</groupId> + <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId> + </dependency> + + <!-- SpringCloud Alibaba Sentinel --> + <dependency> + <groupId>com.alibaba.cloud</groupId> + <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId> + </dependency> + + <!-- SpringBoot Actuator --> + <dependency> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-starter-actuator</artifactId> + </dependency> + + <!-- Swagger UI --> + <dependency> + <groupId>io.springfox</groupId> + <artifactId>springfox-swagger-ui</artifactId> + <version>${swagger.fox.version}</version> + </dependency> + + <!-- Mysql Connector --> + <dependency> + <groupId>mysql</groupId> + <artifactId>mysql-connector-java</artifactId> + </dependency> + + <!-- RuoYi Common DataSource --> + <dependency> + <groupId>com.ruoyi</groupId> + <artifactId>ruoyi-common-datasource</artifactId> + </dependency> + + <!-- RuoYi Common DataScope --> + <dependency> + <groupId>com.ruoyi</groupId> + <artifactId>ruoyi-common-datascope</artifactId> + </dependency> + + <!-- RuoYi Common Log --> + <dependency> + <groupId>com.ruoyi</groupId> + <artifactId>ruoyi-common-log</artifactId> + </dependency> + + <!-- RuoYi Common Swagger --> + <dependency> + <groupId>com.ruoyi</groupId> + <artifactId>ruoyi-common-swagger</artifactId> + </dependency> + + <!-- 引入Druid依赖,阿里巴巴所提供的数据源 --> + <dependency> + <groupId>com.alibaba</groupId> + <artifactId>druid-spring-boot-starter</artifactId> + <version>${druid.version}</version> + </dependency> + <dependency> + <groupId>com.alibaba</groupId> + <artifactId>fastjson</artifactId> + <version>1.2.47</version> + </dependency> + + <dependency> + <groupId>cn.afterturn</groupId> + <artifactId>easypoi-spring-boot-starter</artifactId> + <version>4.0.0</version> + <exclusions> + <exclusion> + <artifactId>guava</artifactId> + <groupId>com.google.guava</groupId> + </exclusion> + </exclusions> + </dependency> + + </dependencies> + + <build> + <finalName>${project.artifactId}</finalName> + <plugins> + <plugin> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-maven-plugin</artifactId> + <executions> + <execution> + <goals> + <goal>repackage</goal> + </goals> + </execution> + </executions> + </plugin> + </plugins> + <resources> + <resource> + <directory>src/main/resources</directory> + </resource> + <resource> + <directory>src/main/java</directory> + <includes> + <include>**/*.xml</include> + </includes> + <filtering>false</filtering> + </resource> + </resources> + </build> +</project> \ No newline at end of file diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/RuoYiOrderApplication.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/RuoYiOrderApplication.java new file mode 100644 index 0000000..7688118 --- /dev/null +++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/RuoYiOrderApplication.java @@ -0,0 +1,36 @@ +package com.ruoyi.order; + +import com.ruoyi.common.security.annotation.EnableCustomConfig; +import com.ruoyi.common.security.annotation.EnableRyFeignClients; +import com.ruoyi.common.swagger.annotation.EnableCustomSwagger2; +import org.mybatis.spring.annotation.MapperScan; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +/** + * 系统模块 + * + * @author ruoyi + */ +@EnableCustomConfig +@MapperScan({"com.ruoyi.order.mapper"}) +@EnableCustomSwagger2 +@EnableRyFeignClients +@SpringBootApplication +public class RuoYiOrderApplication +{ + public static void main(String[] args) + { + SpringApplication.run(RuoYiOrderApplication.class, args); + System.out.println("(♥◠‿◠)ノ゙ 订单模块启动成功 ლ(´ڡ`ლ)゙ \n" + + " .-------. ____ __ \n" + + " | _ _ \\ \\ \\ / / \n" + + " | ( ' ) | \\ _. / ' \n" + + " |(_ o _) / _( )_ .' \n" + + " | (_,_).' __ ___(_ o _)' \n" + + " | |\\ \\ | || |(_,_)' \n" + + " | | \\ `' /| `-' / \n" + + " | | \\ / \\ / \n" + + " ''-' `'-' `-..-' "); + } +} diff --git a/ruoyi-modules/ruoyi-order/src/main/resources/banner.txt b/ruoyi-modules/ruoyi-order/src/main/resources/banner.txt new file mode 100644 index 0000000..35c2490 --- /dev/null +++ b/ruoyi-modules/ruoyi-order/src/main/resources/banner.txt @@ -0,0 +1,10 @@ +Spring Boot Version: ${spring-boot.version} +Spring Application Name: ${spring.application.name} + ██ + ░██ + ██████ ██████ ░██ █████ ██████ + ██░░░░██░░██░░█ ██████ ██░░░██░░██░░█ +░██ ░██ ░██ ░ ██░░░██░███████ ░██ ░ +░██ ░██ ░██ ░██ ░██░██░░░░ ░██ +░░██████ ░███ ░░██████░░██████░███ + ░░░░░░ ░░░ ░░░░░░ ░░░░░░ ░░░ diff --git a/ruoyi-modules/ruoyi-order/src/main/resources/bootstrap.yml b/ruoyi-modules/ruoyi-order/src/main/resources/bootstrap.yml new file mode 100644 index 0000000..b950648 --- /dev/null +++ b/ruoyi-modules/ruoyi-order/src/main/resources/bootstrap.yml @@ -0,0 +1,82 @@ +# Spring +spring: + application: + # 应用名称 + name: ruoyi-order + main: + allow-bean-definition-overriding: true + profiles: + # 环境配置 + active: dev +--- +spring: + config: + activate: + on-profile: dev + cloud: + nacos: + discovery: + # 服务注册地址 + server-addr: 127.0.0.1:8858 + service: ${spring.application.name} + group: DEFAULT_GROUP + namespace: 689e0f09-d102-460c-ac5c-5ea50a3174be + config: + # 配置中心地址 + server-addr: 127.0.0.1:8858 + namespace: 689e0f09-d102-460c-ac5c-5ea50a3174be + group: DEFAULT_GROUP + name: ${spring.application.name} + # 配置文件格式 + file-extension: yml + # 共享配置 + shared-configs: + - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} +--- +spring: + config: + activate: + on-profile: prod + cloud: + nacos: + discovery: + # 服务注册地址 + server-addr: 127.0.0.1:8848 + service: ${spring.application.name} + group: DEFAULT_GROUP + namespace: 3452d750-b08d-4485-a1e9-4fb0548f1fc2 + config: + # 配置中心地址 + server-addr: 127.0.0.1:8848 + namespace: 3452d750-b08d-4485-a1e9-4fb0548f1fc2 + group: DEFAULT_GROUP + name: ${spring.application.name} + # 配置文件格式 + file-extension: yml + # 共享配置 + shared-configs: + - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} +--- +spring: + config: + activate: + on-profile: test + cloud: + nacos: + discovery: + # 服务注册地址 + server-addr: 127.0.0.1:8848 + service: ${spring.application.name} + group: DEFAULT_GROUP + namespace: 96712c7a-480b-4f40-b783-39f00f3b33ce + config: + # 配置中心地址 + server-addr: 127.0.0.1:8848 + namespace: 96712c7a-480b-4f40-b783-39f00f3b33ce + group: DEFAULT_GROUP + name: ${spring.application.name} + # 配置文件格式 + file-extension: yml + # 共享配置 + shared-configs: + - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} \ No newline at end of file diff --git a/ruoyi-modules/ruoyi-order/src/main/resources/logback.xml b/ruoyi-modules/ruoyi-order/src/main/resources/logback.xml new file mode 100644 index 0000000..61d523e --- /dev/null +++ b/ruoyi-modules/ruoyi-order/src/main/resources/logback.xml @@ -0,0 +1,74 @@ +<?xml version="1.0" encoding="UTF-8"?> +<configuration scan="true" scanPeriod="60 seconds" debug="false"> + <!-- 日志存放路径 --> + <property name="log.path" value="logs/ruoyi-order" /> + <!-- 日志输出格式 --> + <property name="log.pattern" value="%d{HH:mm:ss.SSS} [%thread] %-5level %logger{20} - [%method,%line] - %msg%n" /> + + <!-- 控制台输出 --> + <appender name="console" class="ch.qos.logback.core.ConsoleAppender"> + <encoder> + <pattern>${log.pattern}</pattern> + </encoder> + </appender> + + <!-- 系统日志输出 --> + <appender name="file_info" class="ch.qos.logback.core.rolling.RollingFileAppender"> + <file>${log.path}/info.log</file> + <!-- 循环政策:基于时间创建日志文件 --> + <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> + <!-- 日志文件名格式 --> + <fileNamePattern>${log.path}/info.%d{yyyy-MM-dd}.log</fileNamePattern> + <!-- 日志最大的历史 60天 --> + <maxHistory>60</maxHistory> + </rollingPolicy> + <encoder> + <pattern>${log.pattern}</pattern> + </encoder> + <filter class="ch.qos.logback.classic.filter.LevelFilter"> + <!-- 过滤的级别 --> + <level>INFO</level> + <!-- 匹配时的操作:接收(记录) --> + <onMatch>ACCEPT</onMatch> + <!-- 不匹配时的操作:拒绝(不记录) --> + <onMismatch>DENY</onMismatch> + </filter> + </appender> + + <appender name="file_error" class="ch.qos.logback.core.rolling.RollingFileAppender"> + <file>${log.path}/error.log</file> + <!-- 循环政策:基于时间创建日志文件 --> + <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> + <!-- 日志文件名格式 --> + <fileNamePattern>${log.path}/error.%d{yyyy-MM-dd}.log</fileNamePattern> + <!-- 日志最大的历史 60天 --> + <maxHistory>60</maxHistory> + </rollingPolicy> + <encoder> + <pattern>${log.pattern}</pattern> + </encoder> + <filter class="ch.qos.logback.classic.filter.LevelFilter"> + <!-- 过滤的级别 --> + <level>ERROR</level> + <!-- 匹配时的操作:接收(记录) --> + <onMatch>ACCEPT</onMatch> + <!-- 不匹配时的操作:拒绝(不记录) --> + <onMismatch>DENY</onMismatch> + </filter> + </appender> + + <!-- 系统模块日志级别控制 --> + <logger name="com.ruoyi" level="info" /> + <!-- Spring日志级别控制 --> + <logger name="org.springframework" level="warn" /> + + <root level="info"> + <appender-ref ref="console" /> + </root> + + <!--系统操作日志--> + <root level="info"> + <appender-ref ref="file_info" /> + <appender-ref ref="file_error" /> + </root> +</configuration> \ No newline at end of file diff --git a/ruoyi-modules/ruoyi-order/src/main/resources/mybatis-config.xml b/ruoyi-modules/ruoyi-order/src/main/resources/mybatis-config.xml new file mode 100644 index 0000000..6bd8b03 --- /dev/null +++ b/ruoyi-modules/ruoyi-order/src/main/resources/mybatis-config.xml @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> +<configuration> + + <settings> + <!-- 打印查询语句 不会写入到日志文件中--> + <setting name="logImpl" value="STDOUT_LOGGING"/> + <!--<setting name="logImpl" value="LOG4J" />--> + <!-- 控制全局缓存(二级缓存),按美团技术团队的说法,尽量别用缓存机制 emmmm.... --> + <setting name="cacheEnabled" value="true"/> + <!-- 延迟加载的全局开关。当开启时,所有关联对象都会延迟加载。默认 false --> + <!-- <setting name="lazyLoadingEnabled" value="true"/> --> + <setting name="mapUnderscoreToCamelCase" value="false"/><!--是否将map下划线方式转为驼峰式命名--> + <!-- 当开启时,任何方法的调用都会加载该对象的所有属性。默认 false,可通过select标签的 fetchType来覆盖--> + <!-- <setting name="aggressiveLazyLoading" value="false"/>--> + <!-- Mybatis 创建具有延迟加载能力的对象所用到的代理工具,默认JAVASSIST --> + <!--<setting name="proxyFactory" value="CGLIB" />--> + <!-- 关于mybatis的一二级缓存 请参照:https://tech.meituan.com/2018/01/19/mybatis-cache.html --> + <!-- 一级缓存范围默认:SESSION ,此范围在复杂应用场景中可能会出现脏读数据--> + <!-- STATEMENT级别的缓存,使一级缓存,只针对当前执行的这一statement有效 --> + <!--<setting name="localCacheScope" value="STATEMENT"/>--> + <setting name="localCacheScope" value="STATEMENT"/> + <!--开启枚举类自动转换--> + <setting name="defaultEnumTypeHandler" value="org.apache.ibatis.type.EnumOrdinalTypeHandler"/> + </settings> + +</configuration> diff --git a/ruoyi-modules/ruoyi-promotion/pom.xml b/ruoyi-modules/ruoyi-promotion/pom.xml new file mode 100644 index 0000000..a3ed8b5 --- /dev/null +++ b/ruoyi-modules/ruoyi-promotion/pom.xml @@ -0,0 +1,146 @@ +<?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.ruoyi</groupId> + <artifactId>ruoyi-modules</artifactId> + <version>3.6.2</version> + </parent> + + <artifactId>ruoyi-modules-promotion</artifactId> + + <properties> + <maven.compiler.source>11</maven.compiler.source> + <maven.compiler.target>11</maven.compiler.target> + <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> + </properties> + <description> + ruoyi-modules-promotion营销模块 + </description> + + <dependencies> + + <dependency> + <groupId>com.ruoyi</groupId> + <artifactId>ruoyi-api-system</artifactId> + <scope>compile</scope> + </dependency> + + <!-- SpringCloud Alibaba Nacos --> + <dependency> + <groupId>com.alibaba.cloud</groupId> + <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> + </dependency> + + <!-- SpringCloud Alibaba Nacos Config --> + <dependency> + <groupId>com.alibaba.cloud</groupId> + <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId> + </dependency> + + <!-- SpringCloud Alibaba Sentinel --> + <dependency> + <groupId>com.alibaba.cloud</groupId> + <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId> + </dependency> + + <!-- SpringBoot Actuator --> + <dependency> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-starter-actuator</artifactId> + </dependency> + + <!-- Swagger UI --> + <dependency> + <groupId>io.springfox</groupId> + <artifactId>springfox-swagger-ui</artifactId> + <version>${swagger.fox.version}</version> + </dependency> + + <!-- Mysql Connector --> + <dependency> + <groupId>mysql</groupId> + <artifactId>mysql-connector-java</artifactId> + </dependency> + + <!-- RuoYi Common DataSource --> + <dependency> + <groupId>com.ruoyi</groupId> + <artifactId>ruoyi-common-datasource</artifactId> + </dependency> + + <!-- RuoYi Common DataScope --> + <dependency> + <groupId>com.ruoyi</groupId> + <artifactId>ruoyi-common-datascope</artifactId> + </dependency> + + <!-- RuoYi Common Log --> + <dependency> + <groupId>com.ruoyi</groupId> + <artifactId>ruoyi-common-log</artifactId> + </dependency> + + <!-- RuoYi Common Swagger --> + <dependency> + <groupId>com.ruoyi</groupId> + <artifactId>ruoyi-common-swagger</artifactId> + </dependency> + + <!-- 引入Druid依赖,阿里巴巴所提供的数据源 --> + <dependency> + <groupId>com.alibaba</groupId> + <artifactId>druid-spring-boot-starter</artifactId> + <version>${druid.version}</version> + </dependency> + <dependency> + <groupId>com.alibaba</groupId> + <artifactId>fastjson</artifactId> + <version>1.2.47</version> + </dependency> + + <dependency> + <groupId>cn.afterturn</groupId> + <artifactId>easypoi-spring-boot-starter</artifactId> + <version>4.0.0</version> + <exclusions> + <exclusion> + <artifactId>guava</artifactId> + <groupId>com.google.guava</groupId> + </exclusion> + </exclusions> + </dependency> + + </dependencies> + + <build> + <finalName>${project.artifactId}</finalName> + <plugins> + <plugin> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-maven-plugin</artifactId> + <executions> + <execution> + <goals> + <goal>repackage</goal> + </goals> + </execution> + </executions> + </plugin> + </plugins> + <resources> + <resource> + <directory>src/main/resources</directory> + </resource> + <resource> + <directory>src/main/java</directory> + <includes> + <include>**/*.xml</include> + </includes> + <filtering>false</filtering> + </resource> + </resources> + </build> +</project> \ No newline at end of file diff --git a/ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/RuoYiPromotionApplication.java b/ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/RuoYiPromotionApplication.java new file mode 100644 index 0000000..ed5fd56 --- /dev/null +++ b/ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/RuoYiPromotionApplication.java @@ -0,0 +1,36 @@ +package com.ruoyi.promotion; + +import com.ruoyi.common.security.annotation.EnableCustomConfig; +import com.ruoyi.common.security.annotation.EnableRyFeignClients; +import com.ruoyi.common.swagger.annotation.EnableCustomSwagger2; +import org.mybatis.spring.annotation.MapperScan; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +/** + * 系统模块 + * + * @author ruoyi + */ +@EnableCustomConfig +@MapperScan({"com.ruoyi.promotion.mapper"}) +@EnableCustomSwagger2 +@EnableRyFeignClients +@SpringBootApplication +public class RuoYiPromotionApplication +{ + public static void main(String[] args) + { + SpringApplication.run(RuoYiPromotionApplication.class, args); + System.out.println("(♥◠‿◠)ノ゙ 营销模块启动成功 ლ(´ڡ`ლ)゙ \n" + + " .-------. ____ __ \n" + + " | _ _ \\ \\ \\ / / \n" + + " | ( ' ) | \\ _. / ' \n" + + " |(_ o _) / _( )_ .' \n" + + " | (_,_).' __ ___(_ o _)' \n" + + " | |\\ \\ | || |(_,_)' \n" + + " | | \\ `' /| `-' / \n" + + " | | \\ / \\ / \n" + + " ''-' `'-' `-..-' "); + } +} diff --git a/ruoyi-modules/ruoyi-promotion/src/main/resources/banner.txt b/ruoyi-modules/ruoyi-promotion/src/main/resources/banner.txt new file mode 100644 index 0000000..9ca5982 --- /dev/null +++ b/ruoyi-modules/ruoyi-promotion/src/main/resources/banner.txt @@ -0,0 +1,10 @@ +Spring Boot Version: ${spring-boot.version} +Spring Application Name: ${spring.application.name} + ██ ██ + ██████ ░██ ░░ +░██░░░██ ██████ ██████ ██████████ ██████ ██████ ██ ██████ ███████ +░██ ░██░░██░░█ ██░░░░██░░██░░██░░██ ██░░░░██░░░██░ ░██ ██░░░░██░░██░░░██ +░██████ ░██ ░ ░██ ░██ ░██ ░██ ░██░██ ░██ ░██ ░██░██ ░██ ░██ ░██ +░██░░░ ░██ ░██ ░██ ░██ ░██ ░██░██ ░██ ░██ ░██░██ ░██ ░██ ░██ +░██ ░███ ░░██████ ███ ░██ ░██░░██████ ░░██ ░██░░██████ ███ ░██ +░░ ░░░ ░░░░░░ ░░░ ░░ ░░ ░░░░░░ ░░ ░░ ░░░░░░ ░░░ ░░ diff --git a/ruoyi-modules/ruoyi-promotion/src/main/resources/bootstrap.yml b/ruoyi-modules/ruoyi-promotion/src/main/resources/bootstrap.yml new file mode 100644 index 0000000..2d3960a --- /dev/null +++ b/ruoyi-modules/ruoyi-promotion/src/main/resources/bootstrap.yml @@ -0,0 +1,82 @@ +# Spring +spring: + application: + # 应用名称 + name: ruoyi-promotion + main: + allow-bean-definition-overriding: true + profiles: + # 环境配置 + active: dev +--- +spring: + config: + activate: + on-profile: dev + cloud: + nacos: + discovery: + # 服务注册地址 + server-addr: 127.0.0.1:8858 + service: ${spring.application.name} + group: DEFAULT_GROUP + namespace: 689e0f09-d102-460c-ac5c-5ea50a3174be + config: + # 配置中心地址 + server-addr: 127.0.0.1:8858 + namespace: 689e0f09-d102-460c-ac5c-5ea50a3174be + group: DEFAULT_GROUP + name: ${spring.application.name} + # 配置文件格式 + file-extension: yml + # 共享配置 + shared-configs: + - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} +--- +spring: + config: + activate: + on-profile: prod + cloud: + nacos: + discovery: + # 服务注册地址 + server-addr: 127.0.0.1:8848 + service: ${spring.application.name} + group: DEFAULT_GROUP + namespace: 3452d750-b08d-4485-a1e9-4fb0548f1fc2 + config: + # 配置中心地址 + server-addr: 127.0.0.1:8848 + namespace: 3452d750-b08d-4485-a1e9-4fb0548f1fc2 + group: DEFAULT_GROUP + name: ${spring.application.name} + # 配置文件格式 + file-extension: yml + # 共享配置 + shared-configs: + - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} +--- +spring: + config: + activate: + on-profile: test + cloud: + nacos: + discovery: + # 服务注册地址 + server-addr: 127.0.0.1:8848 + service: ${spring.application.name} + group: DEFAULT_GROUP + namespace: 96712c7a-480b-4f40-b783-39f00f3b33ce + config: + # 配置中心地址 + server-addr: 127.0.0.1:8848 + namespace: 96712c7a-480b-4f40-b783-39f00f3b33ce + group: DEFAULT_GROUP + name: ${spring.application.name} + # 配置文件格式 + file-extension: yml + # 共享配置 + shared-configs: + - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} \ No newline at end of file diff --git a/ruoyi-modules/ruoyi-promotion/src/main/resources/logback.xml b/ruoyi-modules/ruoyi-promotion/src/main/resources/logback.xml new file mode 100644 index 0000000..6d76bcc --- /dev/null +++ b/ruoyi-modules/ruoyi-promotion/src/main/resources/logback.xml @@ -0,0 +1,74 @@ +<?xml version="1.0" encoding="UTF-8"?> +<configuration scan="true" scanPeriod="60 seconds" debug="false"> + <!-- 日志存放路径 --> + <property name="log.path" value="logs/ruoyi-promotion" /> + <!-- 日志输出格式 --> + <property name="log.pattern" value="%d{HH:mm:ss.SSS} [%thread] %-5level %logger{20} - [%method,%line] - %msg%n" /> + + <!-- 控制台输出 --> + <appender name="console" class="ch.qos.logback.core.ConsoleAppender"> + <encoder> + <pattern>${log.pattern}</pattern> + </encoder> + </appender> + + <!-- 系统日志输出 --> + <appender name="file_info" class="ch.qos.logback.core.rolling.RollingFileAppender"> + <file>${log.path}/info.log</file> + <!-- 循环政策:基于时间创建日志文件 --> + <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> + <!-- 日志文件名格式 --> + <fileNamePattern>${log.path}/info.%d{yyyy-MM-dd}.log</fileNamePattern> + <!-- 日志最大的历史 60天 --> + <maxHistory>60</maxHistory> + </rollingPolicy> + <encoder> + <pattern>${log.pattern}</pattern> + </encoder> + <filter class="ch.qos.logback.classic.filter.LevelFilter"> + <!-- 过滤的级别 --> + <level>INFO</level> + <!-- 匹配时的操作:接收(记录) --> + <onMatch>ACCEPT</onMatch> + <!-- 不匹配时的操作:拒绝(不记录) --> + <onMismatch>DENY</onMismatch> + </filter> + </appender> + + <appender name="file_error" class="ch.qos.logback.core.rolling.RollingFileAppender"> + <file>${log.path}/error.log</file> + <!-- 循环政策:基于时间创建日志文件 --> + <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> + <!-- 日志文件名格式 --> + <fileNamePattern>${log.path}/error.%d{yyyy-MM-dd}.log</fileNamePattern> + <!-- 日志最大的历史 60天 --> + <maxHistory>60</maxHistory> + </rollingPolicy> + <encoder> + <pattern>${log.pattern}</pattern> + </encoder> + <filter class="ch.qos.logback.classic.filter.LevelFilter"> + <!-- 过滤的级别 --> + <level>ERROR</level> + <!-- 匹配时的操作:接收(记录) --> + <onMatch>ACCEPT</onMatch> + <!-- 不匹配时的操作:拒绝(不记录) --> + <onMismatch>DENY</onMismatch> + </filter> + </appender> + + <!-- 系统模块日志级别控制 --> + <logger name="com.ruoyi" level="info" /> + <!-- Spring日志级别控制 --> + <logger name="org.springframework" level="warn" /> + + <root level="info"> + <appender-ref ref="console" /> + </root> + + <!--系统操作日志--> + <root level="info"> + <appender-ref ref="file_info" /> + <appender-ref ref="file_error" /> + </root> +</configuration> \ No newline at end of file diff --git a/ruoyi-modules/ruoyi-promotion/src/main/resources/mybatis-config.xml b/ruoyi-modules/ruoyi-promotion/src/main/resources/mybatis-config.xml new file mode 100644 index 0000000..6bd8b03 --- /dev/null +++ b/ruoyi-modules/ruoyi-promotion/src/main/resources/mybatis-config.xml @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> +<configuration> + + <settings> + <!-- 打印查询语句 不会写入到日志文件中--> + <setting name="logImpl" value="STDOUT_LOGGING"/> + <!--<setting name="logImpl" value="LOG4J" />--> + <!-- 控制全局缓存(二级缓存),按美团技术团队的说法,尽量别用缓存机制 emmmm.... --> + <setting name="cacheEnabled" value="true"/> + <!-- 延迟加载的全局开关。当开启时,所有关联对象都会延迟加载。默认 false --> + <!-- <setting name="lazyLoadingEnabled" value="true"/> --> + <setting name="mapUnderscoreToCamelCase" value="false"/><!--是否将map下划线方式转为驼峰式命名--> + <!-- 当开启时,任何方法的调用都会加载该对象的所有属性。默认 false,可通过select标签的 fetchType来覆盖--> + <!-- <setting name="aggressiveLazyLoading" value="false"/>--> + <!-- Mybatis 创建具有延迟加载能力的对象所用到的代理工具,默认JAVASSIST --> + <!--<setting name="proxyFactory" value="CGLIB" />--> + <!-- 关于mybatis的一二级缓存 请参照:https://tech.meituan.com/2018/01/19/mybatis-cache.html --> + <!-- 一级缓存范围默认:SESSION ,此范围在复杂应用场景中可能会出现脏读数据--> + <!-- STATEMENT级别的缓存,使一级缓存,只针对当前执行的这一statement有效 --> + <!--<setting name="localCacheScope" value="STATEMENT"/>--> + <setting name="localCacheScope" value="STATEMENT"/> + <!--开启枚举类自动转换--> + <setting name="defaultEnumTypeHandler" value="org.apache.ibatis.type.EnumOrdinalTypeHandler"/> + </settings> + +</configuration> diff --git a/ruoyi-modules/ruoyi-system/src/main/resources/banner.txt b/ruoyi-modules/ruoyi-system/src/main/resources/banner.txt index fbd45f5..dcc7b80 100644 --- a/ruoyi-modules/ruoyi-system/src/main/resources/banner.txt +++ b/ruoyi-modules/ruoyi-system/src/main/resources/banner.txt @@ -1,10 +1,10 @@ Spring Boot Version: ${spring-boot.version} Spring Application Name: ${spring.application.name} - _ _ - (_) | | - _ __ _ _ ___ _ _ _ ______ ___ _ _ ___ | |_ ___ _ __ ___ -| '__|| | | | / _ \ | | | || ||______|/ __|| | | |/ __|| __| / _ \| '_ ` _ \ + _ _ + (_) | | + _ __ _ _ ___ _ _ _ ______ ___ _ _ ___ | |_ ___ _ __ ___ +| '__|| | | | / _ \ | | | || ||______|/ __|| | | |/ __|| __| / _ \| '_ ` _ \ | | | |_| || (_) || |_| || | \__ \| |_| |\__ \| |_ | __/| | | | | | |_| \__,_| \___/ \__, ||_| |___/ \__, ||___/ \__| \___||_| |_| |_| - __/ | __/ | - |___/ |___/ \ No newline at end of file + __/ | __/ | + |___/ |___/ \ No newline at end of file -- Gitblit v1.7.1