瀏覽代碼

Merge remote-tracking branch 'origin/master'

JiangPengLi 2 月之前
父節點
當前提交
b4ff245d63

+ 17 - 1
projects-service/pom.xml

@@ -5,7 +5,23 @@
   <version>1.0</version>
 
   <dependencies>
-
+	  <!-- swagger2 begin -->
+	  <dependency>
+		  <groupId>com.mangofactory</groupId>
+		  <artifactId>swagger-springmvc</artifactId>
+		  <version>1.0.2</version>
+	  </dependency>
+	  <dependency>
+		  <groupId>io.springfox</groupId>
+		  <artifactId>springfox-swagger2</artifactId>
+		  <version>2.6.1</version>
+	  </dependency>
+	  <dependency>
+		  <groupId>io.springfox</groupId>
+		  <artifactId>springfox-swagger-ui</artifactId>
+		  <version>2.6.1</version>
+	  </dependency>
+	  <!-- swagger2 end -->
   		<dependency>
 			<groupId>com.rtrh.core</groupId>
 			<artifactId>rtrh-core</artifactId>

+ 2 - 0
projects-service/src/main/java/com/rtrh/projects/outapi/vo/TodoTypeVO.java

@@ -1,5 +1,6 @@
 package com.rtrh.projects.outapi.vo;
 
+import io.swagger.annotations.ApiModelProperty;
 import lombok.Getter;
 import lombok.Setter;
 
@@ -7,5 +8,6 @@ import lombok.Setter;
 @Getter
 public class TodoTypeVO {
 
+	@ApiModelProperty("类型")
 	private String type;
 }

+ 59 - 0
projects/src/main/java/com/rtrh/projects/config/Swagger2Config.java

@@ -0,0 +1,59 @@
+package com.rtrh.projects.config;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.web.servlet.config.annotation.EnableWebMvc;
+import org.springframework.web.servlet.mvc.method.RequestMappingInfoHandlerMapping;
+import org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping;
+import springfox.documentation.builders.ApiInfoBuilder;
+import springfox.documentation.builders.PathSelectors;
+import springfox.documentation.builders.RequestHandlerSelectors;
+import springfox.documentation.service.ApiInfo;
+import springfox.documentation.service.Contact;
+import springfox.documentation.spi.DocumentationType;
+import springfox.documentation.spring.web.plugins.Docket;
+import springfox.documentation.swagger2.annotations.EnableSwagger2;
+
+@Configuration
+@EnableSwagger2
+@EnableWebMvc
+public class Swagger2Config {
+    /**
+     * 对所有api扫描配置:controller路径
+     */
+    private static final String BASE_PACKAGE = "com.rtrh.projects.outapi.controller";
+    /**
+     * Swagger2的配置文件:内容、扫描包等
+     *
+     * @return the docket
+     */
+    @Bean
+    public Docket createApi() {
+        return new Docket(DocumentationType.SWAGGER_2)
+                .apiInfo(apiInfo())
+                .select()
+                .apis(RequestHandlerSelectors.basePackage(BASE_PACKAGE))
+                .paths(PathSelectors.any())
+                .build();
+    }
+    @Bean
+    public RequestMappingInfoHandlerMapping requestMapping() {
+        return new RequestMappingHandlerMapping();
+    }
+    /**
+     * 构建api文档的详细方法
+     *
+     * @return ApiInfo
+     */
+    private ApiInfo apiInfo() {
+        return new ApiInfoBuilder()
+                //页面标题
+                .title("工信局APP相关Api")
+                //创建人
+                .contact(new Contact("zwm", "/projects_g/swagger-ui.html", "email"))
+                //版本号
+                .version("1.0.0")
+                //描述
+                .description("API 描述")
+                .build();
+    }
+}

+ 6 - 0
projects/src/main/java/com/rtrh/projects/outapi/controller/FileApiController.java

@@ -16,6 +16,8 @@ import javax.imageio.ImageWriter;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.HttpHeaders;
 import org.springframework.web.bind.annotation.PathVariable;
@@ -44,6 +46,7 @@ import net.coobird.thumbnailator.Thumbnails;
 
 @RestController
 @RequestMapping("outApi/file")
+@Api( description = "文件操作-API")
 public class FileApiController extends BaseOutApiController {
 
     @Autowired
@@ -52,6 +55,7 @@ public class FileApiController extends BaseOutApiController {
 
     @TokenAuthenticate(AuthenticateType.NONE)
     @PostMapping("upload")
+    @ApiOperation(value="文件上传")
     public JsonResult upload(MultipartHttpServletRequest arg0, HttpServletResponse arg1){
         JsonResult result = new JsonResult();
         try {
@@ -104,6 +108,7 @@ public class FileApiController extends BaseOutApiController {
      * @throws Exception
      */
     @RequestMapping(value = "/download/{fileId}", method = RequestMethod.GET)
+    @ApiOperation(value="文件下载")
     public ModelAndView downLoadHandleRequest(@PathVariable("fileId") String fileId, HttpServletRequest arg0,
                                               HttpServletResponse arg1) throws Exception {
         ByteArrayInputStream is = null;
@@ -147,6 +152,7 @@ public class FileApiController extends BaseOutApiController {
      * @throws Exception
      */
     @RequestMapping(value = "upload/{fileId}/showfile", method = RequestMethod.GET)
+    @ApiOperation(value="文件查看")
     public ModelAndView showFile(@PathVariable("fileId") String fileId, Integer width, Integer height,
                                  HttpServletRequest arg0, HttpServletResponse arg1) {
 

+ 11 - 0
projects/src/main/java/com/rtrh/projects/outapi/controller/TodoApiController.java

@@ -7,6 +7,8 @@ import java.util.concurrent.CopyOnWriteArrayList;
 
 import com.rtrh.projects.web.log.Log;
 
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.transaction.annotation.Transactional;
@@ -47,6 +49,7 @@ import com.rtrh.projects.vo.subject.SubPassVO;
  */
 @RestController
 @RequestMapping("/outApi/todo")
+@Api( description = "待办-API")
 public class TodoApiController extends BaseOutApiController {
 
 	@Autowired
@@ -75,6 +78,7 @@ public class TodoApiController extends BaseOutApiController {
 	 */
 	@TokenAuthenticate
 	@PostMapping("list")
+	@ApiOperation(value="待办列表")
 	public JsonResult list(@RequestBody TodoTypeVO vo) {
 		JsonResult result = new JsonResult();
 		try {
@@ -100,6 +104,7 @@ public class TodoApiController extends BaseOutApiController {
 	 */
 	@TokenAuthenticate
 	@PostMapping("getPreNew")
+	@ApiOperation(value="获取项目前期项目信息/项目审核")
 	public JsonResult getPreNew(@RequestBody SubIdVO vo) {
 		JsonResult result = new JsonResult();
 		LoginUserVO userVO = jwtUtils.getUserInfo(getToken());
@@ -147,6 +152,7 @@ public class TodoApiController extends BaseOutApiController {
 	@TokenAuthenticate
 	@PostMapping("passPreNew")
 //	@Log("审核通过项目前期手续")
+	@ApiOperation(value="项目审核")
 	public JsonResult passPreNew(@RequestBody SubPassVO passVO) {
 		JsonResult result = new JsonResult();
 		try {
@@ -171,6 +177,7 @@ public class TodoApiController extends BaseOutApiController {
 	@TokenAuthenticate
 	@PostMapping("passOpen")
 //	@Log("审核通过开工申报")
+	@ApiOperation(value="开工审核-通过")
 	public JsonResult passOpen(@RequestBody StartVerifyVO vo) {
 		JsonResult result = new JsonResult();
 		try {
@@ -191,6 +198,7 @@ public class TodoApiController extends BaseOutApiController {
 	@TokenAuthenticate
 	@PostMapping("backOpen")
 //	@Log("退回开工申报")
+	@ApiOperation(value="开工审核-退回")
 	public JsonResult backOpen(@RequestBody StartVerifyVO vo) {
 		JsonResult result = new JsonResult();
 		try {
@@ -211,6 +219,7 @@ public class TodoApiController extends BaseOutApiController {
 
 	@TokenAuthenticate
 	@PostMapping("getOpinion")
+	@ApiOperation(value="获取竣工申报项目信息")
 	public JsonResult getOpinion(@RequestBody CompleteOpionionQueryVO queryVO) {
 		JsonResult result = new JsonResult();
 		try {
@@ -243,6 +252,7 @@ public class TodoApiController extends BaseOutApiController {
 	@TokenAuthenticate
 	@PostMapping("approvalAgree")
 //	@Log("审核通过开工申报")
+	@ApiOperation(value="竣工审核-通过")
 	public JsonResult approvalAgree(@RequestBody SubCompletedVo vo) {
 		JsonResult result = new JsonResult();
 		try {
@@ -264,6 +274,7 @@ public class TodoApiController extends BaseOutApiController {
 	@TokenAuthenticate
 	@PostMapping("approvalBack")
 //	@Log("退回开工申报")
+	@ApiOperation(value="竣工审核-退回")
 	public JsonResult approvalBack(@RequestBody SubCompletedVo vo) {
 		JsonResult result = new JsonResult();
 		try {

+ 9 - 0
projects/src/main/java/com/rtrh/projects/outapi/controller/projects/ProjectsApiController.java

@@ -22,6 +22,8 @@ import com.rtrh.projects.modules.system.service.JUnitService;
 import com.rtrh.projects.modules.utils.DateUtils;
 import com.rtrh.projects.vo.statics.NewStaticsQueryVO;
 import com.rtrh.projects.vo.subject.SubinfoPreQueryVo;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
@@ -71,6 +73,7 @@ import cn.hutool.core.date.DateUtil;
  */
 @RestController
 @RequestMapping("outApi/projects")
+@Api( description = "项目相关-API")
 public class ProjectsApiController extends BaseOutApiController {
 
     @Autowired
@@ -115,6 +118,7 @@ public class ProjectsApiController extends BaseOutApiController {
      */
     @TokenAuthenticate(AuthenticateType.TOKEN)
     @PostMapping("projectInfo")
+    @ApiOperation(value="项目信息-详情")
     public JsonResult getProjectInfo(@RequestBody SubIdVO subIdVO) {
         JsonResult result = new JsonResult();
         try {
@@ -170,6 +174,7 @@ public class ProjectsApiController extends BaseOutApiController {
      */
     @TokenAuthenticate
     @PostMapping("getList")
+    @ApiOperation(value="项目列表")
     public JsonResult pageQuery(@RequestBody Page page, @RequestBody BeginDateVO dateVO, @RequestBody SubInfoQueryTzVO queryVO) {
         JsonResult result = new JsonResult();
         try {
@@ -298,6 +303,7 @@ public class ProjectsApiController extends BaseOutApiController {
      */
     @TokenAuthenticate
     @PostMapping("getListBl")
+    @ApiOperation(value="包联项目")
     public JsonResult pageQueryBl(Page page, BeginDateVO dateVO, @RequestBody SubInfoQueryTzVO queryVO) {
         JsonResult result = new JsonResult();
         try {
@@ -1279,6 +1285,7 @@ public class ProjectsApiController extends BaseOutApiController {
      */
     @PostMapping("major")
     @TokenAuthenticate
+    @ApiOperation(value="重点项目台账")
     public JsonResult queryMajor(@RequestBody Page page, @RequestBody SubInfoQueryTzVO queryVO) {
         JsonResult result = new JsonResult();
         try {
@@ -1332,6 +1339,7 @@ public class ProjectsApiController extends BaseOutApiController {
      */
     @PostMapping("beginRateMajor")
     @TokenAuthenticate
+    @ApiOperation(value="开工率")
     public Message beginRateMajor(@RequestBody SubInfoQueryTzVO queryVO) {
         Message message = new Message();
         //queryVO.setMonth(null);
@@ -1381,6 +1389,7 @@ public class ProjectsApiController extends BaseOutApiController {
      */
     @TokenAuthenticate
     @PostMapping(value = "/pre/query")
+    @ApiOperation(value="项目前期按部门查询")
     public JsonResult pageQueryRreDepartment(@RequestBody Page page, @RequestBody SubinfoPreQueryVo queryVO) {
         JsonResult result = new JsonResult();
         try {

+ 6 - 0
projects/src/main/java/com/rtrh/projects/outapi/controller/projects/ProjectsConcernApiController.java

@@ -5,6 +5,8 @@ import java.util.Map;
 import java.util.Objects;
 
 import com.rtrh.projects.web.log.Log;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
@@ -34,6 +36,7 @@ import com.rtrh.projects.vo.SubIdVO;
  */
 @RestController
 @RequestMapping("/outApi/concern")
+@Api( description = "项目关注-API")
 public class ProjectsConcernApiController extends BaseOutApiController {
 
 	@Autowired
@@ -51,6 +54,7 @@ public class ProjectsConcernApiController extends BaseOutApiController {
 	@TokenAuthenticate
 	@PostMapping("add")
 //	@Log("设置项目关注")
+	@ApiOperation(value="设置项目关注")
 	public JsonResult add(@RequestBody SubIdVO subIdVO) {
 		JsonResult result = new JsonResult();
 		try {
@@ -70,6 +74,7 @@ public class ProjectsConcernApiController extends BaseOutApiController {
 	@TokenAuthenticate
 	@PostMapping("cancel")
 //	@Log("取消项目关注")
+	@ApiOperation(value="取消项目关注")
 	public JsonResult cancel(@RequestBody SubIdVO subIdVO) {
 		JsonResult result = new JsonResult();
 		try {
@@ -91,6 +96,7 @@ public class ProjectsConcernApiController extends BaseOutApiController {
 	 */
 	@TokenAuthenticate
 	@PostMapping("page")
+	@ApiOperation(value="查询关注项目")
 	public JsonResult pageList(@RequestBody Page page, @RequestBody BeginDateVO dateVO, @RequestBody SubInfoQueryTzVO queryVO) {
 		JsonResult result = new JsonResult();
 		try {

+ 5 - 0
projects/src/main/resources/spring-mvc.xml

@@ -6,6 +6,11 @@
 	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
 	http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd
 	http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd">
+	<context:component-scan base-package="com.rtrh.projects.outapi.controller" />
+
+	<!-- 引入swagger相关 -->
+	<mvc:resources mapping="swagger-ui.html" location="classpath:/META-INF/resources/" />
+	<mvc:resources mapping="/webjars/**" location="classpath:/META-INF/resources/webjars/" />
 
   	<context:component-scan base-package="com.rtrh.core.plugins.**.controller">
  		<context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/>