s_user.go 3.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  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. RoleCode string `json:"role_code"` // 角色编码
  16. RoleName string `json:"role_name"` // 角色名称
  17. Menu MenuTrees `json:"menu"` // 可访问的菜单
  18. Datasets Datasets `json:"datasets"` // 可访问的所有知识库(聚合)
  19. PublicDatasets Datasets `json:"public_datasets"` // 公共知识库(type=1)
  20. OrgDatasets Datasets `json:"org_datasets"` // 企业知识库(type=2)
  21. PersonalDatasets Datasets `json:"personal_datasets"` // 个人知识库(type=3)
  22. ChartNum int `json:"chart_num"` // 对话轮次/日
  23. CreatorId string `json:"creator_id"` // 创建人id
  24. CreatorName string `json:"creator_name"` // 创建人名称
  25. CreatedAt time.Time `json:"created_at"` // 创建时间
  26. Sequence int `json:"sequence"` // 排序
  27. Used int `json:"used"` // 已用的对话轮次
  28. Unused int `json:"unused"` // 剩余对话轮次
  29. H5AssistantId string `json:"h5_assistant_id"` // h5对话助手id
  30. }
  31. // UserQueryParam 查询条件
  32. type UserQueryParam struct {
  33. LikeName string
  34. RecordIDs []string
  35. UserName string
  36. OrgId string
  37. RoleCode []string
  38. }
  39. type Users []*User
  40. // UserQueryResult User对象查询结果
  41. type UserQueryResult struct {
  42. Data Users
  43. PageResult *PaginationResult
  44. }
  45. // CleanSecure 清理安全数据
  46. func (a *User) CleanSecure() *User {
  47. a.Password = "******"
  48. return a
  49. }
  50. // UserOptions User对象查询可选参数项
  51. type UserOptions struct {
  52. PageParam *PaginationParam // 分页参数
  53. Tag string
  54. }
  55. // FillCreator 填充创建者信息
  56. func (a Users) FillCreator(users Users) {
  57. for _, v := range a {
  58. for _, u := range users {
  59. if v.CreatorId == u.RecordID {
  60. v.CreatorName = u.RealName
  61. continue
  62. }
  63. }
  64. }
  65. }
  66. // FillRoleName 填充角色名称
  67. func (a Users) FillRoleName(roles Roles) {
  68. for _, o := range a {
  69. for _, r := range roles {
  70. if o.RoleId == r.RecordID {
  71. o.RoleName = r.Name
  72. continue
  73. }
  74. }
  75. }
  76. }
  77. // FillOrgName 填充组织名称
  78. func (a Users) FillOrgName(orgs Organizations) {
  79. for _, v := range a {
  80. for _, o := range orgs {
  81. if v.OrgId == o.RecordID {
  82. v.OrgName = o.Name
  83. continue
  84. }
  85. }
  86. }
  87. }