service-database-upload.go 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. package api
  2. import (
  3. "assetcenter/bus"
  4. "assetcenter/db/model"
  5. "assetcenter/db/repo"
  6. funcgraph "assetcenter/funcGraph"
  7. "assetcenter/tree"
  8. "time"
  9. "go.mongodb.org/mongo-driver/bson/primitive"
  10. "infish.cn/comm"
  11. )
  12. func UpdateStaticMeshComm(apictx *ApiSession, dbConf *comm.AssetDbConf, body *model.AssetStaticMesh) (interface{}, error) {
  13. asset := body
  14. asset.UpdateTime = time.Now()
  15. id := asset.Id.Hex()
  16. asset.Id = primitive.NilObjectID
  17. collectionName := dbConf.AssetConf.Collection
  18. return repo.RepoUpdateSeDbDoc(apictx.CreateRepoCtx(), dbConf.Db.Name, collectionName, id, asset)
  19. }
  20. func UpdateStaticMeshSource(apictx *ApiSession, dbConf *comm.AssetDbConf, body *model.AssetStaticMesh) (interface{}, error) {
  21. asset := body
  22. asset.UpdateTime = time.Now()
  23. id := asset.Id.Hex()
  24. asset.Id = primitive.NilObjectID
  25. collectionName := dbConf.AssetConf.Collection
  26. return repo.RepoUpdateSeDbDoc(apictx.CreateRepoCtx(), dbConf.Db.Name, collectionName, id, asset)
  27. }
  28. func ProcessPackage(apictx *ApiSession, dbConf *comm.AssetDbConf, id string) (interface{}, error) {
  29. url, err := bus.NatsCenter.RequestConfig("bus-network")
  30. if err != nil {
  31. return nil, err
  32. }
  33. return true, tree.ProcessPack(apictx.CreateRepoCtx(), id, dbConf.Db.Name, dbConf.AssetConf.Collection, url)
  34. }
  35. func ProcessPackageShadow(apictx *ApiSession, dbConf *comm.AssetDbConf, id string, scale, width int32) (interface{}, error) {
  36. mesh := &comm.AssetPackage{}
  37. ok, err := repo.RepoSeachDoc(apictx.CreateRepoCtx(), &repo.DocSearchOptions{
  38. Db: dbConf.Db.Name,
  39. CollectName: dbConf.AssetConf.Collection,
  40. Query: repo.Map{"_id": id},
  41. Project: []string{"config", "transTask", "shadowTask", "source"},
  42. }, mesh)
  43. if err != nil {
  44. return nil, err
  45. }
  46. if !ok {
  47. return nil, NewError("模型已删除!")
  48. }
  49. url, err := bus.NatsCenter.RequestConfig("bus-network")
  50. if err != nil {
  51. return nil, err
  52. }
  53. transTask := mesh.TransTask
  54. shadowTask := mesh.ShadowTask
  55. if comm.ShadowIsNotEmpty(shadowTask) {
  56. err = funcgraph.CreateShadow(transTask.File.Url, id, dbConf.Db.Name, dbConf.AssetConf.Collection, scale, width, url)
  57. }
  58. return true, err
  59. }