package com.wolfking.jeesite;

import org.spring work.context.annotation.Bean;
import org.spring work.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.ParameterBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.service.Parameter;
import springfox.documentation.spi.DocumentationType;
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 Swagger2 {

    @Bean
    public Docket createRestApi() {
        ParameterBuilder tokenPar = new ParameterBuilder();
        List<Parameter> pars = new ArrayList<Parameter>();
        /*tokenPar.name(\"token\").de ion(\"令牌\")
                .modelRef(new ModelRef(\"string\")).parameterType(\"query\").required(false).build();
        pars.add(tokenPar.build());*/
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo())
                .select()
                .apis(RequestHandlerSelectors. Package(\"com.wolfking.jeesite.modules.sys.restful\"))
                .paths(PathSelectors.any())
                .build().globalOperationParameters(pars)  ;
    }

    @SuppressWarnings(\"deprecation\")
    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                . (\"org测试\")
                .de ion(\"\")
                .termsOfServiceUrl(\"\")
                .contact(\"宋甲贺\")
                .version(\"1.0\")
                .build();
    }

}

/**
 * Copyright &copy; 2012-2016 <a href=\"https://github.com/thinkgem/jeesite\">JeeSite</a> All rights reserved.
 */
package com.wolfking.jeesite.modules.sys.restful;

import com.alibaba.fastjson.JSON ;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import com.wolfking.jeesite.common.utils.StringUtils;
import com.wolfking.jeesite.common.web. Controller;
import com.wolfking.jeesite.modules.sys.entity.AppUser;
import com.wolfking.jeesite.modules.sys.entity.ItdragonResult;
import com.wolfking.jeesite.modules.sys.entity.Office;
import com.wolfking.jeesite.modules.sys.entity.User;
import com.wolfking.jeesite.modules.sys.service.AppOfficeService;
import com.wolfking.jeesite.modules.sys.service.AppUserService;
import com.wolfking.jeesite.modules.sys.service.SsoService;
import com.wolfking.jeesite.modules.sys.service.SystemService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.spring work.beans.factory.annotation.Autowired;
import org.spring work.stereotype.Controller;
import org.spring work.ui.Model;
import org.spring work.web.bind.annotation.ModelAttribute;
import org.spring work.web.bind.annotation.RequestMapping;
import org.spring work.web.bind.annotation.RequestParam;
import org.spring work.web.bind.annotation.ResponseBody;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * 用户Controller
 * @author ThinkGem
 * @version 2013-8-29
 */
@Api(value=\"用户测试Controller\")
@Controller
@RequestMapping(value = \"/user\")
public class UserRestController extends  Controller {

   @Autowired
   private SystemService systemService;
   @Autowired
   private AppOfficeService appOfficeService;
   @Autowired
   private AppUserService appUserService;
   @Autowired
    private SsoService ssoService;
   @ModelAttribute
   public User get(@RequestParam(required=false) String id) {
      if (StringUtils.isNotBlank(id)){
         return systemService.getUser(id);
      }else{
         return new User();
      }
   }
    @ApiOperation(value=\"根据id查询用户\", notes=\"根据id查询用户\" ,httpMethod=\"POST\")
    @ApiImplicitParams({
            @ApiImplicitParam(name=\"id\", value=\"用户id\", dataType = \"String\", required=true, paramType=\"form\")
    })
    @ResponseBody
    @RequestMapping(\"/getUserById\")
   public ItdragonResult getUserById(String id){
        ItdragonResult ir=new ItdragonResult();
        if (StringUtils.isNotBlank(id)){
            ir.setStatus(200);
            ir.setMsg(\"查询成功\");
            ir.setData(systemService.getUser(id));
        }else{
            ir.setStatus(400);
            ir.setMsg(\"查询失败\");
        }
        return ir;
    }
   /**
   * 功能描述:根据手机号查询用户是否存在
   * @param:
   * @return:
   * @auther: 宋甲贺
   * @date:
   */
    @ApiOperation(value=\"根据登录名查询用户是否存在\", notes=\"根据登录名查询用户是否存在\" ,httpMethod=\"POST\")
    @ApiImplicitParams({
            @ApiImplicitParam(name=\"loginName\", value=\"登录名\", dataType = \"String\", required=true, paramType=\"form\")
    })
   @ResponseBody
   @RequestMapping(\"/getUserByLoginname\")
   public ItdragonResult getUserByLoginname(HttpServletRequest request, HttpServletResponse response, Model model){
      String loginname=request.getParameter(\"loginName\");
      User u=systemService.getUserByLoginName(loginname);
      ItdragonResult rv=new ItdragonResult();
      if(u!=null&&u.getId()!=null&&!u.getId().equals(\"\")){
         rv.setStatus(400);
         rv.setMsg(\"用户名已经被占用!请使用其他用户名!\");
      }else{
         rv.setStatus(200);
         rv.setMsg(\"用户名可以使用!\");
      }
      response.addHeader(\"Access-Control-Allow-Origin\", \"*\");
      response.addHeader(\"Access-Control-Allow-Headers\", \"Origin, X-Requested-With, Content-Type, Accept\");

      return rv;
   }
   /*@ResponseBody
   @RequestMapping(value = {\"listData\"})
   public Page<User> listData(User user, HttpServletRequest request, HttpServletResponse response, Model model) {
      Page<User> page = systemService.findUser(new Page<User>(request, response), user);
      return page;
   }*/
    @ApiOperation(value=\"更新用户信息\", notes=\"更新用户\" ,httpMethod=\"POST\")
    @ApiImplicitParams({
            @ApiImplicitParam(name=\"loginName\", value=\"登录名\", dataType = \"String\", required=true, paramType=\"form\"),
            @ApiImplicitParam(name=\"password\", value=\"密码\", dataType = \"String\", required=true, paramType=\"form\")
    })
   @RequestMapping(\"/update\")
   @ResponseBody
   public ItdragonResult update(HttpServletRequest request, HttpServletResponse response) {
      //获得json 解析出User对象
      ItdragonResult rv=new ItdragonResult();
         String username=request.getParameter(\"loginName\");
         String password= request.getParameter(\"password\");
         User user = new User();
         user.setLoginName(username);
         user.setName(username);
         //user.setUpdatedDate(new Date());
         user.setPassword(password);
         systemService.saveUser(user);

      rv.setStatus(200);
      rv.setMsg(\"更新成功\");
      return rv;
   }
   /**
    * 功能描述:添加个人用户 ,注册
    * @param:
    * @return:
    * @auther: 宋甲贺
    * @date:
    */
   @ApiOperation(value=\"新增个人用户信息\", notes=\"新增个人用户\" ,httpMethod=\"POST\")
   @ApiImplicitParams({
         @ApiImplicitParam(name=\"loginName\", value=\"登录名\", dataType = \"String\", required=true, paramType=\"form\"),
         @ApiImplicitParam(name=\"password\", value=\"密码\", dataType = \"String\", required=true, paramType=\"form\")
   })
   @RequestMapping(\"/insert\")
   @ResponseBody
   public ItdragonResult insert(HttpServletRequest request, HttpServletResponse response) {
      ItdragonResult rv=new ItdragonResult();
      //获得json 解析出User对象


      String username=request.getParameter(\"loginName\");
      String password= request.getParameter(\"password\");
      User user = new User();
      user.setLoginName(username);
      user.setName(username);
      user.setMobile(username);
      //user.setUpdatedDate(new Date());
      user.setPassword(password);
      systemService.saveUser(user);
      rv.setStatus(200);
      rv.setMsg(\"保存成功\");
      response.addHeader(\"Access-Control-Allow-Origin\", \"*\");
      response.addHeader(\"Access-Control-Allow-Headers\", \"Origin, X-Requested-With, Content-Type, Accept\");
      return rv;
   }
   /**
    * 功能描述:添加企业用户 ,
    * @param:
    * @return:
    * @auther: 宋甲贺
    * @date:
    */
   @ApiOperation(value=\"新增企业用户信息\", notes=\"新增企业用户\" ,httpMethod=\"POST\")
   @ApiImplicitParams({
         @ApiImplicitParam(name=\"eid\", value=\"企业id\", dataType = \"String\", required=true, paramType=\"form\"),
         @ApiImplicitParam(name=\"maccountid\", value=\"主账户id\", dataType = \"String\", required=false, paramType=\"form\"),
         @ApiImplicitParam(name=\"nickname\", value=\"昵称账户\", dataType = \"String\", required=false, paramType=\"form\"),
         @ApiImplicitParam(name=\"password\", value=\"密码\", dataType = \"String\", required=true, paramType=\"form\")
   })
   @RequestMapping(\"/insertEuser\")
   @ResponseBody
   public ItdragonResult insertEuser(HttpServletRequest request, HttpServletResponse response) {
      ItdragonResult rv=new ItdragonResult();
      //获得json 解析出User对象
      String eid=request.getParameter(\"eid\");
      if(StringUtils.isEmpty(eid)){
         rv.setStatus(400);
         rv.setMsg(\"企业id不能为空\");
         return rv;
      }
      String password= request.getParameter(\"password\");
      if(StringUtils.isEmpty(password)){
         rv.setStatus(400);
         rv.setMsg(\"密码不能为空\");
         return rv;
      }
      User user = new User();
      //user.setUpdatedDate(new Date());
      user.setPassword(password);
      Office company=new Office();
      company.setId(eid);
      user.setCompany(company);
      String maccountid=request.getParameter(\"maccountid\");
      if(!StringUtils.isEmpty(maccountid)) {
         User maccount = new User();
         maccount.setId(maccountid);
         user.setMaccount(maccount);
      }
      String nickname=request.getParameter(\"nickname\");
      if(!StringUtils.isEmpty(nickname)){
         user.setNickname(nickname);
      }
      long euno=systemService.getEUno();
      user.setLoginName(euno+\"\");
      user.setNo(euno+\"\");
      System.out.println(euno);
      systemService.saveUser(user);
      rv.setStatus(200);
      rv.setMsg(\"保存成功\");
      response.addHeader(\"Access-Control-Allow-Origin\", \"*\");
      response.addHeader(\"Access-Control-Allow-Headers\", \"Origin, X-Requested-With, Content-Type, Accept\");
      return rv;
   }
    @ApiOperation(value=\"将用户注入sso\", notes=\"将用户注入sso\" ,httpMethod=\"POST\")
    @ApiImplicitParams({
            @ApiImplicitParam(name=\"id\", value=\"用户id\", dataType = \"String\", required=true, paramType=\"form\")
    })
    @RequestMapping(\"/active\")
    @ResponseBody
    public ItdragonResult active(HttpServletRequest request, HttpServletResponse response) {
        ItdragonResult rv=new ItdragonResult();
        String id=request.getParameter(\"id\");
        if(StringUtils.isEmpty(id)){
            rv.setStatus(400);
            rv.setMsg(\"id不能为空\");
            return rv;
        }
        User user=systemService.getUser(id);
        String rejson=ssoService.login();
        JSON  json  = JSON .parse (rejson);
        JSON  son =json .getJSON (\"data\");
        String token=son .getString(\"token\");
        ssoService.setUser(user,token);
        rv.setStatus(200);
        rv.setMsg(\"保存成功\");
        response.addHeader(\"Access-Control-Allow-Origin\", \"*\");
        response.addHeader(\"Access-Control-Allow-Headers\", \"Origin, X-Requested-With, Content-Type, Accept\");
        return rv;
    }
    @ApiOperation(value=\"通过登录名和应用名获取角色\", notes=\"获取角色\" ,httpMethod=\"POST\")
    @ApiImplicitParams({
            @ApiImplicitParam(name=\"loginName\", value=\"登录名\", dataType = \"String\", required=true, paramType=\"form\"),
            @ApiImplicitParam(name=\"appname\", value=\"应用名\", dataType = \"String\", required=true, paramType=\"form\")
    })
   @RequestMapping(\"/getRoleByLoginName\")
   @ResponseBody
   public   getRoleByUsername(HttpServletRequest request, HttpServletResponse response) {
      //获得json 解析出User对象
      String username =request.getParameter(\"loginName\");
      String appname=request.getParameter(\"appname\");
      //根据appname和username查找角色
      AppUser appuser=appUserService.findRoleByappnameandusername(username,appname);
      Map<String, > appusermap=new HashMap<String, >();
      appusermap.put(\"roleid\", appuser.getRoleid());
      String roleid=appuser.getRoleid();
      String rolename=\"\";
      if(roleid.equals(\"1\")) {
         rolename=\"管理员\";
      }else if(roleid.equals(\"2\")) {
         rolename=\"专家\";
      }else if(roleid.equals(\"3\")) {
         rolename=\"工程师\";
      }else if(roleid.equals(\"4\")) {
         rolename=\"普通用户\";
      }
      appusermap.put(\"rolename\", rolename);
      String userid=appuser.getUserid();
      User user=this.get(userid);
      appusermap.put(\"companyid\", user.getCompany().getId());
      System.out.print(username+\"..............ssssssssssssss\");
        pjson = JSON .toJSON(appusermap);//将java对象转换为json对象
      String str = pjson.toString();//将json对象转换为字符串
      System.out.println(str);
      return str;
   }

   /**
    * 验证登录名是否有效
    * @param loginName
    * @return
    */
    @ApiOperation(value=\"查询登录名是否被占用\", notes=\"查询登录名\" ,httpMethod=\"POST\")
    @ApiImplicitParams({
            @ApiImplicitParam(name=\"loginName\", value=\"登录名\", dataType = \"String\", required=true, paramType=\"form\")
    })
   @ResponseBody
   @RequestMapping(value = \"checkLoginName\")
   public ItdragonResult checkLoginName(String loginName) {
        ItdragonResult ir=new ItdragonResult();
      if (loginName !=null && systemService.getUserByLoginName(loginName) == null) {
         ir.setMsg(\"登录名可以使用\");
         ir.setStatus(200);
      }else{
            ir.setMsg(\"登录名已被使用\");
            ir.setStatus(400);
        }
      return ir;
   }
   /**
   * 功能描述:根据企业id获取旗下的用户
   * @param:
   * @return:
   * @auther: 宋甲贺
   * @date:
   */
    @ApiOperation(value=\"根据企业id获取企业的用户\", notes=\"根据企业id获取企业的用户\" ,httpMethod=\"POST\")
    @ApiImplicitParams({
            @ApiImplicitParam(name=\"officeId\", value=\"企业id\", dataType = \"String\", required=true, paramType=\"form\")
    })
   @ResponseBody
   @RequestMapping(value = \"treeData\")
   public List<Map<String,  >> treeData(@RequestParam(required=false) String officeId, HttpServletResponse response) {
      List<Map<String,  >> mapList = Lists.newArrayList();
      List<User> list = systemService.findUserByOfficeId(officeId);
      for (int i=0; i<list.size(); i++){
         User e = list.get(i);
         Map<String,  > map = Maps.newHashMap();
         map.put(\"id\", \"u_\"+e.getId());
         map.put(\"pId\", officeId);
         map.put(\"name\", StringUtils.replace(e.getName(), \" \", \"\"));
         mapList.add(map);
      }
      return mapList;
   }
}

pom. :

<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger2</artifactId>
    <version>2.2.2</version>
</dependency>
<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger-ui</artifactId>
    <version>2.2.2</version>
</dependency>

访问路径:

http://localhost:9091/swagger-ui.html

收藏 打印