Преглед на файлове

Z991239-4815 #comment feat: 同步ResourceWatcher的GetBizLink中关于错误页集中配置和准入网址的获取功能

陈纪林80310970 преди 2 години
родител
ревизия
34c6d400c7
променени са 1 файла, в които са добавени 79 реда и са изтрити 25 реда
  1. 79 25
      Module/mod_ResourceWatcher/ResourceWatcherFSM.cpp

+ 79 - 25
Module/mod_ResourceWatcher/ResourceWatcherFSM.cpp

@@ -3516,37 +3516,91 @@ ErrorCodeEnum ResourceWatcherFSM::GetBizLinks(
 
     CSmartPointer<IConfigInfo> spCtSettingConfig;
     GetEntityBase()->GetFunction()->OpenConfig(Config_CenterSetting, spCtSettingConfig);
-    CSimpleStringA mLink(""), adLink(""), tLink("");
-    spCtSettingConfig->ReadConfigValue("Chromium", "UserMgrUrlFulture", mLink);
-    if (mLink.GetLength() != 0)
-    {
-        CSimpleStringA tName = CSimpleStringA("主站点");
-        bizNames.Append(&tName, 0, 1);
-        bizLinks.Append(&mLink, 0, 1);
-    }
 
-    spCtSettingConfig->ReadConfigValue("Chromium", "UserMgrAd", adLink);
-    if (adLink.GetLength() != 0)
+    if (filter == 0) //用户管理桌面业务网址
     {
-        CSimpleStringA tName = CSimpleStringA("广告站点");
-        bizNames.Append(&tName, 0, 1);
-        bizLinks.Append(&adLink, 0, 1);
-    }
+        CSimpleStringA mLink(""), adLink(""), tLink("");
+        spCtSettingConfig->ReadConfigValue("Chromium", "UserMgrUrlFulture", mLink);
+        if (mLink.GetLength() != 0)
+        {
+            CSimpleStringA tName = CSimpleStringA("主站点");
+            bizNames.Append(&tName, 0, 1);
+            bizLinks.Append(&mLink, 0, 1);
+        }
 
-    int bizCnt = 0;
-    CSimpleStringA getLink("");
-    do
-    {
-        bizCnt++;
-        getLink = CSimpleStringA("UserBizLink").Append(std::to_string(bizCnt).c_str());
-        spCtSettingConfig->ReadConfigValue("Chromium", (LPCTSTR)getLink, tLink);
-        if (tLink.GetLength() != 0)
+        spCtSettingConfig->ReadConfigValue("Chromium", "UserMgrAd", adLink);
+        if (adLink.GetLength() != 0)
         {
-            CSimpleStringA tName = CSimpleStringA("业务站点").Append(std::to_string(bizCnt).c_str());
+            CSimpleStringA tName = CSimpleStringA("广告站点");
             bizNames.Append(&tName, 0, 1);
-            bizLinks.Append(&tLink, 0, 1);
+            bizLinks.Append(&adLink, 0, 1);
         }
-    } while (tLink.GetLength() != 0);
+
+        int bizCnt = 0, outCnt = 0;
+        CSimpleStringA getLink("");
+        do
+        {
+            bizCnt++;
+            getLink = CSimpleStringA("UserBizLink").Append(std::to_string(bizCnt).c_str());
+            spCtSettingConfig->ReadConfigValue("Chromium", (LPCTSTR)getLink, tLink);
+            if (tLink.GetLength() != 0)
+            {
+                CAutoArray<CSimpleStringA> arr = tLink.Split('|');
+                if (arr.GetCount() == 3)
+                {
+                    DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("Not bizlink info.");
+                    continue;
+                }
+
+                outCnt++;
+                CSimpleStringA tName = CSimpleStringA("业务站点").Append(std::to_string(outCnt).c_str());
+                bizNames.Append(&tName, 0, 1);
+                bizLinks.Append(&tLink, 0, 1);
+            }
+
+        } while (tLink.GetLength() != 0);
+    }
+    else if (filter == 1) //错误页集中配置、准入网址
+    {
+        int bizCnt = 0;
+        CSimpleStringA info(""), getLink("");
+        do
+        {
+            bizCnt++;
+            CSimpleStringA chineseName(""), entityName(""), key("");
+            CSimpleStringA url("");
+
+            getLink = CSimpleStringA("UserBizLink").Append(std::to_string(bizCnt).c_str());
+            spCtSettingConfig->ReadConfigValue("Chromium", (LPCTSTR)getLink, info);
+            if (info.GetLength() != 0)
+            {
+                CAutoArray<CSimpleStringA> arr = info.Split('|');
+                int len = arr.GetCount();
+                if (len != 3)
+                {
+                    DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("Not errPage Check config info.");
+                }
+                else
+                {
+                    chineseName = arr[0];
+                    entityName = arr[1];
+                    key = arr[2];
+
+                    spCtSettingConfig->ReadConfigValue(entityName.GetData(), key.GetData(), url);
+                    if (url.GetLength() != 0)
+                    {
+                        bizNames.Append(&chineseName, 0, 1);
+                        bizLinks.Append(&url, 0, 1);
+                    }
+                    else
+                    {
+                        DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("Get errPage detecet url failed. EntityName:(%s), Key:(%s).",
+                            entityName.GetData(), key.GetData());
+                    }
+                }
+            }
+        } while (info.GetLength() != 0);
+    }    
 
     ctx->Ans.bizLinks = bizLinks;
     ctx->Ans.bizNames = bizNames;