Commit 6c4f1c67 authored by 黎博's avatar 黎博

新增swagger2配置

parent 38a83471
...@@ -129,6 +129,24 @@ ...@@ -129,6 +129,24 @@
<version>1.1.35</version> <version>1.1.35</version>
</dependency> </dependency>
<!--swagger-->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.9.2</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.9.2</version>
</dependency>
<!--修改swagger主题-->
<dependency>
<groupId>com.github.caspar-chen</groupId>
<artifactId>swagger-ui-layer</artifactId>
<version>1.1.3</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.httpcomponents/httpclient --> <!-- https://mvnrepository.com/artifact/org.apache.httpcomponents/httpclient -->
<dependency> <dependency>
<groupId>org.apache.httpcomponents</groupId> <groupId>org.apache.httpcomponents</groupId>
......
package cn.qg.qaplatform.config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.*;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spi.service.contexts.SecurityContext;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
import java.util.ArrayList;
import java.util.List;
@Configuration
@EnableSwagger2
public class Swagger2Config {
@Bean
public Docket createRestApi() {
return new Docket(DocumentationType.SWAGGER_2)
.groupName("测试平台后台")
.apiInfo(apiInfo())
.select()
.apis(RequestHandlerSelectors.basePackage("cn.qg.qaplatform.controller"))
.paths(PathSelectors.any())
.build()
.securitySchemes(securitySchemes())
.securityContexts(securityContexts());
}
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("测试平台后台")
.description("测试平台后台")
.contact(new Contact("点击这里可以跳转", "", "bo.li@quantgroup.cn"))
.version("1.0")
.build();
}
private List<ApiKey> securitySchemes() {
//设置请求头信息
List<ApiKey> result = new ArrayList<>();
ApiKey apiKey = new ApiKey("Authorization", "Authorization", "header");
result.add(apiKey);
return result;
}
private List<SecurityContext> securityContexts() {
//设置需要登录认证的路径
List<SecurityContext> result = new ArrayList<>();
result.add(getContextByPath("/brand/.*"));
result.add(getContextByPath("/product/.*"));
result.add(getContextByPath("/productCategory/.*"));
return result;
}
private SecurityContext getContextByPath(String pathRegex) {
return SecurityContext.builder()
.securityReferences(defaultAuth())
.forPaths(PathSelectors.regex(pathRegex))
.build();
}
private List<SecurityReference> defaultAuth() {
List<SecurityReference> result = new ArrayList<>();
AuthorizationScope authorizationScope = new AuthorizationScope("global", "accessEverything");
AuthorizationScope[] authorizationScopes = new AuthorizationScope[1];
authorizationScopes[0] = authorizationScope;
result.add(new SecurityReference("Authorization", authorizationScopes));
return result;
}
}
...@@ -8,6 +8,10 @@ import cn.qg.qaplatform.service.GenUserDataService; ...@@ -8,6 +8,10 @@ import cn.qg.qaplatform.service.GenUserDataService;
import cn.qg.qaplatform.service.QueryBasicLoanStatusDataService; import cn.qg.qaplatform.service.QueryBasicLoanStatusDataService;
import cn.qg.qaplatform.utils.EnumUtils; import cn.qg.qaplatform.utils.EnumUtils;
import cn.qg.qaplatform.utils.RandomDataUtils; import cn.qg.qaplatform.utils.RandomDataUtils;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
...@@ -18,6 +22,7 @@ import java.util.Map; ...@@ -18,6 +22,7 @@ import java.util.Map;
@RestController @RestController
@CrossOrigin @CrossOrigin
@RequestMapping("/gen") @RequestMapping("/gen")
@Api(tags = "造数据相关接口")
public class GenLoanUserDataController { public class GenLoanUserDataController {
@Autowired @Autowired
...@@ -26,6 +31,7 @@ public class GenLoanUserDataController { ...@@ -26,6 +31,7 @@ public class GenLoanUserDataController {
@Autowired @Autowired
QueryBasicLoanStatusDataService queryBasicLoanStatusDataService; QueryBasicLoanStatusDataService queryBasicLoanStatusDataService;
@ApiOperation(value = "造数据接口")
@PostMapping("/loanUser") @PostMapping("/loanUser")
public JsonResult genLoanUserData(@RequestBody ApplyLoanInfo applyLoanInfo) throws Exception { public JsonResult genLoanUserData(@RequestBody ApplyLoanInfo applyLoanInfo) throws Exception {
if (applyLoanInfo.getNamespace() == null) { if (applyLoanInfo.getNamespace() == null) {
...@@ -34,6 +40,9 @@ public class GenLoanUserDataController { ...@@ -34,6 +40,9 @@ public class GenLoanUserDataController {
if (applyLoanInfo.getChannel() == null) { if (applyLoanInfo.getChannel() == null) {
return JsonResult.clientFailed("渠道不能为空!"); return JsonResult.clientFailed("渠道不能为空!");
} }
if (applyLoanInfo.getFundId() == null) {
return JsonResult.clientFailed("资方不能为空!");
}
if (applyLoanInfo.getStatus() == null) { if (applyLoanInfo.getStatus() == null) {
return JsonResult.clientFailed("借款状态不能为空!"); return JsonResult.clientFailed("借款状态不能为空!");
} }
...@@ -57,6 +66,7 @@ public class GenLoanUserDataController { ...@@ -57,6 +66,7 @@ public class GenLoanUserDataController {
return JsonResult.success(result); return JsonResult.success(result);
} }
@ApiOperation(value = "获取所有支持的资方和渠道")
@GetMapping("/supportChannelAndFund") @GetMapping("/supportChannelAndFund")
public JsonResult getSupportedLoanUserData() { public JsonResult getSupportedLoanUserData() {
Map<String, List> map = new HashMap(); Map<String, List> map = new HashMap();
...@@ -67,6 +77,7 @@ public class GenLoanUserDataController { ...@@ -67,6 +77,7 @@ public class GenLoanUserDataController {
return JsonResult.success(map); return JsonResult.success(map);
} }
@ApiOperation(value = "获取所有支持的用户状态")
@GetMapping("/userStatus") @GetMapping("/userStatus")
public JsonResult queryUserStatus(@RequestParam String namespace, public JsonResult queryUserStatus(@RequestParam String namespace,
@RequestParam String phoneNo) { @RequestParam String phoneNo) {
......
...@@ -4,6 +4,10 @@ import cn.qg.qaplatform.service.QueryLoanUserDataService; ...@@ -4,6 +4,10 @@ import cn.qg.qaplatform.service.QueryLoanUserDataService;
import cn.qg.qaplatform.common.JsonResult; import cn.qg.qaplatform.common.JsonResult;
import cn.qg.qaplatform.service.QueryBasicLoanStatusDataService; import cn.qg.qaplatform.service.QueryBasicLoanStatusDataService;
import cn.qg.qaplatform.utils.page.PageResult; import cn.qg.qaplatform.utils.page.PageResult;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
...@@ -13,6 +17,7 @@ import java.util.Map; ...@@ -13,6 +17,7 @@ import java.util.Map;
@CrossOrigin @CrossOrigin
@RestController @RestController
@RequestMapping("query") @RequestMapping("query")
@Api(tags = "捞数据相关接口")
public class QueryLoanUserDataController { public class QueryLoanUserDataController {
@Autowired @Autowired
...@@ -24,6 +29,7 @@ public class QueryLoanUserDataController { ...@@ -24,6 +29,7 @@ public class QueryLoanUserDataController {
/** /**
* @return 获取所有借款用户状态 * @return 获取所有借款用户状态
*/ */
@ApiOperation(value = "获取所有借款状态")
@GetMapping("/getAllStatus") @GetMapping("/getAllStatus")
public JsonResult getLoanUserDataStatus() { public JsonResult getLoanUserDataStatus() {
List<Map<String, Object>> statusList = basicLoanStatusDataService.getAllUserLoanStatus(); List<Map<String, Object>> statusList = basicLoanStatusDataService.getAllUserLoanStatus();
...@@ -33,6 +39,7 @@ public class QueryLoanUserDataController { ...@@ -33,6 +39,7 @@ public class QueryLoanUserDataController {
/** /**
* @return 获取所有环境namespace * @return 获取所有环境namespace
*/ */
@ApiOperation(value = "获取所有环境信息")
@GetMapping("/getAllEnv") @GetMapping("/getAllEnv")
public JsonResult getAllEnvInfo() { public JsonResult getAllEnvInfo() {
List<Map<String, Object>> envList = basicLoanStatusDataService.getAllEnvInfo(); List<Map<String, Object>> envList = basicLoanStatusDataService.getAllEnvInfo();
...@@ -45,6 +52,15 @@ public class QueryLoanUserDataController { ...@@ -45,6 +52,15 @@ public class QueryLoanUserDataController {
* @param pageSize * @param pageSize
* @return 所有借款用户数据 * @return 所有借款用户数据
*/ */
@ApiOperation(value = "捞数据接口")
@ApiImplicitParams({
@ApiImplicitParam(name = "namespace", value="环境,qa、qa2等", required = true),
@ApiImplicitParam(name = "status", value = "借款状态", required = true),
@ApiImplicitParam(name = "channel", value = "渠道id"),
@ApiImplicitParam(name = "fundId", value = "资方id"),
@ApiImplicitParam(name = "pageNum", value = "页码", defaultValue = "1"),
@ApiImplicitParam(name = "pageSize", value = "每页数量", defaultValue = "10")
})
@GetMapping("/loanUser") @GetMapping("/loanUser")
public JsonResult getLoanUserData(@RequestParam(value = "namespace") String namespace, public JsonResult getLoanUserData(@RequestParam(value = "namespace") String namespace,
@RequestParam(value = "status") Integer status, @RequestParam(value = "status") Integer status,
...@@ -61,14 +77,26 @@ public class QueryLoanUserDataController { ...@@ -61,14 +77,26 @@ public class QueryLoanUserDataController {
* @param phone * @param phone
* @return * @return
*/ */
@ApiOperation(value = "查询手机号是否存在于环境中")
@ApiImplicitParams({
@ApiImplicitParam(name = "namespace", value = "环境"),
@ApiImplicitParam(name = "phone", value = "手机号")
})
@GetMapping("/phoneExistence") @GetMapping("/phoneExistence")
public JsonResult checkPhoneExistence(@RequestParam(value = "namespace") String namespace, public JsonResult checkPhoneExistence(@RequestParam(value = "namespace") String namespace,
@RequestParam(value = "phone") String phone) { @RequestParam(value = "phone") String phone) {
return JsonResult.success(basicLoanStatusDataService.queryIfPhoneExist(namespace, phone)); return JsonResult.success(basicLoanStatusDataService.queryIfPhoneExist(namespace, phone));
} }
/**
* todo
* @param namespace
* @param phoneNo
* @return
*/
@GetMapping("/getUserInfoByPhoneNo") @GetMapping("/getUserInfoByPhoneNo")
public JsonResult getUserInfoByPhoneNo(@RequestParam(value = "phoneNo") String phoneNo) { public JsonResult getUserInfoByPhoneNo(@RequestParam(value = "namespace") String namespace,
@RequestParam(value = "phoneNo") String phoneNo) {
return null; return null;
} }
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment