SysUserController.java 9.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280
  1. package com.ydtech.modules.admin.controller;
  2. import com.ydtech.constants.SysConstants;
  3. import com.ydtech.core.page.BaseController;
  4. import com.ydtech.core.page.HttpResult;
  5. import com.ydtech.core.page.PageRequest;
  6. import com.ydtech.core.page.PageResult;
  7. import com.ydtech.exception.SystemException;
  8. import com.ydtech.modules.admin.model.SysUser;
  9. import com.ydtech.modules.admin.model.SysUserRole;
  10. import com.ydtech.modules.admin.service.SysUserRoleService;
  11. import com.ydtech.modules.admin.service.SysUserService;
  12. import com.ydtech.modules.admin.vo.SysUserVO;
  13. import com.ydtech.security.utils.PasswordUtils;
  14. import org.apache.commons.codec.language.bm.Lang;
  15. import org.springframework.beans.factory.annotation.Autowired;
  16. import org.springframework.security.access.prepost.PreAuthorize;
  17. import org.springframework.util.StringUtils;
  18. import org.springframework.web.bind.annotation.*;
  19. import java.util.ArrayList;
  20. import java.util.Date;
  21. import java.util.List;
  22. /**
  23. * 用户控制器
  24. *
  25. * @author Yasepix
  26. * @date Oct 29, 2018
  27. */
  28. @RestController
  29. @RequestMapping("user")
  30. public class SysUserController extends BaseController {
  31. @Autowired
  32. private SysUserService sysUserService;
  33. @Autowired
  34. private SysUserRoleService sysUserRoleService;
  35. // @PreAuthorize("hasAuthority('sys:user:add') AND hasAuthority('sys:user:edit')")
  36. // @PostMapping(value="/save")
  37. // public HttpResult save(@RequestBody Map<String, Object> models) {
  38. // SysUser user = null;
  39. // try {
  40. // user = JsonXMLUtils.map2obj(models,SysUser.class);
  41. // EsmUserInternal esmUserInternal = JsonXMLUtils.map2obj(models,EsmUserInternal.class);
  42. // if(esmUserInternal.getId() != null){
  43. // esmUserInternalDaoxx.updateSelective(esmUserInternal);
  44. // }else {
  45. // esmUserInternalDaoxx.insertSelective(esmUserInternal);
  46. // }
  47. // } catch (Exception e) {
  48. // e.printStackTrace();
  49. // }
  50. ////   Address address=JsonXMLUtils.map2obj((Map<String, Object>)models.get("address"),Address.class);
  51. // return HttpResult.ok(sysUserService.save(user));
  52. //}
  53. // @PreAuthorize("hasAuthority('sys:user:add') AND hasAuthority('sys:user:edit')")
  54. // @PostMapping(value="/save")
  55. // public HttpResult save(@RequestBody SysUser record) {
  56. // SysUser user = sysUserService.findById(record.getId());
  57. // if(user != null) {
  58. // if(SysConstants.ADMIN.equalsIgnoreCase(user.getName())) {
  59. // return HttpResult.error("超级管理员不允许修改!");
  60. // }
  61. // }
  62. // if(record.getPassword() != null) {
  63. // String salt = PasswordUtils.getSalt();
  64. // if(user == null) {
  65. // // 新增用户
  66. // if(sysUserService.findByName(record.getName()) != null) {
  67. // return HttpResult.error("用户名已存在!");
  68. // }
  69. // String password = PasswordUtils.encode(record.getPassword(), salt);
  70. // record.setSalt(salt);
  71. // record.setPassword(password);
  72. // } else {
  73. // // 修改用户, 且修改了密码
  74. // if(!record.getPassword().equals(user.getPassword())) {
  75. // String password = PasswordUtils.encode(record.getPassword(), salt);
  76. // record.setSalt(salt);
  77. // record.setPassword(password);
  78. // }
  79. // }
  80. // }
  81. // return HttpResult.ok(sysUserService.save(record));
  82. // }
  83. @PreAuthorize("hasAuthority('sys:user:delete')")
  84. @PostMapping(value = "/deleteFlag")
  85. public HttpResult deleteFlag(@RequestBody List<SysUser> records) {
  86. for (SysUser record : records) {
  87. SysUser sysUser = sysUserService.selectByPk(record.getId());
  88. if (sysUser != null && SysConstants.ADMIN.equalsIgnoreCase(sysUser.getName())) {
  89. return HttpResult.error("超级管理员不允许删除!");
  90. }
  91. }
  92. return HttpResult.ok(sysUserService.deleteFlag(records));
  93. }
  94. // @PreAuthorize("hasAuthority('sys:user:view')")
  95. @GetMapping(value = "/findByName")
  96. public HttpResult findByUserName(@RequestParam String name) {
  97. return HttpResult.ok(sysUserService.selectById(name));
  98. }
  99. // @PreAuthorize("hasAuthority('sys:user:view')")
  100. @GetMapping(value = "/findPermissions")
  101. public HttpResult findPermissions(@RequestParam String name) {
  102. SysUser sysUser = new SysUser();
  103. sysUser.setId(name);
  104. return HttpResult.ok(sysUserService.findPermissions(sysUser));
  105. }
  106. @PreAuthorize("hasAuthority('sys:user:view')")
  107. @GetMapping(value = "/findUserRoles")
  108. public HttpResult findUserRoles(@RequestParam Long userId) {
  109. return HttpResult.ok(sysUserService.findUserRoles(userId));
  110. }
  111. /**
  112. * 用户角色分页查询
  113. *
  114. * @param pageRequest
  115. * @return
  116. */
  117. @PostMapping(value = "/queryPage")
  118. public HttpResult queryPage(@RequestBody PageRequest pageRequest) {
  119. int pageNum = pageRequest.getPageNum();
  120. int pageSize = pageRequest.getPageSize();
  121. String deptid = pageRequest.getColumnFilterValue(pageRequest, "deptid");
  122. String name = pageRequest.getColumnFilterValue(pageRequest, "name");
  123. String containsSubDept = pageRequest.getColumnFilterValue(pageRequest, "containsSubDept");
  124. String mobile = pageRequest.getColumnFilterValue(pageRequest, "mobile");
  125. StringBuffer whereStr = new StringBuffer(" where 1=1");
  126. ArrayList array = new ArrayList();
  127. if (!StringUtils.isEmpty(deptid) && !StringUtils.isEmpty(containsSubDept) && "1".equals(containsSubDept)) {
  128. whereStr.append(" and dept_id like ?");
  129. array.add(deptid + "%");
  130. } else if (!StringUtils.isEmpty(deptid)) {
  131. whereStr.append(" and dept_id = ?");
  132. array.add(deptid);
  133. }
  134. if (!StringUtils.isEmpty(name)) {
  135. whereStr.append(" and name = ?");
  136. array.add(name);
  137. }
  138. if (!StringUtils.isEmpty(mobile)) {
  139. whereStr.append(" and mobile = ?");
  140. array.add(mobile);
  141. }
  142. PageResult pageResult = sysUserRoleService.queryPaging(pageNum, pageSize, whereStr.toString(), array.toArray());
  143. return HttpResult.ok(pageResult);
  144. }
  145. /**
  146. * 配置用户角色
  147. *
  148. * @param userId
  149. * @param roleId
  150. * @return
  151. */
  152. @PostMapping(value = "/saveUserRole")
  153. public HttpResult saveUserRole(@RequestParam String userId, @RequestParam String roleId) {
  154. SysUserRole userRole = new SysUserRole();
  155. List<SysUserRole> list = sysUserRoleService.selectList(" where user_id=?", new Object[]{userId});
  156. if (list.size() > 0) {
  157. userRole = list.get(0);
  158. userRole.setRoleId(Long.parseLong(roleId));
  159. userRole.setLastUpdateBy(getUserName());
  160. userRole.setLastUpdateTime(new Date());
  161. sysUserRoleService.updateSelective(userRole);
  162. } else {
  163. userRole.setUserId(userId);
  164. userRole.setRoleId(Long.parseLong(roleId));
  165. userRole.setCreateBy(getUserName());
  166. userRole.setCreateTime(new Date());
  167. sysUserRoleService.insertSelective(userRole);
  168. }
  169. return HttpResult.ok();
  170. }
  171. @PreAuthorize("hasAuthority('sys:user:view')")
  172. @PostMapping(value = "/findPage")
  173. public HttpResult findPage(@RequestBody PageRequest pageRequest) {
  174. //return HttpResult.ok(sysUserService.findPage(pageRequest));
  175. int pageNum = pageRequest.getPageNum();
  176. int pageSize = pageRequest.getPageSize();
  177. String name = pageRequest.getColumnFilterValue(pageRequest, "name");
  178. // String email = pageRequest.getColumnFilterValue(pageRequest, "email");
  179. //需要处理传入的部门
  180. PageResult pageResult = sysUserService.selectPagingCustom(pageNum, pageSize, name, "");
  181. sysUserService.findSysUseresmUserInternalVORoles(pageResult);
  182. return HttpResult.ok(pageResult);
  183. }
  184. /**
  185. * 密码修改
  186. *
  187. * @param id
  188. * @param password
  189. * @return
  190. */
  191. @PostMapping(value = "/updatePwd")
  192. public HttpResult updatePwd(@RequestParam String id, @RequestParam String password) {
  193. if (StringUtils.isEmpty(id) || StringUtils.isEmpty(password)) {
  194. return HttpResult.error("ID和密码不能为空");
  195. }
  196. SysUser sysUser = sysUserService.selectByPk(id);
  197. if (sysUser == null) {
  198. return HttpResult.error("ID不存在");
  199. }
  200. //密码加密
  201. String salt = PasswordUtils.getSalt();
  202. String pwd = PasswordUtils.encode(password, sysUser.getSalt());
  203. sysUser.setPassword(pwd);
  204. sysUserService.updateSelective(sysUser);
  205. return HttpResult.ok("修改成功");
  206. }
  207. /**
  208. * 手机号更新
  209. *
  210. * @param id
  211. * @param mobile
  212. * @return
  213. */
  214. @PostMapping(value = "/updateMobile")
  215. public HttpResult updateMobile(@RequestParam String id, @RequestParam String mobile) {
  216. if (StringUtils.isEmpty(id) || StringUtils.isEmpty(mobile)) {
  217. return HttpResult.error("ID和手机号不能为空");
  218. }
  219. SysUser sysUser = sysUserService.selectByPk(id);
  220. if (sysUser == null) {
  221. return HttpResult.error("ID不存在");
  222. }
  223. List<SysUser> users = sysUserService.selectList(" where id != ? and mobile=?", new Object[]{id, mobile});
  224. if (users != null && users.size() > 0) {
  225. return HttpResult.error("手机号已存在");
  226. }
  227. sysUser.setMobile(mobile);
  228. sysUserService.updateSelective(sysUser);
  229. return HttpResult.ok("修改成功");
  230. }
  231. /**
  232. * 根据工号查询推荐人信息
  233. *
  234. * @param id
  235. * @return
  236. */
  237. @GetMapping(value = "/findById")
  238. public HttpResult findByUserId(@RequestParam String id) {
  239. SysUserVO sysUserVO = sysUserService.selectById(id);
  240. if (sysUserVO != null) {
  241. return HttpResult.ok(sysUserVO);
  242. }
  243. throw new SystemException("没有推荐人");
  244. }
  245. /**
  246. * 根据部门ID查询该部门的团队长信息
  247. *
  248. * @param deptId
  249. * @return
  250. */
  251. @GetMapping(value = "/selectByDeptId")
  252. public HttpResult selectByDeptId(String deptId) {
  253. return HttpResult.ok(sysUserService.selectByDeptId(deptId));
  254. }
  255. }