LoginAction.java 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. package com.fuzamei.web;
  2. import java.util.LinkedHashMap;
  3. import java.util.Map;
  4. import java.util.UUID;
  5. import org.springframework.beans.factory.annotation.Autowired;
  6. import org.springframework.transaction.annotation.Transactional;
  7. import org.springframework.web.bind.annotation.RequestBody;
  8. import org.springframework.web.bind.annotation.RequestMapping;
  9. import org.springframework.web.bind.annotation.RequestMethod;
  10. import org.springframework.web.bind.annotation.RestController;
  11. import com.fuzamei.constant.HintMSG;
  12. import com.fuzamei.entity.User;
  13. import com.fuzamei.entity.UserDetail;
  14. import com.fuzamei.service.LoginService;
  15. import com.fuzamei.util.JSONUtil;
  16. import com.fuzamei.util.RandomUtil;
  17. import com.fuzamei.util.ValidationUtil;
  18. @RestController
  19. public class LoginAction {
  20. @Autowired
  21. private LoginService loginService;
  22. /**
  23. *
  24. * @Title: loginUserName
  25. * @Description: TODO(用户登陆操作)
  26. {
  27. "username":"",
  28. "password":""
  29. }
  30. * @param @return 设定文件
  31. * @return Map<String,Object> 返回类型
  32. * @author ylx
  33. * @date 2018年1月30日 下午3:57:05
  34. * @throws
  35. */
  36. @RequestMapping(path="/login",method=RequestMethod.POST)
  37. public Map<String,Object> loginUserName(@RequestBody User u){
  38. try {
  39. String username = ValidationUtil.checkBlankAndAssignString(u.getUsername());
  40. String password = ValidationUtil.checkBlankAndAssignString(u.getPassword());
  41. String token = UUID.randomUUID().toString().replaceAll("-", "");
  42. UserDetail admin = loginService.queryAdminExistence();//查询数据库是否有账号存在
  43. if(admin==null){
  44. UserDetail user=new UserDetail();
  45. Long currentTime = System.currentTimeMillis();
  46. user.setUserId(1);//管理员uId为1
  47. user.setUsername(username);
  48. user.setPassword(password);
  49. user.setRoleName("管理员");
  50. user.setRoleId(5);
  51. user.setPersonName("管理员");//管理员人名为【管理员】
  52. user.setRandom(RandomUtil.getRandomString(10));
  53. user.setCreateTime(currentTime);
  54. user.setUpdateTime(currentTime);
  55. user.setToken(token);
  56. user.setState(1);
  57. loginService.insertAdmin(user);//插入管理员数据(同时更新token)
  58. Map<String, Object> map=new LinkedHashMap<String, Object>();
  59. map.put("username", user.getUsername());
  60. map.put("roleName", user.getRoleName());
  61. map.put("personName", user.getPersonName());
  62. map.put("random", user.getRandom());
  63. map.put("roleId", user.getRoleId());
  64. map.put("userId", user.getUserId());
  65. map.put("tokenId", "Bearer"+token+"&"+user.getUserId());
  66. return JSONUtil.getJsonMap(200, true, HintMSG.LOGIN_SUCCESS, map);
  67. }
  68. User user = loginService.queryUser(username,password);
  69. if(user==null){
  70. throw new RuntimeException("用户名或密码错误");
  71. }
  72. // if(user.getState()==0){
  73. // throw new RuntimeException("账号已停用,请联系管理员");
  74. // }
  75. if(user.getToken()==null||"".equals(user.getToken())){
  76. loginService.insertToken(user.getUserId(), token);
  77. } else {
  78. loginService.updateToken(user.getUserId(),token);
  79. }
  80. Map<String, Object> map=new LinkedHashMap<String, Object>();
  81. map.put("username", user.getUsername());
  82. map.put("roleName", user.getRoleName());
  83. map.put("personName", user.getPersonName());
  84. map.put("random", user.getRandom());
  85. map.put("roleId", user.getRoleId());
  86. map.put("userId", user.getUserId());
  87. map.put("tokenId", "Bearer"+token+"&"+user.getUserId());
  88. return JSONUtil.getJsonMap(200, true, HintMSG.LOGIN_SUCCESS, map);
  89. } catch (Exception e) {
  90. return JSONUtil.getJsonMap(300, false, HintMSG.LOGIN_FAIL+":"+e.getMessage(), null);
  91. }
  92. }
  93. }