commit
90260bdc41
@ -0,0 +1,34 @@
|
||||
HELP.md
|
||||
target/
|
||||
!.mvn/wrapper/maven-wrapper.jar
|
||||
!**/src/main/**/target/
|
||||
!**/src/test/**/target/
|
||||
logs
|
||||
|
||||
### STS ###
|
||||
.apt_generated
|
||||
.classpath
|
||||
.factorypath
|
||||
.project
|
||||
.settings
|
||||
.springBeans
|
||||
.sts4-cache
|
||||
|
||||
### IntelliJ IDEA ###
|
||||
.idea
|
||||
*.iws
|
||||
*.iml
|
||||
*.ipr
|
||||
|
||||
### NetBeans ###
|
||||
/nbproject/private/
|
||||
/nbbuild/
|
||||
/dist/
|
||||
/nbdist/
|
||||
/.nb-gradle/
|
||||
build/
|
||||
!**/src/main/**/build/
|
||||
!**/src/test/**/build/
|
||||
|
||||
### VS Code ###
|
||||
.vscode/
|
@ -0,0 +1,35 @@
|
||||
<?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>cc.yunxi</groupId>
|
||||
<artifactId>nxhs</artifactId>
|
||||
<version>0.0.1-SNAPSHOT</version>
|
||||
</parent>
|
||||
<description>宁夏回收平台小程序-基础包</description>
|
||||
<artifactId>nxhs-common</artifactId>
|
||||
|
||||
<properties>
|
||||
<maven.compiler.source>8</maven.compiler.source>
|
||||
<maven.compiler.target>8</maven.compiler.target>
|
||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||
</properties>
|
||||
|
||||
<dependencies>
|
||||
<!-- SpringMVC-->
|
||||
<dependency>
|
||||
<groupId>org.springframework</groupId>
|
||||
<artifactId>spring-webmvc</artifactId>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
<!-- Servlet -->
|
||||
<dependency>
|
||||
<groupId>org.apache.tomcat.embed</groupId>
|
||||
<artifactId>tomcat-embed-core</artifactId>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
</project>
|
@ -0,0 +1,23 @@
|
||||
package cc.yunxi.common.config;
|
||||
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
|
||||
import org.springframework.boot.autoconfigure.jackson.Jackson2ObjectMapperBuilderCustomizer;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
|
||||
import java.math.BigInteger;
|
||||
|
||||
@Configuration
|
||||
@ConditionalOnClass(ObjectMapper.class)
|
||||
public class JsonConfig {
|
||||
@Bean
|
||||
public Jackson2ObjectMapperBuilderCustomizer jackson2ObjectMapperBuilderCustomizer() {
|
||||
return jacksonObjectMapperBuilder -> {
|
||||
// long -> string
|
||||
jacksonObjectMapperBuilder.serializerByType(Long.class, ToStringSerializer.instance);
|
||||
jacksonObjectMapperBuilder.serializerByType(BigInteger.class, ToStringSerializer.instance);
|
||||
};
|
||||
}
|
||||
}
|
@ -0,0 +1,25 @@
|
||||
package cc.yunxi.common.config;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.DbType;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
|
||||
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
|
||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
|
||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
|
||||
@Configuration
|
||||
@ConditionalOnClass({MybatisPlusInterceptor.class, BaseMapper.class})
|
||||
public class MyBatisConfig {
|
||||
@Bean
|
||||
@ConditionalOnMissingBean
|
||||
public MybatisPlusInterceptor mybatisPlusInterceptor() {
|
||||
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
|
||||
// 1.分页拦截器
|
||||
PaginationInnerInterceptor paginationInnerInterceptor = new PaginationInnerInterceptor(DbType.MYSQL);
|
||||
paginationInnerInterceptor.setMaxLimit(1000L);
|
||||
interceptor.addInnerInterceptor(paginationInnerInterceptor);
|
||||
return interceptor;
|
||||
}
|
||||
}
|
@ -0,0 +1,62 @@
|
||||
package cc.yunxi.common.domain;
|
||||
|
||||
|
||||
import cc.yunxi.common.utils.BeanUtils;
|
||||
import cc.yunxi.common.utils.CollUtils;
|
||||
import cc.yunxi.common.utils.Convert;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.function.Function;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class PageDTO<T> {
|
||||
protected Long total;
|
||||
protected Long pages;
|
||||
protected List<T> list;
|
||||
|
||||
public static <T> PageDTO<T> empty(Long total, Long pages) {
|
||||
return new PageDTO<>(total, pages, CollUtils.emptyList());
|
||||
}
|
||||
public static <T> PageDTO<T> empty(Page<?> page) {
|
||||
return new PageDTO<>(page.getTotal(), page.getPages(), CollUtils.emptyList());
|
||||
}
|
||||
|
||||
public static <T> PageDTO<T> of(Page<T> page) {
|
||||
if(page == null){
|
||||
return new PageDTO<>();
|
||||
}
|
||||
if (CollUtils.isEmpty(page.getRecords())) {
|
||||
return empty(page);
|
||||
}
|
||||
return new PageDTO<>(page.getTotal(), page.getPages(), page.getRecords());
|
||||
}
|
||||
public static <T,R> PageDTO<T> of(Page<R> page, Function<R, T> mapper) {
|
||||
if(page == null){
|
||||
return new PageDTO<>();
|
||||
}
|
||||
if (CollUtils.isEmpty(page.getRecords())) {
|
||||
return empty(page);
|
||||
}
|
||||
return new PageDTO<>(page.getTotal(), page.getPages(),
|
||||
page.getRecords().stream().map(mapper).collect(Collectors.toList()));
|
||||
}
|
||||
public static <T> PageDTO<T> of(Page<?> page, List<T> list) {
|
||||
return new PageDTO<>(page.getTotal(), page.getPages(), list);
|
||||
}
|
||||
|
||||
public static <T, R> PageDTO<T> of(Page<R> page, Class<T> clazz) {
|
||||
return new PageDTO<>(page.getTotal(), page.getPages(), BeanUtils.copyList(page.getRecords(), clazz));
|
||||
}
|
||||
|
||||
public static <T, R> PageDTO<T> of(Page<R> page, Class<T> clazz, Convert<R, T> convert) {
|
||||
return new PageDTO<>(page.getTotal(), page.getPages(), BeanUtils.copyList(page.getRecords(), clazz, convert));
|
||||
}
|
||||
}
|
@ -0,0 +1,70 @@
|
||||
package cc.yunxi.common.domain;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.baomidou.mybatisplus.core.metadata.OrderItem;
|
||||
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import javax.validation.constraints.Min;
|
||||
|
||||
|
||||
@Data
|
||||
@ApiModel(description = "分页查询条件")
|
||||
@Accessors(chain = true)
|
||||
public class PageQuery {
|
||||
public static final Integer DEFAULT_PAGE_SIZE = 20;
|
||||
public static final Integer DEFAULT_PAGE_NUM = 1;
|
||||
@ApiModelProperty("页码")
|
||||
@Min(value = 1, message = "页码不能小于1")
|
||||
private Integer pageNo = DEFAULT_PAGE_NUM;
|
||||
@ApiModelProperty("页码")
|
||||
@Min(value = 1, message = "每页查询数量不能小于1")
|
||||
private Integer pageSize = DEFAULT_PAGE_SIZE;
|
||||
@ApiModelProperty("是否升序")
|
||||
private Boolean isAsc = true;
|
||||
@ApiModelProperty("排序方式")
|
||||
private String sortBy;
|
||||
|
||||
public int from(){
|
||||
return (pageNo - 1) * pageSize;
|
||||
}
|
||||
|
||||
public <T> Page<T> toMpPage(OrderItem... orderItems) {
|
||||
Page<T> page = new Page<>(pageNo, pageSize);
|
||||
// 是否手动指定排序方式
|
||||
if (orderItems != null && orderItems.length > 0) {
|
||||
for (OrderItem orderItem : orderItems) {
|
||||
page.addOrder(orderItem);
|
||||
}
|
||||
return page;
|
||||
}
|
||||
// 前端是否有排序字段
|
||||
if (StrUtil.isNotEmpty(sortBy)){
|
||||
OrderItem orderItem = new OrderItem();
|
||||
orderItem.setAsc(isAsc);
|
||||
orderItem.setColumn(sortBy);
|
||||
page.addOrder(orderItem);
|
||||
}
|
||||
return page;
|
||||
}
|
||||
|
||||
public <T> Page<T> toMpPage(String defaultSortBy, boolean isAsc) {
|
||||
if (StringUtils.isBlank(sortBy)){
|
||||
sortBy = defaultSortBy;
|
||||
this.isAsc = isAsc;
|
||||
}
|
||||
Page<T> page = new Page<>(pageNo, pageSize);
|
||||
OrderItem orderItem = new OrderItem();
|
||||
orderItem.setAsc(this.isAsc);
|
||||
orderItem.setColumn(sortBy);
|
||||
page.addOrder(orderItem);
|
||||
return page;
|
||||
}
|
||||
public <T> Page<T> toMpPageDefaultSortByCreateTimeDesc() {
|
||||
return toMpPage("create_time", false);
|
||||
}
|
||||
}
|
@ -0,0 +1,16 @@
|
||||
package cc.yunxi.common.exception;
|
||||
|
||||
public class BadRequestException extends CommonException{
|
||||
|
||||
public BadRequestException(String message) {
|
||||
super(message, 400);
|
||||
}
|
||||
|
||||
public BadRequestException(String message, Throwable cause) {
|
||||
super(message, cause, 400);
|
||||
}
|
||||
|
||||
public BadRequestException(Throwable cause) {
|
||||
super(cause, 400);
|
||||
}
|
||||
}
|
@ -0,0 +1,16 @@
|
||||
package cc.yunxi.common.exception;
|
||||
|
||||
public class BizIllegalException extends CommonException{
|
||||
|
||||
public BizIllegalException(String message) {
|
||||
super(message, 500);
|
||||
}
|
||||
|
||||
public BizIllegalException(String message, Throwable cause) {
|
||||
super(message, cause, 500);
|
||||
}
|
||||
|
||||
public BizIllegalException(Throwable cause) {
|
||||
super(cause, 500);
|
||||
}
|
||||
}
|
@ -0,0 +1,27 @@
|
||||
package cc.yunxi.common.exception;
|
||||
|
||||
import lombok.Getter;
|
||||
|
||||
@Getter
|
||||
public class CommonException extends RuntimeException{
|
||||
private int code;
|
||||
|
||||
public CommonException(String message, int code) {
|
||||
super(message);
|
||||
this.code = code;
|
||||
}
|
||||
public CommonException(int code, String message) {
|
||||
super(message);
|
||||
this.code = code;
|
||||
}
|
||||
|
||||
public CommonException(String message, Throwable cause, int code) {
|
||||
super(message, cause);
|
||||
this.code = code;
|
||||
}
|
||||
|
||||
public CommonException(Throwable cause, int code) {
|
||||
super(cause);
|
||||
this.code = code;
|
||||
}
|
||||
}
|
@ -0,0 +1,16 @@
|
||||
package cc.yunxi.common.exception;
|
||||
|
||||
public class DbException extends CommonException{
|
||||
|
||||
public DbException(String message) {
|
||||
super(message, 500);
|
||||
}
|
||||
|
||||
public DbException(String message, Throwable cause) {
|
||||
super(message, cause, 500);
|
||||
}
|
||||
|
||||
public DbException(Throwable cause) {
|
||||
super(cause, 500);
|
||||
}
|
||||
}
|
@ -0,0 +1,16 @@
|
||||
package cc.yunxi.common.exception;
|
||||
|
||||
public class ForbiddenException extends CommonException{
|
||||
|
||||
public ForbiddenException(String message) {
|
||||
super(message, 403);
|
||||
}
|
||||
|
||||
public ForbiddenException(String message, Throwable cause) {
|
||||
super(message, cause, 403);
|
||||
}
|
||||
|
||||
public ForbiddenException(Throwable cause) {
|
||||
super(cause, 403);
|
||||
}
|
||||
}
|
@ -0,0 +1,16 @@
|
||||
package cc.yunxi.common.exception;
|
||||
|
||||
public class UnauthorizedException extends CommonException{
|
||||
|
||||
public UnauthorizedException(String message) {
|
||||
super(message, 401);
|
||||
}
|
||||
|
||||
public UnauthorizedException(String message, Throwable cause) {
|
||||
super(message, cause, 401);
|
||||
}
|
||||
|
||||
public UnauthorizedException(Throwable cause) {
|
||||
super(cause, 401);
|
||||
}
|
||||
}
|
@ -0,0 +1,28 @@
|
||||
package cc.yunxi.common.utils;
|
||||
|
||||
public class UserContext {
|
||||
private static final ThreadLocal<Long> tl = new ThreadLocal<>();
|
||||
|
||||
/**
|
||||
* 保存当前登录用户信息到ThreadLocal
|
||||
* @param userId 用户id
|
||||
*/
|
||||
public static void setUser(Long userId) {
|
||||
tl.set(userId);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取当前登录用户信息
|
||||
* @return 用户id
|
||||
*/
|
||||
public static Long getUser() {
|
||||
return tl.get();
|
||||
}
|
||||
|
||||
/**
|
||||
* 移除当前登录用户信息
|
||||
*/
|
||||
public static void removeUser(){
|
||||
tl.remove();
|
||||
}
|
||||
}
|
@ -0,0 +1,3 @@
|
||||
org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
|
||||
cc.yunxi.common.config.MyBatisConfig,\
|
||||
cc.yunxi.common.config.JsonConfig
|
@ -0,0 +1,34 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<parent>
|
||||
<groupId>cc.yunxi</groupId>
|
||||
<artifactId>nxhs</artifactId>
|
||||
<version>0.0.1-SNAPSHOT</version>
|
||||
</parent>
|
||||
|
||||
<artifactId>nxhs-service</artifactId>
|
||||
|
||||
<properties>
|
||||
<maven.compiler.source>8</maven.compiler.source>
|
||||
<maven.compiler.target>8</maven.compiler.target>
|
||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||
</properties>
|
||||
|
||||
<dependencies>
|
||||
<!--common-->
|
||||
<dependency>
|
||||
<groupId>cc.yunxi</groupId>
|
||||
<artifactId>nxhs-common</artifactId>
|
||||
<version>0.0.1-SNAPSHOT</version>
|
||||
</dependency>
|
||||
<!--web-->
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-web</artifactId>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
</project>
|
@ -0,0 +1,13 @@
|
||||
package cc.yunxi;
|
||||
|
||||
import org.mybatis.spring.annotation.MapperScan;
|
||||
import org.springframework.boot.SpringApplication;
|
||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||
|
||||
@MapperScan("cc.yunxi.mapper")
|
||||
@SpringBootApplication
|
||||
public class NxhsApplication {
|
||||
public static void main(String[] args) {
|
||||
SpringApplication.run(NxhsApplication.class, args);
|
||||
}
|
||||
}
|
@ -0,0 +1,30 @@
|
||||
package cc.yunxi.controller;
|
||||
|
||||
import cc.yunxi.common.domain.CommonResult;
|
||||
import cc.yunxi.common.exception.BadRequestException;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
@Api(tags = "测试接口")
|
||||
@RestController
|
||||
@RequestMapping("/test")
|
||||
@RequiredArgsConstructor
|
||||
public class TestController {
|
||||
|
||||
@ApiOperation("测试接口成功")
|
||||
@GetMapping("/test01")
|
||||
public CommonResult<String> success() {
|
||||
return CommonResult.success("ok");
|
||||
}
|
||||
|
||||
|
||||
@ApiOperation("测试接口失败")
|
||||
@GetMapping("/test02")
|
||||
public CommonResult<String> failed() {
|
||||
throw new BadRequestException("error");
|
||||
}
|
||||
}
|
@ -0,0 +1,35 @@
|
||||
package cc.yunxi.domain.po;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@Accessors(chain = true)
|
||||
@TableName("test")
|
||||
public class Test implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 购物车条目id
|
||||
*/
|
||||
@TableId(value = "id", type = IdType.AUTO)
|
||||
private Integer id;
|
||||
|
||||
/**
|
||||
* 用户id
|
||||
*/
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* sku商品id
|
||||
*/
|
||||
private Integer age;
|
||||
}
|
@ -0,0 +1,10 @@
|
||||
package cc.yunxi.mapper;
|
||||
|
||||
import cc.yunxi.domain.po.Test;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
|
||||
/**
|
||||
* 测试表 mapper接口
|
||||
*/
|
||||
public interface TestMapper extends BaseMapper<Test> {
|
||||
}
|
@ -0,0 +1,10 @@
|
||||
package cc.yunxi.service;
|
||||
|
||||
import cc.yunxi.domain.po.Test;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
/**
|
||||
* 测试表 业务接口
|
||||
*/
|
||||
public interface ITestService extends IService<Test> {
|
||||
}
|
@ -0,0 +1,14 @@
|
||||
package cc.yunxi.service.impl;
|
||||
|
||||
import cc.yunxi.domain.po.Test;
|
||||
import cc.yunxi.mapper.TestMapper;
|
||||
import cc.yunxi.service.ITestService;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
* 测试表 服务实现类
|
||||
*/
|
||||
@Service
|
||||
public class TestServiceImpl extends ServiceImpl<TestMapper, Test> implements ITestService {
|
||||
}
|
@ -0,0 +1,14 @@
|
||||
server:
|
||||
port: 8808
|
||||
|
||||
spring:
|
||||
datasource:
|
||||
url: jdbc:mysql://222.71.165.188:3309/jnpf_ningxia?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&serverTimezone=Asia/Shanghai
|
||||
driver-class-name: com.mysql.cj.jdbc.Driver
|
||||
username: root
|
||||
password: linus,.123
|
||||
redis:
|
||||
database: 1
|
||||
host: 222.71.165.188
|
||||
port: 6379
|
||||
password: qweasd,.123 # 密码为空时,请将本行注释
|
@ -0,0 +1,71 @@
|
||||
server:
|
||||
port: 8080
|
||||
|
||||
spring:
|
||||
application:
|
||||
name: nxhs-service
|
||||
profiles:
|
||||
active: dev
|
||||
datasource:
|
||||
url: jdbc:mysql://127.0.0.1:3306/nxhs?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&serverTimezone=Asia/Shanghai
|
||||
driver-class-name: com.mysql.cj.jdbc.Driver
|
||||
username: root
|
||||
password: 123456
|
||||
redis:
|
||||
database: 1 #缓存库编号
|
||||
host: 127.0.0.1
|
||||
port: 6379
|
||||
password: 123456 # 密码为空时,请将本行注释
|
||||
timeout: 3000 #超时时间(单位:秒)
|
||||
lettuce: #Lettuce为Redis的Java驱动包
|
||||
pool:
|
||||
max-active: 8 # 连接池最大连接数
|
||||
max-wait: -1ms # 连接池最大阻塞等待时间(使用负值表示没有限制)
|
||||
min-idle: 0 # 连接池中的最小空闲连接
|
||||
max-idle: 8 # 连接池中的最大空闲连接
|
||||
|
||||
mybatis-plus:
|
||||
configuration:
|
||||
default-enum-type-handler: com.baomidou.mybatisplus.core.handlers.MybatisEnumTypeHandler
|
||||
global-config:
|
||||
db-config:
|
||||
update-strategy: not_null
|
||||
id-type: auto
|
||||
type-aliases-package: cc.yunxi.domain.po # 指定实体对象扫描包, 简化xml中resultType路径
|
||||
|
||||
logging:
|
||||
level:
|
||||
cc.yunxi: debug
|
||||
pattern:
|
||||
dateformat: yyyy-MM-dd HH:mm:ss:SSS
|
||||
file:
|
||||
path: "logs/${spring.application.name}"
|
||||
|
||||
knife4j:
|
||||
enable: true
|
||||
openapi:
|
||||
title: 宁夏回收平台
|
||||
description: "宁夏回收平台接口文档"
|
||||
email: ccongli@yunxi.cc
|
||||
concat: 虎哥
|
||||
url: https://www.cjyx.cc
|
||||
version: v1.0.0
|
||||
group:
|
||||
default:
|
||||
group-name: default
|
||||
api-rule: package
|
||||
api-rule-resources:
|
||||
- cc.yunxi.controller
|
||||
#hm:
|
||||
# jwt:
|
||||
# location: classpath:hmall.jks
|
||||
# alias: hmall
|
||||
# password: hmall123
|
||||
# tokenTTL: 30m
|
||||
# auth:
|
||||
# excludePaths:
|
||||
# - /search/**
|
||||
# - /users/login
|
||||
# - /items/**
|
||||
# - /hi
|
||||
# keytool -genkeypair -alias hmall -keyalg RSA -keypass hmall123 -keystore hmall.jks -storepass hmall123
|
@ -0,0 +1,21 @@
|
||||
package cc.yunxi;
|
||||
|
||||
import cc.yunxi.service.ITestService;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.springframework.boot.test.context.SpringBootTest;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
|
||||
@SpringBootTest
|
||||
public class NxhsApplicationTest {
|
||||
|
||||
@Resource
|
||||
ITestService testService;
|
||||
|
||||
@Test
|
||||
void test01() {
|
||||
List<cc.yunxi.domain.po.Test> list = testService.list();
|
||||
System.out.println(list);
|
||||
}
|
||||
}
|
@ -0,0 +1,137 @@
|
||||
<?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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>cc.yunxi</groupId>
|
||||
<artifactId>nxhs</artifactId>
|
||||
<version>0.0.1-SNAPSHOT</version>
|
||||
<packaging>pom</packaging>
|
||||
<name>nxhs</name>
|
||||
<description>宁夏回收平台小程序</description>
|
||||
|
||||
|
||||
<!-- 子模块 -->
|
||||
<modules>
|
||||
<module>nxhs-common</module>
|
||||
<module>nxhs-service</module>
|
||||
</modules>
|
||||
|
||||
<properties>
|
||||
<java.version>1.8</java.version>
|
||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
|
||||
<spring-boot.version>2.7.6</spring-boot.version>
|
||||
<mybatis-plus.version>3.4.3</mybatis-plus.version>
|
||||
<hutool.version>5.8.11</hutool.version>
|
||||
</properties>
|
||||
|
||||
|
||||
<!-- 版本统一管理 -->
|
||||
<dependencyManagement>
|
||||
<dependencies>
|
||||
<!-- SpringBoot 标准依赖 -->
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-dependencies</artifactId>
|
||||
<version>${spring-boot.version}</version>
|
||||
<type>pom</type>
|
||||
<scope>import</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</dependencyManagement>
|
||||
|
||||
|
||||
<dependencies>
|
||||
<!-- 数据库相关依赖 -->
|
||||
<dependency>
|
||||
<groupId>com.mysql</groupId>
|
||||
<artifactId>mysql-connector-j</artifactId>
|
||||
<scope>runtime</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.baomidou</groupId>
|
||||
<artifactId>mybatis-plus-boot-starter</artifactId>
|
||||
<version>${mybatis-plus.version}</version>
|
||||
</dependency>
|
||||
<!--redis-->
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-data-redis</artifactId>
|
||||
</dependency>
|
||||
<!--json处理-->
|
||||
<dependency>
|
||||
<groupId>com.fasterxml.jackson.dataformat</groupId>
|
||||
<artifactId>jackson-dataformat-xml</artifactId>
|
||||
</dependency>
|
||||
<!-- 常用扩展 -->
|
||||
<dependency>
|
||||
<groupId>org.projectlombok</groupId>
|
||||
<artifactId>lombok</artifactId>
|
||||
<optional>true</optional>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>cn.hutool</groupId>
|
||||
<artifactId>hutool-all</artifactId>
|
||||
<version>${hutool.version}</version>
|
||||
</dependency>
|
||||
<!-- validator -->
|
||||
<dependency>
|
||||
<groupId>org.hibernate.validator</groupId>
|
||||
<artifactId>hibernate-validator</artifactId>
|
||||
</dependency>
|
||||
<!-- swagger -->
|
||||
<dependency>
|
||||
<groupId>com.github.xiaoymin</groupId>
|
||||
<artifactId>knife4j-openapi2-spring-boot-starter</artifactId>
|
||||
<version>4.1.0</version>
|
||||
</dependency>
|
||||
<!-- 测试 -->
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-test</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-compiler-plugin</artifactId>
|
||||
<version>3.8.1</version>
|
||||
<configuration>
|
||||
<source>1.8</source>
|
||||
<target>1.8</target>
|
||||
<encoding>UTF-8</encoding>
|
||||
</configuration>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-maven-plugin</artifactId>
|
||||
<version>${spring-boot.version}</version>
|
||||
<configuration>
|
||||
<mainClass>cc.yunxi.nxhsapp.NxhsAppApplication</mainClass>
|
||||
<skip>true</skip>
|
||||
</configuration>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>repackage</id>
|
||||
<goals>
|
||||
<goal>repackage</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
|
||||
|
||||
<repositories>
|
||||
<repository>
|
||||
<id>alimaven</id>
|
||||
<name>aliyun maven</name>
|
||||
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
|
||||
</repository>
|
||||
</repositories>
|
||||
|
||||
</project>
|
Loading…
Reference in new issue