e_organization.go 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. package entity
  2. import (
  3. "context"
  4. "gorm.io/gorm"
  5. "yx-dataset-server/app/schema"
  6. )
  7. // GetOrganizationDB 获取Organization存储
  8. func GetOrganizationDB(ctx context.Context, defDB *gorm.DB) *gorm.DB {
  9. return getDBWithModel(ctx, defDB, Organization{})
  10. }
  11. // SchemaOrganization Organization对象
  12. type SchemaOrganization schema.Organization
  13. // ToOrganization 转换为Organization实体
  14. func (a SchemaOrganization) ToOrganization() *Organization {
  15. item := &Organization{
  16. RecordID: a.RecordID,
  17. Name: a.Name,
  18. ChartNum: a.ChartNum,
  19. Sequence: &a.Sequence,
  20. CreatorId: a.CreatorId,
  21. }
  22. return item
  23. }
  24. // ToSchemaOrganization 转换为Organization对象
  25. func (a Organization) ToSchemaOrganization() *schema.Organization {
  26. item := &schema.Organization{
  27. RecordID: a.RecordID,
  28. Name: a.Name,
  29. ChartNum: a.ChartNum,
  30. Sequence: *a.Sequence,
  31. CreatedAt: a.CreatedAt,
  32. CreatorId: a.CreatorId,
  33. }
  34. return item
  35. }
  36. // Organization Organization实体
  37. type Organization struct {
  38. gorm.Model
  39. RecordID string `gorm:"column:record_id;size:32;index;"`
  40. Name string `gorm:"column:name;size:30;"` // 组织名称
  41. ChartNum int `gorm:"column:chart_num;"` // 对话轮次/日
  42. Sequence *int `gorm:"column:sequence;auto_increment;"` // 排序
  43. CreatorId string `gorm:"column:creator_id;size:32;"` // 创建者id
  44. }
  45. // Organizations Organization列表
  46. type Organizations []*Organization
  47. // ToSchemaOrganizations 转换为Organization对象列表
  48. func (a Organizations) ToSchemaOrganizations() []*schema.Organization {
  49. list := make([]*schema.Organization, len(a))
  50. for i, item := range a {
  51. list[i] = item.ToSchemaOrganization()
  52. }
  53. return list
  54. }