From 482fe65f34d1acf2483814821570c80c92547c5e Mon Sep 17 00:00:00 2001
From: liujiandao <274878379@qq.com>
Date: 星期二, 26 九月 2023 13:55:34 +0800
Subject: [PATCH] 位置字段修改

---
 controllers/location.go |   24 +++++++++++++++++++++---
 1 files changed, 21 insertions(+), 3 deletions(-)

diff --git a/controllers/location.go b/controllers/location.go
index 682c1f0..2d7946f 100644
--- a/controllers/location.go
+++ b/controllers/location.go
@@ -4,6 +4,7 @@
 	"errors"
 	"github.com/gin-gonic/gin"
 	"strconv"
+	"strings"
 	"wms/extend/code"
 	"wms/extend/util"
 	"wms/models"
@@ -30,6 +31,18 @@
 		util.ResponseFormat(c, code.RequestParamError, err)
 		return
 	}
+	if params.ParentId != 0 {
+		//鏌ヨ涓婄骇鍚嶇О
+		first, err := models.NewLocationSearch().SetParentId(params.ParentId).First()
+		if err != nil {
+			util.ResponseFormat(c, code.RequestParamError, "鏌ヨ涓婄骇鍚嶇О澶辫触")
+			return
+		}
+		params.JointName = first.JointName + "/" + params.Name
+	} else {
+		params.JointName = params.Name
+	}
+
 	err := models.NewLocationSearch().Create(&params)
 	if err != nil {
 		util.ResponseFormat(c, code.RequestParamError, "鍒涘缓澶辫触")
@@ -59,9 +72,6 @@
 	if err != nil {
 		util.ResponseFormat(c, code.RequestParamError, "鏌ユ壘澶辫触")
 		return
-	}
-	for _, location := range list {
-		location.JointName = location.ParentId + "/" + location.Name
 	}
 
 	util.ResponseFormatList(c, code.Success, list, int(total))
@@ -105,6 +115,14 @@
 		util.ResponseFormat(c, code.RequestParamError, err)
 		return
 	}
+	index := strings.LastIndex(params.JointName, "/")
+	if index > 0 {
+		jn := params.JointName[:index]
+		oldName := params.JointName[index+1:]
+		if oldName != params.Name {
+			params.JointName = jn + "/" + params.Name
+		}
+	}
 	err := models.NewLocationSearch().Update(&params)
 	if err != nil {
 		util.ResponseFormat(c, code.RequestParamError, "浣嶇疆淇℃伅鏇存柊澶辫触")

--
Gitblit v1.8.0