|
@@ -48,7 +48,7 @@ func (e *EventService) SaveAsync(data *models.Event) error {
|
|
|
})
|
|
|
}
|
|
|
|
|
|
-// TODO:完成这里
|
|
|
+// TenantService 获取租户厂商
|
|
|
type TenantService struct {
|
|
|
}
|
|
|
|
|
@@ -56,7 +56,7 @@ func (t *TenantService) FindTenants() ([]*ruleEngine.Tenant, error) {
|
|
|
var arg int
|
|
|
var reply []*models.Vendor
|
|
|
var result []*ruleEngine.Tenant
|
|
|
- err := server.RPCCallByName(context.Background(), rpcs.RegistryServerName, "Registry.GetVendors", &arg, &reply)
|
|
|
+ err := server.RPCCallByName(context.Background(), rpcs.RegistryServerName, "Registry.GetVendors", &arg, &reply)
|
|
|
if err != nil {
|
|
|
return nil, err
|
|
|
}
|
|
@@ -79,3 +79,97 @@ func (t *TenantService) GetTenant(tId string) (*ruleEngine.Tenant, error) {
|
|
|
Name: reply.VendorName,
|
|
|
}, nil
|
|
|
}
|
|
|
+
|
|
|
+type RuleChainService struct{}
|
|
|
+
|
|
|
+func (a *RuleChainService) FindRuleChainById(tenantId, ruleChainId string) (*ruleEngine.RuleChain, error) {
|
|
|
+ var reply *models.RuleChain
|
|
|
+ err := server.RPCCallByName(context.TODO(), rpcs.RegistryServerName, "Registry.FindRuleChainById", &ruleChainId, &reply)
|
|
|
+ if err != nil {
|
|
|
+ return nil, err
|
|
|
+ }
|
|
|
+ return &ruleEngine.RuleChain{
|
|
|
+ TenantId: reply.VendorID,
|
|
|
+ Name: reply.Name,
|
|
|
+ FirstNodeId: reply.FirstRuleNodeID,
|
|
|
+ IsRoot: reply.Root,
|
|
|
+ IsDebug: reply.DebugModel,
|
|
|
+ Config: reply.Configuration,
|
|
|
+ ChainId: reply.RecordId,
|
|
|
+ }, nil
|
|
|
+}
|
|
|
+
|
|
|
+func (a *RuleChainService) FindRuleNodeById(tenantId, ruleNodeId string) (*ruleEngine.RuleNode, error) {
|
|
|
+ var reply *models.RuleNode
|
|
|
+ err := server.RPCCallByName(context.TODO(), rpcs.RegistryServerName, "Registry.FindRuleNodeById", &ruleNodeId, &reply)
|
|
|
+ if err != nil {
|
|
|
+ return nil, err
|
|
|
+ }
|
|
|
+ return &ruleEngine.RuleNode{
|
|
|
+ RuleChainId: reply.RuleChainID,
|
|
|
+ Type: reply.Type,
|
|
|
+ Name: reply.Name,
|
|
|
+ IsDebug: reply.DebugModel,
|
|
|
+ Config: reply.Configuration,
|
|
|
+ RuleNodeId: reply.RecordId,
|
|
|
+ }, nil
|
|
|
+}
|
|
|
+
|
|
|
+func (a *RuleChainService) GetRuleChainNodes(tenantId, ruleChainId string) ([]*ruleEngine.RuleNode, error) {
|
|
|
+ var reply []*models.RuleNode
|
|
|
+ var result []*ruleEngine.RuleNode
|
|
|
+ err := server.RPCCallByName(context.TODO(), rpcs.RegistryServerName, "Registry.FindRuleChainNodes", &ruleChainId, &reply)
|
|
|
+ if err != nil {
|
|
|
+ return nil, err
|
|
|
+ }
|
|
|
+ for _, node := range reply {
|
|
|
+ result = append(result, &ruleEngine.RuleNode{
|
|
|
+ RuleChainId: node.RuleChainID,
|
|
|
+ Type: node.Type,
|
|
|
+ Name: node.Name,
|
|
|
+ IsDebug: node.DebugModel,
|
|
|
+ Config: node.Configuration,
|
|
|
+ RuleNodeId: node.RecordId,
|
|
|
+ })
|
|
|
+ }
|
|
|
+ return result, nil
|
|
|
+}
|
|
|
+
|
|
|
+func (a *RuleChainService) FindRuleChains(tenantId string) ([]*ruleEngine.RuleChain, error) {
|
|
|
+ var reply []*models.RuleChain
|
|
|
+ var result []*ruleEngine.RuleChain
|
|
|
+ err := server.RPCCallByName(context.TODO(), rpcs.RegistryServerName, "Registry.FindRuleChains", &tenantId, &reply)
|
|
|
+ if err != nil {
|
|
|
+ return nil, err
|
|
|
+ }
|
|
|
+ for _, chain := range reply {
|
|
|
+ result = append(result, &ruleEngine.RuleChain{
|
|
|
+ TenantId: chain.VendorID,
|
|
|
+ Name: chain.Name,
|
|
|
+ FirstNodeId: chain.FirstRuleNodeID,
|
|
|
+ IsRoot: chain.Root,
|
|
|
+ IsDebug: chain.DebugModel,
|
|
|
+ Config: chain.Configuration,
|
|
|
+ ChainId: chain.RecordId,
|
|
|
+ })
|
|
|
+ }
|
|
|
+ return result, nil
|
|
|
+}
|
|
|
+
|
|
|
+func (a *RuleChainService) GetRuleNodeRelations(tenantId, nodeId string) ([]*ruleEngine.Relation, error) {
|
|
|
+ var reply []*models.Relation
|
|
|
+ var result []*ruleEngine.Relation
|
|
|
+ err := server.RPCCallByName(context.TODO(), rpcs.RegistryServerName, "Registry.GetRuleNodeRelations", &nodeId, &reply)
|
|
|
+ if err != nil {
|
|
|
+ return nil, err
|
|
|
+ }
|
|
|
+ for _, rel := range reply {
|
|
|
+ result = append(result, &ruleEngine.Relation{
|
|
|
+ From: rel.FromID,
|
|
|
+ To: rel.ToID,
|
|
|
+ Type: rel.RelationType,
|
|
|
+ RelationTypeGroup: 0,
|
|
|
+ })
|
|
|
+ }
|
|
|
+ return result, nil
|
|
|
+}
|