s_user.go 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. package schema
  2. import "time"
  3. // User User对象
  4. type User struct {
  5. RecordID string `json:"record_id"` // 记录id
  6. UserName string `json:"user_name"` // 用户名
  7. RealName string `json:"real_name"` // 真是姓名
  8. OrgId string `json:"org_id"` // 组织id
  9. OrgName string `json:"org_name"` // 组织名称
  10. Phone string `json:"phone"` // 手机号
  11. Password string `json:"password"` // 密码
  12. Photo string `json:"photo"` // 头像
  13. Status bool `json:"status"` // 状态 启动 禁用
  14. RoleId string `json:"role_id"` // 角色id
  15. RoleName string `json:"role_name"` // 角色名称
  16. OrgList Organizations `json:"org_list"` // 可访问组织列表
  17. Menu MenuTrees `json:"menu"` // 可访问的菜单
  18. Datasets UserDatasets `json:"datasets"` // 可访问的知识库
  19. ChartNum int `json:"chart_num"` // 对话轮次/日
  20. CreatorId string `json:"creator_id"` // 创建人id
  21. CreatorName string `json:"creator_name"` // 创建人名称
  22. CreatedAt time.Time `json:"created_at"` // 创建时间
  23. Sequence int `json:"sequence"` // 排序
  24. Used int `json:"used"` // 已用的对话轮次
  25. Unused int `json:"unused"` // 剩余对话轮次
  26. }
  27. // UserQueryParam 查询条件
  28. type UserQueryParam struct {
  29. LikeName string
  30. RecordIDs []string
  31. UserName string
  32. OrgId string
  33. RoleCode []string
  34. }
  35. type Users []*User
  36. // UserQueryResult User对象查询结果
  37. type UserQueryResult struct {
  38. Data Users
  39. PageResult *PaginationResult
  40. }
  41. // CleanSecure 清理安全数据
  42. func (a *User) CleanSecure() *User {
  43. a.Password = "******"
  44. return a
  45. }
  46. // UserOptions User对象查询可选参数项
  47. type UserOptions struct {
  48. PageParam *PaginationParam // 分页参数
  49. Tag string
  50. }
  51. // FillCreator 填充创建者信息
  52. func (a Users) FillCreator(users Users) {
  53. for _, v := range a {
  54. for _, u := range users {
  55. if v.CreatorId == u.RecordID {
  56. v.CreatorName = u.RealName
  57. continue
  58. }
  59. }
  60. }
  61. }
  62. // FillRoleName 填充角色名称
  63. func (a Users) FillRoleName(roles Roles) {
  64. for _, o := range a {
  65. for _, r := range roles {
  66. if o.RoleId == r.RecordID {
  67. o.RoleName = r.Name
  68. continue
  69. }
  70. }
  71. }
  72. }
  73. // FillOrgName 填充组织名称
  74. func (a Users) FillOrgName(orgs Organizations) {
  75. for _, v := range a {
  76. for _, o := range orgs {
  77. if v.OrgId == o.RecordID {
  78. v.OrgName = o.Name
  79. continue
  80. }
  81. }
  82. }
  83. }