diff --git a/pom.xml b/pom.xml
index 5ac910bf3ae76fad30df2b98974e3f64d0871593..e1b95b876537005b99ea882f2b0b99f26ea5f9f1 100644
--- a/pom.xml
+++ b/pom.xml
@@ -17,6 +17,13 @@
17
+
+
+ com.github.xiaoymin
+
+ knife4j-spring-boot-starter
+ 3.0.3
+
org.springframework.boot
diff --git a/src/main/java/com/dhu/common/R.java b/src/main/java/com/dhu/common/R.java
index bcb7d39ca6e4ce4a1e00c98f92eb0b49f16e87a4..3813dd044a98d928a76e1a5d9ab66d5d31cc8e61 100644
--- a/src/main/java/com/dhu/common/R.java
+++ b/src/main/java/com/dhu/common/R.java
@@ -1,6 +1,9 @@
package com.dhu.common;
+import io.swagger.annotations.ApiModel;
import lombok.Data;
+
+import java.io.Serializable;
import java.util.HashMap;
import java.util.Map;
@@ -9,7 +12,8 @@ import java.util.Map;
* @param
*/
@Data
-public class R {
+@ApiModel("返回结果")
+public class R implements Serializable {
private Integer code; //编码:1成功,0和其它数字为失败
diff --git a/src/main/java/com/dhu/config/WebMvcConfig.java b/src/main/java/com/dhu/config/WebMvcConfig.java
index ab2cfd3103359047a8e101166b39a73e39c0abd8..380fdd410dbd54ab96fdc69859f4e2dd6b0a4651 100644
--- a/src/main/java/com/dhu/config/WebMvcConfig.java
+++ b/src/main/java/com/dhu/config/WebMvcConfig.java
@@ -1,17 +1,28 @@
package com.dhu.config;
import com.dhu.common.JacksonObjectMapper;
+import com.github.xiaoymin.knife4j.spring.annotations.EnableKnife4j;
import lombok.extern.slf4j.Slf4j;
+import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.converter.HttpMessageConverter;
import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport;
+import springfox.documentation.builders.ApiInfoBuilder;
+import springfox.documentation.builders.PathSelectors;
+import springfox.documentation.builders.RequestHandlerSelectors;
+import springfox.documentation.service.ApiInfo;
+import springfox.documentation.spi.DocumentationType;
+import springfox.documentation.spring.web.plugins.Docket;
+import springfox.documentation.swagger2.annotations.EnableSwagger2;
import java.util.List;
@Slf4j
@Configuration
+@EnableSwagger2
+@EnableKnife4j
public class WebMvcConfig extends WebMvcConfigurationSupport {
@Override
@@ -19,6 +30,8 @@ public class WebMvcConfig extends WebMvcConfigurationSupport {
log.info("开始进行静态资源映射");
registry.addResourceHandler("/backend/**").addResourceLocations("classpath:/backend/");
registry.addResourceHandler("/front/**").addResourceLocations("classpath:/front/");
+ registry.addResourceHandler("doc.html").addResourceLocations("classpath:/META-INF/resources/");
+ registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/");
}
/**
@@ -35,4 +48,23 @@ public class WebMvcConfig extends WebMvcConfigurationSupport {
//将消息转换器追加到mvc框架的转换器容器中
converters.add(0,messageConverter);
}
+
+ @Bean
+ public Docket createRestApi(){
+ //文档类型
+ return new Docket(DocumentationType.SWAGGER_2)
+ .apiInfo(apiInfo())
+ .select()
+ .apis(RequestHandlerSelectors.basePackage("com.dhu.controller"))
+ .paths(PathSelectors.any())
+ .build();
+ }
+
+ private ApiInfo apiInfo(){
+ return new ApiInfoBuilder()
+ .title("瑞吉外卖")
+ .version("1.0")
+ .description("瑞吉外卖接口文档")
+ .build();
+ }
}
diff --git a/src/main/java/com/dhu/controller/CategoryController.java b/src/main/java/com/dhu/controller/CategoryController.java
index 917c88c7329a2f6a4ff8775c5e694e8710fbe63c..ca6bad81407fad4a035d21a2a9f780cdea4aa3b0 100644
--- a/src/main/java/com/dhu/controller/CategoryController.java
+++ b/src/main/java/com/dhu/controller/CategoryController.java
@@ -4,10 +4,8 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.dhu.common.R;
import com.dhu.entity.Category;
-import com.dhu.entity.Employee;
import com.dhu.service.CategoryService;
import lombok.extern.slf4j.Slf4j;
-import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
diff --git a/src/main/java/com/dhu/controller/CommonController.java b/src/main/java/com/dhu/controller/CommonController.java
index 28a9454d46c254787d3e8bd099d2c4b1e2c093b7..b75763f7a5f98dbe690fb13378d12aad5d9922e2 100644
--- a/src/main/java/com/dhu/controller/CommonController.java
+++ b/src/main/java/com/dhu/controller/CommonController.java
@@ -45,7 +45,7 @@ public class CommonController {
if (!dir.exists()) {
dir.mkdirs();
}
- file.transferTo(new File(dir + fileName));
+ file.transferTo(new File(dir +"\\"+ fileName));
return R.success(fileName);
}
diff --git a/src/main/java/com/dhu/controller/DishController.java b/src/main/java/com/dhu/controller/DishController.java
index 4bf64d4602b15fd87616518b1ab1204393dd57e3..865b1f4b9385d7b6170c041ca3dddcfb162b1bb1 100644
--- a/src/main/java/com/dhu/controller/DishController.java
+++ b/src/main/java/com/dhu/controller/DishController.java
@@ -18,7 +18,6 @@ import org.springframework.cache.CacheManager;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.web.bind.annotation.*;
-import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.Set;
diff --git a/src/main/java/com/dhu/controller/EmployeeController.java b/src/main/java/com/dhu/controller/EmployeeController.java
index 6f7c0c30be18132d1d7ea0e2cae4c187da496c5a..cce605d88ab874d3a25bd78c72e23ff9cb0cf6a5 100644
--- a/src/main/java/com/dhu/controller/EmployeeController.java
+++ b/src/main/java/com/dhu/controller/EmployeeController.java
@@ -12,12 +12,6 @@ import org.springframework.util.DigestUtils;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpSession;
-
-import java.time.LocalDateTime;
-import java.util.Date;
-
-import static com.dhu.common.R.success;
@Slf4j
@RestController
diff --git a/src/main/java/com/dhu/controller/OrderController.java b/src/main/java/com/dhu/controller/OrderController.java
index bbcf7fa23dc26f6e009f071db51a2e540e76c879..0313d827c8c43df4a5e3a79ebe8e60bc7f805e68 100644
--- a/src/main/java/com/dhu/controller/OrderController.java
+++ b/src/main/java/com/dhu/controller/OrderController.java
@@ -4,22 +4,12 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.dhu.common.BaseContext;
import com.dhu.common.R;
-import com.dhu.dto.OrdersDto;
-import com.dhu.entity.*;
-import com.dhu.service.AddressBookService;
-import com.dhu.service.OrderDetailService;
+import com.dhu.entity.Orders;
import com.dhu.service.OrderService;
-import com.dhu.service.ShoppingCartService;
import lombok.extern.slf4j.Slf4j;
-import org.apache.commons.lang.StringUtils;
-import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
-import java.time.LocalDateTime;
-import java.util.List;
-import java.util.stream.Collectors;
-
@Slf4j
@RestController
@RequestMapping("/order")
@@ -34,11 +24,21 @@ public class OrderController {
}
@GetMapping("/page")
- public R page(int page ,int pageSize, Long number){
+ public R page(int page ,int pageSize){
+ Page pageInfo = new Page(page, pageSize);
+
+ LambdaQueryWrapper lqw = new LambdaQueryWrapper<>();
+ lqw.orderByDesc(Orders::getCheckoutTime);
+ orderService.page(pageInfo, lqw);
+ return R.success(pageInfo);
+ }
+ @GetMapping("/userPage")
+ public R userPage(int page ,int pageSize, Long number){
Page pageInfo = new Page(page, pageSize);
LambdaQueryWrapper lqw = new LambdaQueryWrapper<>();
lqw.like(number != null, Orders::getNumber, number);
+ lqw.eq(Orders::getUserId, BaseContext.getCurrentId());
lqw.orderByDesc(Orders::getCheckoutTime);
orderService.page(pageInfo, lqw);
diff --git a/src/main/java/com/dhu/controller/SetmealController.java b/src/main/java/com/dhu/controller/SetmealController.java
index 3481b32bfdf1cbcec1acbc33e7aa08ac88c32625..2426726de88002bcb11779d8fcc818e7ff7505e7 100644
--- a/src/main/java/com/dhu/controller/SetmealController.java
+++ b/src/main/java/com/dhu/controller/SetmealController.java
@@ -3,38 +3,35 @@ package com.dhu.controller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.dhu.common.R;
-import com.dhu.dto.DishDto;
import com.dhu.dto.SetmealDto;
import com.dhu.entity.Category;
-import com.dhu.entity.Dish;
-import com.dhu.entity.DishFlavor;
import com.dhu.entity.Setmeal;
import com.dhu.service.*;
+import io.swagger.annotations.Api;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.transaction.annotation.Transactional;
+import org.springframework.cache.annotation.CacheEvict;
+import org.springframework.cache.annotation.Cacheable;
+import org.springframework.data.redis.cache.RedisCacheManager;
import org.springframework.web.bind.annotation.*;
-import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
@Slf4j
@RestController
@RequestMapping("/setmeal")
+@Api(tags="套餐相关接口")
public class SetmealController {
@Autowired
private SetmealService setmealService;
@Autowired
- private SetmealDishService setmealDishService;
- @Autowired
private CategoryService categoryService;
+
@Autowired
- private DishService dishService;
- @Autowired
- private DishFlavorService dishFlavorService;
+ private RedisCacheManager redisCacheManager;
/**
* 新增套餐
@@ -43,6 +40,7 @@ public class SetmealController {
* @return
*/
@PostMapping
+ @CacheEvict(value = "setmealCache", allEntries = true)//删除setmealCache所有数据
public R save(@RequestBody SetmealDto setmealDto) {
setmealService.saveWithDish(setmealDto);
return R.success("套餐新增成功");
@@ -91,6 +89,7 @@ public class SetmealController {
* @return
*/
@DeleteMapping
+ @CacheEvict(value = "setmealCache", allEntries = true)//删除setmealCache所有数据
public R delete(@RequestParam List ids) {
log.info("ids:{}", ids);
setmealService.removeWithDIsh(ids);
@@ -117,6 +116,7 @@ public class SetmealController {
* @return
*/
@GetMapping("/list")
+ @Cacheable(value = "setmealCache", key= "#setmeal.categoryId+'_'+#setmeal.status")
public R> list(Setmeal setmeal){
LambdaQueryWrapper lqw = new LambdaQueryWrapper<>();
lqw.eq(null!=setmeal.getCategoryId(),Setmeal::getCategoryId,setmeal.getCategoryId());
diff --git a/src/main/java/com/dhu/controller/UserController.java b/src/main/java/com/dhu/controller/UserController.java
index 47927db556e03d3a8f59a15b9e663d29ed81ac4d..86282beeda6278ae0d04651400f989e35133e987 100644
--- a/src/main/java/com/dhu/controller/UserController.java
+++ b/src/main/java/com/dhu/controller/UserController.java
@@ -4,7 +4,6 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.dhu.common.R;
import com.dhu.entity.User;
import com.dhu.service.UserService;
-import com.dhu.utils.SMSUtils;
import com.dhu.utils.ValidateCodeUtils;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils;
diff --git a/src/main/java/com/dhu/dto/SetmealDto.java b/src/main/java/com/dhu/dto/SetmealDto.java
index 7467bab7903cb8ca2c6ff0305c9f806364bd157a..e1cab2dec078c83a725e4e281933770ca63c8b17 100644
--- a/src/main/java/com/dhu/dto/SetmealDto.java
+++ b/src/main/java/com/dhu/dto/SetmealDto.java
@@ -2,10 +2,12 @@ package com.dhu.dto;
import com.dhu.entity.Setmeal;
import com.dhu.entity.SetmealDish;
+import io.swagger.annotations.ApiModel;
import lombok.Data;
import java.util.List;
@Data
+@ApiModel("套餐Dto")
public class SetmealDto extends Setmeal {
private List setmealDishes;
diff --git a/src/main/java/com/dhu/entity/Setmeal.java b/src/main/java/com/dhu/entity/Setmeal.java
index c96f3174469da81b719e7f0199244febc15c6ad7..b347b6656408c75294e7c023654f9ec33b9ca721 100644
--- a/src/main/java/com/dhu/entity/Setmeal.java
+++ b/src/main/java/com/dhu/entity/Setmeal.java
@@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
@@ -13,22 +15,27 @@ import java.time.LocalDateTime;
* 套餐
*/
@Data
+@ApiModel("套餐")
public class Setmeal implements Serializable {
private static final long serialVersionUID = 1L;
+ @ApiModelProperty("主键")
private Long id;
//分类id
+ @ApiModelProperty("分类id")
private Long categoryId;
//套餐名称
+ @ApiModelProperty("套餐名称")
private String name;
//套餐价格
+ @ApiModelProperty("套餐价格")
private BigDecimal price;
diff --git a/src/main/java/com/dhu/filter/LoginCheckFilter.java b/src/main/java/com/dhu/filter/LoginCheckFilter.java
index 0e97d0fdc55d247c6d660cde1d3c37a5ad889d61..0bf89e64e12d05f168aa2e1c5c87cefe74ce2976 100644
--- a/src/main/java/com/dhu/filter/LoginCheckFilter.java
+++ b/src/main/java/com/dhu/filter/LoginCheckFilter.java
@@ -33,7 +33,11 @@ public class LoginCheckFilter implements Filter {
"/front/**",
"/common/**",
"/user/sendMsg",
- "/user/login"
+ "/user/login",
+ "/doc.html",
+ "/webjars/**",
+ "/swagger-resources",
+ "/v2/api-docs"
};
//判断本次请求是否需要处理
boolean check = check(urls, requestURI);
diff --git a/src/main/java/com/dhu/mapper/OrderDetailMapper.java b/src/main/java/com/dhu/mapper/OrderDetailMapper.java
index d1c72f9e36e017f89f800a32f7857e358747b972..6ae76b549b63ffe914fd33d306324034f9ceaa38 100644
--- a/src/main/java/com/dhu/mapper/OrderDetailMapper.java
+++ b/src/main/java/com/dhu/mapper/OrderDetailMapper.java
@@ -2,8 +2,9 @@ package com.dhu.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.dhu.entity.OrderDetail;
import org.apache.ibatis.annotations.Mapper;
@Mapper
-public interface OrderDetailMapper extends BaseMapper {
+public interface OrderDetailMapper extends BaseMapper {
}
diff --git a/src/main/java/com/dhu/service/OrderService.java b/src/main/java/com/dhu/service/OrderService.java
index 9ef705fea5e55129954d3777c394c098ef9da1a5..dd0147028c3516e29c03f3a8e02b1ae794b86fec 100644
--- a/src/main/java/com/dhu/service/OrderService.java
+++ b/src/main/java/com/dhu/service/OrderService.java
@@ -1,7 +1,6 @@
package com.dhu.service;
import com.baomidou.mybatisplus.extension.service.IService;
-import com.dhu.common.R;
import com.dhu.entity.Orders;
public interface OrderService extends IService {
diff --git a/src/main/java/com/dhu/service/impl/OrderServiceImpl.java b/src/main/java/com/dhu/service/impl/OrderServiceImpl.java
index 82022be3443febe66403eaf2127409e34aa413d6..a5f822f0e5f01baeb9b72eb596ae31023774b479 100644
--- a/src/main/java/com/dhu/service/impl/OrderServiceImpl.java
+++ b/src/main/java/com/dhu/service/impl/OrderServiceImpl.java
@@ -5,7 +5,6 @@ import com.baomidou.mybatisplus.core.toolkit.IdWorker;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.dhu.common.BaseContext;
import com.dhu.common.CustomException;
-import com.dhu.common.R;
import com.dhu.entity.*;
import com.dhu.mapper.OrderMapper;
import com.dhu.service.*;
diff --git a/src/main/java/com/dhu/service/impl/ShoppingCartServiceImpl.java b/src/main/java/com/dhu/service/impl/ShoppingCartServiceImpl.java
index 8a3516268840f67d194855e2358ef0c534974d48..3d93b415d16670d43343d3b5c5b631e25616151e 100644
--- a/src/main/java/com/dhu/service/impl/ShoppingCartServiceImpl.java
+++ b/src/main/java/com/dhu/service/impl/ShoppingCartServiceImpl.java
@@ -4,7 +4,6 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.dhu.entity.ShoppingCart;
import com.dhu.mapper.ShoppingCartMapper;
import com.dhu.service.ShoppingCartService;
-import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Service;
@Service
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index 5ac7a79a32ffd4ef3b200dec7e1ad21ab1c5e250..b46431cca4ac7328522afb3fa60558723024f783 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -1,5 +1,5 @@
server:
- port: 8888
+ port: 8880
spring:
application:
name: reggie
@@ -13,7 +13,7 @@ spring:
default-encoding: utf-8
redis:
password: a20011028
- host: 192.168.254.129
+ host: 101.133.226.33
port: 6379
database: 0 # 操作的是0号数据库
jedis:
@@ -26,9 +26,9 @@ spring:
datasource:
druid:
driver-class-name: com.mysql.cj.jdbc.Driver
- url: jdbc:mysql://localhost:3306/db_reggie?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true
+ url: jdbc:mysql://101.133.226.33:3306/db_reggie?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true
username: root
- password: root
+ password: Aa.211028
mybatis-plus:
configuration:
#在映射实体或者属性时,将数据库中表名和字段名中的下划线去掉,按照驼峰命名法映射