mesh.go 7.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141
  1. package model
  2. import (
  3. "time"
  4. "go.mongodb.org/mongo-driver/bson/primitive"
  5. )
  6. type Mesh struct {
  7. Id primitive.ObjectID `bson:"_id,omitempty" json:"_id"`
  8. CreateTime time.Time `bson:"createTime,omitempty" json:"createTime"`
  9. Name string `bson:"name,omitempty" json:"name"`
  10. Category string `bson:"category,omitempty" json:"category"`
  11. Thumbnail *OssType `bson:"thumbnail,omitempty" json:"thumbnail"`
  12. Osgjsbin *OssType `bson:"osgjsbin,omitempty" json:"osgjsbin"`
  13. Osgjs *OssType `bson:"osgjs,omitempty" json:"osgjs"`
  14. Materials *[]struct {
  15. Name string `bson:"name" json:"name"`
  16. Data *MatConfig `bson:"data" json:"data"`
  17. } `bson:"materials,omitempty" json:"materials"`
  18. Geometries []string `bson:"geometries,omitempty" json:"geometries"`
  19. File *OssType `bson:"file,omitempty" json:"file"`
  20. Shadow *OssType `bson:"shadow,omitempty" json:"shadow,omitempty"`
  21. MeshState *int32 `bson:"meshState,omitempty" json:"meshState,omitempty"`
  22. }
  23. type ShoeCompDef struct {
  24. Node string `bson:"node,omitempty" json:"node"`
  25. MatId int32 `bson:"matId,omitempty" json:"matId"`
  26. Name string `bson:"name,omitempty" json:"name"`
  27. Enable bool `bson:"enable,omitempty" json:"enable"`
  28. }
  29. type ShoeMesh struct {
  30. Id primitive.ObjectID `bson:"_id,omitempty" json:"_id,omitempty"`
  31. UserId primitive.ObjectID `bson:"userId,omitempty" json:"userId,omitempty"`
  32. MeshId primitive.ObjectID `bson:"meshId,omitempty" json:"meshId,omitempty"`
  33. Thumbnail *OssType `bson:"thumbnail,omitempty" json:"thumbnail,omitempty"`
  34. Name string `bson:"name,omitempty" json:"name,omitempty"`
  35. CreateTime time.Time `bson:"createTime,omitempty" json:"createTime,omitempty"`
  36. LeftComponents []*ShoeCompDef `bson:"leftComponents,omitempty" json:"leftComponents,omitempty"`
  37. Sex uint8 `bson:"sex,omitempty" json:"sex,omitempty"`
  38. Season uint8 `bson:"season,omitempty" json:"season,omitempty"`
  39. Type string `bson:"type,omitempty" json:"type,omitempty"`
  40. IsPublic *bool `bson:"isPublic,omitempty" json:"isPublic,omitempty"`
  41. Platform *bool `bson:"platform,omitempty" json:"platform,omitempty"` //是否属于平台
  42. }
  43. type LastMesh struct {
  44. Id primitive.ObjectID `bson:"_id,omitempty" json:"_id,omitempty"`
  45. UserId primitive.ObjectID `bson:"userId,omitempty" json:"userId,omitempty"`
  46. MeshId primitive.ObjectID `bson:"meshId,omitempty" json:"meshId,omitempty"`
  47. Thumbnail *OssType `bson:"thumbnail,omitempty" json:"thumbnail,omitempty"`
  48. Name string `bson:"name,omitempty" json:"name,omitempty"`
  49. CreateTime time.Time `bson:"createTime,omitempty" json:"createTime,omitempty"`
  50. Sex uint8 `bson:"sex,omitempty" json:"sex,omitempty"`
  51. Season uint8 `bson:"season,omitempty" json:"season,omitempty"`
  52. Type string `bson:"type,omitempty" json:"type,omitempty"`
  53. IsPublic *bool `bson:"isPublic,omitempty" json:"isPublic,omitempty"`
  54. Platform *bool `bson:"platform,omitempty" json:"platform,omitempty"` //是否属于平台
  55. State int32 `bson:"state,omitempty" json:"state"`
  56. Categories []string `bson:"categories,omitempty" json:"categories,omitempty"` //所有一级分类的id数组 contain filter里面的值
  57. MeshState *int32 `bson:"meshState,omitempty" json:"meshState,omitempty"`
  58. }
  59. type HeelMesh struct {
  60. Id primitive.ObjectID `bson:"_id,omitempty" json:"_id,omitempty"`
  61. UserId primitive.ObjectID `bson:"userId,omitempty" json:"userId,omitempty"`
  62. MeshId primitive.ObjectID `bson:"meshId,omitempty" json:"meshId,omitempty"`
  63. Thumbnail *OssType `bson:"thumbnail,omitempty" json:"thumbnail,omitempty"`
  64. Name string `bson:"name,omitempty" json:"name,omitempty"`
  65. CreateTime time.Time `bson:"createTime,omitempty" json:"createTime,omitempty"`
  66. Sex uint8 `bson:"sex,omitempty" json:"sex,omitempty"`
  67. Season uint8 `bson:"season,omitempty" json:"season,omitempty"`
  68. Type string `bson:"type,omitempty" json:"type,omitempty"`
  69. IsPublic *bool `bson:"isPublic,omitempty" json:"isPublic,omitempty"`
  70. Platform *bool `bson:"platform,omitempty" json:"platform,omitempty"` //是否属于平台
  71. State int32 `bson:"state,omitempty" json:"state"`
  72. Categories []string `bson:"categories,omitempty" json:"categories,omitempty"` //所有一级分类的id数组 contain filter里面的值
  73. MeshState *int32 `bson:"meshState,omitempty" json:"meshState,omitempty"`
  74. }
  75. type DecorateMesh struct {
  76. Id primitive.ObjectID `bson:"_id,omitempty" json:"_id,omitempty"`
  77. UserId primitive.ObjectID `bson:"userId,omitempty" json:"userId,omitempty"`
  78. MeshId primitive.ObjectID `bson:"meshId,omitempty" json:"meshId,omitempty"`
  79. Thumbnail *OssType `bson:"thumbnail,omitempty" json:"thumbnail,omitempty"`
  80. Name string `bson:"name,omitempty" json:"name,omitempty"`
  81. CreateTime time.Time `bson:"createTime,omitempty" json:"createTime,omitempty"`
  82. Sex uint8 `bson:"sex,omitempty" json:"sex,omitempty"`
  83. Season uint8 `bson:"season,omitempty" json:"season,omitempty"`
  84. Type string `bson:"type,omitempty" json:"type,omitempty"`
  85. IsPublic *bool `bson:"isPublic,omitempty" json:"isPublic,omitempty"`
  86. Platform *bool `bson:"platform,omitempty" json:"platform,omitempty"` //是否属于平台
  87. State int32 `bson:"state,omitempty" json:"state"`
  88. Categories []string `bson:"categories,omitempty" json:"categories,omitempty"` //所有一级分类的id数组 contain filter里面的值
  89. MeshState *int32 `bson:"meshState,omitempty" json:"meshState,omitempty"`
  90. }
  91. type SoleMesh struct {
  92. Id primitive.ObjectID `bson:"_id,omitempty" json:"_id,omitempty"`
  93. UserId primitive.ObjectID `bson:"userId,omitempty" json:"userId,omitempty"`
  94. MeshId primitive.ObjectID `bson:"meshId,omitempty" json:"meshId,omitempty"`
  95. Thumbnail *OssType `bson:"thumbnail,omitempty" json:"thumbnail,omitempty"`
  96. Name string `bson:"name,omitempty" json:"name,omitempty"`
  97. CreateTime time.Time `bson:"createTime,omitempty" json:"createTime,omitempty"`
  98. Sex uint8 `bson:"sex,omitempty" json:"sex,omitempty"`
  99. Season uint8 `bson:"season,omitempty" json:"season,omitempty"`
  100. Type string `bson:"type,omitempty" json:"type,omitempty"`
  101. IsPublic *bool `bson:"isPublic,omitempty" json:"isPublic,omitempty"`
  102. Platform *bool `bson:"platform,omitempty" json:"platform,omitempty"` //是否属于平台
  103. State int32 `bson:"state,omitempty" json:"state"`
  104. Categories []string `bson:"categories,omitempty" json:"categories,omitempty"` //所有一级分类的id数组 contain filter里面的值
  105. MeshState *int32 `bson:"meshState,omitempty" json:"meshState,omitempty"`
  106. }
  107. type StickerImage struct {
  108. Id primitive.ObjectID `bson:"_id,omitempty" json:"_id,omitempty"`
  109. UserId primitive.ObjectID `bson:"userId,omitempty" json:"userId,omitempty"`
  110. Image *OssType `bson:"image,omitempty" json:"image,omitempty"`
  111. Name string `bson:"name,omitempty" json:"name,omitempty"`
  112. CreateTime time.Time `bson:"createTime,omitempty" json:"createTime,omitempty"`
  113. State int32 `bson:"state,omitempty" json:"state"`
  114. Categories []string `bson:"categories,omitempty" json:"categories,omitempty"` //所有一级分类的id数组 contain filter里面的值
  115. }