mesh.go 7.9 KB

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