diff --git a/server/websocket/internal/logic/rendernotifylogic.go b/server/websocket/internal/logic/rendernotifylogic.go index c671d6b4..484d1795 100644 --- a/server/websocket/internal/logic/rendernotifylogic.go +++ b/server/websocket/internal/logic/rendernotifylogic.go @@ -61,6 +61,7 @@ func (l *RenderNotifyLogic) RenderNotify(req *types.RenderNotifyReq, userinfo *a //重新赋值(很重要) wid := info.Wid renderId := info.RenderId + requestId := info.RequestId unityRenderBeginTime := info.RenderBeginTime //获取连接 value, wsConnectOk := mapConnPool.Load(wid) @@ -96,8 +97,9 @@ func (l *RenderNotifyLogic) RenderNotify(req *types.RenderNotifyReq, userinfo *a } //发送到出口 ws.sendRenderResultData(websocket_data.RenderImageRspMsg{ - RenderId: renderId, - Image: uploadRes.ResourceUrl, + RenderId: renderId, + RequestId: requestId, + Image: uploadRes.ResourceUrl, RenderProcessTime: websocket_data.RenderProcessTime{ UnityRenderTakesTime: fmt.Sprintf("%dms", unityRenderEndTime-unityRenderBeginTime), UploadUnityRenderImageTakesTime: fmt.Sprintf("%dms", uploadUnityRenderImageTakesTime), diff --git a/server/websocket/internal/logic/ws_render_image.go b/server/websocket/internal/logic/ws_render_image.go index 3a8b52b8..a3b30c9e 100644 --- a/server/websocket/internal/logic/ws_render_image.go +++ b/server/websocket/internal/logic/ws_render_image.go @@ -250,7 +250,7 @@ func (w *wsConnectItem) renderImage(renderImageData websocket_data.RenderImageRe return } //发送合图完毕阶段消息 - w.sendCombineImageStepResponseMessage(renderImageData.RenderId, combineImage, productSize.Id, model3dInfo.Id, productTemplate.Id, res.DiffTimeLogoCombine, res.DiffTimeUploadFile) + w.sendCombineImageStepResponseMessage(renderImageData.RenderId, renderImageData.RequestId, combineImage, productSize.Id, model3dInfo.Id, productTemplate.Id, res.DiffTimeLogoCombine, res.DiffTimeUploadFile) //获取唯一id taskId := w.genRenderTaskId(combineImage, renderImageData, model3dInfo, productTemplate, element) //查询有没有缓存的资源,有就返回 @@ -265,8 +265,9 @@ func (w *wsConnectItem) renderImage(renderImageData websocket_data.RenderImageRe } else { //返回给客户端 w.sendRenderResultData(websocket_data.RenderImageRspMsg{ - RenderId: renderImageData.RenderId, - Image: *resource.ResourceUrl, + RenderId: renderImageData.RenderId, + RequestId: renderImageData.RequestId, + Image: *resource.ResourceUrl, RenderProcessTime: websocket_data.RenderProcessTime{ UnityRenderTakesTime: "cache", UploadUnityRenderImageTakesTime: "cache", @@ -392,11 +393,12 @@ func (w *wsConnectItem) assembleRenderDataToUnity(taskId string, combineImage st }, } //发送运行阶段消息(组装数据) - w.sendAssembleRenderDataStepResponseMessage(info.RenderId) + w.sendAssembleRenderDataStepResponseMessage(info.RenderId, info.RequestId) temId := websocket_data.ToUnityIdStruct{ TaskId: taskId, Wid: w.uniqueId, RenderId: info.RenderId, + RequestId: info.RequestId, RenderBeginTime: time.Now().UTC().UnixMilli(), TemplateTag: info.RenderData.TemplateTag, } @@ -431,13 +433,13 @@ func (w *wsConnectItem) assembleRenderDataToUnity(taskId string, combineImage st return err } //发送运行阶段消息 - w.sendRenderDataToUnityStepResponseMessage(info.RenderId) + w.sendRenderDataToUnityStepResponseMessage(info.RenderId, info.RequestId) logx.Info("发送到unity成功,刀版图:", combineImage /*, " 请求unity的数据:", string(postDataBytes)*/) return nil } // 发送合图完毕阶段通知消息 -func (w *wsConnectItem) sendCombineImageStepResponseMessage(renderId, combineImage string, sizeId, modelId, templateId, combineTime, uploadTime int64) { +func (w *wsConnectItem) sendCombineImageStepResponseMessage(renderId, requestId, combineImage string, sizeId, modelId, templateId, combineTime, uploadTime int64) { combineTakesTime := "cache" uploadCombineImageTakesTime := "cache" if combineTime > 0 { @@ -448,6 +450,7 @@ func (w *wsConnectItem) sendCombineImageStepResponseMessage(renderId, combineIma } w.sendToOutChan(w.respondDataFormat(constants.WEBSOCKET_COMBINE_IMAGE, websocket_data.CombineImageRspMsg{ RenderId: renderId, + RequestId: requestId, CombineImage: combineImage, SizeId: sizeId, ModelId: modelId, @@ -460,13 +463,13 @@ func (w *wsConnectItem) sendCombineImageStepResponseMessage(renderId, combineIma } // 发送组装unity渲染数据完毕阶段通知消息 -func (w *wsConnectItem) sendAssembleRenderDataStepResponseMessage(renderId string) { - w.sendToOutChan(w.respondDataFormat(constants.WEBSOCKET_ASSEMBLE_RENDER_DATA, websocket_data.ToUnityRspMsg{RenderId: renderId})) +func (w *wsConnectItem) sendAssembleRenderDataStepResponseMessage(renderId string, requestId string) { + w.sendToOutChan(w.respondDataFormat(constants.WEBSOCKET_ASSEMBLE_RENDER_DATA, websocket_data.ToUnityRspMsg{RenderId: renderId, RequestId: requestId})) } // 发送组装unity渲染数据完毕阶段通知消息 -func (w *wsConnectItem) sendRenderDataToUnityStepResponseMessage(renderId string) { - w.sendToOutChan(w.respondDataFormat(constants.WEBSOCKET_SEND_DATA_TO_UNITY, websocket_data.AssembleRenderDataRspMsg{RenderId: renderId})) +func (w *wsConnectItem) sendRenderDataToUnityStepResponseMessage(renderId string, requestId string) { + w.sendToOutChan(w.respondDataFormat(constants.WEBSOCKET_SEND_DATA_TO_UNITY, websocket_data.AssembleRenderDataRspMsg{RenderId: renderId, RequestId: requestId})) } // 发送渲染最终结果数据到前端 diff --git a/utils/websocket_data/render_data.go b/utils/websocket_data/render_data.go index e407cccf..bcca7309 100644 --- a/utils/websocket_data/render_data.go +++ b/utils/websocket_data/render_data.go @@ -10,7 +10,8 @@ type DataTransferData struct { // websocket接受要云渲染处理的数据 type RenderImageReqMsg struct { - RenderId string `json:"render_id"` //渲染id + RenderId string `json:"render_id"` //渲染id + RequestId string `json:"request_id"` RenderData RenderData `json:"render_data"` //渲染主要参数 } type RenderData struct { @@ -35,7 +36,8 @@ type TemplateTagColor struct { // websocket发送渲染完的数据 type RenderImageRspMsg struct { - RenderId string `json:"render_id"` //渲染id + RenderId string `json:"render_id"` //渲染id + RequestId string `json:"request_id"` Image string `json:"image"` //渲染结果图片 RenderProcessTime RenderProcessTime `json:"render_process_time"` //流程耗时 } @@ -46,7 +48,8 @@ type RenderProcessTime struct { // 合图返回数据 type CombineImageRspMsg struct { - RenderId string `json:"render_id"` //渲染id + RenderId string `json:"render_id"` //渲染id + RequestId string `json:"request_id"` CombineImage string `json:"combine_image"` //刀版图 SizeId int64 `json:"size_id"` //尺寸id ModelId int64 `json:"model_id"` @@ -60,12 +63,14 @@ type CombineProcessTime struct { // 发送到组装渲染阶段信息返回数据 type AssembleRenderDataRspMsg struct { - RenderId string `json:"render_id"` //渲染id + RenderId string `json:"render_id"` //渲染id + RequestId string `json:"request_id"` } // 发送到unity阶段信息返回数据 type ToUnityRspMsg struct { - RenderId string `json:"render_id"` //渲染id + RenderId string `json:"render_id"` //渲染id + RequestId string `json:"request_id"` } // 发送到unity结构中id的结构 @@ -73,6 +78,7 @@ type ToUnityIdStruct struct { TaskId string `json:"task_id"` Wid string `json:"wid"` RenderId string `json:"render_id"` + RequestId string `json:"request_id"` RenderBeginTime int64 `json:"render_begin_time"` TemplateTag string `json:"template_tag"` }