From b68185aed1a86536b01fdfbca6b2cca7bd71a50f Mon Sep 17 00:00:00 2001 From: zhangqian <zhangqian@123.com> Date: 星期六, 23 三月 2024 17:12:18 +0800 Subject: [PATCH] 增加token验证和数据权限过滤 --- controllers/order.go | 66 ++++++++++++++++++++++++++++++-- 1 files changed, 61 insertions(+), 5 deletions(-) diff --git a/controllers/order.go b/controllers/order.go index f627704..c527cf1 100644 --- a/controllers/order.go +++ b/controllers/order.go @@ -13,6 +13,7 @@ "outsourcing/request" "outsourcing/service" "outsourcing/service/outsourcing" + "outsourcing/utils/jwt" ) type OrderController struct{} @@ -30,7 +31,14 @@ util.ResponseFormat(c, code.RequestParamError, "鍙傛暟瑙f瀽澶辫触锛屾暟鎹被鍨嬮敊璇�") return } - list, total, err := models.NewOutsourcingOrderSearch().SetPage(params.Page, params.PageSize).SetKeyword(params.Keyword).SetOrder("id desc").Find() + + companyId := jwt.GetCompanyID(c) + if companyId == 0 { + util.ResponseFormat(c, code.InternalError, "鍐呴儴閿欒") + return + } + + list, total, err := models.NewOutsourcingOrderSearch().SetEnterpriseID(companyId).SetPage(params.Page, params.PageSize).SetKeyword(params.Keyword).SetOrder("id desc").Find() if err != nil { util.ResponseFormat(c, code.InternalError, "鏌ヨ閿欒") return @@ -45,7 +53,7 @@ // @Success 200 {object} util.ResponseList{data=request.OutsourcingOrderOverview} "鎴愬姛" // @Router /api-outsourcing/v1/order/overview [get] func (slf *OrderController) OrderOverview(c *gin.Context) { - result, err := models.NewOutsourcingOrderSearch().CountGroupByStatus() + result, err := models.NewOutsourcingOrderSearch().SetEnterpriseID(jwt.GetCompanyID(c)).CountGroupByStatus() if err != nil { util.ResponseFormat(c, code.InternalError, "鏌ヨ閿欒") return @@ -80,6 +88,13 @@ util.ResponseFormat(c, code.RequestParamError, "鍙傛暟缂哄け") return } + + _, err := models.NewOutsourcingOrderSearch().SetEnterpriseID(jwt.GetCompanyID(c)).SetID(params.OutsourcingOrderId).First() + if err != nil { + util.ResponseFormat(c, code.RequestParamError, "璁㈠崟涓嶅瓨鍦�") + return + } + list, total, err := models.NewOutsourcingOrderProductSearch().SetPage(params.Page, params.PageSize).SetOutsourcingOrderID(params.OutsourcingOrderId).SetOrder("id desc").Find() if err != nil { util.ResponseFormat(c, code.InternalError, "鏌ヨ閿欒") @@ -105,8 +120,15 @@ util.ResponseFormat(c, code.RequestParamError, "鐗╂枡鐢宠涓嶈兘涓虹┖") return } + + _, err := models.NewOutsourcingOrderSearch().SetEnterpriseID(jwt.GetCompanyID(c)).SetNumber(params.ApplyList[0].OutsourcingOrderNumber).First() + if err != nil { + util.ResponseFormat(c, code.RequestParamError, "璁㈠崟涓嶅瓨鍦�") + return + } + var apply []*models.OutsourcingMaterialApply - err := structx.AssignTo(params.ApplyList, &apply) + err = structx.AssignTo(params.ApplyList, &apply) if err != nil { util.ResponseFormat(c, code.RequestParamError, "鏁版嵁杞崲澶辫触") return @@ -141,6 +163,13 @@ util.ResponseFormat(c, code.RequestParamError, "鍙傛暟瑙f瀽澶辫触锛屾暟鎹被鍨嬮敊璇�") return } + + _, err := models.NewOutsourcingOrderSearch().SetEnterpriseID(jwt.GetCompanyID(c)).SetNumber(params.Number).First() + if err != nil { + util.ResponseFormat(c, code.RequestParamError, "璁㈠崟涓嶅瓨鍦�") + return + } + find, err := models.NewOutsourcingMaterialApplySearch().SetOutsourcingOrderNumber(params.Number).FindNotTotal() if err != nil { util.ResponseFormat(c, code.RequestParamError, "鏌ヨ澶辫触") @@ -162,6 +191,13 @@ util.ResponseFormat(c, code.RequestParamError, "鍙傛暟瑙f瀽澶辫触锛屾暟鎹被鍨嬮敊璇�") return } + + _, err := models.NewOutsourcingOrderSearch().SetEnterpriseID(jwt.GetCompanyID(c)).SetNumber(params.OutsourcingOrderNumber).First() + if err != nil { + util.ResponseFormat(c, code.RequestParamError, "璁㈠崟涓嶅瓨鍦�") + return + } + //闄愬畾鐘舵�佸弬鏁� if params.Status == constvar.OutsourcingOrderStatusCreate || //鍙栨秷纭 params.Status == constvar.OutsourcingOrderStatusWaitProduce || //纭鎺ュ彈 @@ -196,6 +232,12 @@ } if params.OutsourcingOrderID == 0 { util.ResponseFormat(c, code.RequestParamError, "鍙傛暟缂哄け") + return + } + + _, err := models.NewOutsourcingOrderSearch().SetEnterpriseID(jwt.GetCompanyID(c)).SetID(params.OutsourcingOrderID).First() + if err != nil { + util.ResponseFormat(c, code.RequestParamError, "璁㈠崟涓嶅瓨鍦�") return } @@ -236,6 +278,13 @@ util.ResponseFormat(c, code.RequestParamError, "鍙傛暟缂哄け") return } + + _, err := models.NewOutsourcingOrderSearch().SetEnterpriseID(jwt.GetCompanyID(c)).SetID(params.OutsourcingOrderID).First() + if err != nil { + util.ResponseFormat(c, code.RequestParamError, "璁㈠崟涓嶅瓨鍦�") + return + } + if len(params.DeliveryList) == 0 { util.ResponseFormat(c, code.RequestParamError, "鍙戣揣鍒楄〃涓嶈兘涓虹┖") return @@ -248,8 +297,8 @@ WaybillNumber: params.WaybillNumber, } - err := models.WithTransaction(func(db *gorm.DB) error { - err := models.NewOutsourcingOrderDeliverySearch().SetOrm(db).Create(delivery) + err = models.WithTransaction(func(db *gorm.DB) error { + err = models.NewOutsourcingOrderDeliverySearch().SetOrm(db).Create(delivery) if err != nil { return err } @@ -285,6 +334,13 @@ util.ResponseFormat(c, code.RequestParamError, "鍙傛暟瑙f瀽澶辫触锛屾暟鎹被鍨嬮敊璇�") return } + + _, err := models.NewOutsourcingOrderSearch().SetEnterpriseID(jwt.GetCompanyID(c)).SetID(params.OutsourcingOrderID).First() + if err != nil { + util.ResponseFormat(c, code.RequestParamError, "璁㈠崟涓嶅瓨鍦�") + return + } + list, err := models.NewOutsourcingOrderDeliveryDetailsSearch(). SetOutsourcingOrderID(params.OutsourcingOrderID). SetPreload(true). -- Gitblit v1.8.0