From f4508a84236a4aff1c7b5bfa17a14a8ff95728ba Mon Sep 17 00:00:00 2001 From: yinbentan <yinbentan@live.com> Date: 星期一, 08 七月 2024 09:45:10 +0800 Subject: [PATCH] 接口调用报错处理 --- controllers/location.go | 34 ++++++++++++++++++++++++++++++++-- 1 files changed, 32 insertions(+), 2 deletions(-) diff --git a/controllers/location.go b/controllers/location.go index e1102fa..90e6749 100644 --- a/controllers/location.go +++ b/controllers/location.go @@ -24,13 +24,19 @@ func (slf LocationController) AddLocation(c *gin.Context) { var params models.Location if err := c.BindJSON(¶ms); err != nil { - util.ResponseFormat(c, code.RequestParamError, "鍙傛暟瑙f瀽澶辫触锛屾暟鎹被鍨嬮敊璇�") + util.ResponseFormat(c, code.RequestParamError, "鍙傛暟瑙f瀽澶辫触锛屾暟鎹被鍨嬮敊璇�:"+err.Error()) return } if err := slf.CheckLocation(params); err != nil { util.ResponseFormat(c, code.RequestParamError, err) return } + + if params.WarehouseId == 0 { + util.ResponseFormat(c, code.RequestParamError, "浠撳簱ID鍙傛暟缂哄け") + return + } + if params.ParentId != 0 { //鏌ヨ涓婄骇鍚嶇О first, err := models.NewLocationSearch().SetID(params.ParentId).First() @@ -39,6 +45,19 @@ return } params.JointName = first.JointName + "/" + params.Name + if first.WarehouseId != 0 { + params.WarehouseId = first.WarehouseId + } else { + //鏍规嵁浠撳簱缂╁啓鏌ヨ浠撳簱 + houseCode := strings.Split(first.JointName, "/")[0] + warehouse, err := models.NewWarehouseSearch().SetCode(houseCode).First() + if err != nil { + util.ResponseFormat(c, code.RequestParamError, err) + return + } + params.WarehouseId = warehouse.Id + } + } else { params.JointName = params.Name } @@ -68,7 +87,10 @@ if params.PageInfo.Check() { search.SetPage(params.Page, params.PageSize) } - list, total, err := search.SetKeyword(params.KeyWord).SetType(params.Type).SetJointName(params.JointName).SetOrder("created_at desc").Find() + list, total, err := search.SetKeyword(params.KeyWord).SetType(params.Type).SetJointName(params.JointName). + SetIsScrapLocation(params.IsScrapLocation).SetOrder("created_at desc"). + SetWarehouseId(params.WarehouseId). + Find() if err != nil { util.ResponseFormat(c, code.RequestParamError, "鏌ユ壘澶辫触") return @@ -98,6 +120,14 @@ if location.ParentId == 0 { tree = append(tree, location) } else { + if _, ok := m[location.ParentId]; !ok { + tree = append(tree, location) + continue + } + if m[location.ParentId].Children == nil { + m[location.ParentId].Children = make([]*models.Location, 0) + } + m[location.ParentId].Children = append(m[location.ParentId].Children, location) } } -- Gitblit v1.8.0