This commit is contained in:
laodaming 2023-10-11 14:19:22 +08:00
parent 2d897d26d0
commit 2b084bfdc9
3 changed files with 28 additions and 17 deletions

View File

@ -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),

View File

@ -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}))
}
// 发送渲染最终结果数据到前端

View File

@ -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"`
}