模块构建完成

This commit is contained in:
xiongxiaoyang
2020-05-28 02:12:24 +08:00
parent 93189d92cc
commit c6e6a1df9f
170 changed files with 14777 additions and 212 deletions

32
novel-pay/pay-api/pom.xml Normal file
View File

@ -0,0 +1,32 @@
<?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">
<parent>
<artifactId>novel-pay</artifactId>
<groupId>com.java2nb.novel</groupId>
<version>1.0.0</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>pay-api</artifactId>
<dependencies>
<dependency>
<groupId>com.java2nb.novel</groupId>
<artifactId>novel-common</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-cache</artifactId>
</exclusion>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-redis</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
</project>

View File

@ -0,0 +1,147 @@
package com.java2nb.novel.pay.entity;
import io.swagger.annotations.ApiModelProperty;
import java.util.Date;
import javax.annotation.Generated;
public class PayLog {
@ApiModelProperty(value = "主键")
@Generated("org.mybatis.generator.api.MyBatisGenerator")
private Long id;
@ApiModelProperty(value = "商户订单号")
@Generated("org.mybatis.generator.api.MyBatisGenerator")
private Long outTradeNo;
@ApiModelProperty(value = "交易类型0:充值购买屋币1:包年VIP")
@Generated("org.mybatis.generator.api.MyBatisGenerator")
private Byte tradeType;
@ApiModelProperty(value = "支付宝/微信交易号")
@Generated("org.mybatis.generator.api.MyBatisGenerator")
private String tradeNo;
@ApiModelProperty(value = "支付渠道1支付宝2微信")
@Generated("org.mybatis.generator.api.MyBatisGenerator")
private Byte payChannel;
@ApiModelProperty(value = "交易金额(单位分)")
@Generated("org.mybatis.generator.api.MyBatisGenerator")
private Integer totalAmount;
@ApiModelProperty(value = "支付用户ID")
@Generated("org.mybatis.generator.api.MyBatisGenerator")
private Long userId;
@ApiModelProperty(value = "支付状态")
@Generated("org.mybatis.generator.api.MyBatisGenerator")
private String payStatus;
@ApiModelProperty(value = "创建时间")
@Generated("org.mybatis.generator.api.MyBatisGenerator")
private Date createTime;
@ApiModelProperty(value = "更新时间")
@Generated("org.mybatis.generator.api.MyBatisGenerator")
private Date updateTime;
@Generated("org.mybatis.generator.api.MyBatisGenerator")
public Long getId() {
return id;
}
@Generated("org.mybatis.generator.api.MyBatisGenerator")
public void setId(Long id) {
this.id = id;
}
@Generated("org.mybatis.generator.api.MyBatisGenerator")
public Long getOutTradeNo() {
return outTradeNo;
}
@Generated("org.mybatis.generator.api.MyBatisGenerator")
public void setOutTradeNo(Long outTradeNo) {
this.outTradeNo = outTradeNo;
}
@Generated("org.mybatis.generator.api.MyBatisGenerator")
public Byte getTradeType() {
return tradeType;
}
@Generated("org.mybatis.generator.api.MyBatisGenerator")
public void setTradeType(Byte tradeType) {
this.tradeType = tradeType;
}
@Generated("org.mybatis.generator.api.MyBatisGenerator")
public String getTradeNo() {
return tradeNo;
}
@Generated("org.mybatis.generator.api.MyBatisGenerator")
public void setTradeNo(String tradeNo) {
this.tradeNo = tradeNo == null ? null : tradeNo.trim();
}
@Generated("org.mybatis.generator.api.MyBatisGenerator")
public Byte getPayChannel() {
return payChannel;
}
@Generated("org.mybatis.generator.api.MyBatisGenerator")
public void setPayChannel(Byte payChannel) {
this.payChannel = payChannel;
}
@Generated("org.mybatis.generator.api.MyBatisGenerator")
public Integer getTotalAmount() {
return totalAmount;
}
@Generated("org.mybatis.generator.api.MyBatisGenerator")
public void setTotalAmount(Integer totalAmount) {
this.totalAmount = totalAmount;
}
@Generated("org.mybatis.generator.api.MyBatisGenerator")
public Long getUserId() {
return userId;
}
@Generated("org.mybatis.generator.api.MyBatisGenerator")
public void setUserId(Long userId) {
this.userId = userId;
}
@Generated("org.mybatis.generator.api.MyBatisGenerator")
public String getPayStatus() {
return payStatus;
}
@Generated("org.mybatis.generator.api.MyBatisGenerator")
public void setPayStatus(String payStatus) {
this.payStatus = payStatus == null ? null : payStatus.trim();
}
@Generated("org.mybatis.generator.api.MyBatisGenerator")
public Date getCreateTime() {
return createTime;
}
@Generated("org.mybatis.generator.api.MyBatisGenerator")
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
@Generated("org.mybatis.generator.api.MyBatisGenerator")
public Date getUpdateTime() {
return updateTime;
}
@Generated("org.mybatis.generator.api.MyBatisGenerator")
public void setUpdateTime(Date updateTime) {
this.updateTime = updateTime;
}
}

View File

@ -0,0 +1,40 @@
<?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">
<parent>
<artifactId>novel-pay</artifactId>
<groupId>com.java2nb.novel</groupId>
<version>1.0.0</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>pay-service</artifactId>
<dependencies>
<dependency>
<groupId>com.java2nb.novel</groupId>
<artifactId>pay-api</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-netflix-hystrix</artifactId>
</dependency>
</dependencies>
</project>

View File

@ -0,0 +1,20 @@
package com.java2nb.novel;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.openfeign.EnableFeignClients;
/**
* 支付微服务启动器
* @author xiongxiaoyang
* @version 1.0
* @since 2020/5/27
*/
@SpringBootApplication
@EnableFeignClients
public class PayApplication {
public static void main(String[] args) {
SpringApplication.run(PayApplication.class);
}
}

View File

@ -0,0 +1,70 @@
package com.java2nb.novel.pay.mapper;
import org.mybatis.dynamic.sql.SqlColumn;
import org.mybatis.dynamic.sql.SqlTable;
import javax.annotation.Generated;
import java.sql.JDBCType;
import java.util.Date;
public final class PayLogDynamicSqlSupport {
@Generated("org.mybatis.generator.api.MyBatisGenerator")
public static final PayLog payLog = new PayLog();
@Generated("org.mybatis.generator.api.MyBatisGenerator")
public static final SqlColumn<Long> id = payLog.id;
@Generated("org.mybatis.generator.api.MyBatisGenerator")
public static final SqlColumn<Long> outTradeNo = payLog.outTradeNo;
@Generated("org.mybatis.generator.api.MyBatisGenerator")
public static final SqlColumn<Byte> tradeType = payLog.tradeType;
@Generated("org.mybatis.generator.api.MyBatisGenerator")
public static final SqlColumn<String> tradeNo = payLog.tradeNo;
@Generated("org.mybatis.generator.api.MyBatisGenerator")
public static final SqlColumn<Byte> payChannel = payLog.payChannel;
@Generated("org.mybatis.generator.api.MyBatisGenerator")
public static final SqlColumn<Integer> totalAmount = payLog.totalAmount;
@Generated("org.mybatis.generator.api.MyBatisGenerator")
public static final SqlColumn<Long> userId = payLog.userId;
@Generated("org.mybatis.generator.api.MyBatisGenerator")
public static final SqlColumn<String> payStatus = payLog.payStatus;
@Generated("org.mybatis.generator.api.MyBatisGenerator")
public static final SqlColumn<Date> createTime = payLog.createTime;
@Generated("org.mybatis.generator.api.MyBatisGenerator")
public static final SqlColumn<Date> updateTime = payLog.updateTime;
@Generated("org.mybatis.generator.api.MyBatisGenerator")
public static final class PayLog extends SqlTable {
public final SqlColumn<Long> id = column("id", JDBCType.BIGINT);
public final SqlColumn<Long> outTradeNo = column("out_trade_no", JDBCType.BIGINT);
public final SqlColumn<Byte> tradeType = column("trade_type", JDBCType.TINYINT);
public final SqlColumn<String> tradeNo = column("trade_no", JDBCType.VARCHAR);
public final SqlColumn<Byte> payChannel = column("pay_channel", JDBCType.TINYINT);
public final SqlColumn<Integer> totalAmount = column("total_amount", JDBCType.INTEGER);
public final SqlColumn<Long> userId = column("user_id", JDBCType.BIGINT);
public final SqlColumn<String> payStatus = column("pay_status", JDBCType.VARCHAR);
public final SqlColumn<Date> createTime = column("create_time", JDBCType.TIMESTAMP);
public final SqlColumn<Date> updateTime = column("update_time", JDBCType.TIMESTAMP);
public PayLog() {
super("pay_log");
}
}
}

View File

@ -0,0 +1,211 @@
package com.java2nb.novel.pay.mapper;
import static com.java2nb.novel.pay.mapper.PayLogDynamicSqlSupport.*;
import static org.mybatis.dynamic.sql.SqlBuilder.*;
import com.java2nb.novel.pay.entity.PayLog;
import java.util.List;
import javax.annotation.Generated;
import org.apache.ibatis.annotations.DeleteProvider;
import org.apache.ibatis.annotations.InsertProvider;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Result;
import org.apache.ibatis.annotations.ResultMap;
import org.apache.ibatis.annotations.Results;
import org.apache.ibatis.annotations.SelectProvider;
import org.apache.ibatis.annotations.UpdateProvider;
import org.apache.ibatis.type.JdbcType;
import org.mybatis.dynamic.sql.SqlBuilder;
import org.mybatis.dynamic.sql.delete.DeleteDSL;
import org.mybatis.dynamic.sql.delete.MyBatis3DeleteModelAdapter;
import org.mybatis.dynamic.sql.delete.render.DeleteStatementProvider;
import org.mybatis.dynamic.sql.insert.render.InsertStatementProvider;
import org.mybatis.dynamic.sql.render.RenderingStrategy;
import org.mybatis.dynamic.sql.select.MyBatis3SelectModelAdapter;
import org.mybatis.dynamic.sql.select.QueryExpressionDSL;
import org.mybatis.dynamic.sql.select.SelectDSL;
import org.mybatis.dynamic.sql.select.render.SelectStatementProvider;
import org.mybatis.dynamic.sql.update.MyBatis3UpdateModelAdapter;
import org.mybatis.dynamic.sql.update.UpdateDSL;
import org.mybatis.dynamic.sql.update.render.UpdateStatementProvider;
import org.mybatis.dynamic.sql.util.SqlProviderAdapter;
@Mapper
public interface PayLogMapper {
@Generated("org.mybatis.generator.api.MyBatisGenerator")
@SelectProvider(type=SqlProviderAdapter.class, method="select")
long count(SelectStatementProvider selectStatement);
@Generated("org.mybatis.generator.api.MyBatisGenerator")
@DeleteProvider(type=SqlProviderAdapter.class, method="delete")
int delete(DeleteStatementProvider deleteStatement);
@Generated("org.mybatis.generator.api.MyBatisGenerator")
@InsertProvider(type=SqlProviderAdapter.class, method="insert")
int insert(InsertStatementProvider<PayLog> insertStatement);
@Generated("org.mybatis.generator.api.MyBatisGenerator")
@SelectProvider(type=SqlProviderAdapter.class, method="select")
@ResultMap("PayLogResult")
PayLog selectOne(SelectStatementProvider selectStatement);
@Generated("org.mybatis.generator.api.MyBatisGenerator")
@SelectProvider(type=SqlProviderAdapter.class, method="select")
@Results(id="PayLogResult", value = {
@Result(column="id", property="id", jdbcType=JdbcType.BIGINT, id=true),
@Result(column="out_trade_no", property="outTradeNo", jdbcType=JdbcType.BIGINT),
@Result(column="trade_type", property="tradeType", jdbcType=JdbcType.TINYINT),
@Result(column="trade_no", property="tradeNo", jdbcType=JdbcType.VARCHAR),
@Result(column="pay_channel", property="payChannel", jdbcType=JdbcType.TINYINT),
@Result(column="total_amount", property="totalAmount", jdbcType=JdbcType.INTEGER),
@Result(column="user_id", property="userId", jdbcType=JdbcType.BIGINT),
@Result(column="pay_status", property="payStatus", jdbcType=JdbcType.VARCHAR),
@Result(column="create_time", property="createTime", jdbcType=JdbcType.TIMESTAMP),
@Result(column="update_time", property="updateTime", jdbcType=JdbcType.TIMESTAMP)
})
List<PayLog> selectMany(SelectStatementProvider selectStatement);
@Generated("org.mybatis.generator.api.MyBatisGenerator")
@UpdateProvider(type=SqlProviderAdapter.class, method="update")
int update(UpdateStatementProvider updateStatement);
@Generated("org.mybatis.generator.api.MyBatisGenerator")
default QueryExpressionDSL<MyBatis3SelectModelAdapter<Long>> countByExample() {
return SelectDSL.selectWithMapper(this::count, SqlBuilder.count())
.from(payLog);
}
@Generated("org.mybatis.generator.api.MyBatisGenerator")
default DeleteDSL<MyBatis3DeleteModelAdapter<Integer>> deleteByExample() {
return DeleteDSL.deleteFromWithMapper(this::delete, payLog);
}
@Generated("org.mybatis.generator.api.MyBatisGenerator")
default int deleteByPrimaryKey(Long id_) {
return DeleteDSL.deleteFromWithMapper(this::delete, payLog)
.where(id, isEqualTo(id_))
.build()
.execute();
}
@Generated("org.mybatis.generator.api.MyBatisGenerator")
default int insert(PayLog record) {
return insert(SqlBuilder.insert(record)
.into(payLog)
.map(id).toProperty("id")
.map(outTradeNo).toProperty("outTradeNo")
.map(tradeType).toProperty("tradeType")
.map(tradeNo).toProperty("tradeNo")
.map(payChannel).toProperty("payChannel")
.map(totalAmount).toProperty("totalAmount")
.map(userId).toProperty("userId")
.map(payStatus).toProperty("payStatus")
.map(createTime).toProperty("createTime")
.map(updateTime).toProperty("updateTime")
.build()
.render(RenderingStrategy.MYBATIS3));
}
@Generated("org.mybatis.generator.api.MyBatisGenerator")
default int insertSelective(PayLog record) {
return insert(SqlBuilder.insert(record)
.into(payLog)
.map(id).toPropertyWhenPresent("id", record::getId)
.map(outTradeNo).toPropertyWhenPresent("outTradeNo", record::getOutTradeNo)
.map(tradeType).toPropertyWhenPresent("tradeType", record::getTradeType)
.map(tradeNo).toPropertyWhenPresent("tradeNo", record::getTradeNo)
.map(payChannel).toPropertyWhenPresent("payChannel", record::getPayChannel)
.map(totalAmount).toPropertyWhenPresent("totalAmount", record::getTotalAmount)
.map(userId).toPropertyWhenPresent("userId", record::getUserId)
.map(payStatus).toPropertyWhenPresent("payStatus", record::getPayStatus)
.map(createTime).toPropertyWhenPresent("createTime", record::getCreateTime)
.map(updateTime).toPropertyWhenPresent("updateTime", record::getUpdateTime)
.build()
.render(RenderingStrategy.MYBATIS3));
}
@Generated("org.mybatis.generator.api.MyBatisGenerator")
default QueryExpressionDSL<MyBatis3SelectModelAdapter<List<PayLog>>> selectByExample() {
return SelectDSL.selectWithMapper(this::selectMany, id, outTradeNo, tradeType, tradeNo, payChannel, totalAmount, userId, payStatus, createTime, updateTime)
.from(payLog);
}
@Generated("org.mybatis.generator.api.MyBatisGenerator")
default QueryExpressionDSL<MyBatis3SelectModelAdapter<List<PayLog>>> selectDistinctByExample() {
return SelectDSL.selectDistinctWithMapper(this::selectMany, id, outTradeNo, tradeType, tradeNo, payChannel, totalAmount, userId, payStatus, createTime, updateTime)
.from(payLog);
}
@Generated("org.mybatis.generator.api.MyBatisGenerator")
default PayLog selectByPrimaryKey(Long id_) {
return SelectDSL.selectWithMapper(this::selectOne, id, outTradeNo, tradeType, tradeNo, payChannel, totalAmount, userId, payStatus, createTime, updateTime)
.from(payLog)
.where(id, isEqualTo(id_))
.build()
.execute();
}
@Generated("org.mybatis.generator.api.MyBatisGenerator")
default UpdateDSL<MyBatis3UpdateModelAdapter<Integer>> updateByExample(PayLog record) {
return UpdateDSL.updateWithMapper(this::update, payLog)
.set(id).equalTo(record::getId)
.set(outTradeNo).equalTo(record::getOutTradeNo)
.set(tradeType).equalTo(record::getTradeType)
.set(tradeNo).equalTo(record::getTradeNo)
.set(payChannel).equalTo(record::getPayChannel)
.set(totalAmount).equalTo(record::getTotalAmount)
.set(userId).equalTo(record::getUserId)
.set(payStatus).equalTo(record::getPayStatus)
.set(createTime).equalTo(record::getCreateTime)
.set(updateTime).equalTo(record::getUpdateTime);
}
@Generated("org.mybatis.generator.api.MyBatisGenerator")
default UpdateDSL<MyBatis3UpdateModelAdapter<Integer>> updateByExampleSelective(PayLog record) {
return UpdateDSL.updateWithMapper(this::update, payLog)
.set(id).equalToWhenPresent(record::getId)
.set(outTradeNo).equalToWhenPresent(record::getOutTradeNo)
.set(tradeType).equalToWhenPresent(record::getTradeType)
.set(tradeNo).equalToWhenPresent(record::getTradeNo)
.set(payChannel).equalToWhenPresent(record::getPayChannel)
.set(totalAmount).equalToWhenPresent(record::getTotalAmount)
.set(userId).equalToWhenPresent(record::getUserId)
.set(payStatus).equalToWhenPresent(record::getPayStatus)
.set(createTime).equalToWhenPresent(record::getCreateTime)
.set(updateTime).equalToWhenPresent(record::getUpdateTime);
}
@Generated("org.mybatis.generator.api.MyBatisGenerator")
default int updateByPrimaryKey(PayLog record) {
return UpdateDSL.updateWithMapper(this::update, payLog)
.set(outTradeNo).equalTo(record::getOutTradeNo)
.set(tradeType).equalTo(record::getTradeType)
.set(tradeNo).equalTo(record::getTradeNo)
.set(payChannel).equalTo(record::getPayChannel)
.set(totalAmount).equalTo(record::getTotalAmount)
.set(userId).equalTo(record::getUserId)
.set(payStatus).equalTo(record::getPayStatus)
.set(createTime).equalTo(record::getCreateTime)
.set(updateTime).equalTo(record::getUpdateTime)
.where(id, isEqualTo(record::getId))
.build()
.execute();
}
@Generated("org.mybatis.generator.api.MyBatisGenerator")
default int updateByPrimaryKeySelective(PayLog record) {
return UpdateDSL.updateWithMapper(this::update, payLog)
.set(outTradeNo).equalToWhenPresent(record::getOutTradeNo)
.set(tradeType).equalToWhenPresent(record::getTradeType)
.set(tradeNo).equalToWhenPresent(record::getTradeNo)
.set(payChannel).equalToWhenPresent(record::getPayChannel)
.set(totalAmount).equalToWhenPresent(record::getTotalAmount)
.set(userId).equalToWhenPresent(record::getUserId)
.set(payStatus).equalToWhenPresent(record::getPayStatus)
.set(createTime).equalToWhenPresent(record::getCreateTime)
.set(updateTime).equalToWhenPresent(record::getUpdateTime)
.where(id, isEqualTo(record::getId))
.build()
.execute();
}
}

View File

@ -0,0 +1,4 @@
spring:
profiles:
include: [common]

View File

@ -0,0 +1,5 @@
spring:
application:
name: pay-service
profiles:
active: dev

View File

@ -0,0 +1,64 @@
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<!-- 彩色日志依赖的渲染类 -->
<conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter" />
<conversionRule conversionWord="wex" converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter" />
<conversionRule conversionWord="wEx" converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter" />
<!-- 彩色日志格式 -->
<property name="CONSOLE_LOG_PATTERN" value="${CONSOLE_LOG_PATTERN:-%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}" />
<!-- %m输出的信息,%p日志级别,%t线程名,%d日期,%c类的全名,%i索引【从数字0开始递增】,,, -->
<!-- appender是configuration的子节点是负责写日志的组件。 -->
<!-- ConsoleAppender把日志输出到控制台 -->
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<!--
<pattern>%d %p (%file:%line\)- %m%n</pattern>
-->
<pattern>${CONSOLE_LOG_PATTERN}</pattern>
<!-- 控制台也要使用UTF-8不要使用GBK否则会中文乱码 -->
<charset>UTF-8</charset>
</encoder>
</appender>
<!-- RollingFileAppender滚动记录文件先将日志记录到指定文件当符合某个条件时将日志记录到其他文件 -->
<!-- 以下的大概意思是1.先按日期存日志日期变了将前一天的日志文件名重命名为XXX%日期%索引新的日志仍然是demo.log -->
<!-- 2.如果日期没有发生变化但是当前日志的文件大小超过1KB时对当前日志进行分割 重命名 -->
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<File>logs/pay-service.log</File>
<!-- rollingPolicy:当发生滚动时,决定 RollingFileAppender 的行为,涉及文件移动和重命名。 -->
<!-- TimeBasedRollingPolicy 最常用的滚动策略,它根据时间来制定滚动策略,既负责滚动也负责出发滚动 -->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- 活动文件的名字会根据fileNamePattern的值每隔一段时间改变一次 -->
<!-- 文件名logs/demo.2017-12-05.0.log -->
<fileNamePattern>logs/debug.%d.%i.log</fileNamePattern>
<!-- 每产生一个日志文件该日志文件的保存期限为30天 -->
<maxHistory>30</maxHistory>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<!-- maxFileSize:这是活动文件的大小默认值是10MB测试时可改成1KB看效果 -->
<maxFileSize>10MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
<encoder>
<!-- pattern节点用来设置日志的输入格式 -->
<pattern>
%d %p (%file:%line\)- %m%n
</pattern>
<!-- 记录日志的编码:此处设置字符集 - -->
<charset>UTF-8</charset>
</encoder>
</appender>
<!-- 控制台输出日志级别 -->
<root level="INFO">
<appender-ref ref="STDOUT" />
<appender-ref ref="FILE" />
</root>
<!-- 指定项目中某个包,当有日志操作行为时的日志记录级别 -->
<!-- com.maijinjie.springboot 为根包也就是只要是发生在这个根包下面的所有日志操作行为的权限都是DEBUG -->
<!-- 级别依次为【从高到低】FATAL > ERROR > WARN > INFO > DEBUG > TRACE -->
<logger name="com.java2nb" level="DEBUG">
<appender-ref ref="STDOUT" />
<appender-ref ref="FILE" />
</logger>
</configuration>

20
novel-pay/pom.xml Normal file
View File

@ -0,0 +1,20 @@
<?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">
<parent>
<artifactId>novel-cloud</artifactId>
<groupId>com.java2nb.novel</groupId>
<version>1.0.0</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>novel-pay</artifactId>
<packaging>pom</packaging>
<modules>
<module>pay-service</module>
<module>pay-api</module>
</modules>
</project>