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