UserController.java 9.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230
  1. package com.welampiot.controller;
  2. import com.welampiot.common.BaseResult;
  3. import com.welampiot.common.InterfaceResultEnum;
  4. import com.welampiot.common.ResultEnum;
  5. import com.welampiot.dto.GlobalLocationDTO;
  6. import com.welampiot.dto.SectionDTO;
  7. import com.welampiot.dto.UserDTO;
  8. import com.welampiot.service.GlobalLocationService;
  9. import com.welampiot.service.SectionService;
  10. import com.welampiot.service.UserService;
  11. import com.welampiot.utils.MD5Utils;
  12. import com.welampiot.utils.ToolUtils;
  13. import com.welampiot.vo.GlobalLocationVO;
  14. import com.welampiot.vo.ListResponseVO;
  15. import com.welampiot.vo.LoginVO;
  16. import com.welampiot.vo.UserVO;
  17. import org.slf4j.Logger;
  18. import org.slf4j.LoggerFactory;
  19. import org.springframework.beans.factory.annotation.Autowired;
  20. //import org.springframework.security.access.prepost.PreAuthorize;
  21. import org.springframework.web.bind.annotation.*;
  22. import javax.servlet.http.HttpServletRequest;
  23. import javax.validation.Valid;
  24. import java.util.ArrayList;
  25. import java.util.List;
  26. @RestController
  27. @CrossOrigin
  28. @RequestMapping("/user")
  29. //@Slf4j
  30. public class UserController {
  31. private final static Logger log = LoggerFactory.getLogger(UserController.class);
  32. @Autowired
  33. private UserService userService;
  34. @Autowired
  35. private ToolUtils toolUtils;
  36. @Autowired
  37. private GlobalLocationService globalLocationService;
  38. @Autowired
  39. private SectionService sectionService;
  40. /**
  41. * 登录demo做测试,后续删除
  42. * @param vo
  43. * @return
  44. */
  45. @RequestMapping(value = "/userlogin",method = RequestMethod.POST)
  46. public BaseResult<UserDTO> login(@Valid LoginVO vo){
  47. vo.setPassword(MD5Utils.encoderMD5(vo.getPassword()));
  48. UserDTO user = userService.getUserByUserName(vo);
  49. if(user!=null){
  50. return BaseResult.success(user);
  51. }else{
  52. return BaseResult.fail(ResultEnum.LOGIN_ERROR);
  53. }
  54. }
  55. @RequestMapping(value = "/find",method = RequestMethod.POST)
  56. // @PreAuthorize(value = "isAuthenticated()")//需要登录才可以访问
  57. public BaseResult<?> find(){
  58. int num = userService.countUser();
  59. return BaseResult.success(num);
  60. }
  61. @RequestMapping(value = "/doIt",method = RequestMethod.POST)
  62. // @PreAuthorize(value = "isAuthenticated()")//需要登录才可以访问
  63. public BaseResult<?> doIt(){
  64. int num = userService.countUser();
  65. return BaseResult.success(num);
  66. }
  67. @RequestMapping(value = "/amazing",method = RequestMethod.POST)
  68. // @PreAuthorize(value = "isAuthenticated()")//需要登录才可以访问
  69. public BaseResult<?> amazing(){
  70. int num = userService.countUser();
  71. return BaseResult.success(num);
  72. }
  73. /**
  74. * 获取用户省份下拉列表
  75. * @param request
  76. * @return
  77. */
  78. @RequestMapping(value = "/provinceNav",method = RequestMethod.POST)
  79. private BaseResult<?> provinceNav(HttpServletRequest request) {
  80. String version = request.getParameter("version") == null ? "0" : request.getParameter("version");
  81. List sectionList = toolUtils.getSectionList(request);
  82. GlobalLocationVO globalLocationVO = new GlobalLocationVO();
  83. globalLocationVO.setSectionList(sectionList);
  84. globalLocationVO.setVersion(Integer.valueOf(version));
  85. List<GlobalLocationDTO> userProvinceNav = globalLocationService.getUserProvinceNav(globalLocationVO);
  86. ListResponseVO listResponseVO = new ListResponseVO();
  87. listResponseVO.setList(userProvinceNav);
  88. return BaseResult.success(listResponseVO);
  89. }
  90. /**
  91. * 用户获取城市下拉列表
  92. * @param request
  93. * @return
  94. */
  95. @PostMapping("/cityNav")
  96. private BaseResult<?> cityNav(HttpServletRequest request){
  97. String version = request.getParameter("version") == null ? "0" : request.getParameter("version");
  98. List sectionList = toolUtils.getSectionList(request);
  99. System.out.println(sectionList);
  100. GlobalLocationVO globalLocationVO = new GlobalLocationVO();
  101. globalLocationVO.setSectionList(sectionList);
  102. globalLocationVO.setVersion(Integer.valueOf(version));
  103. List<GlobalLocationDTO> userProvinceNav = globalLocationService.getUserCityNav(globalLocationVO);
  104. ListResponseVO listResponseVO = new ListResponseVO();
  105. listResponseVO.setList(userProvinceNav);
  106. return BaseResult.success(listResponseVO);
  107. }
  108. /**
  109. * 用户获取区域下拉列表
  110. * @param request
  111. * @return
  112. */
  113. @PostMapping("/areaNav")
  114. private BaseResult<?> areaNav(HttpServletRequest request){
  115. String version = request.getParameter("version") == null ? "0" : request.getParameter("version");
  116. List sectionList = toolUtils.getSectionList(request);
  117. GlobalLocationVO globalLocationVO = new GlobalLocationVO();
  118. globalLocationVO.setSectionList(sectionList);
  119. globalLocationVO.setVersion(Integer.valueOf(version));
  120. List<GlobalLocationDTO> userProvinceNav = globalLocationService.getUserAreaNav(globalLocationVO);
  121. ListResponseVO listResponseVO = new ListResponseVO();
  122. listResponseVO.setList(userProvinceNav);
  123. return BaseResult.success(listResponseVO);
  124. }
  125. /**
  126. * 用户获取路段下拉列表
  127. * @param request
  128. * @return
  129. */
  130. @PostMapping("/sectionNav")
  131. private BaseResult<?> sectionNav(HttpServletRequest request){
  132. List sectionList = toolUtils.getSectionList(request);
  133. List<SectionDTO> sectionDTOList = sectionService.getListByIdList(sectionList);
  134. ListResponseVO listResponseVO = new ListResponseVO();
  135. listResponseVO.setList(sectionDTOList);
  136. return BaseResult.success(listResponseVO);
  137. }
  138. /**
  139. * 获取用户信息
  140. * @param request 用户id
  141. * @return 返回用户信息
  142. */
  143. @RequestMapping(value = "info", method = RequestMethod.POST)
  144. public BaseResult<?> info(HttpServletRequest request) {
  145. int id = (int) toolUtils.getRequestContent(request,"id",1);
  146. int version = (int) toolUtils.getRequestContent(request,"version",1);
  147. if (id == 0) return toolUtils.response(InterfaceResultEnum.LACK_PARAM_ERROR,version);
  148. UserVO userVO = userService.getUserInfoById(id);
  149. return toolUtils.response(InterfaceResultEnum.OPERATION_SUCCESS,version,userVO);
  150. }
  151. /**
  152. * 获取子账号列表
  153. * @param request 用户名username
  154. * @return 返回子账号列表
  155. */
  156. @RequestMapping(value = "/userList", method = RequestMethod.POST)
  157. public BaseResult<?> userList(HttpServletRequest request) {
  158. int version = (int) toolUtils.getRequestContent(request,"version",1);
  159. String username = (String) toolUtils.getRequestContent(request,"username",2);
  160. if (username == null || username.length() == 0)
  161. return toolUtils.response(InterfaceResultEnum.LACK_PARAM_ERROR,version);
  162. int role = (int) toolUtils.getRequestContent(request,"role",1);
  163. int department = (int) toolUtils.getRequestContent(request,"department",1);
  164. int companyId = (int) toolUtils.getRequestContent(request,"companyId",1);
  165. String keyword = (String) toolUtils.getRequestContent(request,"keyword",2);
  166. int page = request.getParameter("page") == null ? 1 : Integer.parseInt(request.getParameter("page"));
  167. int count = request.getParameter("count") == null ? 16 : Integer.parseInt(request.getParameter("count"));
  168. UserDTO dto = new UserDTO();
  169. dto.setPage(count * (page - 1));
  170. dto.setCount(count);
  171. dto.setKeyword(keyword);
  172. dto.setRole(role);
  173. dto.setDepartment(department);
  174. dto.setCompanyId(companyId);
  175. UserDTO dto1 = userService.queryUserIdByUsername(username);
  176. if (dto1 == null) return toolUtils.response(InterfaceResultEnum.PARAM_FAIL,version);
  177. dto.setId(dto1.getId());
  178. List<UserDTO> userList;
  179. if (dto1.getRole() == 1) {
  180. userList = userService.getAllUserListByUserDTO(dto);
  181. } else {
  182. userList = userService.getUserListByUserDTO(dto);
  183. }
  184. List<UserDTO> list = new ArrayList<>();
  185. userList.forEach(userDTO -> {
  186. if (userDTO.getRole() == 1) {
  187. if (version == 0) {
  188. userDTO.setRoleStr("超级管理员");
  189. } else if (version == 1) {
  190. userDTO.setRoleStr("Super Administrator");
  191. } else {
  192. userDTO.setRoleStr("суперинтендант");
  193. }
  194. } else if (userDTO.getRole() == 2) {
  195. if (version == 0) {
  196. userDTO.setRoleStr("单位管理员");
  197. } else if (version == 1) {
  198. userDTO.setRoleStr("Unit Administrator");
  199. } else {
  200. userDTO.setRoleStr("Администратор единицы");
  201. }
  202. } else if (userDTO.getRole() == 3){
  203. if (version == 0) {
  204. userDTO.setRoleStr("公司子账号");
  205. } else if (version == 1) {
  206. userDTO.setRoleStr("Company Sub Account");
  207. } else {
  208. userDTO.setRoleStr("Субсчет компании");
  209. }
  210. }
  211. list.add(userDTO);
  212. });
  213. UserVO userVO = new UserVO();
  214. userVO.setList(list);
  215. return toolUtils.response(InterfaceResultEnum.OPERATION_SUCCESS,version,userVO);
  216. }
  217. }