예제 #1
0
 /// <summary>
 /// 删除敏感词组
 /// </summary>
 /// <param name="keyGroup"></param>
 /// <returns></returns>
 public RPCResult DelKeywordGroup(string keyGroup)
 {
     try
     {
         if (string.IsNullOrEmpty(keyGroup))
         {
             return(new RPCResult(false, "敏感词组名不能为空!"));
         }
         if (KeywordsGatewayBindDB.GetGateways(keyGroup).Count > 0)
         {
             return(new RPCResult(false, "敏感词组正在使用,不允许删除"));
         }
         if (WordfilteDB.GetCountKeywords(keyGroup) > 0)
         {
             return(new RPCResult(false, "敏感词组内还包含敏感词,不允许删除"));
         }
         if (WordfilteDB.DelKeyTypesByGroup(keyGroup))
         {
             if (WordfilteDB.DelKeyGroup(keyGroup))
             {
                 return(new RPCResult(true, ""));
             }
         }
         return(new RPCResult(false, "删除词组失败"));
     }
     catch (Exception ex)
     {
         LogHelper.LogError("SMSService", "SMSService.DelKeywordGroup", ex.ToString());
         return(new RPCResult(false, "删除词组失败出现错误"));
     }
 }
예제 #2
0
 /// <summary>
 /// 添加词组与类别绑定
 /// </summary>
 /// <param name="keyGroup"></param>
 /// <param name="keyTypes"></param>
 /// <returns></returns>
 public RPCResult AddKeywordsGroupTypeBind(string keyGroup, List <string> keyTypes)
 {
     try
     {
         if (string.IsNullOrEmpty(keyGroup))
         {
             return(new RPCResult(false, "敏感词组不能为空"));
         }
         if (keyTypes == null || keyTypes.Count == 0)
         {
             return(new RPCResult(false, "敏感词类型不能为空"));
         }
         if (WordfilteDB.DelKeyTypesByGroup(keyGroup))
         {
             bool ok = WordfilteDB.AddGroupTypeBind(keyGroup, keyTypes);
             if (ok)
             {
                 return(new RPCResult(true, ""));
             }
         }
         return(new RPCResult(false, "添加敏感词组与类别绑定失败"));
     }
     catch (Exception ex)
     {
         LogHelper.LogError("SMSService", "SMSService.AddKeywordsGroupTypeBind", ex.ToString());
         return(new RPCResult(false, "添加敏感词组与类别绑定失败"));
     }
 }
        public void Test()
        {
            var keyGroups = WordfilteDB.GetKeyGroups();

            Assert.IsNotNull(keyGroups);
            Assert.IsTrue(keyGroups.Count > 0);

            var keyTypes = WordfilteDB.GetKeyTypes();

            Assert.IsNotNull(keyTypes);
            Assert.IsTrue(keyTypes.Count > 0);

            var keyGroup = keyGroups.First().Key;

            var b = WordfilteDB.ExistGroup(keyGroup);

            Assert.IsTrue(b);
            var keyType = keyTypes.First().Key;

            b = WordfilteDB.ExistType(keyType);
            Assert.IsTrue(b);

            var addKeyGroup = "AddKeyGroup" + UnitTestDBAccess.Util.GenRandStr(10);

            b = WordfilteDB.AddKeyGroup(addKeyGroup, "添加keyGroup 测试");
            Assert.IsTrue(b);
            b = WordfilteDB.DelKeyGroup(addKeyGroup);
            Assert.IsTrue(b);

            var addKeyType = "AddKeyType" + UnitTestDBAccess.Util.GenRandStr(10);

            b = WordfilteDB.AddKeyType(addKeyType, "添加keyType 测试");
            Assert.IsTrue(b);

            b = WordfilteDB.AddGroupTypeBind(addKeyGroup, new List <string>()
            {
                addKeyType, UnitTestDBAccess.Util.GenRandStr(15)
            });
            Assert.IsTrue(b);

            var kgt = WordfilteDB.GetKeyTypesByGroup(addKeyGroup);

            Assert.IsNotNull(kgt);
            Assert.IsTrue(kgt.Count > 0);
            var ktg = WordfilteDB.GetKeywordsGroupByType(addKeyType);

            Assert.IsNotNull(ktg);
            Assert.IsTrue(ktg.Count > 0);

            b = WordfilteDB.DelKeyTypesByGroup(addKeyGroup);
            Assert.IsTrue(b);

            Keywords keywords1 = new Keywords()
            {
                KeyGroup        = addKeyGroup,
                KeywordsType    = addKeyType,
                Enable          = true,
                ReplaceKeywords = "",
                Words           = "words" + UnitTestDBAccess.Util.GenRandStr(15)
            };
            Keywords keywords2 = new Keywords()
            {
                KeyGroup        = addKeyGroup,
                KeywordsType    = addKeyType,
                Enable          = true,
                ReplaceKeywords = "",
                Words           = "words" + UnitTestDBAccess.Util.GenRandStr(15)
            };
            Keywords keywords3 = new Keywords()
            {
                KeyGroup        = addKeyGroup,
                KeywordsType    = addKeyType,
                Enable          = true,
                ReplaceKeywords = "",
                Words           = "words" + UnitTestDBAccess.Util.GenRandStr(15)
            };
            List <Keywords> list = new List <Keywords>();

            list.Add(keywords1);
            list.Add(keywords2);
            list.Add(keywords3);
            b = WordfilteDB.Add(addKeyGroup, list);
            Assert.IsTrue(b);
            var list2 = WordfilteDB.Gets(addKeyGroup);

            Assert.IsNotNull(list2);
            Assert.IsTrue(list2.Count > 2);
            var list3 = WordfilteDB.GetKeywordsByType(addKeyType);

            Assert.IsNotNull(list3);
            Assert.IsTrue(list3.Count > 2);

            b = WordfilteDB.KeywordsEnabled(addKeyGroup, keywords1.Words, false);
            Assert.IsTrue(b);
            keywords1.ReplaceKeywords = "replace";
            b = WordfilteDB.Update(keywords1);
            Assert.IsTrue(b);
            var i = WordfilteDB.GetCountKeywords(addKeyGroup);

            Assert.IsTrue(i > 0);
            var arr = WordfilteDB.Get(addKeyGroup);

            Assert.IsNotNull(arr);
            Assert.IsTrue(arr.Length > 0);

            var klist = WordfilteDB.GetKeywordsByKeyword("words");

            Assert.IsNotNull(klist);
            Assert.IsTrue(klist.Count > 0);

            i = WordfilteDB.GetAllKeywordCount();
            Assert.IsTrue(i > 0);

            var list4 = WordfilteDB.GetAllKeywords(1, 2);

            Assert.IsTrue(list4.Count == 2);

            var gateway = GatewayConfigDB.GetConfigs().FirstOrDefault();

            Assert.IsNotNull(gateway);

            b = KeywordsGatewayBindDB.Add(addKeyGroup, gateway.Gateway);
            Assert.IsTrue(b);

            var gts = KeywordsGatewayBindDB.GetGateways(addKeyGroup);

            Assert.IsTrue(gts.Count > 0);

            var kg = KeywordsGatewayBindDB.GetkeyGroup(gateway.Gateway);

            Assert.IsNotNull(kg);


            gts = KeywordsGatewayBindDB.GetGateways();
            Assert.IsTrue(gts.Count > 0);

            b = KeywordsGatewayBindDB.Del(gateway.Gateway);
            Assert.IsTrue(b);


            List <string> keywords = (from k in list select k.Words).ToList();

            b = WordfilteDB.Del(addKeyGroup, keywords);
            Assert.IsTrue(b);
        }