Browse Source

mall-api单独增加swagger版本

gqx 2 years ago
parent
commit
5841f5cacd

+ 18 - 0
jeecg-boot-base-core/src/main/java/org/jeecg/config/ApiVersion.java

@@ -0,0 +1,18 @@
+package org.jeecg.config;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+@Retention(RetentionPolicy.RUNTIME)
+@Target(ElementType.METHOD)
+public @interface ApiVersion {
+
+    /**
+     * 接口版本号(对应swagger中的group)
+     * @return String[]
+     */
+    String[] group();
+
+}

+ 5 - 0
jeecg-boot-base-core/src/main/java/org/jeecg/config/ApiVersionConstant.java

@@ -0,0 +1,5 @@
+package org.jeecg.config;
+
+public interface ApiVersionConstant {
+    String FAP_MALLAPI101 = "mall-api1.0.1";
+}

+ 23 - 0
jeecg-boot-base-core/src/main/java/org/jeecg/config/Swagger2Config.java

@@ -31,6 +31,7 @@ import springfox.documentation.swagger2.annotations.EnableSwagger2;
 
 import java.lang.reflect.Field;
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.Collections;
 import java.util.List;
 import java.util.stream.Collectors;
@@ -79,6 +80,28 @@ public class Swagger2Config implements WebMvcConfigurer {
                 .globalOperationParameters(setHeaderToken());
     }
 
+    @Bean
+    public Docket vMallApi101(){
+        return new Docket(DocumentationType.SWAGGER_2)
+                .apiInfo(apiInfo())
+                .groupName(ApiVersionConstant.FAP_MALLAPI101)
+                .select()
+                .apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class))
+                .apis(input -> {
+                    ApiVersion apiVersion = input.getHandlerMethod().getMethodAnnotation(ApiVersion.class);
+                    if(apiVersion!=null&& Arrays.asList(apiVersion.group()).contains(ApiVersionConstant.FAP_MALLAPI101)){
+                        return true;
+                    }
+                    return false;
+                })//controller路径
+                .paths(PathSelectors.any())
+                .build()
+                .securitySchemes(Collections.singletonList(securityScheme()))
+                .securityContexts(securityContexts())
+                .globalOperationParameters(setHeaderToken());
+    }
+
+
     /***
      * oauth2配置
      * 需要增加swagger授权回调地址

+ 3 - 0
jeecg-mall-api/src/main/java/org/jeecg/modules/bus/controller/CouponsCashUsedController.java

@@ -26,6 +26,8 @@ import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.common.util.TenantContextHolder;
 import org.jeecg.common.util.oConvertUtils;
+import org.jeecg.config.ApiVersion;
+import org.jeecg.config.ApiVersionConstant;
 import org.jeecg.modules.business.dto.CouponsGenerateDto;
 import org.jeecg.modules.business.dto.PostDataDto;
 import org.jeecg.modules.business.dto.ProvideCouponsUsedDto;
@@ -85,6 +87,7 @@ public class CouponsCashUsedController extends WebConfig {
     @ApiOperation(value = "获取我的优惠券分页列表查询", notes = "获取我的优惠券分页列表查询")
     @GetMapping(value = "/list")
     @ApiLogin
+    @ApiVersion(group = ApiVersionConstant.FAP_MALLAPI101)
     public Result<IPage<BusMarketCouponsCashUsed>> queryPageList(BusMarketCouponsCashUsed busMarketCouponsCashUsed,
                                                                  @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
                                                                  @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,

+ 3 - 0
jeecg-mall-api/src/main/java/org/jeecg/modules/bus/controller/CouponsUsedController.java

@@ -18,6 +18,8 @@ import org.jeecg.common.aspect.annotation.AutoLog;
 import org.jeecg.common.system.base.controller.JeecgController;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.common.util.TenantContextHolder;
+import org.jeecg.config.ApiVersion;
+import org.jeecg.config.ApiVersionConstant;
 import org.jeecg.modules.business.dto.CouponsGenerateDto;
 import org.jeecg.modules.business.dto.PostDataDto;
 import org.jeecg.modules.business.dto.ProvideCouponsUsedDto;
@@ -58,6 +60,7 @@ public class CouponsUsedController extends WebConfig {
    @ApiOperation(value="获取我的可用优惠券分页列表查询", notes="获取我的可用优惠券分页列表查询")
    @PostMapping(value = "/list")
    @ApiLogin
+   @ApiVersion(group = ApiVersionConstant.FAP_MALLAPI101)
    public Result<IPage<BusMarketCouponsUsed>> queryPageList(BusMarketCouponsUsed busMarketCouponsUsed,
                                   @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
                                   @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,

+ 3 - 0
jeecg-mall-api/src/main/java/org/jeecg/modules/bus/controller/HotelController.java

@@ -19,6 +19,8 @@ import org.jeecg.common.system.util.JwtUtil;
 import org.jeecg.common.system.vo.LoginUser;
 import org.jeecg.common.util.TenantContextHolder;
 import org.jeecg.common.util.TokenUtils;
+import org.jeecg.config.ApiVersion;
+import org.jeecg.config.ApiVersionConstant;
 import org.jeecg.modules.business.entity.BusHotel;
 import org.jeecg.modules.business.service.IBusHotelService;
 import org.jeecg.modules.business.util.MapUtil;
@@ -58,6 +60,7 @@ public class HotelController extends  WebConfig {
     @ApiOperation(value="bus_hotel-列表查询", notes="bus_hotel-列表查询")
     @GetMapping(value = "/queryList")
     @ApiLogin
+    @ApiVersion(group = ApiVersionConstant.FAP_MALLAPI101)
     public Result<List<BusHotel>> queryList(BusHotel busHotel, HttpServletRequest req) {
         QueryWrapper<BusHotel> queryWrapper = QueryGenerator.initQueryWrapper(busHotel, req.getParameterMap());
         String tenantId = TenantContextHolder.getTenantId();

+ 4 - 0
jeecg-mall-api/src/main/java/org/jeecg/modules/bus/controller/MemberCardController.java

@@ -20,6 +20,8 @@ import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.common.system.vo.LoginUser;
 import org.jeecg.common.util.TenantContextHolder;
 import org.jeecg.common.util.TokenUtils;
+import org.jeecg.config.ApiVersion;
+import org.jeecg.config.ApiVersionConstant;
 import org.jeecg.modules.business.dto.UserGroupDto;
 import org.jeecg.modules.business.dto.UserLabelDto;
 import org.jeecg.modules.business.entity.*;
@@ -67,6 +69,7 @@ public class MemberCardController extends WebConfig {
 	@ApiOperation(value="bus_member_card-分页列表查询", notes="bus_member_card-分页列表查询")
 	@GetMapping(value = "/list")
 	@ApiLogin
+	@ApiVersion(group = ApiVersionConstant.FAP_MALLAPI101)
 	public Result<IPage<BusMemberCard>> queryPageList(BusMemberCard busMemberCard,
 								   @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
 								   @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
@@ -118,6 +121,7 @@ public class MemberCardController extends WebConfig {
 	@ApiOperation(value="添加会员卡", notes="添加会员卡")
 	@PostMapping(value = "/add")
 	@ApiLogin
+	@ApiVersion(group = ApiVersionConstant.FAP_MALLAPI101)
 	public Result<String> add(@RequestBody BusMemberCard busMemberCard) {
 		String tenantId = TenantContextHolder.getTenantId();
 		String userId = ThirdSessionHolder.getUserId();

+ 5 - 1
jeecg-mall-api/src/main/java/org/jeecg/modules/bus/controller/ParamXcxRoomController.java

@@ -16,12 +16,15 @@ import org.jeecg.common.system.base.controller.JeecgController;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.common.system.vo.LoginUser;
 import org.jeecg.common.util.TokenUtils;
+import org.jeecg.config.ApiVersion;
+import org.jeecg.config.ApiVersionConstant;
 import org.jeecg.modules.business.entity.BusParamXcxRoom;
 import org.jeecg.modules.business.service.IBusParamXcxRoomService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.servlet.ModelAndView;
 
+import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import java.util.Arrays;
@@ -34,7 +37,7 @@ import java.util.Arrays;
 @RequestMapping("/mall-api/param-xcx-room")
 @Slf4j
 public class ParamXcxRoomController extends WebConfig {
-   @Autowired
+   @Resource
    private IBusParamXcxRoomService busParamXcxRoomService;
 
     /**
@@ -45,6 +48,7 @@ public class ParamXcxRoomController extends WebConfig {
      */
     @ApiOperation(value="小程序客房服务设置-通过hotelId查询", notes="小程序客房服务设置-通过hotelId查询")
     @GetMapping(value = "/queryByHotelId")
+    @ApiVersion(group = ApiVersionConstant.FAP_MALLAPI101)
     public Result<BusParamXcxRoom> queryByHotelId(@RequestParam(name="hotelId") String hotelId) {
         if (StringUtils.isBlank(hotelId)) {
             return Result.error("暂未入住酒店");

+ 6 - 0
jeecg-mall-api/src/main/java/org/jeecg/modules/wxuser/controller/WxUserController.java

@@ -24,6 +24,8 @@ import org.jeecg.common.system.query.MatchTypeEnum;
 import org.jeecg.common.system.query.QueryCondition;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.common.constant.VxeSocketConst;
+import org.jeecg.config.ApiVersion;
+import org.jeecg.config.ApiVersionConstant;
 import org.jeecg.modules.wxuser.dto.LoginDto;
 import org.jeecg.modules.wxuser.dto.WxOpenDataDto;
 import org.jeecg.modules.wxuser.entity.ThirdSession;
@@ -32,6 +34,7 @@ import org.jeecg.modules.wxuser.service.IUserInfoService;
 import org.springframework.context.annotation.Configuration;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
+import springfox.documentation.swagger2.annotations.EnableSwagger2;
 
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
@@ -45,6 +48,7 @@ import java.util.*;
 @Slf4j
 @RestController
 @AllArgsConstructor
+@EnableSwagger2
 @RequestMapping("/mall-api/wxuser")
 public class WxUserController extends WebConfig {
 
@@ -58,6 +62,7 @@ public class WxUserController extends WebConfig {
      */
     @ApiOperation(value = "小程序用户登录")
     @PostMapping("/ma-login")
+    @ApiVersion(group = ApiVersionConstant.FAP_MALLAPI101)
     public Result<UserInfo> loginMa(HttpServletRequest request, @RequestBody LoginDto dto) {
         try {
             String appId = request.getHeader("app-id");
@@ -81,6 +86,7 @@ public class WxUserController extends WebConfig {
     @ApiOperation(value = "通过小程序授权手机号一键登录商城")
     @PostMapping("/ma-phone-login")
     @ApiLogin
+    @ApiVersion(group = ApiVersionConstant.FAP_MALLAPI101)
     public Result loginByPhoneMa(HttpServletRequest request, @RequestBody WxOpenDataDto dto) {
         try {
             String token = request.getHeader("third-session");