sys_user.go 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  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.User().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 int
  33. userList []*entity.SysUser
  34. )
  35. res = new(system.UserSearchRes)
  36. total, userList, err = service.User().List(ctx, req)
  37. if err != nil || total == 0 {
  38. return
  39. }
  40. res.Total = total
  41. res.UserList, err = service.User().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.Role().GetRoleList(ctx)
  48. if err != nil {
  49. return
  50. }
  51. res.Posts, err = service.Post().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.User().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.User().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.User().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.User().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.User().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.User().Delete(ctx, req.Ids)
  82. return
  83. }