system_user.go 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. package model
  2. import (
  3. "fmt"
  4. operationPb "kpt-tmr-group/proto/go/backend/operation"
  5. "strconv"
  6. "strings"
  7. "time"
  8. )
  9. type SystemUser struct {
  10. Id int64 `json:"id"`
  11. Name string `json:"name"`
  12. EmployeeName string `json:"employee_name"`
  13. Phone string `json:"phone"`
  14. Password string `json:"password"`
  15. RoleIds string `json:"role_ids"`
  16. CreateUser string `json:"create_user"`
  17. IsShow operationPb.IsShow_Kind `json:"is_show"`
  18. IsDelete operationPb.IsShow_Kind `json:"is_delete"`
  19. CreatedAt int64 `json:"created_at"`
  20. UpdatedAt int64 `json:"updated_at"`
  21. }
  22. func (s *SystemUser) TableName() string {
  23. return "system_user"
  24. }
  25. func (s *SystemUser) SystemUserFormat(userRoles []*SystemRole) *operationPb.UserAuth {
  26. roles := make([]*operationPb.UserRole, len(userRoles))
  27. for k, v := range userRoles {
  28. roles[k] = &operationPb.UserRole{
  29. Id: v.Id,
  30. Name: v.Name,
  31. }
  32. }
  33. return &operationPb.UserAuth{
  34. UserName: s.Name,
  35. Phone: s.Phone,
  36. EmployeeName: s.EmployeeName,
  37. Roles: roles,
  38. }
  39. }
  40. func (s *SystemUser) SystemUserRoleFormat(req *operationPb.AddSystemUser) {
  41. roleIds := ""
  42. for _, role := range req.Roles {
  43. roleIds += fmt.Sprintf("%d,", role.Id)
  44. }
  45. if roleIds != "" {
  46. s.RoleIds = strings.TrimRight(roleIds, ",")
  47. }
  48. }
  49. func (s *SystemUser) SystemUserRoleToSlice() []int {
  50. roleIds := make([]int, 0)
  51. if s.RoleIds != "" {
  52. roleIdsStr := strings.Split(s.RoleIds, ",")
  53. for _, v := range roleIdsStr {
  54. roleIdsInt, _ := strconv.Atoi(v)
  55. roleIds = append(roleIds, roleIdsInt)
  56. }
  57. }
  58. return roleIds
  59. }
  60. type SystemUserSlice []*SystemUser
  61. func (s SystemUserSlice) ToPB() []*operationPb.AddSystemUser {
  62. res := make([]*operationPb.AddSystemUser, len(s))
  63. for i, v := range s {
  64. res[i] = &operationPb.AddSystemUser{
  65. Id: v.Id,
  66. Name: v.Name,
  67. Phone: v.Phone,
  68. EmployeeName: v.EmployeeName,
  69. CreateUser: v.CreateUser,
  70. IsShow: v.IsShow,
  71. CreatedAt: v.CreatedAt,
  72. CreatedAtFormat: time.Unix(v.CreatedAt, 0).Format(LayoutTime),
  73. }
  74. }
  75. return res
  76. }
  77. func (s *SystemUser) ToPb() *operationPb.AddSystemUser {
  78. return &operationPb.AddSystemUser{
  79. Id: s.Id,
  80. Name: s.Name,
  81. Phone: s.Phone,
  82. CreateUser: s.CreateUser,
  83. EmployeeName: s.EmployeeName,
  84. IsShow: s.IsShow,
  85. CreatedAt: s.CreatedAt,
  86. }
  87. }
  88. type SystemUserResponse struct {
  89. Page int32 `json:"page"`
  90. Total int32 `json:"total"`
  91. List []*operationPb.AddSystemUser `json:"list"`
  92. }
  93. func (s *SystemUserResponse) ToPB() *operationPb.SearchUserResponse {
  94. return &operationPb.SearchUserResponse{
  95. Page: s.Page,
  96. Total: s.Total,
  97. List: s.List,
  98. }
  99. }