From f4508a84236a4aff1c7b5bfa17a14a8ff95728ba Mon Sep 17 00:00:00 2001
From: yinbentan <yinbentan@live.com>
Date: 星期一, 08 七月 2024 09:45:10 +0800
Subject: [PATCH] 接口调用报错处理
---
controllers/warehouse.go | 68 +++++++++++++++++++---------------
1 files changed, 38 insertions(+), 30 deletions(-)
diff --git a/controllers/warehouse.go b/controllers/warehouse.go
index f9b54c9..087679e 100644
--- a/controllers/warehouse.go
+++ b/controllers/warehouse.go
@@ -12,7 +12,6 @@
"wms/extend/code"
"wms/extend/util"
"wms/models"
- "wms/pkg/logx"
"wms/pkg/structx"
"wms/request"
)
@@ -42,36 +41,46 @@
util.ResponseFormat(c, code.RequestParamError, err.Error())
return
}
- //鍒涘缓瑙嗗浘
- view := &models.Location{
- Name: params.Code,
- JointName: params.Code,
- Type: constvar.LocationTypeView,
- }
- id, err := models.NewLocationSearch().CreateReturnId(view)
- if err != nil {
- util.ResponseFormat(c, code.SaveFail, "瑙嗗浘鍒涘缓澶辫触")
- return
- }
- //鍒涘缓榛樿浣嶇疆
- location := &models.Location{
- Name: "榛樿浣嶇疆",
- JointName: params.Code + "/榛樿浣嶇疆",
- Type: constvar.LocationTypeInternal,
- ReplenishLocation: true,
- ParentId: id,
- }
- locationId, err := models.NewLocationSearch().CreateReturnId(location)
- if err != nil {
- util.ResponseFormat(c, code.SaveFail, "浣嶇疆鍒涘缓澶辫触")
- return
- }
- params.LocationId = locationId
- err = models.WithTransaction(func(tx *gorm.DB) error {
+
+ err := models.WithTransaction(func(tx *gorm.DB) error {
err := models.NewWarehouseSearch().SetOrm(tx).Create(¶ms)
if err != nil {
return err
}
+
+ //鍒涘缓瑙嗗浘
+ view := &models.Location{
+ Name: params.Code,
+ JointName: params.Code,
+ Type: constvar.LocationTypeView,
+ WarehouseId: params.Id,
+ }
+ viewId, err := models.NewLocationSearch().CreateReturnId(view)
+ if err != nil {
+ return err
+ }
+
+ //鍒涘缓榛樿浣嶇疆
+ location := &models.Location{
+ Name: params.Name,
+ JointName: params.Name,
+ Type: constvar.LocationTypeInternal,
+ ReplenishLocation: true,
+ ParentId: viewId,
+ WarehouseId: params.Id,
+ }
+ locationId, err := models.NewLocationSearch().SetOrm(tx).CreateReturnId(location)
+ if err != nil {
+ return err
+ }
+
+ //鏇存敼浠撳簱璁板綍閲岀殑浣嶇疆id
+ params.LocationId = locationId
+ err = models.NewWarehouseSearch().SetOrm(tx).SetID(params.Id).UpdateByMap(map[string]interface{}{"location_id": locationId})
+ if err != nil {
+ return err
+ }
+
//鍒涘缓涓変釜榛樿鎿嶄綔绫诲瀷
var types []*models.OperationType
inType := &models.OperationType{
@@ -95,9 +104,8 @@
err = models.NewOperationTypeSearch().SetOrm(tx).CreateBatch(types)
return err
})
+
if err != nil {
- _ = models.NewLocationSearch().SetID(locationId).Delete()
- logx.Errorf("warehouse create err: %v", err)
util.ResponseFormat(c, code.SaveFail, "鎻掑叆澶辫触")
return
}
@@ -238,7 +246,7 @@
for _, warehouse := range list {
for _, location := range locations {
if warehouse.LocationId == location.Id {
- warehouse.WarehouseLocation = warehouse.Code + "/" + location.Name
+ warehouse.WarehouseLocation = location.Name
break
}
}
--
Gitblit v1.8.0