From 1444c7c800fc042cd99213e901d6ad3722d0f03f Mon Sep 17 00:00:00 2001 From: jiangshuai <291802688@qq.com> Date: 星期三, 27 九月 2023 16:13:53 +0800 Subject: [PATCH] 1.二期一部分代码 --- controllers/operation.go | 28 ++++++++++++++++++++++++++++ 1 files changed, 28 insertions(+), 0 deletions(-) diff --git a/controllers/operation.go b/controllers/operation.go index 9a87ab0..fa8137d 100644 --- a/controllers/operation.go +++ b/controllers/operation.go @@ -6,6 +6,7 @@ "github.com/gin-gonic/gin" "github.com/shopspring/decimal" "gorm.io/gorm" + "sort" "strconv" "time" "wms/constvar" @@ -46,6 +47,12 @@ util.ResponseFormat(c, code.RequestParamError, err.Error()) return } + + if CheckDetailsRepeat(params.Details) { + util.ResponseFormat(c, code.RequestParamError, "鏄庣粏涓笉鑳藉瓨鍦ㄩ噸澶嶇殑浜у搧") + return + } + operationType, err := models.NewOperationTypeSearch().SetID(uint(params.OperationTypeId)).First() if err != nil { util.ResponseFormat(c, code.RequestParamError, err.Error()) @@ -61,6 +68,23 @@ return } util.ResponseFormat(c, code.Success, "娣诲姞鎴愬姛") +} + +func CheckDetailsRepeat(details []*models.OperationDetails) bool { + detailIDs := []string{} + var tempID string + for _, v := range details { + detailIDs = append(detailIDs, v.ProductId) + } + sort.Strings(detailIDs) + for _, v := range detailIDs { + if v != tempID { + tempID = v + } else { + return true + } + } + return false } func (slf OperationController) FormatLocation(params *models.Operation) error { @@ -202,6 +226,10 @@ util.ResponseFormat(c, code.RequestParamError, err.Error()) return } + if CheckDetailsRepeat(params.Details) { + util.ResponseFormat(c, code.RequestParamError, "鏄庣粏涓笉鑳藉瓨鍦ㄩ噸澶嶇殑浜у搧") + return + } if err := slf.FormatLocation(¶ms); err != nil { util.ResponseFormat(c, code.RequestParamError, err.Error()) return -- Gitblit v1.8.0