Quellcode durchsuchen

添加素材库实现

liwei vor 2 Jahren
Ursprung
Commit
ea533f5b52

+ 46 - 0
3dshow-supplier/api/asset.go

@@ -0,0 +1,46 @@
+package api
+
+import (
+	"3dshow-supplier/db/model"
+	"3dshow-supplier/db/repo"
+	"fmt"
+	"time"
+
+	"github.com/gin-gonic/gin"
+	"go.mongodb.org/mongo-driver/bson"
+	"go.mongodb.org/mongo-driver/bson/primitive"
+)
+
+func regAssetApi(r *GinRouter) {
+
+	// 添加管理端接口
+	CreateCRUD(r, "/assets", &CRUDOption{
+		Collection: repo.CollectionAssets,
+		NewModel: func(c *gin.Context, apictx *ApiSession) (interface{}, error) {
+			entity := &model.Asset360Fake3d{}
+			c.ShouldBindJSON(entity)
+
+			entity.SupplyId, _ = primitive.ObjectIDFromHex(apictx.User.Parent)
+			entity.CreateTime = time.Now()
+
+			return entity, nil
+		},
+
+		EmtyModel: func(c *gin.Context, apictx *ApiSession) interface{} {
+			return &model.Asset360Fake3d{}
+		},
+		SearchSort: bson.M{"createTime": -1},
+		SearchFilter: func(c *gin.Context, apictx *ApiSession, query map[string]interface{}) map[string]interface{} {
+			if query["supplyId"] != nil {
+				query["supplyId"], _ = primitive.ObjectIDFromHex(query["supplyId"].(string))
+			}
+			return query
+		},
+		JWT:           true,
+		SearchProject: []string{"name", "createTime", "type", "unit", "price", "cover", "status"},
+	})
+
+	r.POSTJWT("/assets/conv/:id/:groupId", func(c *gin.Context, apictx *ApiSession) (interface{}, error) {
+		return nil, fmt.Errorf("尚未实现")
+	})
+}

+ 2 - 0
3dshow-supplier/api/router.go

@@ -18,6 +18,8 @@ func RegRouters(svc *Service) {
 	// 订单管理
 	Order(_3dshow)
 
+	//素材管理
+	regAssetApi(_3dshow)
 }
 
 func Logger() gin.HandlerFunc {

+ 33 - 0
3dshow-supplier/db/model/asset.go

@@ -0,0 +1,33 @@
+package model
+
+import (
+	"time"
+
+	"go.mongodb.org/mongo-driver/bson/primitive"
+)
+
+// 一套360度图片
+type Asset360Group struct {
+	Id        string
+	GroupName string //白色
+	Name      string //正视
+
+	//36张图片信息
+	ImagesPath  string //https://oss.xxx/id/
+	ImageWidth  int    //1944,
+	ImageHeight int    //2592,
+
+	Url string //http://192.168.110.115:8082/scene/Id/index.html?assetPath="https:/xxx/xx"
+}
+
+type Asset360Fake3d struct {
+	Id       primitive.ObjectID `bson:"_id,omitempty" json:"_id"`
+	SupplyId primitive.ObjectID `bson:"supplyId,omitempty" json:"supplyId"`
+
+	//鞋子型号
+	Name       string    `bson:"name,omitempty" json:"name"`
+	CreateTime time.Time `bson:"createTime,omitempty" json:"createTime"`
+	Thumbnail  string    `bson:"thumbnail,omitempty" json:"thumbnail"`
+
+	Groups []*Asset360Group `bson:"groups,omitempty" json:"groups"`
+}

+ 1 - 0
3dshow-supplier/db/repo/repo.go

@@ -20,6 +20,7 @@ type RepoSession struct {
 const (
 	CollectionProduct = "product"
 	CollectionOrder   = "order"
+	CollectionAssets  = "assets"
 )
 
 type Map map[string]interface{}