From c3674bb7da03b5d648f072e3b001abe1c54ec6ab Mon Sep 17 00:00:00 2001
From: laodaming <11058467+laudamine@user.noreply.gitee.com>
Date: Tue, 5 Sep 2023 10:20:39 +0800
Subject: [PATCH] fix

---
 .../internal/logic/rendernotifylogic.go       | 15 +----
 .../internal/logic/ws_render_image.go         | 57 ++++++++-----------
 2 files changed, 27 insertions(+), 45 deletions(-)

diff --git a/server/websocket/internal/logic/rendernotifylogic.go b/server/websocket/internal/logic/rendernotifylogic.go
index b31b0b36..0082e0c2 100644
--- a/server/websocket/internal/logic/rendernotifylogic.go
+++ b/server/websocket/internal/logic/rendernotifylogic.go
@@ -92,20 +92,9 @@ func (l *RenderNotifyLogic) RenderNotify(req *types.RenderNotifyReq, userinfo *a
 			return resp.SetStatusWithMessage(basic.CodeFileUploadErr, "渲染回调断言websocket连接失败")
 		}
 		//记录收到unity渲染结果时间以及上传渲染图耗时时间
-		ws.modifyRenderTaskProperty(renderImageControlChanItem{
-			option: 2,
-			taskId: req.TaskId,
-			taskProperty: renderTask{
-				unityRenderEndTime:              unityRenderEndTime,
-				uploadUnityRenderImageTakesTime: uploadUnityRenderImageTakesTime,
-			},
-		})
+		ws.modifyRenderTaskProperty(req.TaskId, renderTask{unityRenderEndTime: unityRenderEndTime, uploadUnityRenderImageTakesTime: uploadUnityRenderImageTakesTime})
 		//发送处理并删除任务
-		ws.deleteRenderTask(renderImageControlChanItem{
-			option:               0, //0删除 1添加 2修改耗时属性
-			taskId:               req.TaskId,
-			renderNotifyImageUrl: uploadRes.ResourceUrl,
-		})
+		ws.deleteRenderTask(req.TaskId, uploadRes.ResourceUrl)
 	}
 	logx.Info("渲染回调成功,渲染结果图片为:", uploadRes.ResourceUrl)
 	return resp.SetStatusWithMessage(basic.CodeOK, "success")
diff --git a/server/websocket/internal/logic/ws_render_image.go b/server/websocket/internal/logic/ws_render_image.go
index ea79c50b..a6e9a76a 100644
--- a/server/websocket/internal/logic/ws_render_image.go
+++ b/server/websocket/internal/logic/ws_render_image.go
@@ -200,20 +200,9 @@ func (w *wsConnectItem) renderImage(data []byte) {
 	}
 	//###########################################
 	//把需要渲染的图片任务加进去
-	w.createRenderTask(renderImageControlChanItem{
-		option:   1, //0删除 1添加 2修改耗时属性
-		taskId:   taskId,
-		renderId: renderImageData.RenderId,
-	})
+	w.createRenderTask(taskId, renderImageData.RenderId)
 	//记录刀版图合成消耗时间跟上传刀版图时间以及刀版图
-	w.modifyRenderTaskProperty(renderImageControlChanItem{
-		option: 2,
-		taskId: taskId,
-		taskProperty: renderTask{
-			combineTakesTime:            res.DiffTimeLogoCombine,
-			uploadCombineImageTakesTime: res.DiffTimeUploadFile,
-		},
-	})
+	w.modifyRenderTaskProperty(taskId, renderTask{combineTakesTime: res.DiffTimeLogoCombine, uploadCombineImageTakesTime: res.DiffTimeUploadFile})
 	//组装数据
 	if err = w.assembleRenderDataToUnity(taskId, combineImage, renderImageData, productTemplate, model3dInfo, element, productSize); err != nil {
 		logx.Error("组装数据失败:", err)
@@ -398,13 +387,7 @@ func (w *wsConnectItem) assembleRenderDataToUnity(taskId string, combineImage st
 		return err
 	}
 	//记录发送到unity时间
-	w.modifyRenderTaskProperty(renderImageControlChanItem{
-		option: 2,
-		taskId: taskId,
-		taskProperty: renderTask{
-			unityRenderBeginTime: unityRenderBeginTime,
-		},
-	})
+	w.modifyRenderTaskProperty(taskId, renderTask{unityRenderBeginTime: unityRenderBeginTime})
 	//发送运行阶段消息
 	w.sendRenderDataToUnityStepResponseMessage(info.RenderId)
 	logx.Info("发送到unity成功,刀版图:", combineImage, "  请求unity的数据:", string(postDataBytes))
@@ -439,17 +422,20 @@ func (w *wsConnectItem) sendRenderResultData(data websocket_data.RenderImageRspM
 }
 
 // 增加渲染任务
-func (w *wsConnectItem) createRenderTask(data renderImageControlChanItem) {
-	if data.taskId == "" {
+func (w *wsConnectItem) createRenderTask(taskId, renderId string) {
+	if taskId == "" {
 		logx.Error("task_id不能为空")
 		return
 	}
-	if data.renderId == "" {
+	if renderId == "" {
 		logx.Error("render_id不能为空")
 		return
 	}
-	//强制设为增加
-	data.option = 1
+	data := renderImageControlChanItem{
+		option:   1,
+		taskId:   taskId,
+		renderId: renderId,
+	}
 	select {
 	case <-w.closeChan: //关闭
 		return
@@ -461,13 +447,16 @@ func (w *wsConnectItem) createRenderTask(data renderImageControlChanItem) {
 }
 
 // 渲染回调处理并删除渲染任务
-func (w *wsConnectItem) deleteRenderTask(data renderImageControlChanItem) {
-	if data.taskId == "" {
+func (w *wsConnectItem) deleteRenderTask(taskId, renderNotifyImageUrl string) {
+	if taskId == "" {
 		logx.Error("task_id不能为空")
 		return
 	}
-	//强制设为删除
-	data.option = 0
+	data := renderImageControlChanItem{
+		option:               0,
+		taskId:               taskId,
+		renderNotifyImageUrl: renderNotifyImageUrl,
+	}
 	select {
 	case <-w.closeChan: //关闭
 		return
@@ -479,13 +468,17 @@ func (w *wsConnectItem) deleteRenderTask(data renderImageControlChanItem) {
 }
 
 // 修改任务属性(只有耗时属性可以更新)
-func (w *wsConnectItem) modifyRenderTaskProperty(data renderImageControlChanItem) {
-	if data.taskId == "" {
+func (w *wsConnectItem) modifyRenderTaskProperty(taskId string, property renderTask) {
+	if taskId == "" {
 		logx.Error("task_id不能为空")
 		return
 	}
 	//强制设为修改任务属性
-	data.option = 2
+	data := renderImageControlChanItem{
+		option:       2,
+		taskId:       taskId,
+		taskProperty: property,
+	}
 	select {
 	case <-w.closeChan: //关闭
 		return