Skip to content

Commit 57b1e57

Browse files
committed
added:words filter supported
1 parent b31daf5 commit 57b1e57

23 files changed

+608
-5
lines changed

XEngine_Source/XEngine.sln

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,9 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libModulePlugin_Meter", "XE
4040
EndProject
4141
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libModulePlugin_Phone", "XEngine_PluginModule\ModulePlugin_Phone\ModulePlugin_Phone.vcxproj", "{8FBC495D-C05E-49A4-B938-A81C9DFC1E5A}"
4242
EndProject
43-
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ModulePlugin_IPAddr", "XEngine_PluginModule\ModulePlugin_IPAddr\ModulePlugin_IPAddr.vcxproj", "{D549160C-CC16-47F8-8345-1F4CF7A25CA2}"
43+
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libModulePlugin_IPAddr", "XEngine_PluginModule\ModulePlugin_IPAddr\ModulePlugin_IPAddr.vcxproj", "{D549160C-CC16-47F8-8345-1F4CF7A25CA2}"
44+
EndProject
45+
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libModulePlugin_ZHData", "XEngine_PluginModule\libModulePlugin_ZHData\libModulePlugin_ZHData.vcxproj", "{FD92AAD9-9B42-4A89-9A53-F801DB0DC95B}"
4446
EndProject
4547
Global
4648
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -162,6 +164,14 @@ Global
162164
{D549160C-CC16-47F8-8345-1F4CF7A25CA2}.Release|x64.Build.0 = Release|x64
163165
{D549160C-CC16-47F8-8345-1F4CF7A25CA2}.Release|x86.ActiveCfg = Release|Win32
164166
{D549160C-CC16-47F8-8345-1F4CF7A25CA2}.Release|x86.Build.0 = Release|Win32
167+
{FD92AAD9-9B42-4A89-9A53-F801DB0DC95B}.Debug|x64.ActiveCfg = Debug|x64
168+
{FD92AAD9-9B42-4A89-9A53-F801DB0DC95B}.Debug|x64.Build.0 = Debug|x64
169+
{FD92AAD9-9B42-4A89-9A53-F801DB0DC95B}.Debug|x86.ActiveCfg = Debug|Win32
170+
{FD92AAD9-9B42-4A89-9A53-F801DB0DC95B}.Debug|x86.Build.0 = Debug|Win32
171+
{FD92AAD9-9B42-4A89-9A53-F801DB0DC95B}.Release|x64.ActiveCfg = Release|x64
172+
{FD92AAD9-9B42-4A89-9A53-F801DB0DC95B}.Release|x64.Build.0 = Release|x64
173+
{FD92AAD9-9B42-4A89-9A53-F801DB0DC95B}.Release|x86.ActiveCfg = Release|Win32
174+
{FD92AAD9-9B42-4A89-9A53-F801DB0DC95B}.Release|x86.Build.0 = Release|Win32
165175
EndGlobalSection
166176
GlobalSection(SolutionProperties) = preSolution
167177
HideSolutionNode = FALSE
@@ -176,6 +186,7 @@ Global
176186
{6F111577-DAF8-4294-B516-0077C22D7613} = {D0473C03-9464-4C44-818A-AE212680CD05}
177187
{8FBC495D-C05E-49A4-B938-A81C9DFC1E5A} = {D0473C03-9464-4C44-818A-AE212680CD05}
178188
{D549160C-CC16-47F8-8345-1F4CF7A25CA2} = {D0473C03-9464-4C44-818A-AE212680CD05}
189+
{FD92AAD9-9B42-4A89-9A53-F801DB0DC95B} = {D0473C03-9464-4C44-818A-AE212680CD05}
179190
EndGlobalSection
180191
GlobalSection(ExtensibilityGlobals) = postSolution
181192
SolutionGuid = {9B202F91-A601-429E-BB0F-880DDEE096FE}

XEngine_Source/XEngine_ModuleDatabase/ModuleDB_Define.h

Lines changed: 69 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -322,4 +322,72 @@ extern "C" bool ModuleDatabase_ShortLink_Query(XENGINE_SHORTLINK* pSt_SLinkInfo)
322322
意思:是否成功
323323
备注:
324324
*********************************************************************/
325-
extern "C" bool ModuleDatabase_ShortLink_Delete(XENGINE_SHORTLINK* pSt_SLinkInfo);
325+
extern "C" bool ModuleDatabase_ShortLink_Delete(XENGINE_SHORTLINK* pSt_SLinkInfo);
326+
/************************************************************************/
327+
/* 导出的敏感词过滤数据库函数 */
328+
/************************************************************************/
329+
/********************************************************************
330+
函数名称:ModuleDatabase_WordFilter_Init
331+
函数功能:初始化SQLITE文件系统
332+
参数.一:pSt_DBConnector
333+
In/Out:In
334+
类型:数据结构指针
335+
可空:N
336+
意思:输入要操作的数据库
337+
返回值
338+
类型:逻辑型
339+
意思:是否成功
340+
备注:
341+
*********************************************************************/
342+
extern "C" bool ModuleDatabase_WordFilter_Init(DATABASE_MYSQL_CONNECTINFO* pSt_DBConnector);
343+
/********************************************************************
344+
函数名称:ModuleDatabase_WordFilter_Destory
345+
函数功能:销毁
346+
返回值
347+
类型:逻辑型
348+
意思:是否成功
349+
备注:
350+
*********************************************************************/
351+
extern "C" bool ModuleDatabase_WordFilter_Destory();
352+
/********************************************************************
353+
函数名称:ModuleDatabase_WordFilter_Query
354+
函数功能:获取敏感词系统
355+
参数.一:pSt_WordFilter
356+
In/Out:In/Out
357+
类型:数据结构指针
358+
可空:N
359+
意思:输入要查询的词,输出查询到的敏感词
360+
返回值
361+
类型:逻辑型
362+
意思:是否成功
363+
备注:
364+
*********************************************************************/
365+
extern "C" bool ModuleDatabase_WordFilter_Query(XENGINE_WORDFILTER* pSt_WordFilter);
366+
/********************************************************************
367+
函数名称:ModuleDatabase_WordFilter_Insert
368+
函数功能:查询一条敏感词
369+
参数.一:pSt_WordFilter
370+
In/Out:In/Out
371+
类型:数据结构指针
372+
可空:N
373+
意思:输入要操作的数据
374+
返回值
375+
类型:逻辑型
376+
意思:是否成功
377+
备注:
378+
*********************************************************************/
379+
extern "C" bool ModuleDatabase_WordFilter_Insert(XENGINE_WORDFILTER* pSt_WordFilter);
380+
/********************************************************************
381+
函数名称:ModuleDatabase_WordFilter_Delete
382+
函数功能:删除一条敏感词
383+
参数.一:pSt_WordFilter
384+
In/Out:In
385+
类型:数据结构指针
386+
可空:N
387+
意思:输入要操作的数据
388+
返回值
389+
类型:逻辑型
390+
意思:是否成功
391+
备注:
392+
*********************************************************************/
393+
extern "C" bool ModuleDatabase_WordFilter_Delete(XENGINE_WORDFILTER* pSt_WordFilter);
Lines changed: 192 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,192 @@
1+
#include "pch.h"
2+
#include "ModuleDatabase_WordFilter.h"
3+
/********************************************************************
4+
// Created: 2023/08/09 10:57:03
5+
// File Name: D:\XEngine_APIService\XEngine_Source\XEngine_ModuleDatabase\ModuleDatabase_WordFilter\ModuleDatabase_WordFilter.cpp
6+
// File Path: D:\XEngine_APIService\XEngine_Source\XEngine_ModuleDatabase\ModuleDatabase_WordFilter
7+
// File Base: ModuleDatabase_WordFilter
8+
// File Ext: cpp
9+
// Project: XEngine(网络通信引擎)
10+
// Author: qyt
11+
// Purpose: 敏感词过滤器
12+
// History:
13+
*********************************************************************/
14+
CModuleDatabase_WordFilter::CModuleDatabase_WordFilter()
15+
{
16+
}
17+
CModuleDatabase_WordFilter::~CModuleDatabase_WordFilter()
18+
{
19+
20+
}
21+
//////////////////////////////////////////////////////////////////////////
22+
// 公有函数
23+
//////////////////////////////////////////////////////////////////////////
24+
/********************************************************************
25+
函数名称:ModuleDatabase_WordFilter_Init
26+
函数功能:初始化SQLITE文件系统
27+
参数.一:pSt_DBConnector
28+
In/Out:In
29+
类型:数据结构指针
30+
可空:N
31+
意思:输入要操作的数据库
32+
返回值
33+
类型:逻辑型
34+
意思:是否成功
35+
备注:
36+
*********************************************************************/
37+
bool CModuleDatabase_WordFilter::ModuleDatabase_WordFilter_Init(DATABASE_MYSQL_CONNECTINFO* pSt_DBConnector)
38+
{
39+
DBModule_IsErrorOccur = false;
40+
41+
if (NULL == pSt_DBConnector)
42+
{
43+
DBModule_IsErrorOccur = true;
44+
DBModule_dwErrorCode = ERROR_APISERVICE_MODULE_DATABASE_PARAMENT;
45+
return false;
46+
}
47+
//连接数据库
48+
_tcsxcpy(pSt_DBConnector->tszDBName, _X("XEngine_APIWords"));
49+
if (!DataBase_MySQL_Connect(&xhDBSQL, pSt_DBConnector))
50+
{
51+
DBModule_IsErrorOccur = true;
52+
DBModule_dwErrorCode = DataBase_GetLastError();
53+
return false;
54+
}
55+
return true;
56+
}
57+
/********************************************************************
58+
函数名称:ModuleDatabase_WordFilter_Destory
59+
函数功能:销毁
60+
返回值
61+
类型:逻辑型
62+
意思:是否成功
63+
备注:
64+
*********************************************************************/
65+
bool CModuleDatabase_WordFilter::ModuleDatabase_WordFilter_Destory()
66+
{
67+
DBModule_IsErrorOccur = false;
68+
69+
DataBase_MySQL_Close(xhDBSQL);
70+
return true;
71+
}
72+
/********************************************************************
73+
函数名称:ModuleDatabase_WordFilter_Query
74+
函数功能:获取敏感词系统
75+
参数.一:pSt_WordFilter
76+
In/Out:In/Out
77+
类型:数据结构指针
78+
可空:N
79+
意思:输入要查询的词,输出查询到的敏感词
80+
返回值
81+
类型:逻辑型
82+
意思:是否成功
83+
备注:
84+
*********************************************************************/
85+
bool CModuleDatabase_WordFilter::ModuleDatabase_WordFilter_Query(XENGINE_WORDFILTER* pSt_WordFilter)
86+
{
87+
DBModule_IsErrorOccur = false;
88+
89+
if (NULL == pSt_WordFilter)
90+
{
91+
DBModule_IsErrorOccur = true;
92+
DBModule_dwErrorCode = ERROR_APISERVICE_MODULE_DATABASE_PARAMENT;
93+
return false;
94+
}
95+
//查询
96+
__int64u nLine = 0;
97+
__int64u nRow = 0;
98+
XNETHANDLE xhTable = 0;
99+
XCHAR tszSQLStatement[1024];
100+
101+
memset(tszSQLStatement, '\0', sizeof(tszSQLStatement));
102+
_xstprintf(tszSQLStatement, _X("SELECT * FROM `WordFilter` WHERE tszWordsFrom LIKE '%s'"), pSt_WordFilter->tszWordsFrom);
103+
if (!DataBase_MySQL_ExecuteQuery(xhDBSQL, &xhTable, tszSQLStatement, &nLine, &nRow))
104+
{
105+
DBModule_IsErrorOccur = true;
106+
DBModule_dwErrorCode = DataBase_GetLastError();
107+
return false;
108+
}
109+
if (nLine <= 0)
110+
{
111+
DBModule_IsErrorOccur = true;
112+
DBModule_dwErrorCode = ERROR_APISERVICE_MODULE_DATABASE_NOTFOUND;
113+
return false;
114+
}
115+
XCHAR** pptszResult = DataBase_MySQL_GetResult(xhDBSQL, xhTable);
116+
117+
_tcsxcpy(pSt_WordFilter->tszWordsTo, pptszResult[1]);
118+
pSt_WordFilter->nLevel = _ttxoi(pptszResult[2]);
119+
120+
DataBase_MySQL_FreeResult(xhDBSQL, xhTable);
121+
return true;
122+
}
123+
/********************************************************************
124+
函数名称:ModuleDatabase_WordFilter_Insert
125+
函数功能:查询一条敏感词
126+
参数.一:pSt_WordFilter
127+
In/Out:In/Out
128+
类型:数据结构指针
129+
可空:N
130+
意思:输入要操作的数据
131+
返回值
132+
类型:逻辑型
133+
意思:是否成功
134+
备注:
135+
*********************************************************************/
136+
bool CModuleDatabase_WordFilter::ModuleDatabase_WordFilter_Insert(XENGINE_WORDFILTER* pSt_WordFilter)
137+
{
138+
DBModule_IsErrorOccur = false;
139+
140+
if (NULL == pSt_WordFilter)
141+
{
142+
DBModule_IsErrorOccur = true;
143+
DBModule_dwErrorCode = ERROR_APISERVICE_MODULE_DATABASE_PARAMENT;
144+
return false;
145+
}
146+
XCHAR tszSQLStatement[11240];
147+
memset(tszSQLStatement, '\0', sizeof(tszSQLStatement));
148+
149+
_xstprintf(tszSQLStatement, _X("INSERT INTO `WordFilter` (tszWordsFrom,tszWordsTo,nLevel) VALUES('%s','%s',%d)"), pSt_WordFilter->tszWordsFrom, pSt_WordFilter->tszWordsTo, pSt_WordFilter->nLevel);
150+
if (!DataBase_MySQL_Execute(xhDBSQL, tszSQLStatement))
151+
{
152+
DBModule_IsErrorOccur = true;
153+
DBModule_dwErrorCode = DataBase_GetLastError();
154+
return false;
155+
}
156+
return true;
157+
}
158+
/********************************************************************
159+
函数名称:ModuleDatabase_WordFilter_Delete
160+
函数功能:删除一条敏感词
161+
参数.一:pSt_WordFilter
162+
In/Out:In
163+
类型:数据结构指针
164+
可空:N
165+
意思:输入要操作的数据
166+
返回值
167+
类型:逻辑型
168+
意思:是否成功
169+
备注:
170+
*********************************************************************/
171+
bool CModuleDatabase_WordFilter::ModuleDatabase_WordFilter_Delete(XENGINE_WORDFILTER* pSt_WordFilter)
172+
{
173+
DBModule_IsErrorOccur = false;
174+
175+
if (NULL == pSt_WordFilter)
176+
{
177+
DBModule_IsErrorOccur = true;
178+
DBModule_dwErrorCode = ERROR_APISERVICE_MODULE_DATABASE_PARAMENT;
179+
return false;
180+
}
181+
XCHAR tszSQLStatement[10240];
182+
memset(tszSQLStatement, '\0', sizeof(tszSQLStatement));
183+
184+
_xstprintf(tszSQLStatement, _X("DELETE FROM `WordFilter` WHERE tszWordsFrom = '%s'"), pSt_WordFilter->tszWordsFrom);
185+
if (!DataBase_MySQL_Execute(xhDBSQL, tszSQLStatement))
186+
{
187+
DBModule_IsErrorOccur = true;
188+
DBModule_dwErrorCode = DataBase_GetLastError();
189+
return false;
190+
}
191+
return true;
192+
}
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
#pragma once
2+
/********************************************************************
3+
// Created: 2023/08/09 10:56:39
4+
// File Name: D:\XEngine_APIService\XEngine_Source\XEngine_ModuleDatabase\ModuleDatabase_WordFilter\ModuleDatabase_WordFilter.h
5+
// File Path: D:\XEngine_APIService\XEngine_Source\XEngine_ModuleDatabase\ModuleDatabase_WordFilter
6+
// File Base: ModuleDatabase_WordFilter
7+
// File Ext: h
8+
// Project: XEngine(网络通信引擎)
9+
// Author: qyt
10+
// Purpose: 敏感词过滤器
11+
// History:
12+
*********************************************************************/
13+
14+
15+
class CModuleDatabase_WordFilter
16+
{
17+
public:
18+
CModuleDatabase_WordFilter();
19+
~CModuleDatabase_WordFilter();
20+
public:
21+
bool ModuleDatabase_WordFilter_Init(DATABASE_MYSQL_CONNECTINFO* pSt_DBConnector);
22+
bool ModuleDatabase_WordFilter_Destory();
23+
bool ModuleDatabase_WordFilter_Query(XENGINE_WORDFILTER* pSt_WordFilter);
24+
bool ModuleDatabase_WordFilter_Insert(XENGINE_WORDFILTER* pSt_WordFilter);
25+
bool ModuleDatabase_WordFilter_Delete(XENGINE_WORDFILTER* pSt_WordFilter);
26+
protected:
27+
private:
28+
XNETHANDLE xhDBSQL;
29+
};

XEngine_Source/XEngine_ModuleDatabase/XEngine_ModuleDatabase.def

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,4 +27,10 @@ EXPORTS
2727
ModuleDatabase_ShortLink_Destory
2828
ModuleDatabase_ShortLink_Insert
2929
ModuleDatabase_ShortLink_Query
30-
ModuleDatabase_ShortLink_Delete
30+
ModuleDatabase_ShortLink_Delete
31+
32+
ModuleDatabase_WordFilter_Init
33+
ModuleDatabase_WordFilter_Destory
34+
ModuleDatabase_WordFilter_Query
35+
ModuleDatabase_WordFilter_Insert
36+
ModuleDatabase_WordFilter_Delete

XEngine_Source/XEngine_ModuleDatabase/XEngine_ModuleDatabase.vcxproj

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -167,6 +167,7 @@
167167
<ClInclude Include="ModuleDatabase_Bank\ModuleDatabase_Bank.h" />
168168
<ClInclude Include="ModuleDatabase_IDCard\ModuleDatabase_IDCard.h" />
169169
<ClInclude Include="ModuleDatabase_ShortLink\ModuleDatabase_ShortLink.h" />
170+
<ClInclude Include="ModuleDatabase_WordFilter\ModuleDatabase_WordFilter.h" />
170171
<ClInclude Include="ModuleDatabase_XLog\ModuleDatabase_XLog.h" />
171172
<ClInclude Include="ModuleDatabase_ZIPCode\ModuleDatabase_ZIPCode.h" />
172173
<ClInclude Include="ModuleDB_Define.h" />
@@ -178,6 +179,7 @@
178179
<ClCompile Include="ModuleDatabase_Bank\ModuleDatabase_Bank.cpp" />
179180
<ClCompile Include="ModuleDatabase_IDCard\ModuleDatabase_IDCard.cpp" />
180181
<ClCompile Include="ModuleDatabase_ShortLink\ModuleDatabase_ShortLink.cpp" />
182+
<ClCompile Include="ModuleDatabase_WordFilter\ModuleDatabase_WordFilter.cpp" />
181183
<ClCompile Include="ModuleDatabase_XLog\ModuleDatabase_XLog.cpp" />
182184
<ClCompile Include="ModuleDatabase_ZIPCode\ModuleDatabase_ZIPCode.cpp" />
183185
<ClCompile Include="pch.cpp">

XEngine_Source/XEngine_ModuleDatabase/XEngine_ModuleDatabase.vcxproj.filters

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,12 @@
4343
<Filter Include="源文件\ModuleDatabase_ShortLink">
4444
<UniqueIdentifier>{358aae26-1704-4e1e-bca3-b48c05449281}</UniqueIdentifier>
4545
</Filter>
46+
<Filter Include="头文件\ModuleDatabase_WordFilter">
47+
<UniqueIdentifier>{ffc19ee5-eece-4bb5-8678-8d0ec04d3371}</UniqueIdentifier>
48+
</Filter>
49+
<Filter Include="源文件\ModuleDatabase_WordFilter">
50+
<UniqueIdentifier>{b4156605-0cb0-4272-a5ef-d109f2b20126}</UniqueIdentifier>
51+
</Filter>
4652
</ItemGroup>
4753
<ItemGroup>
4854
<ClInclude Include="framework.h">
@@ -72,6 +78,9 @@
7278
<ClInclude Include="ModuleDatabase_ShortLink\ModuleDatabase_ShortLink.h">
7379
<Filter>头文件\ModuleDatabase_ShortLink</Filter>
7480
</ClInclude>
81+
<ClInclude Include="ModuleDatabase_WordFilter\ModuleDatabase_WordFilter.h">
82+
<Filter>头文件\ModuleDatabase_WordFilter</Filter>
83+
</ClInclude>
7584
</ItemGroup>
7685
<ItemGroup>
7786
<ClCompile Include="dllmain.cpp">
@@ -95,6 +104,9 @@
95104
<ClCompile Include="ModuleDatabase_ShortLink\ModuleDatabase_ShortLink.cpp">
96105
<Filter>源文件\ModuleDatabase_ShortLink</Filter>
97106
</ClCompile>
107+
<ClCompile Include="ModuleDatabase_WordFilter\ModuleDatabase_WordFilter.cpp">
108+
<Filter>源文件\ModuleDatabase_WordFilter</Filter>
109+
</ClCompile>
98110
</ItemGroup>
99111
<ItemGroup>
100112
<None Include="XEngine_ModuleDatabase.def">

0 commit comments

Comments
 (0)