package com.wolfking.jeesite; import org.springframework.context.annotation.Bean; import org.springframework.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").description("令牌") .modelRef(new ModelRef("string")).parameterType("query").required(false).build(); pars.add(tokenPar.build());*/ return new Docket(DocumentationType.SWAGGER_2) .apiInfo(apiInfo()) .select() .apis(RequestHandlerSelectors.basePackage("com.wolfking.jeesite.modules.sys.restful")) .paths(PathSelectors.any()) .build().globalOperationParameters(pars) ; } @SuppressWarnings("deprecation") private ApiInfo apiInfo() { return new ApiInfoBuilder() .title("org测试") .description("") .termsOfServiceUrl("") .contact("宋甲贺") .version("1.0") .build(); } }
/** * Copyright © 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.JSONObject; 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.BaseController; 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.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.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 BaseController { @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(); JSONObject jsonObject = JSONObject.parseObject(rejson); JSONObject sonObject=jsonObject.getJSONObject("data"); String token=sonObject.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 Object 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,Object> appusermap=new HashMap<String,Object>(); 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"); Object pjson = JSONObject.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, Object>> treeData(@RequestParam(required=false) String officeId, HttpServletResponse response) { List<Map<String, Object>> mapList = Lists.newArrayList(); List<User> list = systemService.findUserByOfficeId(officeId); for (int i=0; i<list.size(); i++){ User e = list.get(i); Map<String, Object> 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.xml:
<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>
访问路径: