SysLoginController.java 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133
  1. package com.bizmatics.controller.web.system;
  2. import com.bizmatics.common.core.bean.ApiResult;
  3. import com.bizmatics.common.mvc.utils.ServletUtils;
  4. import com.bizmatics.model.SysTenantConfig;
  5. import com.bizmatics.model.system.LoginStyle;
  6. import com.bizmatics.model.system.SysMenu;
  7. import com.bizmatics.model.system.SysUser;
  8. import com.bizmatics.model.vo.RouterVo;
  9. import com.bizmatics.service.SysTenantConfigService;
  10. import com.bizmatics.service.config.security.LoginUser;
  11. import com.bizmatics.service.system.ISysMenuService;
  12. import com.bizmatics.service.system.ISysUserService;
  13. import com.bizmatics.service.system.impl.SysLoginService;
  14. import com.bizmatics.service.system.impl.SysPermissionService;
  15. import com.bizmatics.service.system.impl.TokenService;
  16. import com.bizmatics.service.vo.LoginBody;
  17. import org.springframework.beans.factory.annotation.Autowired;
  18. import org.springframework.web.bind.annotation.*;
  19. import java.util.*;
  20. /**
  21. * 登录验证
  22. *
  23. * @author yq
  24. */
  25. @RestController
  26. public class SysLoginController
  27. {
  28. @Autowired
  29. private SysLoginService loginService;
  30. @Autowired
  31. private ISysMenuService menuService;
  32. @Autowired
  33. private SysPermissionService permissionService;
  34. @Autowired
  35. private TokenService tokenService;
  36. @Autowired
  37. private SysTenantConfigService sysTenantConfigService;
  38. @Autowired
  39. private ISysUserService userService;
  40. /**
  41. * 登录方法
  42. *
  43. * @param loginBody 登录信息
  44. * @return 结果
  45. */
  46. @PostMapping("/login")
  47. public ApiResult<String> login(@RequestBody LoginBody loginBody)
  48. {
  49. // 生成令牌
  50. String token = loginService.login(loginBody.getUsername(), loginBody.getPassword(), loginBody.getCode(),
  51. loginBody.getUuid());
  52. return ApiResult.success(token);
  53. }
  54. /**
  55. * 获取用户信息
  56. *
  57. * @return 用户信息
  58. */
  59. @GetMapping("getInfo")
  60. public ApiResult<Map<String,Object>> getInfo()
  61. {
  62. LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
  63. SysUser user = loginUser.getUser();
  64. // 角色集合
  65. Set<String> roles = permissionService.getRolePermission(user);
  66. // 权限集合
  67. Set<String> permissions = permissionService.getMenuPermission(user);
  68. Map<String,Object> ajax = new HashMap<>();
  69. ajax.put("user", user);
  70. ajax.put("roles", roles);
  71. ajax.put("permissions", permissions);
  72. List<String> list = new ArrayList<>();
  73. list.add("READ");
  74. ajax.put("ability",list);
  75. return ApiResult.success(ajax);
  76. }
  77. /**
  78. * 获取路由信息
  79. *
  80. * @return 路由信息
  81. */
  82. @GetMapping("getRouters")
  83. public ApiResult<List<RouterVo>> getRouters()
  84. {
  85. LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
  86. // 用户信息
  87. SysUser user = loginUser.getUser();
  88. List<SysMenu> menus = new ArrayList<>();
  89. SysUser sysUser = userService.selectUserById(user.getUserId());
  90. if (sysUser.getUserType().equals("01")){
  91. menus = menuService.selectMenuTreeBy(sysUser.getTenantId());
  92. }else{
  93. menus = menuService.selectMenuTreeByUserId(user.getUserId());
  94. }
  95. return ApiResult.success(menuService.buildMenusNew(menus));
  96. }
  97. /**
  98. * 登录页样式
  99. * @param url
  100. * @return
  101. */
  102. @GetMapping("/getLoginStyle")
  103. public ApiResult<LoginStyle> getLoginStyle(@RequestParam String url)
  104. {
  105. LoginStyle loginStyle = loginService.getLoginStyle(url);
  106. return ApiResult.success(loginStyle);
  107. }
  108. // /**
  109. // * 登录中间页-样式配置查询
  110. // *
  111. // * @param url 域名
  112. // * @return
  113. // */
  114. // @GetMapping("/getTenantConfig")
  115. // public ApiResult<List<SysTenantConfig>> getTenantConfig(@RequestParam String url) {
  116. // return ApiResult.success(sysTenantConfigService.getTenantConfig(url));
  117. // }
  118. }