From 72e41acfd7beda596b426af683024cdfb86c3ea7 Mon Sep 17 00:00:00 2001 From: panlei <2799247126@qq.com> Date: 星期一, 19 八月 2019 09:52:46 +0800 Subject: [PATCH] so外加控制 --- ruleserver/ruleToformula.go | 102 ++++++++++++++++++++++++++------------------------ 1 files changed, 53 insertions(+), 49 deletions(-) diff --git a/ruleserver/ruleToformula.go b/ruleserver/ruleToformula.go index 6602eb0..7d9825f 100644 --- a/ruleserver/ruleToformula.go +++ b/ruleserver/ruleToformula.go @@ -151,34 +151,36 @@ polygonId := "" // 鍏堣繃瀹屾潯浠惰鍒� for j := 0; j < len(groupRule.Rules); j++ { - for _, sdkData := range args.Sdkdata { - // 鏍规嵁瑙勫垯鐨剆dkId鏌ュ嚭鍏跺搴旂殑ipcId锛岀敤ipcId鍘绘壘璇ユ瘮瀵圭殑鏁版嵁 - sdk, err := cache.GetSdkById(groupRule.Rules[j].SdkId) - if err != nil { - logger.Error("娌℃煡鍒皊dk鐨勪俊鎭�---", err) - } - ipcId := sdk.IpcId - sdkName := sdk.SdkName - //logger.Info("瑙勫垯鐨刬pcId涓巗dkData鐨処pcId:", ipcId, "===", sdkData.IpcId) - if ipcId == sdkData.IpcId { - //logger.Info("褰撳墠璧扮殑瑙勫垯鏄�--锛�", sdkName, "---","") - for _, areaMap := range sdkData.AreaMapList { - ruleResult := CallSo(sdk.Id,groupRule.Rules[j],areaMap) - if ruleResult.Result != "" { - logger.Info("鏉′欢瑙勫垯缁撴灉锛�", ruleResult.Result) - // 濡傛灉缁撴灉涓虹湡锛屾妸杩欐潯瑙勫垯涓殑鍖哄煙缃负鏈夋晥 - if strings.Contains(ruleResult.Result, "true") { - areaMap.IsEffective = true + if groupRule.Rules[j].SdkArgAlias == "score" || groupRule.Rules[j].SdkArgAlias == "proportion" || groupRule.Rules[j].SdkArgAlias == "size" { + for _, sdkData := range args.Sdkdata { + // 鏍规嵁瑙勫垯鐨剆dkId鏌ュ嚭鍏跺搴旂殑ipcId锛岀敤ipcId鍘绘壘璇ユ瘮瀵圭殑鏁版嵁 + sdk, err := cache.GetSdkById(groupRule.Rules[j].SdkId) + if err != nil { + logger.Error("娌℃煡鍒皊dk鐨勪俊鎭�---", err) + } + ipcId := sdk.IpcId + sdkName := sdk.SdkName + //logger.Info("瑙勫垯鐨刬pcId涓巗dkData鐨処pcId:", ipcId, "===", sdkData.IpcId) + if ipcId == sdkData.IpcId { + //logger.Info("褰撳墠璧扮殑瑙勫垯鏄�--锛�", sdkName, "---","") + for _, areaMap := range sdkData.AreaMapList { + ruleResult := CallSo(sdk.Id,groupRule.Rules[j],areaMap) + if ruleResult.Result != "" { + logger.Info("鏉′欢瑙勫垯缁撴灉锛�", ruleResult.Result) + // 濡傛灉缁撴灉涓虹湡锛屾妸杩欐潯瑙勫垯涓殑鍖哄煙缃负鏈夋晥 + if strings.Contains(ruleResult.Result, "true") { + areaMap.IsEffective = true + } + // 濡傛灉姝ょ粨鏋滀负鐪熶笖褰撳墠杩囩殑鏄痽olo绠楁硶锛屽簲璁颁笅姝よ鍒欐墍瀵瑰簲鐨剆dkName,鍙﹀锛岃繕瑕佸幓閲� (鍚庡姞锛氭妸姝ゆ潯瑙︾鐨勫尯鍩焛d涔熻褰曚笅鏉�) + if strings.Contains(ruleResult.Result, "true") && ipcId == "02D54B61-0F16-C604-8567-FC4BE493C523" && !strings.Contains(sdkNames, sdkName) { + sdkNames = sdkName + "," + polygonId = groupRule.Rules[j].PolygonId + "," + } + if strings.Contains(ruleResult.Result, "true") && ipcId == "02D54B61-0F16-C604-8567-FC4BE493C523" && !strings.Contains(polygonId, groupRule.Rules[j].PolygonId) { + polygonId = groupRule.Rules[j].PolygonId + "," + } + resultSplice = append(resultSplice, &ruleResult) } - // 濡傛灉姝ょ粨鏋滀负鐪熶笖褰撳墠杩囩殑鏄痽olo绠楁硶锛屽簲璁颁笅姝よ鍒欐墍瀵瑰簲鐨剆dkName,鍙﹀锛岃繕瑕佸幓閲� (鍚庡姞锛氭妸姝ゆ潯瑙︾鐨勫尯鍩焛d涔熻褰曚笅鏉�) - if strings.Contains(ruleResult.Result, "true") && ipcId == "02D54B61-0F16-C604-8567-FC4BE493C523" && !strings.Contains(sdkNames, sdkName) { - sdkNames = sdkName + "," - polygonId = groupRule.Rules[j].PolygonId + "," - } - if strings.Contains(ruleResult.Result, "true") && ipcId == "02D54B61-0F16-C604-8567-FC4BE493C523" && !strings.Contains(polygonId, groupRule.Rules[j].PolygonId) { - polygonId = groupRule.Rules[j].PolygonId + "," - } - resultSplice = append(resultSplice, &ruleResult) } } } @@ -187,29 +189,31 @@ // 鍐嶈繃鍏朵粬鏁版嵁 杩欐鐩存帴寰楀埌缁撴灉锛堢湡鎴栧亣锛� 杩囩洰鏍囨暟閲� for j := 0; j < len(groupRule.Rules); j++ { - for _, sdkData := range args.Sdkdata { - // 鏍规嵁瑙勫垯鐨剆dkId鏌ュ嚭鍏跺搴旂殑ipcId锛岀敤ipcId鍘绘壘璇ユ瘮瀵圭殑鏁版嵁 - sdk, err := cache.GetSdkById(groupRule.Rules[j].SdkId) - if err != nil { - logger.Error("娌℃煡鍒皊dk鐨勪俊鎭�---", err) - } - ipcId := sdk.IpcId - sdkName := sdk.SdkName - if ipcId == sdkData.IpcId { - for _, areaMap := range sdkData.AreaMapList { - ruleResult := CallSo(sdk.Id,groupRule.Rules[j],areaMap) - if ruleResult.Result != "" { - if strings.Contains(ruleResult.Result, "true") { - areaMap.IsEffective = true + if groupRule.Rules[j].SdkArgAlias == "objCount" { + for _, sdkData := range args.Sdkdata { + // 鏍规嵁瑙勫垯鐨剆dkId鏌ュ嚭鍏跺搴旂殑ipcId锛岀敤ipcId鍘绘壘璇ユ瘮瀵圭殑鏁版嵁 + sdk, err := cache.GetSdkById(groupRule.Rules[j].SdkId) + if err != nil { + logger.Error("娌℃煡鍒皊dk鐨勪俊鎭�---", err) + } + ipcId := sdk.IpcId + sdkName := sdk.SdkName + if ipcId == sdkData.IpcId { + for _, areaMap := range sdkData.AreaMapList { + ruleResult := CallSo(sdk.Id,groupRule.Rules[j],areaMap) + if ruleResult.Result != "" { + if strings.Contains(ruleResult.Result, "true") { + areaMap.IsEffective = true + } + logger.Info("鏁伴噺瑙勫垯缁撴灉锛�", ruleResult.Result) + if strings.Contains(ruleResult.Result, "true") && ipcId == "02D54B61-0F16-C604-8567-FC4BE493C523" && !strings.Contains(sdkNames, sdkName) { + sdkNames = sdkName + "," + } + if strings.Contains(ruleResult.Result, "true") && ipcId == "02D54B61-0F16-C604-8567-FC4BE493C523" && !strings.Contains(polygonId, groupRule.Rules[j].PolygonId) { + polygonId = groupRule.Rules[j].PolygonId + "," + } + resultSplice = append(resultSplice, &ruleResult) } - logger.Info("鏁伴噺瑙勫垯缁撴灉锛�", ruleResult.Result) - if strings.Contains(ruleResult.Result, "true") && ipcId == "02D54B61-0F16-C604-8567-FC4BE493C523" && !strings.Contains(sdkNames, sdkName) { - sdkNames = sdkName + "," - } - if strings.Contains(ruleResult.Result, "true") && ipcId == "02D54B61-0F16-C604-8567-FC4BE493C523" && !strings.Contains(polygonId, groupRule.Rules[j].PolygonId) { - polygonId = groupRule.Rules[j].PolygonId + "," - } - resultSplice = append(resultSplice, &ruleResult) } } } -- Gitblit v1.8.0