system_user.go 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120
  1. package model
  2. import (
  3. "net/http"
  4. "time"
  5. pasturePb "gitee.com/xuyiping_admin/go_proto/proto/go/backend/cow"
  6. operationPb "gitee.com/xuyiping_admin/go_proto/proto/go/backend/operation"
  7. )
  8. type SystemUser struct {
  9. Id int64 `json:"id"`
  10. Name string `json:"name"`
  11. NickName string `json:"nickName"`
  12. Mobile string `json:"mobile"`
  13. Password string `json:"password"`
  14. Avatar string `json:"avatar"`
  15. RoleId int64 `json:"roleId"`
  16. DeptId int64 `json:"deptId"`
  17. IndicatorsKinds string `json:"indicatorsKinds"`
  18. Gender pasturePb.Genders_Kind `json:"gender"`
  19. PastureIds string `json:"pastureIds"`
  20. IsShow pasturePb.IsShow_Kind `json:"isShow"`
  21. IsDelete pasturePb.IsShow_Kind `json:"isDelete"`
  22. Remarks string `json:"remarks"`
  23. CreatedAt int64 `json:"created_at"`
  24. UpdatedAt int64 `json:"updated_at"`
  25. }
  26. func (s *SystemUser) TableName() string {
  27. return "system_user"
  28. }
  29. func (s *SystemUser) SystemUserFormat(userRoles []*SystemRole, pastures []*operationPb.UserPasture) *operationPb.UserAuth {
  30. roles := make([]*operationPb.UserRole, len(userRoles))
  31. for k, v := range userRoles {
  32. roles[k] = &operationPb.UserRole{
  33. Id: int32(v.Id),
  34. Name: v.Name,
  35. }
  36. }
  37. return &operationPb.UserAuth{
  38. Code: http.StatusOK,
  39. Msg: "ok",
  40. Data: &operationPb.UserAuthData{
  41. UserName: s.Name,
  42. Roles: roles,
  43. Pastures: pastures,
  44. },
  45. }
  46. }
  47. type UserModel struct {
  48. SystemUser *SystemUser
  49. AppPasture *AppPastureList
  50. }
  51. type SystemUserSlice []*SystemUser
  52. func (s SystemUserSlice) ToPB(deptList []*SystemDept, roleList []*SystemRole) []*pasturePb.SearchUserRequest {
  53. res := make([]*pasturePb.SearchUserRequest, len(s))
  54. for i, v := range s {
  55. deptName := ""
  56. for _, d := range deptList {
  57. if v.DeptId == d.Id {
  58. deptName = d.Name
  59. break
  60. }
  61. }
  62. roleName := ""
  63. for _, r := range roleList {
  64. if v.RoleId == r.Id {
  65. roleName += r.Name
  66. break
  67. }
  68. }
  69. res[i] = &pasturePb.SearchUserRequest{
  70. Id: int32(v.Id),
  71. Name: v.Name,
  72. Mobile: v.Mobile,
  73. NickName: v.NickName,
  74. Avatar: v.Avatar,
  75. Gender: v.Gender,
  76. IsShow: v.IsShow,
  77. IsDelete: v.IsDelete,
  78. Remarks: v.Remarks,
  79. DeptId: int32(v.DeptId),
  80. DeptName: deptName,
  81. RoleId: int32(v.RoleId),
  82. RoleName: roleName,
  83. CreatedAtFormat: time.Unix(v.CreatedAt, 0).Format(LayoutTime),
  84. UpdatedAtFormat: time.Unix(v.UpdatedAt, 0).Format(LayoutTime),
  85. }
  86. }
  87. return res
  88. }
  89. func (s *SystemUser) ToPb() *operationPb.AddSystemUser {
  90. return &operationPb.AddSystemUser{
  91. Id: int32(s.Id),
  92. Name: s.Name,
  93. CreatedAt: int32(s.CreatedAt),
  94. CreatedAtFormat: time.Unix(s.CreatedAt, 0).Format(LayoutTime),
  95. RoleIds: []int32{},
  96. }
  97. }
  98. func (s SystemUserSlice) ToPB2() []*pasturePb.ConfigOptionsList {
  99. res := make([]*pasturePb.ConfigOptionsList, len(s))
  100. for i, d := range s {
  101. res[i] = &pasturePb.ConfigOptionsList{
  102. Value: int32(d.Id),
  103. Label: d.Name,
  104. Disabled: true,
  105. }
  106. }
  107. return res
  108. }