sys_user.go 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. package controller
  2. import (
  3. "context"
  4. "github.com/tiger1103/gfast/v3/api/v1/system"
  5. "github.com/tiger1103/gfast/v3/internal/app/system/model"
  6. "github.com/tiger1103/gfast/v3/internal/app/system/model/entity"
  7. "github.com/tiger1103/gfast/v3/internal/app/system/service"
  8. )
  9. var (
  10. User = userController{}
  11. )
  12. type userController struct {
  13. BaseController
  14. }
  15. // GetUserMenus 获取用户菜单及按钮权限
  16. func (c *userController) GetUserMenus(ctx context.Context, req *system.UserMenusReq) (res *system.UserMenusRes, err error) {
  17. var (
  18. permissions []string
  19. menuList []*model.UserMenus
  20. )
  21. userId := service.Context().GetUserId(ctx)
  22. menuList, permissions, err = service.SysUser().GetAdminRules(ctx, userId)
  23. res = &system.UserMenusRes{
  24. MenuList: menuList,
  25. Permissions: permissions,
  26. }
  27. return
  28. }
  29. // List 用户列表
  30. func (c *userController) List(ctx context.Context, req *system.UserSearchReq) (res *system.UserSearchRes, err error) {
  31. var (
  32. total interface{}
  33. userList []*entity.SysUser
  34. )
  35. res = new(system.UserSearchRes)
  36. total, userList, err = service.SysUser().List(ctx, req)
  37. if err != nil || total == 0 {
  38. return
  39. }
  40. res.Total = total
  41. res.UserList, err = service.SysUser().GetUsersRoleDept(ctx, userList)
  42. return
  43. }
  44. // GetParams 获取用户维护相关参数
  45. func (c *userController) GetParams(ctx context.Context, req *system.UserGetParamsReq) (res *system.UserGetParamsRes, err error) {
  46. res = new(system.UserGetParamsRes)
  47. res.RoleList, err = service.SysRole().GetRoleList(ctx)
  48. if err != nil {
  49. return
  50. }
  51. res.Posts, err = service.SysPost().GetUsedPost(ctx)
  52. return
  53. }
  54. // Add 添加用户
  55. func (c *userController) Add(ctx context.Context, req *system.UserAddReq) (res *system.UserAddRes, err error) {
  56. err = service.SysUser().Add(ctx, req)
  57. return
  58. }
  59. // GetEditUser 获取修改用户信息
  60. func (c *userController) GetEditUser(ctx context.Context, req *system.UserGetEditReq) (res *system.UserGetEditRes, err error) {
  61. res, err = service.SysUser().GetEditUser(ctx, req.Id)
  62. return
  63. }
  64. // Edit 修改用户
  65. func (c *userController) Edit(ctx context.Context, req *system.UserEditReq) (res *system.UserEditRes, err error) {
  66. err = service.SysUser().Edit(ctx, req)
  67. return
  68. }
  69. // ResetPwd 重置密码
  70. func (c *userController) ResetPwd(ctx context.Context, req *system.UserResetPwdReq) (res *system.UserResetPwdRes, err error) {
  71. err = service.SysUser().ResetUserPwd(ctx, req)
  72. return
  73. }
  74. // SetStatus 修改用户状态
  75. func (c *userController) SetStatus(ctx context.Context, req *system.UserStatusReq) (res *system.UserStatusRes, err error) {
  76. err = service.SysUser().ChangeUserStatus(ctx, req)
  77. return
  78. }
  79. // Delete 删除用户
  80. func (c *userController) Delete(ctx context.Context, req *system.UserDeleteReq) (res *system.UserDeleteRes, err error) {
  81. err = service.SysUser().Delete(ctx, req.Ids)
  82. return
  83. }
  84. // GetUsers 通过用户id批量获取用户信息
  85. func (c *userController) GetUsers(ctx context.Context, req *system.UserGetByIdsReq) (res *system.UserGetByIdsRes, err error) {
  86. res = new(system.UserGetByIdsRes)
  87. res.List, err = service.SysUser().GetUsers(ctx, req.Ids)
  88. return
  89. }