From f652a98c0e477eff30564a43073517e9c06cb0a8 Mon Sep 17 00:00:00 2001 From: laodaming <11058467+laudamine@user.noreply.gitee.com> Date: Mon, 14 Aug 2023 18:40:34 +0800 Subject: [PATCH] fix --- .../render/consumer/assemble_render_data.go | 40 +++++++++++++++++++ server/render/etc/render.yaml | 7 +++- server/render/internal/config/config.go | 7 +++- server/render/internal/svc/servicecontext.go | 16 +++++--- 4 files changed, 61 insertions(+), 9 deletions(-) diff --git a/server/render/consumer/assemble_render_data.go b/server/render/consumer/assemble_render_data.go index 06b164ad..85a32996 100644 --- a/server/render/consumer/assemble_render_data.go +++ b/server/render/consumer/assemble_render_data.go @@ -8,10 +8,13 @@ import ( "fusenapi/constants" "fusenapi/initalize" "fusenapi/server/render/internal/svc" + "fusenapi/service/repositories" + "fusenapi/utils/hash" "fusenapi/utils/websocket_data" "github.com/zeromicro/go-zero/core/logx" "gorm.io/gorm" "strconv" + "time" ) // 这里请求的py接口返回数据 @@ -58,8 +61,45 @@ func (m *MqConsumerRenderAssemble) Run(ctx context.Context, data []byte) error { logx.Error("failed to get template info:", err) return nil //不返回错误就删除消息 } + time.Now().UTC() + resourceKey := hash.JsonHashKey(parseInfo) + combineParam := map[string]interface{}{ + "logo_url": parseInfo.RenderData.Logo, + "website": "", + "slogan": "", + "address": "", + "phone": "", + "colors": []string{}, + "template_tagid": "b1a", + "is_crop": false, + "shape": "rectangle", + "ratio": 0, + "line": "", + "other": "", + "other1": "", + } + combineParamBytes, _ := json.Marshal(combineParam) //获取刀版图 + res, err := svcCtx.Repositories.ImageHandle.LogoCombine(ctx, &repositories.LogoCombineReq{ + ResourceKey: resourceKey, + TemplateId: productTemplate.Id, + CombineParam: string(combineParamBytes), + UserId: parseInfo.RenderData.UserId, + GuestId: parseInfo.RenderData.GuestId, + }) + + if err != nil { + logx.Error("合成刀版图失败:", err) + return nil + } combineImage := "" //刀版图 + if res != nil && res.ResourceUrl != nil { + combineImage = *res.ResourceUrl + } else { + logx.Error("合成刀版图失败,合成的刀版图是空指针:", err) + return nil + } + logx.Info("合成刀版图成功") //获取渲染设置信息 element, err := svcCtx.AllModels.FsProductTemplateElement.FindOneByModelId(ctx, *productTemplate.ModelId) if err != nil { diff --git a/server/render/etc/render.yaml b/server/render/etc/render.yaml index 2be7fc7d..a75711b8 100644 --- a/server/render/etc/render.yaml +++ b/server/render/etc/render.yaml @@ -13,5 +13,8 @@ AWS: AccessKeyID: AKIAZB2JKUXDPNRP4YT2 Secret: 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 Token: -PythonApi: #python接口 - CombineImageUrl: http://18.119.109.254:8999/LogoCombine #合成刀版图接口 \ No newline at end of file +BLMService: + Url: "http://18.119.109.254:8999" + LogoCombine: + #Url: "http://192.168.1.7:8999/LogoCombine" + Url: "http://18.119.109.254:8999/LogoCombine" \ No newline at end of file diff --git a/server/render/internal/config/config.go b/server/render/internal/config/config.go index 3cc5089e..a180c7da 100644 --- a/server/render/internal/config/config.go +++ b/server/render/internal/config/config.go @@ -19,7 +19,10 @@ type Config struct { } } } - PythonApi struct { - CombineImageUrl string //合图url + BLMService struct { + Url string + LogoCombine struct { + Url string + } } } diff --git a/server/render/internal/svc/servicecontext.go b/server/render/internal/svc/servicecontext.go index 08a78653..a0a334b7 100644 --- a/server/render/internal/svc/servicecontext.go +++ b/server/render/internal/svc/servicecontext.go @@ -17,11 +17,12 @@ import ( ) type ServiceContext struct { - Config config.Config - MysqlConn *gorm.DB - AllModels *gmodel.AllModelsGen - RabbitMq *initalize.RabbitMqHandle - AwsSession *session.Session + Config config.Config + MysqlConn *gorm.DB + AllModels *gmodel.AllModelsGen + RabbitMq *initalize.RabbitMqHandle + AwsSession *session.Session + Repositories *initalize.Repositories } func NewServiceContext(c config.Config) *ServiceContext { @@ -34,6 +35,11 @@ func NewServiceContext(c config.Config) *ServiceContext { AllModels: gmodel.NewAllModels(initalize.InitMysql(c.SourceMysql)), RabbitMq: initalize.InitRabbitMq(c.SourceRabbitMq, nil), AwsSession: session.Must(session.NewSession(&config)), + Repositories: initalize.NewAllRepositories(&initalize.NewAllRepositorieData{ + GormDB: initalize.InitMysql(c.SourceMysql), + BLMServiceUrl: &c.BLMService.Url, + AwsSession: session.Must(session.NewSession(&config)), + }), } }