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