From 28b9d1ac1ff16f682815f390e9557ced7b1789ce Mon Sep 17 00:00:00 2001 From: laodaming <11058467+laudamine@user.noreply.gitee.com> Date: Wed, 9 Aug 2023 16:58:08 +0800 Subject: [PATCH] fix --- .../render/consumer/assemble_render_data.go | 122 +----------------- utils/websocket_data/render_data.go | 11 +- 2 files changed, 8 insertions(+), 125 deletions(-) diff --git a/server/render/consumer/assemble_render_data.go b/server/render/consumer/assemble_render_data.go index 4cb1abe2..d1c21d30 100644 --- a/server/render/consumer/assemble_render_data.go +++ b/server/render/consumer/assemble_render_data.go @@ -11,11 +11,7 @@ import ( "fusenapi/utils/websocket_data" "github.com/zeromicro/go-zero/core/logx" "gorm.io/gorm" - "io/ioutil" - "net/http" "strconv" - "strings" - "time" ) // 这里请求的py接口返回数据 @@ -49,7 +45,6 @@ func (m *MqConsumerRenderAssemble) Run(ctx context.Context, data []byte) error { return errors.New("allmodels is nil!!") } rabbitmq := initalize.RabbitMqHandle{} - timeSearchBegin := time.Now().UnixMilli() //获取模板 templateInfo, err := allmodels.FsProductTemplateV2.FindOneByProductIdTagIdWithSizeTable(ctx, parseInfo.RenderData.ProductId, fmt.Sprintf("%d", parseInfo.RenderData.TemplateTagId)) if err != nil { @@ -60,100 +55,8 @@ func (m *MqConsumerRenderAssemble) Run(ctx context.Context, data []byte) error { logx.Error("failed to get template info:", err) return err } - renderLogTime := time.Now().UnixMilli() - timeSearchBegin - now := time.Now().Unix() - title := "1-组装模板数据" - //云渲染日志 - err = allmodels.FsCloudRenderLog.Create(ctx, &gmodel.FsCloudRenderLog{ - UserId: &parseInfo.RenderData.UserId, - GuestId: &parseInfo.RenderData.GuestId, - Title: &title, - Time: &renderLogTime, - Tag: &parseInfo.RenderId, - Ctime: &now, - }) - if err != nil { - logx.Error(err) - } - pyapiBeginTime := time.Now().UnixMilli() - //这里curl post请求数据。获取处理好的贴图数据,用于贴model的贴图 - pythonPostData := map[string]interface{}{ - "tids": []int64{templateInfo.Id}, - "data": parseInfo.RenderData.Data, - } - pyPostBytes, _ := json.Marshal(pythonPostData) - //post 数据结构 - a := `{"tids":[128,431],"data":[{"id":"9d35ac5a-81a0-3caf-3246-cdbea9f2ddfe","tag":"MainColor","title":"\u8d34\u56fe2","type":"color","text":"","fill":"#c028b9","fontSize":20,"fontFamily":"Aqum2SmallCaps3","ifBr":false,"ifShow":true,"ifGroup":false,"maxNum":50,"rotation":0,"align":"center","verticalAlign":"middle","material":"","width":1024,"height":1024,"x":0,"y":0,"opacity":1,"optionalColor":[{"color":"#000000","name":"Black","default":true}],"zIndex":2,"svgPath":"","follow":{"fill":"","ifShow":"","content":""},"group":[],"cameraStand":{"x":0,"y":0,"z":0},"proportion":60,"materialName":"","materialTime":""},{"id":"c9be653f-dfc1-5659-1eb8-7ab128abe3d5","tag":"Logo","title":"\u8d34\u56fe4","type":"image","text":"","fill":"#c028b9","fontSize":65,"fontFamily":"MontserratBold3","ifBr":true,"ifShow":true,"ifGroup":false,"maxNum":50,"rotation":0,"align":"center","verticalAlign":"middle","material":"","width":312,"height":144.8044172010362,"x":99,"y":406.49999999999875,"opacity":1,"optionalColor":[{"color":"#000000","name":"Black","default":false},{"color":"#FFFFFF","name":"White","default":false},{"name":"MainColor","color":"#c028b9","default":true}],"zIndex":3,"svgPath":"","follow":{"fill":"","ifShow":"","content":""},"group":[],"cameraStand":{"x":0,"y":0,"z":0},"proportion":60,"materialTime":"","materialName":""},{"id":"e3269e77-b8c2-baec-bb9b-8399915a711c","tag":"Slogan","title":"\u8d34\u56fe5","type":"text","text":"","fill":"","fontSize":16,"fontFamily":"MontserratBold3","ifBr":false,"ifShow":true,"ifGroup":false,"maxNum":50,"rotation":0,"align":"center","verticalAlign":"middle","material":"","width":312,"height":18.999939381668568,"x":99,"y":605.0000538829611,"opacity":1,"optionalColor":[{"color":"#000000","name":"Black","default":true}],"zIndex":4,"svgPath":"","follow":{"fill":"bfc2b5a3-10af-c95b-fbf1-3016540fffad","ifShow":"","content":""},"group":[],"cameraStand":{"x":0,"y":0,"z":36},"proportion":60,"materialName":"","materialTime":""},{"id":"bfc2b5a3-10af-c95b-fbf1-3016540fffad","tag":"SecondaryColor","title":"\u8d34\u56fe9","type":"color","text":"","fill":"#FFFFFF","fontSize":20,"fontFamily":"Aqum2SmallCaps3","ifBr":false,"ifShow":true,"ifGroup":false,"maxNum":50,"rotation":0,"align":"center","verticalAlign":"middle","material":"","width":1024,"height":1024,"x":0,"y":0,"opacity":1,"optionalColor":[{"color":"#000000","name":"Black","default":true}],"zIndex":1,"svgPath":"","follow":{"fill":"","ifShow":"","content":""},"group":[],"cameraStand":{"x":0,"y":0,"z":0},"proportion":60}]}` - url := "http://110.41.19.98:8867/imgRender" - pyRsp, err := http.Post(url, "application/json;charset=UTF-8", strings.NewReader(a)) - if err != nil { - logx.Error("request python render api err:", err) - return err - } - defer pyRsp.Body.Close() - pyRspBytes, err := ioutil.ReadAll(pyRsp.Body) - if err != nil { - logx.Error("failed to read python api rsp body,err=", err) - return err - } - var rspInfo pythonApiRsp - if err = json.Unmarshal(pyRspBytes, &rspInfo); err != nil { - logx.Error("failed to unmarshal python api rsp:", err) - return err - } - if rspInfo.Code != 200 { - logx.Error("python api 接口请求错误:", rspInfo.Msg) - return err - } - if len(rspInfo.Data) == 0 { - logx.Error("python api 接口没有数据:") - return err - } - mapImageData := make(map[int64]int) - for k, v := range rspInfo.Data { - mapImageData[v.Tid] = k - } - //云渲染日志 - title = "2-请求->接收python合成刀版图接口" - now = time.Now().Unix() - pyRequestTime := time.Now().UnixMilli() - pyapiBeginTime - err = allmodels.FsCloudRenderLog.Create(ctx, &gmodel.FsCloudRenderLog{ - UserId: &parseInfo.RenderData.UserId, - GuestId: &parseInfo.RenderData.GuestId, - Title: &title, - Time: &pyRequestTime, - Tag: &parseInfo.RenderId, - Ctime: &now, - }) - if err != nil { - logx.Error(err) - } - incTime := int64(0) - mapCurlData := make(map[int64]int) - for k, v := range rspInfo.Data { - mapCurlData[v.Tid] = k - incTime += v.Costtime - } - //云渲染日志 - title = "3-python合成刀版图" - now = time.Now().Unix() - postData := string(pyPostBytes) - pyRspStr := string(pyRspBytes) - err = allmodels.FsCloudRenderLog.Create(ctx, &gmodel.FsCloudRenderLog{ - UserId: &parseInfo.RenderData.UserId, - GuestId: &parseInfo.RenderData.GuestId, - PostUrl: &url, - PostData: &postData, - Result: &pyRspStr, - Title: &title, - Time: &incTime, - Tag: &parseInfo.RenderId, - Ctime: &now, - }) - if err != nil { - logx.Error(err) - } - timePinjieBegin := time.Now().UnixMilli() + // todo curl请求python获取刀版图 baseImage###### + baseImage := "" //获取渲染设置信息 element, err := allmodels.FsProductTemplateElement.FindOneByModelId(ctx, *templateInfo.ModelId) if err != nil { @@ -177,10 +80,6 @@ func (m *MqConsumerRenderAssemble) Run(ctx context.Context, data []byte) error { return err } } - baseImage := "" - if index, ok := mapImageData[templateInfo.Id]; ok { - baseImage = constants.H5_URL + "/storage" + rspInfo.Data[index].Imgurl - } tempData := make([]map[string]interface{}, 0, 3) if element.Base != nil && *element.Base != "" { tempData = append(tempData, map[string]interface{}{ @@ -224,21 +123,6 @@ func (m *MqConsumerRenderAssemble) Run(ctx context.Context, data []byte) error { "data": tempData, }, } - timePinjie := time.Now().UnixMilli() - timePinjieBegin - //云渲染日志 - title = "接收到python刀版图 -> 3-组装MQ渲染任务队列" - now = time.Now().Unix() - err = allmodels.FsCloudRenderLog.Create(ctx, &gmodel.FsCloudRenderLog{ - UserId: &parseInfo.RenderData.UserId, - GuestId: &parseInfo.RenderData.GuestId, - Title: &title, - Time: &timePinjie, - Tag: &parseInfo.RenderId, - Ctime: &now, - }) - if err != nil { - logx.Error(err) - } sendData := map[string]interface{}{ "id": parseInfo.TaskId, "order_id": 0, @@ -255,6 +139,6 @@ func (m *MqConsumerRenderAssemble) Run(ctx context.Context, data []byte) error { logx.Error("发送渲染组装数据到rabbitmq失败:", err) return err } - logx.Info("发送渲染组装数据到rabbitmq 成功") + logx.Info("发送渲染组装数据到unity成功") return nil } diff --git a/utils/websocket_data/render_data.go b/utils/websocket_data/render_data.go index dd6ab83c..282b8c75 100644 --- a/utils/websocket_data/render_data.go +++ b/utils/websocket_data/render_data.go @@ -12,12 +12,11 @@ type RenderImageReqMsg struct { RenderData RenderData `json:"render_data"` } type RenderData struct { - TemplateTagId int64 `json:"template_tag_id"` //模板标签id - ProductId int64 `json:"product_id"` //产品id - LogoId int64 `json:"logo_id"` - Data interface{} `json:"data"` //面片数据 - UserId int64 `json:"user_id"` //用户id(websocket连接建立再赋值) - GuestId int64 `json:"guest_id"` //游客id(websocket连接建立再赋值) + TemplateTagId int64 `json:"template_tag_id"` //模板标签id + ProductId int64 `json:"product_id"` //产品id + LogoId int64 `json:"logo_id"` + UserId int64 `json:"user_id"` //用户id(websocket连接建立再赋值) + GuestId int64 `json:"guest_id"` //游客id(websocket连接建立再赋值) } // websocket发送渲染完的数据