package api import ( "assetcenter/bus" "assetcenter/db/model" "assetcenter/db/repo" funcgraph "assetcenter/funcGraph" "assetcenter/tree" "time" "go.mongodb.org/mongo-driver/bson/primitive" "infish.cn/comm" ) func UpdateStaticMeshComm(apictx *ApiSession, dbConf *comm.AssetDbConf, body *model.AssetStaticMesh) (interface{}, error) { asset := body asset.UpdateTime = time.Now() id := asset.Id.Hex() asset.Id = primitive.NilObjectID collectionName := dbConf.AssetConf.Collection return repo.RepoUpdateSeDbDoc(apictx.CreateRepoCtx(), dbConf.Db.Name, collectionName, id, asset) } func UpdateStaticMeshSource(apictx *ApiSession, dbConf *comm.AssetDbConf, body *model.AssetStaticMesh) (interface{}, error) { asset := body asset.UpdateTime = time.Now() id := asset.Id.Hex() asset.Id = primitive.NilObjectID collectionName := dbConf.AssetConf.Collection return repo.RepoUpdateSeDbDoc(apictx.CreateRepoCtx(), dbConf.Db.Name, collectionName, id, asset) } func ProcessPackage(apictx *ApiSession, dbConf *comm.AssetDbConf, id string) (interface{}, error) { url, err := bus.NatsCenter.RequestConfig("bus-network") if err != nil { return nil, err } return true, tree.ProcessPack(apictx.CreateRepoCtx(), id, dbConf.Db.Name, dbConf.AssetConf.Collection, url) } func ProcessPackageShadow(apictx *ApiSession, dbConf *comm.AssetDbConf, id string, scale, width int32) (interface{}, error) { mesh := &comm.AssetPackage{} ok, err := repo.RepoSeachDoc(apictx.CreateRepoCtx(), &repo.DocSearchOptions{ Db: dbConf.Db.Name, CollectName: dbConf.AssetConf.Collection, Query: repo.Map{"_id": id}, Project: []string{"config", "transTask", "shadowTask", "source"}, }, mesh) if err != nil { return nil, err } if !ok { return nil, NewError("模型已删除!") } url, err := bus.NatsCenter.RequestConfig("bus-network") if err != nil { return nil, err } transTask := mesh.TransTask shadowTask := mesh.ShadowTask if comm.ShadowIsNotEmpty(shadowTask) { err = funcgraph.CreateShadow(transTask.File.Url, id, dbConf.Db.Name, dbConf.AssetConf.Collection, scale, width, url) } return true, err }