UserAction.java 8.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215
  1. package com.fuzamei.web;
  2. import java.util.ArrayList;
  3. import java.util.LinkedHashMap;
  4. import java.util.List;
  5. import java.util.Map;
  6. import javax.servlet.http.HttpServletRequest;
  7. import org.springframework.beans.factory.annotation.Autowired;
  8. import org.springframework.http.HttpRequest;
  9. import org.springframework.web.bind.annotation.PostMapping;
  10. import org.springframework.web.bind.annotation.RequestBody;
  11. import org.springframework.web.bind.annotation.RequestMapping;
  12. import org.springframework.web.bind.annotation.RestController;
  13. import com.alibaba.fastjson.JSON;
  14. import com.fuzamei.constant.HintMSG;
  15. import com.fuzamei.constant.RegexConstant;
  16. import com.fuzamei.constant.Roles;
  17. import com.fuzamei.entity.Role;
  18. import com.fuzamei.entity.User;
  19. import com.fuzamei.service.UserAuthoricationService;
  20. import com.fuzamei.service.UserService;
  21. import com.fuzamei.util.JSONUtil;
  22. import com.fuzamei.util.PageDTO;
  23. import com.fuzamei.util.ValidationUtil;
  24. @RestController
  25. @RequestMapping(path = "/user")
  26. public class UserAction {
  27. @Autowired
  28. private UserService userService;
  29. @Autowired
  30. private UserAuthoricationService userAuthoricationService;
  31. @Autowired
  32. private HttpServletRequest req;
  33. //private static final int ROW_NUM = 10; // 分页每页显示几条
  34. /**
  35. * 查询*得到所有的角色
  36. *
  37. * @return
  38. */
  39. @PostMapping(value = "getAllRoles")
  40. public Map<String, Object> getAllRoles() {
  41. try {
  42. Integer user_id = ValidationUtil.checkAndAssignInt(req.getHeader("Authorization").split("&")[1]);
  43. userAuthoricationService.queryUserAuthority(user_id, Roles.ADMIN);
  44. List<Role> roles = userService.getAllRoles();
  45. return JSONUtil.getJsonMap(200, true, HintMSG.QUERY_SUCCESS, roles);
  46. } catch (Exception e) {
  47. return JSONUtil.getJsonMap(500, false, HintMSG.QUERY_FAIL+":"+e.getMessage(), null);
  48. }
  49. }
  50. /**
  51. * 查询最大得userId
  52. * @return
  53. */
  54. @PostMapping(value = "queryUserIdMax")
  55. public Map<String, Object> queryUserIdMax(){
  56. try {
  57. Integer user_id = ValidationUtil.checkAndAssignInt(req.getHeader("Authorization").split("&")[1]);
  58. userAuthoricationService.queryUserAuthority(user_id, Roles.ADMIN);
  59. Integer maxUserId=userService.queryUserIdMax();
  60. Integer max_No= maxUserId+1;
  61. return JSONUtil.getJsonMap(200, true, HintMSG.QUERY_SUCCESS, max_No);
  62. } catch (Exception e) {
  63. return JSONUtil.getJsonMap(500, false, HintMSG.QUERY_FAIL+":"+e.getMessage(), null);
  64. }
  65. }
  66. /**
  67. * { "user_id":"1001", "roleId":"3", "username":"", "personName":"" } 查看账户列表
  68. *
  69. * @param data
  70. * @return
  71. */
  72. @PostMapping(value = "/queryUsers")
  73. public Map<String, Object> queryUsers(@RequestBody String data) {
  74. try {
  75. @SuppressWarnings("unchecked")
  76. Map<String, Object> map = JSON.parseObject(data, Map.class);
  77. Integer user_id = ValidationUtil.checkAndAssignInt(req.getHeader("Authorization").split("&")[1]);
  78. userAuthoricationService.queryUserAuthority(user_id, Roles.ADMIN);
  79. Integer page = ValidationUtil.checkMinAndAssignInt(map.get("page"), 1); //默认第一页
  80. Integer rowNum = ValidationUtil.checkMinAndAssignInt(map.get("rowNum"), 1);//每页显示多少条
  81. Integer roleId = ValidationUtil.checkBlankIntegerAndAssignNullIfIsBlank(map.get("roleId"));
  82. String username = ValidationUtil.checkBlankStringAndAssignEmptyIfIsBlank(map.get("username"));
  83. String personName = ValidationUtil.checkBlankStringAndAssignEmptyIfIsBlank(map.get("personName"));
  84. Map<String, Object> mapToService = new LinkedHashMap<String, Object>();
  85. mapToService.put("user_id", user_id);
  86. mapToService.put("roleId", roleId);
  87. mapToService.put("username", username);
  88. mapToService.put("personName", personName);
  89. mapToService.put("startPage", (page - 1) * rowNum);
  90. mapToService.put("rowNum", rowNum); // 默认每页显示数据是几条
  91. PageDTO pt = userService.queryUsers(mapToService);
  92. return JSONUtil.getJsonMap(200, true, HintMSG.QUERY_SUCCESS,pt);
  93. } catch (Exception e) {
  94. return JSONUtil.getJsonMap(500, false, HintMSG.QUERY_FAIL + ":" + e.getMessage(), null);
  95. }
  96. }
  97. /**
  98. * 编辑修改 根据用户id修改账号,密码,名称,角色,信息
  99. *
  100. * @param data
  101. * @return
  102. *
  103. {
  104. "tokenId":"Bearer8df740431cd24b81ad34dce61177efe6&1001",//管理员
  105. "username": "王五998",
  106. "password": "123456",
  107. "roleId": "1",
  108. "personName": "张三7"
  109. }
  110. */
  111. @PostMapping(value = "/updateAccountByUserId")
  112. public Map<String, Object> updateAccountByUserId(@RequestBody User user) {
  113. try {
  114. Integer user_id = ValidationUtil.checkAndAssignInt(req.getHeader("Authorization").split("&")[1]);
  115. userAuthoricationService.queryUserAuthority(ValidationUtil.checkAndAssignInt(user_id), Roles.ADMIN);
  116. ValidationUtil.checkBlankIntegerAndAssignNullIfIsBlank(user.getRoleId());//校验角色
  117. ValidationUtil.checkBlankStringAndAssignEmptyIfIsBlank(user.getUsername());//校验账号
  118. ValidationUtil.checkBlankStringAndAssignEmptyIfIsBlank(user.getPassword());//校验密码
  119. ValidationUtil.checkBlankStringAndAssignEmptyIfIsBlank(user.getPersonName());//校验名称
  120. List<User> us = userService.findUserByuserIdandusername(user);
  121. if (us == null || us.size() < 1) {
  122. userService.updateAccountByUserId(user);
  123. return JSONUtil.getJsonMap(200, true, "修改成功", null);
  124. } else {
  125. return JSONUtil.getJsonMap(500, false, "修改失败,该账号已存在了", null);
  126. }
  127. } catch (Exception e) {
  128. return JSONUtil.getJsonMap(500, false, "修改失败", null);
  129. }
  130. }
  131. /**
  132. * 添加用户
  133. *
  134. * @param user
  135. * @param result
  136. * @return
  137. {
  138. "tokenId":"Bearer8df740431cd24b81ad34dce61177efe6&1001",//管理员
  139. "userId": "xxx",
  140. "username": "王五998",
  141. "password": "123456",
  142. "roleId": "1",
  143. "personName": "张三7"
  144. }
  145. */
  146. @PostMapping(value = "/insertUsers")
  147. public Map<String, Object> insertUsers(@RequestBody User user) {
  148. try {
  149. //ValidationUtil.checkAndAssignInt(user.getUserId());
  150. Integer user_id = ValidationUtil.checkAndAssignInt(req.getHeader("Authorization").split("&")[1]);
  151. user.setUserId(user_id);
  152. userAuthoricationService.queryUserAuthority(ValidationUtil.checkAndAssignInt(user_id), Roles.ADMIN);
  153. ValidationUtil.checkAndAssignInt(user.getRoleId());//校验角色
  154. // ValidationUtil.checkBlankAndAssignString(user.getSign());////校验签名 非空校验 --待-------XXX
  155. ValidationUtil.checkBlankStringAndAssignEmptyIfIsBlank(user.getUsername());//校验账号
  156. ValidationUtil.checkBlankStringAndAssignEmptyIfIsBlank(user.getPassword());//校验密码
  157. ValidationUtil.checkBlankStringAndAssignEmptyIfIsBlank(user.getPersonName());//校验名称
  158. String random=user.getRandom(); //得到前端传来得随机数
  159. int uu=userService.queryRondomRepetition(random);//校验拿到的随机数和数据库得随机数校验
  160. List<User> us = userService.findUserById(user);
  161. if(uu!=0) throw new RuntimeException("随机数重复");
  162. if (us.size()!=0) throw new RuntimeException("id和账号异常");
  163. userService.insertUsers(user);
  164. return JSONUtil.getJsonMap(200, true, "添加成功", null);
  165. } catch (Exception e) {
  166. e.printStackTrace();
  167. return JSONUtil.getJsonMap(500, false, "添加失败:"+e.getMessage(), null);
  168. }
  169. }
  170. /**
  171. * 让前端传过来Id{1001,1002,1003,1004}以逗号隔开 "userids" ——》1,2,3,4,5,6
  172. *
  173. * @param userIds
  174. * @return
  175. */
  176. @PostMapping(value = "/deleteFromUserId")
  177. public Map<String, Object> deleteFromUserId(@RequestBody String data) {
  178. try {
  179. @SuppressWarnings("unchecked")
  180. Map<String, Object> map = JSON.parseObject(data, Map.class);
  181. Integer user_id = ValidationUtil.checkAndAssignInt(req.getHeader("Authorization").split("&")[1]);
  182. userAuthoricationService.queryUserAuthority(user_id, Roles.ADMIN);
  183. String userIds = ValidationUtil.checkBlankStringAndAssignEmptyIfIsBlank(map.get("userIds"),RegexConstant.NUMBER_NO);// 校验前端传来的参数是不是数字(userIds)正则表达式 XXX
  184. userService.deleteFromUserId(userIds);
  185. return JSONUtil.getJsonMap(200, true, "删除成功", null);
  186. } catch (Exception e) {
  187. return JSONUtil.getJsonMap(500, false, "删除失败:"+e.getMessage(), null);
  188. }
  189. }
  190. }