SuperSysLoginController.java 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
  1. package com.zhongzheng.controller.system;
  2. import com.zhongzheng.common.constant.Constants;
  3. import com.zhongzheng.common.core.domain.AjaxResult;
  4. import com.zhongzheng.common.core.domain.entity.TopSysUser;
  5. import com.zhongzheng.common.core.domain.model.LoginBody;
  6. import com.zhongzheng.common.core.domain.model.TopLoginUser;
  7. import com.zhongzheng.common.utils.ServletUtils;
  8. import com.zhongzheng.framework.web.service.TokenService;
  9. import com.zhongzheng.framework.web.service.TopSysLoginService;
  10. import com.zhongzheng.framework.web.service.TopSysPermissionService;
  11. import com.zhongzheng.framework.web.service.TopTokenService;
  12. import com.zhongzheng.modules.top.user.domain.TopSysMenu;
  13. import com.zhongzheng.modules.top.user.service.ITopSysMenuService;
  14. import com.zhongzheng.modules.top.user.service.ITopSysRoleService;
  15. import com.zhongzheng.modules.top.user.service.ITopSysUserService;
  16. import io.swagger.annotations.Api;
  17. import io.swagger.annotations.ApiOperation;
  18. import org.springframework.beans.factory.annotation.Autowired;
  19. import org.springframework.web.bind.annotation.GetMapping;
  20. import org.springframework.web.bind.annotation.PostMapping;
  21. import org.springframework.web.bind.annotation.RequestBody;
  22. import org.springframework.web.bind.annotation.RestController;
  23. import java.util.HashMap;
  24. import java.util.List;
  25. import java.util.Map;
  26. import java.util.Set;
  27. /**
  28. * 登录验证
  29. *
  30. * @author zhongzheng
  31. */
  32. @Api(tags ="登录用户操作管理")
  33. @RestController
  34. public class SuperSysLoginController
  35. {
  36. @Autowired
  37. private TopSysLoginService loginService;
  38. @Autowired
  39. private ITopSysMenuService menuService;
  40. @Autowired
  41. private TopSysPermissionService permissionService;
  42. @Autowired
  43. private TopTokenService topTokenService;
  44. @Autowired
  45. private TokenService tokenService;
  46. @Autowired
  47. private ITopSysUserService userService;
  48. @Autowired
  49. private ITopSysRoleService iTopSysRoleService;
  50. /**
  51. * 登录方法
  52. *
  53. * @param loginBody 登录信息
  54. * @return 结果
  55. */
  56. @ApiOperation("登录")
  57. @PostMapping("/login")
  58. public AjaxResult login(@RequestBody LoginBody loginBody)
  59. {
  60. AjaxResult ajax = AjaxResult.success();
  61. // 生成令牌
  62. String token = loginService.login(loginBody.getUsername(), loginBody.getPassword(), loginBody.getCode(),
  63. loginBody.getUuid());
  64. ajax.put(Constants.TOKEN, token);
  65. return ajax;
  66. }
  67. /**
  68. * 获取用户信息
  69. *
  70. * @return 用户信息
  71. */
  72. @ApiOperation("登录用户信息")
  73. @GetMapping("getInfo")
  74. public AjaxResult getInfo()
  75. {
  76. TopLoginUser loginUser = topTokenService.getLoginUser(ServletUtils.getRequest());
  77. TopSysUser user = loginUser.getUser();
  78. // 角色集合
  79. Set<String> roles = permissionService.getRolePermission(user);
  80. // 权限集合
  81. Set<String> permissions = permissionService.getMenuPermission(user);
  82. List<Integer> rolesId = iTopSysRoleService.selectRoleListByUserId(user.getUserId());
  83. Map<String,Object> map = new HashMap<>();
  84. map.put("user", user);
  85. map.put("roles", roles);
  86. map.put("permissions", permissions);
  87. map.put("rolesId", rolesId);
  88. return AjaxResult.success(map);
  89. }
  90. /**
  91. * 获取路由信息
  92. *
  93. * @return 路由信息
  94. */
  95. @ApiOperation("路由菜单信息")
  96. @GetMapping("getRouters")
  97. public AjaxResult getRouters()
  98. {
  99. TopLoginUser loginUser = topTokenService.getLoginUser(ServletUtils.getRequest());
  100. // 用户信息
  101. TopSysUser user = loginUser.getUser();
  102. List<TopSysMenu> menus = menuService.selectMenuTreeByUserId(user.getUserId());
  103. return AjaxResult.success(menuService.buildMenus(menus));
  104. }
  105. // /**
  106. // * 获取子系统令牌
  107. // *
  108. // * @return 获取子系统令牌
  109. // */
  110. // @ApiOperation("获取子系统令牌")
  111. // @GetMapping("getChildToken")
  112. // public AjaxResult getChildToken()
  113. // {
  114. // //普通系统用户
  115. // TopSysUser user = userService.selectUserByUserName("admin");
  116. // TopLoginUser loginUser = new TopLoginUser(user, permissionService.getMenuPermission(user));
  117. // String token = tokenService.createToken(loginUser);
  118. // AjaxResult ajax = AjaxResult.success();
  119. // ajax.put(Constants.TOKEN, token);
  120. // return ajax;
  121. // }
  122. }