liuxiulin 2 年 前
コミット
bfd33850b7
2 ファイル変更20 行追加16 行削除
  1. 7 1
      pkg/models/rulechain.go
  2. 13 15
      services/knowoapi/services/rule_chain.go

+ 7 - 1
pkg/models/rulechain.go

@@ -17,7 +17,13 @@ type RuleChain struct {
 	DebugModel      bool   `gorm:"column:debug_model"`        //调试模式
 	DebugModel      bool   `gorm:"column:debug_model"`        //调试模式
 	Intro           string `gorm:"column:intro"`              //描述
 	Intro           string `gorm:"column:intro"`              //描述
 	VendorID        string `gorm:"column:vendor_id"`          //厂商ID
 	VendorID        string `gorm:"column:vendor_id"`          //厂商ID
-	Cell            Cells  `json:"cell"`
+}
+
+// RuleChainParams 更新规则链参数
+type RuleChainParams struct {
+	VendorId string `json:"vendor_id"` // 厂商id
+	RecordId string `json:"record_id"` // 记录id
+	Cell     Cells  `json:"cell"`
 }
 }
 
 
 type CreatChainReq struct {
 type CreatChainReq struct {

+ 13 - 15
services/knowoapi/services/rule_chain.go

@@ -22,7 +22,7 @@ var nodeType = map[string]string{
 type RuleChainService interface {
 type RuleChainService interface {
 	Create(*models.RuleChain) error
 	Create(*models.RuleChain) error
 	Delete(*models.RuleChain) error
 	Delete(*models.RuleChain) error
-	Update(*models.RuleChain) error
+	Update(*models.RuleChainParams) error
 	Query(int, int, string) ([]models.RuleChain, int, error)
 	Query(int, int, string) ([]models.RuleChain, int, error)
 	Get(vendorId, recordId string) (models.RuleChain, error)
 	Get(vendorId, recordId string) (models.RuleChain, error)
 	UpdateChainRoot(*models.RuleChain) error
 	UpdateChainRoot(*models.RuleChain) error
@@ -49,12 +49,7 @@ func (a ruleChainService) Get(vendorId, recordId string) (models.RuleChain, erro
 func (a ruleChainService) Create(ruleChain *models.RuleChain) error {
 func (a ruleChainService) Create(ruleChain *models.RuleChain) error {
 	ruleChain.RecordId = guid.S()
 	ruleChain.RecordId = guid.S()
 
 
-	err := a.create(ruleChain)
-	if err != nil {
-		return err
-	}
-
-	err = a.model.RuleChain.Create(ruleChain)
+	err := a.model.RuleChain.Create(ruleChain)
 	if err != nil {
 	if err != nil {
 		return err
 		return err
 	}
 	}
@@ -70,7 +65,7 @@ func (a ruleChainService) Create(ruleChain *models.RuleChain) error {
 	return nil
 	return nil
 }
 }
 
 
-func (a ruleChainService) create(ruleChain *models.RuleChain) error {
+func (a ruleChainService) create(ruleChain *models.RuleChainParams) error {
 	if len(ruleChain.Cell) == 0 {
 	if len(ruleChain.Cell) == 0 {
 		return nil
 		return nil
 	}
 	}
@@ -204,27 +199,30 @@ func (a ruleChainService) delete(ruleChain *models.RuleChain) error {
 	return nil
 	return nil
 }
 }
 
 
-func (a ruleChainService) Update(ruleChain *models.RuleChain) error {
-	err := a.delete(ruleChain)
+func (a ruleChainService) Update(params *models.RuleChainParams) error {
+	ruleChain, err := a.Get(params.VendorId, params.RecordId)
 	if err != nil {
 	if err != nil {
 		return err
 		return err
 	}
 	}
-	err = a.create(ruleChain)
+	err = a.delete(&ruleChain)
+	if err != nil {
+		return err
+	}
+	err = a.create(params)
 	if err != nil {
 	if err != nil {
 		return err
 		return err
 	}
 	}
-	fmt.Println("-----------------------------------")
 	fmt.Println(ruleChain.Configuration)
 	fmt.Println(ruleChain.Configuration)
-	err = a.model.RuleChain.Update(ruleChain)
+	err = a.model.RuleChain.Update(&ruleChain)
 	if err != nil {
 	if err != nil {
 		return err
 		return err
 	}
 	}
-	params := rpcs.ArgsRuleChainAct{
+	args := rpcs.ArgsRuleChainAct{
 		RuleChainId: ruleChain.RecordId,
 		RuleChainId: ruleChain.RecordId,
 		VendorId:    ruleChain.VendorID,
 		VendorId:    ruleChain.VendorID,
 	}
 	}
 	reply := new(rpcs.ReplyEmptyResult)
 	reply := new(rpcs.ReplyEmptyResult)
-	err = server.RPCCallByName(nil, rpcs.ControllerName, "Controller.UpdateRuleChain", &params, &reply)
+	err = server.RPCCallByName(nil, rpcs.ControllerName, "Controller.UpdateRuleChain", &args, &reply)
 	if err != nil {
 	if err != nil {
 		server.Log.Errorf("update ruleChan error : %v", err)
 		server.Log.Errorf("update ruleChan error : %v", err)
 	}
 	}