UserController.java 6.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247
  1. package com.fuzamei.controller;
  2. import com.fuzamei.entity.User;
  3. import com.fuzamei.entity.UserConnectEnterprise;
  4. import com.fuzamei.service.ConnectService;
  5. import com.fuzamei.service.UserService;
  6. import com.fuzamei.util.ResponseUtil;
  7. import org.springframework.beans.factory.annotation.Autowired;
  8. import org.springframework.web.bind.annotation.*;
  9. import javax.annotation.Resource;
  10. import javax.servlet.http.HttpServletRequest;
  11. import javax.servlet.http.HttpSession;
  12. import java.util.Date;
  13. import java.util.List;
  14. import java.util.logging.Logger;
  15. import static com.fuzamei.enums.CodeEnum.*;
  16. import static com.fuzamei.util.MD5.parseStrToMd5L32;
  17. import static com.fuzamei.util.ResponseUtil.getResult;
  18. /**
  19. * Created by sqc95 on 2018/4/28.
  20. */
  21. @RestController
  22. @RequestMapping(path = "/user")
  23. public class UserController {
  24. @Autowired
  25. @Resource
  26. UserService userService;
  27. @Autowired
  28. ConnectService connectService;
  29. Logger logger;
  30. final int USER_ID_LENGTH= 2;
  31. @ResponseBody
  32. @RequestMapping(path = "/test", method = RequestMethod.GET)
  33. public String test() {
  34. return "123";
  35. }
  36. /**
  37. * @Author: SongQiCong
  38. * @Description: 仅用于测试
  39. * @Date: 2018/5/14
  40. * @function: 展示用户表
  41. */
  42. @ResponseBody
  43. @RequestMapping(path = "/selectAllUser", method = RequestMethod.GET)
  44. public List<User> findAll() {
  45. List list = userService.findAll();
  46. Logger.getLogger(userService.findAll().toString());
  47. return list;
  48. }
  49. /**
  50. * @Author: SongQiCong
  51. * @Description: 仅用于测试
  52. * @Date: 2018/5/14
  53. * @function: 通过ID查找用户
  54. */
  55. @RequestMapping(path = "/findID", method = RequestMethod.POST)
  56. public User findUserById(@RequestBody User user
  57. //@RequestParam Integer userID
  58. ) {
  59. int userID = user.getUserID();
  60. Logger.getLogger(userService.findUserById(userID).toString());
  61. return userService.findUserById(userID);
  62. }
  63. /**
  64. * @Author: SongQiCong
  65. * @Description: 仅用于测试
  66. * @Date: 2018/5/14
  67. * @function: 删除用户
  68. */
  69. @RequestMapping(path = "/delete", method = RequestMethod.POST)
  70. public List<User> deleteUser(@RequestParam Integer userID) {
  71. userService.deleteUser(userID);
  72. return userService.findAll();
  73. }
  74. /**
  75. * @Author: SongQiCong
  76. * @Description: 仅用于测试
  77. * @Date: 2018/5/14
  78. * @function: 增加用户
  79. */
  80. @RequestMapping(path = "/add", method = RequestMethod.POST)
  81. public List<User> addUser(@RequestBody User user) {
  82. String code = user.getPassword();//获得明文密码
  83. Date day = new Date();
  84. user.setPassword(parseStrToMd5L32(code));
  85. userService.addUser(user);
  86. return userService.findAll();
  87. }
  88. /**
  89. * @Author: SongQiCong
  90. * @Description: 主要用于 password重置后 重新加密 用户管理修改信息
  91. * @Date: 2018/5/14
  92. * @function: 更新数据
  93. */
  94. @RequestMapping(path = "/update", method = RequestMethod.POST)
  95. public User updateUser(@RequestBody User user) {
  96. String userTel = user.getUserTel();//Tel
  97. int userID = user.getUserID();
  98. User user2 = userService.findUserById(userID);
  99. user2.setUserName(user.getUserName());
  100. user2.setUserAge(user.getUserAge());
  101. user2.setUserTel(user.getUserTel());
  102. user2.setPassword(parseStrToMd5L32(user.getPassword()));
  103. userService.updateUser(user2);
  104. return user;
  105. }
  106. /**
  107. * @Author: SongQiCong
  108. * @Description: 只输入tel password即可封装成user类 校验是否已存在相同账号
  109. * @Date: 2018/5/14
  110. * @function: 用户注册
  111. */
  112. @RequestMapping(path = "/registry", method = RequestMethod.POST)
  113. public ResponseUtil registryDetect(@RequestBody User user) {
  114. List list = userService.findUserByTel(user.getUserTel());
  115. if (!list.isEmpty())
  116. return getResult(REGISTRY_FAIL.getCode(),false,null);
  117. else {
  118. user.setPassword(parseStrToMd5L32(user.getPassword()));
  119. userService.registry(user);
  120. return getResult(REGISTRY_SUCCESS.getCode(),true,null);
  121. }
  122. }
  123. /**
  124. * @Author: SongQiCong
  125. * @Description: 同样使用tel password登录 校验账号是否存在 密码校对
  126. * @Date: 2018/5/14
  127. * @function: 用户登录
  128. */
  129. @RequestMapping(path = "/login", method = RequestMethod.POST)
  130. public ResponseUtil loginDetect(@RequestBody User user,HttpServletRequest request) {
  131. User u =userService.login(user.getUserTel(),parseStrToMd5L32(user.getPassword()));
  132. if(u!=null) {
  133. HttpSession session = request.getSession();
  134. session.setAttribute("user", u);
  135. int userID= u.getUserID();
  136. UserConnectEnterprise userConnectEnterprise= connectService.findInfoByUserID(userID);
  137. if(userConnectEnterprise==null)
  138. return getResult(LOGIN_SUCCESS.getCode(),true,null);
  139. String enterpriseName=userConnectEnterprise.getEnterpriseName();
  140. return getResult(LOGIN_SUCCESS.getCode(),true,enterpriseName);
  141. }else
  142. return getResult(LOGIN_FAIL.getCode(),false,null);
  143. }
  144. /**
  145. * @Author: SongQiCong
  146. * @Description: 登录状态token校验 账号真实存在校验
  147. * @Date: 2018/5/14
  148. * @function: 注销用户登录状态
  149. */
  150. @RequestMapping(path = "/logout", method = RequestMethod.POST)
  151. public ResponseUtil logout(HttpServletRequest request) {
  152. HttpSession session = request.getSession();
  153. session.setAttribute("user",null);
  154. return getResult(LOGOUT_SUCCESS.getCode(),true,null);
  155. }
  156. @RequestMapping(path = "/changeCode",method = RequestMethod.POST)
  157. public ResponseUtil changeCode(@RequestParam String theNewOne,
  158. @RequestParam String theNewForconfirm,
  159. HttpServletRequest request){
  160. if(!theNewOne.equals(theNewForconfirm)){
  161. return getResult(DIFFERENT_PASSWORD.getCode(),false,null);
  162. }
  163. if(theNewOne.equals(theNewForconfirm)){
  164. HttpSession session = request.getSession();
  165. User user = (User)session.getAttribute("user");
  166. int userID= user.getUserID();
  167. if(!theNewOne.equals(user.getPassword()))
  168. user.setPassword(theNewOne);
  169. updateUser(user);
  170. return getResult(CHANGE_SUCCESS.getCode(),true,null);
  171. }
  172. return getResult(NO_CHANGE.getCode(),false,null);
  173. }
  174. }