UserController.java 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158
  1. package com.hssx.cloudmodel.controller;
  2. import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
  3. import com.hssx.cloudmodel.entity.Company;
  4. import com.hssx.cloudmodel.entity.User;
  5. import com.hssx.cloudmodel.entity.vo.UserVO;
  6. import com.hssx.cloudmodel.service.CompanyService;
  7. import com.hssx.cloudmodel.service.ProjectService;
  8. import com.hssx.cloudmodel.service.UserService;
  9. import com.hssx.cloudmodel.util.HttpRespMsg;
  10. import com.hssx.cloudmodel.util.MD5Util;
  11. import com.hssx.cloudmodel.util.PageUtil;
  12. import io.swagger.annotations.ApiOperation;
  13. import lombok.extern.slf4j.Slf4j;
  14. import org.springframework.beans.factory.annotation.Autowired;
  15. import org.springframework.web.bind.annotation.RequestMapping;
  16. import org.springframework.web.bind.annotation.RequestParam;
  17. import org.springframework.web.bind.annotation.ResponseBody;
  18. import org.springframework.web.bind.annotation.RestController;
  19. import javax.servlet.http.HttpServletRequest;
  20. import javax.servlet.http.HttpServletResponse;
  21. import java.util.List;
  22. /**
  23. * @author 吴涛涛
  24. * @since 2019-07-26
  25. */
  26. @RestController
  27. @RequestMapping("/user")
  28. @Slf4j
  29. public class UserController {
  30. @Autowired
  31. private UserService userService;
  32. @Autowired
  33. private CompanyService companyService;
  34. @Autowired
  35. private ProjectService projectService;
  36. /**
  37. *
  38. * @param userVO
  39. * 参数:account 账号 password 密码
  40. * @return
  41. */
  42. @ApiOperation(value = "普通用户登录", notes = "登录方法")
  43. @RequestMapping("/login")
  44. @ResponseBody
  45. public HttpRespMsg sysLogin(UserVO userVO, HttpServletRequest request,
  46. HttpServletResponse response) {
  47. log.info("user"+userVO);
  48. HttpRespMsg msg = userService.login(userVO,request);
  49. return msg;
  50. }
  51. /**
  52. * 添加/修改用户
  53. *
  54. * 参数:account 账号 username 用户名(账号使用者的名字)parentId 创建此用户的创建者id
  55. * password 密码 ,mobile 手机号 ,roleName 角色名称, companyId 所属公司id,projectId 项目id
  56. * flag 0-添加,1-修改
  57. * 注意:创建公司管理员的时候 ,addType 0
  58. * @return
  59. */
  60. @ApiOperation("添加/修改用户")
  61. @RequestMapping("/add")
  62. @ResponseBody
  63. public HttpRespMsg addAndUpdateUser(User user, HttpServletRequest request, Integer flag,@RequestParam(required = false) Integer projectId,
  64. HttpServletResponse response,@RequestParam(required = false)Integer addType) {
  65. HttpRespMsg msg = userService.addAndUpdateUser(user, flag,addType,projectId);
  66. return msg;
  67. }
  68. /**
  69. * 添加/修改用户
  70. * @param user
  71. * 参数:id 用户id account 账号 password 密码
  72. * @return
  73. */
  74. @ApiOperation("修改用户密码")
  75. @RequestMapping("/updatePassword")
  76. @ResponseBody
  77. public HttpRespMsg updatePassword(User user, HttpServletRequest request,
  78. HttpServletResponse response) {
  79. HttpRespMsg msg = new HttpRespMsg();
  80. user.setPassword(MD5Util.getPassword(user.getPassword()));
  81. msg.data = userService.updateById(user);
  82. return msg;
  83. }
  84. /**
  85. * 删除角色
  86. * 参数 id 角色id
  87. * @return
  88. */
  89. @ApiOperation("删除用户")
  90. @RequestMapping("/delete")
  91. @ResponseBody
  92. public HttpRespMsg deleteUser(User user, HttpServletRequest request,
  93. HttpServletResponse response) {
  94. HttpRespMsg msg = new HttpRespMsg();
  95. msg = userService.deleteUser(user);
  96. return msg;
  97. }
  98. /**
  99. *用户列表
  100. * 参数:pageNum 当前页码,pageSize 每页条数 keyName 关键字查询
  101. * account 用户账号 token 用户凭证 roleType 角色类型 companyId 公司id(默认-1)
  102. * flag 账号或者名字筛选 (默认0)按名字筛选,1-按账号筛选
  103. * @return
  104. */
  105. @ApiOperation("用户列表")
  106. @RequestMapping("/list")
  107. @ResponseBody
  108. public HttpRespMsg list(@RequestParam(required = false) Integer roleType,@RequestParam(required = false) Integer companyId, HttpServletRequest request,String token,
  109. HttpServletResponse response, PageUtil page,@RequestParam(required = false)String keyName,@RequestParam Integer flag) {
  110. HttpRespMsg msg = new HttpRespMsg();
  111. User newUser = userService.getOne(new QueryWrapper<User>().eq("head_imgurl", token));
  112. if(newUser != null){
  113. msg = userService.pageList(page,companyId,flag,keyName,newUser,roleType);
  114. }else{
  115. msg.setError("当前用户不存,或涉及到权限问题,请重新登录");
  116. }
  117. return msg;
  118. }
  119. /**
  120. * 给项目分配参与人的时候根据公司id获取公司下的人员
  121. * 参数:companyIds 公司ids ,id当前操作人的id,projectId 项目id
  122. *
  123. * @return
  124. */
  125. @ApiOperation("根据公司id获取公司下的人员")
  126. @RequestMapping("/getUserListByCompanyIds")
  127. @ResponseBody
  128. public HttpRespMsg getUserListByCompanyIds(String companyIds,Integer id,@RequestParam(required = false) Integer projectId){
  129. System.out.println("companyIds"+companyIds);
  130. HttpRespMsg msg = projectService.getUserListByCompanyIds(companyIds,id,projectId);
  131. return msg;
  132. }
  133. /**
  134. * 获取用户列表
  135. * 参数: companyId 公司id,subordinateType 所属方 0-供应商 1-客户
  136. * 以上两参数可以都不传,或者选择传其中一个
  137. * @return
  138. */
  139. @ApiOperation("获取用户列表")
  140. @RequestMapping("/getUserList")
  141. @ResponseBody
  142. public HttpRespMsg getUserByCompanyIdOrSubordinateType(User user) {
  143. HttpRespMsg msg = projectService.getUserByCompanyIdOrSubordinateType(user);
  144. return msg;
  145. }
  146. }