From 7d9ec4ef819dc0fe63e07c60089fd7927530b610 Mon Sep 17 00:00:00 2001 From: Rogee Date: Fri, 6 Dec 2024 16:13:28 +0800 Subject: [PATCH] fix: issues --- backend/common/service/tasks/tasks.go | 19 +++++++++++++++ backend/config.toml | 2 +- backend/modules/medias/provider.gen.go | 5 +++- backend/modules/medias/service.go | 6 +++-- backend/modules/tasks/store/provider.gen.go | 26 +++++++++++++++++++++ 5 files changed, 54 insertions(+), 4 deletions(-) create mode 100755 backend/modules/tasks/store/provider.gen.go diff --git a/backend/common/service/tasks/tasks.go b/backend/common/service/tasks/tasks.go index dd28ad7..7e79342 100644 --- a/backend/common/service/tasks/tasks.go +++ b/backend/common/service/tasks/tasks.go @@ -3,8 +3,10 @@ package tasks import ( "backend/modules/medias" "backend/modules/tasks/discover" + "backend/modules/tasks/store" "backend/providers/app" "backend/providers/postgres" + "backend/providers/storage" "git.ipao.vip/rogeecn/atom" "git.ipao.vip/rogeecn/atom/container" @@ -14,6 +16,7 @@ import ( func defaultProviders(providers ...container.ProviderContainer) container.Providers { return append(container.Providers{ app.DefaultProvider(), + storage.DefaultProvider(), postgres.DefaultProvider(), }, providers...) } @@ -39,5 +42,21 @@ func Command() atom.Option { }) }), ), + atom.Command( + atom.Name("store"), + atom.Providers(defaultProviders().With( + medias.Provide, + store.Provide, + )), + atom.Arguments(func(cmd *cobra.Command) { + cmd.Flags().String("from", "", "from path") + }), + atom.RunE(func(cmd *cobra.Command, args []string) error { + return container.Container.Invoke(func(task *store.StoreMedias) error { + from := cmd.Flag("from").Value.String() + return task.RunE(from) + }) + }), + ), ) } diff --git a/backend/config.toml b/backend/config.toml index 59b0c7f..fb38b60 100755 --- a/backend/config.toml +++ b/backend/config.toml @@ -29,4 +29,4 @@ Salt = "LiXi.Y@140202" [Storage] Type = "local" -Path = "/mnt/yangpingliang/publish/processed" +Path = "/projects/mp-qvyun/backend/fixtures/processed" diff --git a/backend/modules/medias/provider.gen.go b/backend/modules/medias/provider.gen.go index 4b2831e..831082d 100755 --- a/backend/modules/medias/provider.gen.go +++ b/backend/modules/medias/provider.gen.go @@ -2,6 +2,7 @@ package medias import ( "backend/providers/http" + "backend/providers/storage" "database/sql" "git.ipao.vip/rogeecn/atom" @@ -37,9 +38,11 @@ func Provide(opts ...opt.Option) error { if err := container.Container.Provide(func( db *sql.DB, + storageConfig *storage.Config, ) (*Service, error) { obj := &Service{ - db: db, + db: db, + storageConfig: storageConfig, } if err := obj.Prepare(); err != nil { return nil, err diff --git a/backend/modules/medias/service.go b/backend/modules/medias/service.go index 1aa1bf6..4d4a5d0 100644 --- a/backend/modules/medias/service.go +++ b/backend/modules/medias/service.go @@ -4,6 +4,7 @@ import ( "context" "database/sql" "path/filepath" + "time" "backend/common/media_store" "backend/database/models/qvyun/public/table" @@ -182,14 +183,15 @@ func (svc *Service) Upsert(ctx context.Context, tenantId int64, item media_store tbl := table.Medias stmt := tbl. INSERT(tbl.TenantID, tbl.Hash, tbl.Title, tbl.Price, tbl.Resources, tbl.Publish). - VALUES(Int(tenantId), String(item.Hash), String(item.Name), Int(item.Price()), Json(resources), Bool(true)). + VALUES(Int(tenantId), String(item.Hash), String(item.Name), Int(item.Price()), Json(resources.MustValue()), Bool(true)). ON_CONFLICT(tbl.Hash). DO_UPDATE( SET( tbl.Title.SET(String(item.Name)), tbl.Price.SET(Int(item.Price())), - tbl.Resources.SET(Json(resources)), + tbl.Resources.SET(Json(resources.MustValue())), tbl.Publish.SET(Bool(true)), + tbl.UpdatedAt.SET(TimestampT(time.Now())), ), ) log.Debug(stmt.DebugSql()) diff --git a/backend/modules/tasks/store/provider.gen.go b/backend/modules/tasks/store/provider.gen.go new file mode 100755 index 0000000..33bca93 --- /dev/null +++ b/backend/modules/tasks/store/provider.gen.go @@ -0,0 +1,26 @@ +package store + +import ( + "backend/modules/medias" + + "git.ipao.vip/rogeecn/atom/container" + "git.ipao.vip/rogeecn/atom/utils/opt" +) + +func Provide(opts ...opt.Option) error { + if err := container.Container.Provide(func( + mediasSvc *medias.Service, + ) (*StoreMedias, error) { + obj := &StoreMedias{ + mediasSvc: mediasSvc, + } + if err := obj.Prepare(); err != nil { + return nil, err + } + return obj, nil + }); err != nil { + return err + } + + return nil +}