From cf52ffa925a521d7bac29f740923a65660276679 Mon Sep 17 00:00:00 2001 From: jiangshuai <291802688@qq.com> Date: 星期一, 30 十月 2023 19:42:21 +0800 Subject: [PATCH] Merge branch 'master' of http://192.168.5.5:10010/r/aps/WMS --- controllers/operation.go | 19 +++++++++++++++++-- 1 files changed, 17 insertions(+), 2 deletions(-) diff --git a/controllers/operation.go b/controllers/operation.go index 6ac7bae..5bd16ef 100644 --- a/controllers/operation.go +++ b/controllers/operation.go @@ -1,11 +1,13 @@ package controllers import ( + "encoding/json" "errors" "fmt" "github.com/gin-gonic/gin" "github.com/shopspring/decimal" "gorm.io/gorm" + "os" "sort" "strconv" "time" @@ -13,6 +15,7 @@ "wms/extend/code" "wms/extend/util" "wms/models" + "wms/opa" "wms/pkg/logx" "wms/pkg/structx" "wms/request" @@ -489,8 +492,20 @@ if !ok { return errors.New("浜у搧绉嶇被寮傚父") } - if v.Amount.LessThan(value) { - return errors.New(fmt.Sprintf("浜у搧锛�%v,搴撳瓨锛�%v,鍑哄簱锛�%v,鏁伴噺涓嶅锛屾棤娉曞畬鎴愬嚭搴撴搷浣�", v.Name, v.Amount.String(), value.String())) + //todo 婕旂ず娴嬭瘯鏁版嵁 + data, err := os.ReadFile("conf/input.json") + if err != nil { + return errors.New("鏂囦欢璇诲彇澶辫触") + } + m := make(map[string]interface{}) + err = json.Unmarshal(data, &m) + if err != nil { + return errors.New("鏍煎紡杞崲澶辫触") + } + if opa.OpaCheck(c, m, "operation") { + if v.Amount.LessThan(value) { + return errors.New(fmt.Sprintf("浜у搧锛�%v,搴撳瓨锛�%v,鍑哄簱锛�%v,鏁伴噺涓嶅锛屾棤娉曞畬鎴愬嚭搴撴搷浣�", v.Name, v.Amount.String(), value.String())) + } } listProdt[k].Amount = listProdt[k].Amount.Sub(value) if err := tx.Save(listProdt[k]).Error; err != nil { -- Gitblit v1.8.0