admin_user.go 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169
  1. package api
  2. import (
  3. "context"
  4. "entrance-grpc/iam"
  5. "gadmin/internal/admin/forms"
  6. "gadmin/internal/admin/service"
  7. "gadmin/utility/serializer"
  8. "github.com/gin-gonic/gin"
  9. )
  10. func UserLogin(c *gin.Context) {
  11. ip := c.ClientIP()
  12. var req forms.UserLoginReq
  13. if err := c.ShouldBind(&req); err == nil {
  14. res := service.User.Login(req, ip)
  15. c.JSON(200, res)
  16. } else {
  17. c.JSON(200, ErrorResponse(err))
  18. }
  19. }
  20. //func UserMe(c *gin.Context) {
  21. // var (
  22. // user = token.CurrentUser(c)
  23. // )
  24. // permissions := make([]forms.UserLoginPermissions, 0)
  25. // permissions = append(permissions, forms.UserLoginPermissions{
  26. // Label: "控制台",
  27. // Value: "value",
  28. // })
  29. // //获取用户角色权限
  30. // roleInfo, err := service.AdminRole.GetRole(c, forms.AdminRoleReq{ID: user.RoleId})
  31. // if err != nil || roleInfo == nil {
  32. // c.JSON(200, ErrorResponse(err))
  33. // return
  34. // }
  35. // if roleInfo.Key == "super" {
  36. // for k, _ := range config.AuthMenuMap {
  37. // permissions = append(permissions, forms.UserLoginPermissions{
  38. // Label: config.AuthNameMap[k],
  39. // Value: config.AuthMenuMap[k],
  40. // })
  41. // }
  42. // } else {
  43. // rpdb := query.Use(config.AdminDB).AdminRolePermission
  44. // rolePermission := make([]int, 0)
  45. // err = rpdb.Where(rpdb.SystemID.Eq(user.SystemId)).Pluck(rpdb.PermissionID, &rolePermission)
  46. // //err = json.Unmarshal([]byte(roleInfo.Permissions), &rolePermission)
  47. // if err != nil {
  48. // c.JSON(200, ErrorResponse(err))
  49. // return
  50. // }
  51. // for _, v := range rolePermission {
  52. // if _, ok := config.AuthMenuMap[v]; ok {
  53. // permissions = append(permissions, forms.UserLoginPermissions{
  54. // Label: config.AuthNameMap[v],
  55. // Value: config.AuthMenuMap[v],
  56. // })
  57. // }
  58. // }
  59. // }
  60. //
  61. // //将权限赋值给permission
  62. //
  63. // info := forms.UserMeReq{
  64. // ID: user.ID,
  65. // UserName: user.UserName,
  66. // RoleId: user.RoleId,
  67. // Avatar: user.Avatar,
  68. // Nickname: user.Nickname,
  69. // Permissions: permissions,
  70. // IsSuper: user.UserName == "admin",
  71. // }
  72. //
  73. // c.JSON(200, serializer.Suc(info, "获取成功"))
  74. //}
  75. func AdminUserList(c *gin.Context) {
  76. var req forms.AdminUserListReq
  77. if err := c.ShouldBind(&req); err != nil {
  78. c.JSON(200, ErrorResponse(err))
  79. return
  80. }
  81. if err := forms.ParseParams(&req); err != nil {
  82. c.JSON(200, ErrorResponse(err))
  83. return
  84. }
  85. c.JSON(200, service.User.List(c, req))
  86. }
  87. func AdminUserEdit(c *gin.Context) {
  88. var req forms.AdminUserEditReq
  89. if err := c.ShouldBind(&req); err != nil {
  90. c.JSON(200, ErrorResponse(err))
  91. return
  92. }
  93. if err := forms.ParseParams(&req); err != nil {
  94. c.JSON(200, ErrorResponse(err))
  95. return
  96. }
  97. c.JSON(200, service.User.Edit(c, req))
  98. }
  99. func RolePermission(c *gin.Context) {
  100. is, err := service.User.GetUserRolePermission(c)
  101. if err != nil {
  102. c.JSON(200, ErrorResponse(err))
  103. return
  104. }
  105. c.JSON(200, serializer.Suc(is, "获取成功"))
  106. }
  107. type AdminIamServer struct {
  108. iam.UnimplementedIamServer
  109. }
  110. func (s *AdminIamServer) GetAdminUserByID(ctx context.Context, req *iam.GetAdminUserByIDReq) (*iam.GetAdminUserByIDResp, error) {
  111. user, err := service.User.GetUserInfoByID(ctx, req.GetUID())
  112. resp := &iam.GetAdminUserByIDResp{}
  113. if err != nil {
  114. resp.Code = 1
  115. resp.Msg = err.Error()
  116. }
  117. resp.Data = user
  118. return resp, nil
  119. }
  120. func (s *AdminIamServer) BatchGetAdminUser(ctx context.Context, req *iam.BatchGetAdminUserReq) (*iam.BatchGetAdminUserResp, error) {
  121. users, err := service.User.BatchGetUsers(ctx, req.GetUIds())
  122. resp := &iam.BatchGetAdminUserResp{}
  123. if err != nil {
  124. resp.Code = 1
  125. resp.Msg = err.Error()
  126. } else {
  127. resp.Data = users
  128. }
  129. return resp, nil
  130. }
  131. func (s *AdminIamServer) GetAdminUserByNickName(ctx context.Context, req *iam.GetAdminUserByNickNameReq) (*iam.GetAdminUserByNickNameResp, error) {
  132. resp := &iam.GetAdminUserByNickNameResp{}
  133. user, err := service.User.GetUserByNickName(ctx, req.GetNickName())
  134. if err != nil {
  135. resp.Code = 1
  136. resp.Msg = err.Error()
  137. } else {
  138. resp.Data = user
  139. }
  140. return resp, nil
  141. }
  142. func (s *AdminIamServer) GetRoleSystems(ctx context.Context, req *iam.GetRoleSystemsReq) (*iam.GetRoleSystemsResp, error) {
  143. resp := &iam.GetRoleSystemsResp{}
  144. systems, err := service.User.GetRoleSystems(ctx, req.GetRoleID())
  145. if err != nil {
  146. resp.Code = 1
  147. resp.Msg = err.Error()
  148. } else {
  149. resp.Data = systems
  150. }
  151. return resp, nil
  152. }