rule_chain_service.go 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. package ruleEngine
  2. type RuleChainService interface {
  3. // 根据id查询规则链数据
  4. FindRuleChainById(tenantId, ruleChainId string) (*RuleChain, error)
  5. // 根据id查询规则节点数据
  6. FindRuleNodeById(tenantId, ruleNodeId string) (*RuleNode, error)
  7. // 查询规则链的节点列表
  8. GetRuleChainNodes(tenantId, ruleChainId string) ([]*RuleNode, error)
  9. // 查询租户的全部规则链
  10. FindRuleChains(tenantId string) ([]*RuleChain, error)
  11. // 查询节点的连接关系列表
  12. GetRuleNodeRelations(tenantId, nodeId string) ([]*Relation, error)
  13. }
  14. type TestRuleChainService struct {
  15. }
  16. func (t *TestRuleChainService) GetRuleNodeRelations(tenantId, nodeId string) ([]*Relation, error) {
  17. return []*Relation{
  18. {
  19. From: "node1",
  20. To: "node2",
  21. Type: "True",
  22. RelationTypeGroup: COMMON,
  23. },
  24. }, nil
  25. }
  26. func (t *TestRuleChainService) FindRuleChainById(tenantId, ruleChainId string) (*RuleChain, error) {
  27. return &RuleChain{
  28. TenantId: "tenant_1",
  29. Name: "test rule chain 1",
  30. FirstNodeId: "node1",
  31. IsDebug: false,
  32. IsRoot: true,
  33. Config: "",
  34. ChainId: "chain id 1",
  35. }, nil
  36. }
  37. func (t *TestRuleChainService) FindRuleNodeById(tenantId, ruleNodeId string) (*RuleNode, error) {
  38. switch ruleNodeId {
  39. case "node1":
  40. return &RuleNode{
  41. RuleChainId: "chain id 1",
  42. Type: "MsgTypeFilterNode",
  43. Name: "filternode1",
  44. IsDebug: false,
  45. Config: "",
  46. RuleNodeId: "node1",
  47. }, nil
  48. case "node2":
  49. return &RuleNode{
  50. RuleChainId: "chain id 2",
  51. Type: "MsgTypeFilterNode",
  52. Name: "filternode2",
  53. IsDebug: false,
  54. Config: "",
  55. RuleNodeId: "node2",
  56. }, nil
  57. }
  58. return nil, nil
  59. }
  60. func (t *TestRuleChainService) GetRuleChainNodes(tenantId, ruleChainId string) ([]*RuleNode, error) {
  61. return []*RuleNode{
  62. {
  63. RuleChainId: "chain id 1",
  64. Type: "MsgTypeFilterNode",
  65. Name: "filternode",
  66. IsDebug: false,
  67. Config: "",
  68. RuleNodeId: "node1",
  69. },
  70. {
  71. RuleChainId: "chain id 2",
  72. Type: "MsgTypeFilterNode",
  73. Name: "filternode",
  74. IsDebug: false,
  75. Config: "",
  76. RuleNodeId: "node2",
  77. },
  78. }, nil
  79. }
  80. func (t *TestRuleChainService) FindRuleChains(tenantId string) ([]*RuleChain, error) {
  81. return []*RuleChain{
  82. {
  83. TenantId: "tenant_1",
  84. Name: "test rule chain 1",
  85. FirstNodeId: "node1",
  86. IsDebug: false,
  87. IsRoot: true,
  88. Config: "",
  89. ChainId: "chain id 1",
  90. },
  91. }, nil
  92. }