diff --git a/XEngine_Release/XEngine_Config/XEngine_Config.json b/XEngine_Release/XEngine_Config/XEngine_Config.json
index 977c10c4c1ebd0e6ea58f0b2a7a630f71cba7bad..4d95f244bbcd2635bc782202b7ad31dcfe5cf05b 100644
--- a/XEngine_Release/XEngine_Config/XEngine_Config.json
+++ b/XEngine_Release/XEngine_Config/XEngine_Config.json
@@ -40,8 +40,13 @@
"bEnable":false,
"nPass":123123
},
- "XSQL":{
- "tszSQLFile":"./XEngine_DataBase/SQL_User.db"
+ "XSql":{
+ "nSQLType":1,
+ "SQLAddr": "127.0.0.1",
+ "SQLPort": 3306,
+ "SQLUser": "root",
+ "SQLPass": "123123",
+ "SQLFile":"./XEngine_DataBase/SQL_User.db"
},
"XLog":{
"tszLogFile":"./XEngine_XLog/XEngine_Authorize.log",
@@ -54,4 +59,4 @@
"tszServiceName":"XEngine_Authorize",
"tszAPIUrl":"http://app.xyry.org:5501/api?function=machine"
}
-}
\ No newline at end of file
+}
diff --git a/XEngine_SQL/mysql.sql b/XEngine_SQL/mysql.sql
new file mode 100644
index 0000000000000000000000000000000000000000..a1486904ef04e04c6659eb63477ba78bd4a00ab7
--- /dev/null
+++ b/XEngine_SQL/mysql.sql
@@ -0,0 +1,150 @@
+/*
+ Navicat Premium Data Transfer
+
+ Source Server : 本地mysql
+ Source Server Type : MySQL
+ Source Server Version : 50726
+ Source Host : localhost:3306
+ Source Schema : xengine_authorize
+
+ Target Server Type : MySQL
+ Target Server Version : 50726
+ File Encoding : 65001
+
+ Date: 04/07/2024 20:51:48
+*/
+
+SET NAMES utf8mb4;
+SET FOREIGN_KEY_CHECKS = 0;
+
+-- ----------------------------
+-- Table structure for Authorize_Announcement
+-- ----------------------------
+DROP TABLE IF EXISTS `Authorize_Announcement`;
+CREATE TABLE `Authorize_Announcement` (
+ `ID` int(11) NOT NULL AUTO_INCREMENT,
+ `tszContext` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL,
+ `tszCreateTime` date NULL DEFAULT NULL,
+ PRIMARY KEY (`ID`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 0 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of Authorize_Announcement
+-- ----------------------------
+
+
+-- ----------------------------
+-- Table structure for Authorize_BannedAddr
+-- ----------------------------
+DROP TABLE IF EXISTS `Authorize_BannedAddr`;
+CREATE TABLE `Authorize_BannedAddr` (
+ `ID` int(11) NOT NULL AUTO_INCREMENT,
+ `bEnable` tinyint(4) NOT NULL,
+ `tszIPAddr` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+ `tszLeftTime` date NULL DEFAULT NULL,
+ `tszCreateTime` date NOT NULL,
+ PRIMARY KEY (`ID`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 0 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of Authorize_BannedAddr
+-- ----------------------------
+
+-- ----------------------------
+-- Table structure for Authorize_BannedUser
+-- ----------------------------
+DROP TABLE IF EXISTS `Authorize_BannedUser`;
+CREATE TABLE `Authorize_BannedUser` (
+ `ID` int(11) NOT NULL AUTO_INCREMENT,
+ `bEnable` tinyint(1) NOT NULL,
+ `tszUserName` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+ `tszLeftTime` date NULL DEFAULT NULL,
+ `tszCreateTime` date NOT NULL,
+ PRIMARY KEY (`ID`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 0 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of Authorize_BannedUser
+-- ----------------------------
+
+
+-- ----------------------------
+-- Table structure for Authorize_Serial
+-- ----------------------------
+DROP TABLE IF EXISTS `Authorize_Serial`;
+CREATE TABLE `Authorize_Serial` (
+ `ID` int(11) NOT NULL AUTO_INCREMENT,
+ `UserName` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL,
+ `SerialNumber` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL,
+ `MaxTime` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL,
+ `CardSerialType` int(11) NULL DEFAULT NULL,
+ `bIsUsed` tinyint(1) NULL DEFAULT NULL,
+ `CreateTime` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+ PRIMARY KEY (`ID`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 0 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of Authorize_Serial
+-- ----------------------------
+
+-- ----------------------------
+-- Table structure for Authorize_TempVer
+-- ----------------------------
+DROP TABLE IF EXISTS `Authorize_TempVer`;
+CREATE TABLE `Authorize_TempVer` (
+ `ID` int(11) NOT NULL AUTO_INCREMENT,
+ `tszVSerial` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+ `nVMode` int(11) NOT NULL,
+ `nVTime` int(11) NOT NULL,
+ `nLTime` int(11) NOT NULL,
+ `CreateTime` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
+ PRIMARY KEY (`ID`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 0 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of Authorize_TempVer
+-- ----------------------------
+
+-- ----------------------------
+-- Table structure for Authorize_User
+-- ----------------------------
+DROP TABLE IF EXISTS `Authorize_User`;
+CREATE TABLE `Authorize_User` (
+ `ID` int(11) NOT NULL AUTO_INCREMENT,
+ `UserName` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '用户名',
+ `Password` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '密码',
+ `LeftTime` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '剩余时间',
+ `EmailAddr` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '电子邮件',
+ `HardCode` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '设备SN',
+ `CardSerialType` int(11) NOT NULL,
+ `PhoneNumber` bigint(20) NOT NULL COMMENT '电话号码',
+ `IDCard` bigint(20) NOT NULL COMMENT '身份证',
+ `nUserLevel` int(11) NOT NULL COMMENT '用户等级,数字越小越高',
+ `UPTime` datetime NULL DEFAULT NULL COMMENT '登录时间',
+ `CreateTime` datetime NOT NULL COMMENT '注册时间',
+ PRIMARY KEY (`ID`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 0 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of Authorize_User
+-- ----------------------------
+INSERT INTO `Authorize_User` VALUES (1, 'admin', '123123aa', '0', '486179@qq.com', 'DAFD2A2DAD', 1, 13699430000, 511025198881118888, 0, '2022-09-21 15:06:45', '2022-09-21 15:06:45');
+-- ----------------------------
+-- Table structure for Sqlite_Sequence
+-- ----------------------------
+DROP TABLE IF EXISTS `Sqlite_Sequence`;
+CREATE TABLE `Sqlite_Sequence` (
+ `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL,
+ `seq` int(11) NULL DEFAULT NULL
+) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of Sqlite_Sequence
+-- ----------------------------
+INSERT INTO `Sqlite_Sequence` VALUES ('Authorize_BannedUser', 6);
+INSERT INTO `Sqlite_Sequence` VALUES ('Authorize_BannedAddr', 5);
+INSERT INTO `Sqlite_Sequence` VALUES ('Authorize_TempVer', 1);
+INSERT INTO `Sqlite_Sequence` VALUES ('Authorize_Serial', 10);
+INSERT INTO `Sqlite_Sequence` VALUES ('Authorize_User', 5);
+
+SET FOREIGN_KEY_CHECKS = 1;
diff --git a/XEngine_Source/AuthorizeModule_Configure/Config_Define.h b/XEngine_Source/AuthorizeModule_Configure/Config_Define.h
index fa980f62f2ded12f8bcb5d3a4157a6be71dfe35d..687982a572ed6a77f5dba809ae4b0a2e1e1f076c 100644
--- a/XEngine_Source/AuthorizeModule_Configure/Config_Define.h
+++ b/XEngine_Source/AuthorizeModule_Configure/Config_Define.h
@@ -15,6 +15,8 @@
//////////////////////////////////////////////////////////////////////////
typedef struct
{
+ XCHAR tszIPAddr[128];
+ XCHAR tszTopic[128];
int nTCPPort; //TCP端口
int nWSPort; //WEBSOCKET端口
int nHTTPPort; //HTTP管理端口
@@ -64,8 +66,20 @@ typedef struct
int nPassword; //密码
}st_XCrypto;
struct
- {
- XCHAR tszSQLite[MAX_PATH]; //数据库文件位置
+ {
+ int nDBType;
+ struct
+ {
+ XCHAR tszSQLAddr[128]; //数据库地址
+ XCHAR tszSQLUser[128]; //数据库账号
+ XCHAR tszSQLPass[128]; //数据库密码
+ XCHAR tszDBName[128]; //数据库名
+ int nSQLPort; //数据库端口
+ }st_MYSQL;
+ struct
+ {
+ XCHAR tszSQLite[MAX_PATH]; //数据库文件位置
+ }st_SQLite;
}st_XSql;
struct
{
diff --git a/XEngine_Source/AuthorizeModule_Configure/ModuleConfigure_Json/ModuleConfigure_Json.cpp b/XEngine_Source/AuthorizeModule_Configure/ModuleConfigure_Json/ModuleConfigure_Json.cpp
index 9eff1c2825665a2c95962c216df2e8eb54bb61d9..dd051b0b518deeae17ee89279d6050fe15326224 100644
--- a/XEngine_Source/AuthorizeModule_Configure/ModuleConfigure_Json/ModuleConfigure_Json.cpp
+++ b/XEngine_Source/AuthorizeModule_Configure/ModuleConfigure_Json/ModuleConfigure_Json.cpp
@@ -147,14 +147,22 @@ bool CModuleConfigure_Json::ModuleConfigure_Json_File(LPCXSTR lpszConfigFile, XE
pSt_ServerConfig->st_XCrypto.bEnable = st_JsonXCrypto["bEnable"].asBool();
pSt_ServerConfig->st_XCrypto.nPassword = st_JsonXCrypto["nPass"].asInt();
//数据库配置
- if (st_JsonRoot["XSQL"].empty() || (1 != st_JsonRoot["XSQL"].size()))
+ if (st_JsonRoot["XSql"].empty() || (6 != st_JsonRoot["XSql"].size()))
{
Config_IsErrorOccur = true;
Config_dwErrorCode = ERROR_AUTHORIZE_MODULE_CONFIGURE_XSQL;
return false;
}
- Json::Value st_JsonXSQL = st_JsonRoot["XSQL"];
- _tcsxcpy(pSt_ServerConfig->st_XSql.tszSQLite, st_JsonXSQL["tszSQLFile"].asCString());
+ Json::Value st_JsonXSql = st_JsonRoot["XSql"];
+
+ pSt_ServerConfig->st_XSql.nDBType = st_JsonXSql["nSQLType"].asInt();
+
+ _tcsxcpy(pSt_ServerConfig->st_XSql.st_SQLite.tszSQLite, st_JsonXSql["SQLFile"].asCString());
+
+ pSt_ServerConfig->st_XSql.st_MYSQL.nSQLPort = st_JsonXSql["SQLPort"].asInt();
+ _tcsxcpy(pSt_ServerConfig->st_XSql.st_MYSQL.tszSQLAddr, st_JsonXSql["SQLAddr"].asCString());
+ _tcsxcpy(pSt_ServerConfig->st_XSql.st_MYSQL.tszSQLUser, st_JsonXSql["SQLUser"].asCString());
+ _tcsxcpy(pSt_ServerConfig->st_XSql.st_MYSQL.tszSQLPass, st_JsonXSql["SQLPass"].asCString());
//日志配置
if (st_JsonRoot["XLog"].empty() || (4 != st_JsonRoot["XLog"].size()))
{
diff --git a/XEngine_Source/AuthorizeModule_Database/AuthorizeModule_Database.def b/XEngine_Source/AuthorizeModule_Database/AuthorizeModule_Database.def
index eed0328fcc53520348dc74e3e4d284f0781d68cb..ca0bf350e12e1a706d3ef9766727b37b1ed0d5f8 100644
--- a/XEngine_Source/AuthorizeModule_Database/AuthorizeModule_Database.def
+++ b/XEngine_Source/AuthorizeModule_Database/AuthorizeModule_Database.def
@@ -3,36 +3,70 @@ LIBRARY
EXPORTS
DBModule_GetLastError
- Database_SQLite_Init
- Database_SQLite_Destroy
-
- Database_SQLite_UserDelete
- Database_SQLite_UserRegister
- Database_SQLite_UserQuery
- Database_SQLite_UserPay
- Database_SQLite_UserLeave
- Database_SQLite_UserSet
- Database_SQLite_UserList
-
- Database_SQLite_SerialInsert
- Database_SQLite_SerialDelete
- Database_SQLite_SerialQuery
- Database_SQLite_SerialQueryAll
- Database_SQLite_SerialPush
-
- Database_SQLite_TryInsert
- Database_SQLite_TryQuery
- Database_SQLite_TryDelete
- Database_SQLite_TryClear
- Database_SQLite_TrySet
- Database_SQLite_TryList
-
- Database_SQLite_BannedInsert
- Database_SQLite_BannedDelete
- Database_SQLite_BannedList
- Database_SQLite_BannedExist
- Database_SQLite_BannedUPDate
-
- Database_SQLite_AnnouncementInsert
- Database_SQLite_AnnouncementDelete
- Database_SQLite_AnnouncementList
\ No newline at end of file
+ DBModule_SQLite_Init
+ DBModule_SQLite_Destroy
+
+ DBModule_SQLite_UserDelete
+ DBModule_SQLite_UserRegister
+ DBModule_SQLite_UserQuery
+ DBModule_SQLite_UserPay
+ DBModule_SQLite_UserLeave
+ DBModule_SQLite_UserSet
+ DBModule_SQLite_UserList
+
+ DBModule_SQLite_SerialInsert
+ DBModule_SQLite_SerialDelete
+ DBModule_SQLite_SerialQuery
+ DBModule_SQLite_SerialQueryAll
+ DBModule_SQLite_SerialPush
+
+ DBModule_SQLite_TryInsert
+ DBModule_SQLite_TryQuery
+ DBModule_SQLite_TryDelete
+ DBModule_SQLite_TryClear
+ DBModule_SQLite_TrySet
+ DBModule_SQLite_TryList
+
+ DBModule_SQLite_BannedInsert
+ DBModule_SQLite_BannedDelete
+ DBModule_SQLite_BannedList
+ DBModule_SQLite_BannedExist
+ DBModule_SQLite_BannedUPDate
+
+ DBModule_SQLite_AnnouncementInsert
+ DBModule_SQLite_AnnouncementDelete
+ DBModule_SQLite_AnnouncementList
+
+ DBModule_MySQL_Init
+ DBModule_MySQL_Destroy
+
+ DBModule_MySQL_UserDelete
+ DBModule_MySQL_UserRegister
+ DBModule_MySQL_UserQuery
+ DBModule_MySQL_UserPay
+ DBModule_MySQL_UserLeave
+ DBModule_MySQL_UserSet
+ DBModule_MySQL_UserList
+
+ DBModule_MySQL_SerialInsert
+ DBModule_MySQL_SerialDelete
+ DBModule_MySQL_SerialQuery
+ DBModule_MySQL_SerialQueryAll
+ DBModule_MySQL_SerialPush
+
+ DBModule_MySQL_TryInsert
+ DBModule_MySQL_TryQuery
+ DBModule_MySQL_TryDelete
+ DBModule_MySQL_TryClear
+ DBModule_MySQL_TrySet
+ DBModule_MySQL_TryList
+
+ DBModule_MySQL_BannedInsert
+ DBModule_MySQL_BannedDelete
+ DBModule_MySQL_BannedList
+ DBModule_MySQL_BannedExist
+ DBModule_MySQL_BannedUPDate
+
+ DBModule_MySQL_AnnouncementInsert
+ DBModule_MySQL_AnnouncementDelete
+ DBModule_MySQL_AnnouncementList
\ No newline at end of file
diff --git a/XEngine_Source/AuthorizeModule_Database/AuthorizeModule_Database.vcxproj b/XEngine_Source/AuthorizeModule_Database/AuthorizeModule_Database.vcxproj
index d5e921813a5c2121c12ec23c04542b130a534f1f..b71286a6a38f8f9689a238ae8764f620a1b85a1f 100644
--- a/XEngine_Source/AuthorizeModule_Database/AuthorizeModule_Database.vcxproj
+++ b/XEngine_Source/AuthorizeModule_Database/AuthorizeModule_Database.vcxproj
@@ -161,12 +161,14 @@
-
+
+
-
+
+
Create
diff --git a/XEngine_Source/AuthorizeModule_Database/AuthorizeModule_Database.vcxproj.filters b/XEngine_Source/AuthorizeModule_Database/AuthorizeModule_Database.vcxproj.filters
index 6cbd88b5afbe74bc87e3b05716325736e257c29b..1218446e3952a4d68041c738ce8154649b5816a4 100644
--- a/XEngine_Source/AuthorizeModule_Database/AuthorizeModule_Database.vcxproj.filters
+++ b/XEngine_Source/AuthorizeModule_Database/AuthorizeModule_Database.vcxproj.filters
@@ -13,10 +13,16 @@
{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}
rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms
-
+
+ {e8a2076d-4bed-4439-9493-1a33b0f6fd2b}
+
+
+ {dc9f7cbb-dd1b-4430-99ee-15793188c3a0}
+
+
{bb64f825-b769-444e-b078-90c2727b694f}
-
+
{be64df35-6ef0-4c8c-b95a-444977d7d1c4}
@@ -27,15 +33,18 @@
头文件
-
- 头文件\Database_SQLite
-
头文件
头文件
+
+ 头文件\DBModule_MySQL
+
+
+ 头文件\DBModule_SQLite
+
@@ -44,8 +53,11 @@
源文件
-
- 源文件\Database_SQLite
+
+ 源文件\DBModule_MySQL
+
+
+ 源文件\DBModule_SQLite
diff --git a/XEngine_Source/AuthorizeModule_Database/DBModule_MySQL/DBModule_MySQL.cpp b/XEngine_Source/AuthorizeModule_Database/DBModule_MySQL/DBModule_MySQL.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..89094b421450019b350e5f3e30ed1a72ce19a5d4
--- /dev/null
+++ b/XEngine_Source/AuthorizeModule_Database/DBModule_MySQL/DBModule_MySQL.cpp
@@ -0,0 +1,1997 @@
+#include "pch.h"
+#include "DBModule_MySQL.h"
+/********************************************************************
+// Created: 2022/05/26 11:01:13
+// File Name: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_Database\Database_MySQL\Database_MySQL.cpp
+// File Path: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_Database\Database_MySQL
+// File Base: Database_SQLite
+// File Ext: cpp
+// Project: XEngine(网络通信引擎)
+// Author: qyt
+// Purpose: 数据库管理器
+// History:
+*********************************************************************/
+CDBModule_MySQL::CDBModule_MySQL()
+{
+ m_bChange = false;
+ xhData = 0;
+}
+
+CDBModule_MySQL::~CDBModule_MySQL()
+{
+}
+//////////////////////////////////////////////////////////////////////////
+// 公有函数
+//////////////////////////////////////////////////////////////////////////
+/********************************************************************
+函数名称:DBModule_MySQL_Init
+函数功能:初始化数据库管理器
+ 参数.一:pSt_DBConnector
+ In/Out:In
+ 类型:数据结构指针
+ 可空:N
+ 意思:数据MYSQL数据库连接信息
+返回值
+ 类型:逻辑型
+ 意思:是否成功
+备注:
+*********************************************************************/
+bool CDBModule_MySQL::DBModule_MySQL_Init(DATABASE_MYSQL_CONNECTINFO* pSt_DBConnector, bool bIsChange)
+{
+ SQLPacket_IsErrorOccur = false;
+ m_bChange = bIsChange;
+ if (NULL == pSt_DBConnector)
+ {
+ SQLPacket_IsErrorOccur = true;
+ SQLPacket_dwErrorCode = DataBase_GetLastError();
+ return false;
+ }
+ _tcsxcpy(pSt_DBConnector->tszDBName, _X("XEngine_Authorize")); //设置库名
+ if (!DataBase_MySQL_Connect(&xhData, pSt_DBConnector)) //连接数据库
+ {
+ SQLPacket_IsErrorOccur = true;
+ SQLPacket_dwErrorCode = DataBase_GetLastError();
+ return false;
+ }
+ return true;
+}
+/********************************************************************
+函数名称:DBModule_MySQL_Destroy
+函数功能:销毁数据库管理器
+返回值
+ 类型:逻辑型
+ 意思:是否成功
+备注:
+*********************************************************************/
+bool CDBModule_MySQL::DBModule_MySQL_Destroy()
+{
+ SQLPacket_IsErrorOccur = false;
+
+ DataBase_MySQL_Close(xhData);
+ return true;
+}
+/********************************************************************
+函数名称:DBModule_MySQL_UserDelete
+函数功能:删除一个用户从数据库中
+ 参数.一:lpszUserName
+ In/Out:In
+ 类型:常量字符指针
+ 可空:N
+ 意思:要删除的用户
+返回值
+ 类型:逻辑型
+ 意思:是否删除成功
+备注:
+*********************************************************************/
+bool CDBModule_MySQL::DBModule_MySQL_UserDelete(LPCXSTR lpszUserName)
+{
+ SQLPacket_IsErrorOccur = false;
+ XCHAR tszSQLStatement[1024]; //SQL语句
+ memset(tszSQLStatement, '\0', 1024);
+ _xstprintf(tszSQLStatement, _X("delete from `Authorize_User` where UserName = '%s'"), lpszUserName);
+ //执行
+ if (!DataBase_MySQL_Execute(xhData, tszSQLStatement))
+ {
+ SQLPacket_IsErrorOccur = true;
+ SQLPacket_dwErrorCode = ERROR_AUTHORIZE_MODULE_DATABASE_EXEC;
+ return false;
+ }
+ return true;
+}
+/********************************************************************
+函数名称:DBModule_MySQL_UserRegister
+函数功能:用户注册处理数据库语句函数
+ 参数.一:pSt_UserInfo
+ In/Out:In
+ 类型:数据结构指针
+ 可空:N
+ 意思:要插入的用户数据
+返回值
+ 类型:逻辑型
+ 意思:是否插入成功
+备注:
+*********************************************************************/
+bool CDBModule_MySQL::DBModule_MySQL_UserRegister(AUTHREG_USERTABLE* pSt_UserInfo)
+{
+ SQLPacket_IsErrorOccur = false;
+ XCHAR tszSQLStatement[1024]; //SQL语句
+ memset(tszSQLStatement, '\0', 1024);
+
+ if (DBModule_MySQL_UserQuery(pSt_UserInfo->st_UserInfo.tszUserName))
+ {
+ SQLPacket_IsErrorOccur = true;
+ SQLPacket_dwErrorCode = ERROR_AUTHORIZE_MODULE_DATABASE_EXIST;
+ return false;
+ }
+ _xstprintf(tszSQLStatement, _X("INSERT INTO `Authorize_User`(UserName, Password, LeftTime, EmailAddr, HardCode, CardSerialType, PhoneNumber, IDCard, nUserLevel, CreateTime) values('%s','%s','%s','%s','%s','%d',%lld,%lld,%d,NOW())"), pSt_UserInfo->st_UserInfo.tszUserName, pSt_UserInfo->st_UserInfo.tszUserPass, pSt_UserInfo->tszLeftTime, pSt_UserInfo->st_UserInfo.tszEMailAddr, pSt_UserInfo->tszHardCode, pSt_UserInfo->enSerialType, pSt_UserInfo->st_UserInfo.nPhoneNumber, pSt_UserInfo->st_UserInfo.nIDNumber, pSt_UserInfo->st_UserInfo.nUserLevel);
+ if (!DataBase_MySQL_Execute(xhData, tszSQLStatement))
+ {
+ SQLPacket_IsErrorOccur = true;
+ SQLPacket_dwErrorCode = ERROR_AUTHORIZE_MODULE_DATABASE_INSERT;
+ return false;
+ }
+ return true;
+}
+/********************************************************************
+函数名称:DBModule_MySQL_UserQuery
+函数功能:查询用户相对应的值
+ 参数.一:lpszUserName
+ In/Out:In
+ 类型:常量字符指针
+ 可空:N
+ 意思:要查询的指定用户
+ 参数.二:pSt_UserInfo
+ In/Out:Out
+ 类型:数据结构指针
+ 可空:Y
+ 意思:如果为空NULL,那么将只判断此用户是否存在
+返回值
+ 类型:逻辑型
+ 意思:是否查询成功
+备注:
+*********************************************************************/
+bool CDBModule_MySQL::DBModule_MySQL_UserQuery(LPCXSTR lpszUserName, AUTHREG_USERTABLE* pSt_UserInfo)
+{
+ SQLPacket_IsErrorOccur = false;
+ //查询
+ XNETHANDLE xhTable = 0;
+ __int64u nColumn = 0;
+ __int64u nRow = 0;
+
+ XCHAR tszSQLStatement[1024]; //SQL语句
+ memset(tszSQLStatement, '\0', 1024);
+
+ _xstprintf(tszSQLStatement, _X("select * from `Authorize_User` where UserName = '%s'"), lpszUserName);
+ if (!DataBase_MySQL_ExecuteQuery(xhData, &xhTable, tszSQLStatement, &nRow, &nColumn))
+ {
+ SQLPacket_IsErrorOccur = true;
+ SQLPacket_dwErrorCode = ERROR_AUTHORIZE_MODULE_DATABASE_GETTABLE;
+ return false;
+ }
+ if (nRow <= 0)
+ {
+ SQLPacket_IsErrorOccur = true;
+ SQLPacket_dwErrorCode = ERROR_AUTHORIZE_MODULE_DATABASE_GETTABLE;
+ return false;
+ }
+ XCHAR** pptszResult = DataBase_MySQL_GetResult(xhData, xhTable);
+ //XLONG* pInt_Length = DataBase_MySQL_GetLength(xhData, xhTable);
+
+ if (NULL != pSt_UserInfo)
+ {
+ memset(pSt_UserInfo, '\0', sizeof(AUTHREG_USERTABLE));
+
+ //ID
+ int nFliedValue = 0;
+
+ //用户名
+ nFliedValue++;
+ if (NULL != pptszResult[nFliedValue])
+ {
+ _tcsxcpy(pSt_UserInfo->st_UserInfo.tszUserName, pptszResult[nFliedValue]);
+ }
+
+ //密码
+ nFliedValue++;
+ if (NULL != pptszResult[nFliedValue])
+ {
+ _tcsxcpy(pSt_UserInfo->st_UserInfo.tszUserPass, pptszResult[nFliedValue]);
+ }
+
+ //过期时间
+ nFliedValue++;
+ if (NULL != pptszResult[nFliedValue])
+ {
+ _tcsxcpy(pSt_UserInfo->tszLeftTime, pptszResult[nFliedValue]);
+ }
+
+ //电子邮件
+ nFliedValue++;
+ if (NULL != pptszResult[nFliedValue])
+ {
+ _tcsxcpy(pSt_UserInfo->st_UserInfo.tszEMailAddr, pptszResult[nFliedValue]);
+ }
+
+ //硬件码
+ nFliedValue++;
+ if (NULL != pptszResult[nFliedValue])
+ {
+ _tcsxcpy(pSt_UserInfo->tszHardCode, pptszResult[nFliedValue]);
+ }
+
+ //充值卡类型
+ nFliedValue++;
+ if (NULL != pptszResult[nFliedValue])
+ {
+ pSt_UserInfo->enSerialType = (ENUM_HELPCOMPONENTS_AUTHORIZE_SERIAL_TYPE)_ttxoi(pptszResult[nFliedValue]);
+ }
+
+ //QQ号
+ nFliedValue++;
+ if (NULL != pptszResult[nFliedValue])
+ {
+ pSt_UserInfo->st_UserInfo.nPhoneNumber = _ttxoll(pptszResult[nFliedValue]);
+ }
+
+ //身份证ID
+ nFliedValue++;
+ if (NULL != pptszResult[nFliedValue])
+ {
+ pSt_UserInfo->st_UserInfo.nIDNumber = _ttxoll(pptszResult[nFliedValue]);
+ }
+
+ //用户级别 -1表示封禁
+ nFliedValue++;
+ if (NULL != pptszResult[nFliedValue])
+ {
+ pSt_UserInfo->st_UserInfo.nUserLevel = _ttxoi(pptszResult[nFliedValue]);
+ }
+
+ //登录日期
+ nFliedValue++;
+ if (NULL != pptszResult[nFliedValue] && _tcsxlen(pptszResult[nFliedValue]) > 0)
+ {
+ _tcsxcpy(pSt_UserInfo->st_UserInfo.tszLoginTime, pptszResult[nFliedValue]);
+ }
+ //注册日期
+ nFliedValue++;
+ if (NULL != pptszResult[nFliedValue])
+ {
+ _tcsxcpy(pSt_UserInfo->st_UserInfo.tszCreateTime, pptszResult[nFliedValue]);
+ }
+
+ }
+ DataBase_MySQL_FreeResult(xhData, xhTable);
+ return true;
+}
+/********************************************************************
+函数名称:DBModule_MySQL_UserPay
+函数功能:用户充值函数
+ 参数.一:lpszUserName
+ In/Out:In
+ 类型:常量字符指针
+ 可空:N
+ 意思:要充值的用户名
+ 参数.二:lpszSerialName
+ In/Out:In
+ 类型:常量字符指针
+ 可空:N
+ 意思:充值使用的序列号
+返回值
+ 类型:逻辑型
+ 意思:是否成功充值
+备注:
+*********************************************************************/
+bool CDBModule_MySQL::DBModule_MySQL_UserPay(LPCXSTR lpszUserName, LPCXSTR lpszSerialName)
+{
+ SQLPacket_IsErrorOccur = false;
+
+ AUTHREG_SERIALTABLE st_SerialTable;
+ AUTHREG_USERTABLE st_UserTable;
+ XCHAR tszSQLStatement[1024]; //SQL语句
+
+ memset(tszSQLStatement, '\0', 1024);
+ memset(&st_SerialTable, '\0', sizeof(st_SerialTable));
+ memset(&st_UserTable, '\0', sizeof(st_UserTable));
+ //参数检查
+ if ((NULL == lpszUserName) || (NULL == lpszSerialName))
+ {
+ SQLPacket_IsErrorOccur = true;
+ SQLPacket_dwErrorCode = ERROR_AUTHORIZE_MODULE_DATABASE_PARAMENT;
+ return false;
+ }
+ //查询充值卡是否存在
+ if (!DBModule_MySQL_SerialQuery(lpszSerialName, &st_SerialTable))
+ {
+ return false;
+ }
+ //充值卡是否被使用
+ if (st_SerialTable.bIsUsed)
+ {
+ SQLPacket_IsErrorOccur = true;
+ SQLPacket_dwErrorCode = ERROR_AUTHORIZE_MODULE_DATABASE_ISUSED;
+ return false;
+ }
+ //查询用户信息
+ if (!DBModule_MySQL_UserQuery(lpszUserName, &st_UserTable))
+ {
+ return false;
+ }
+ //分析插入方式
+ switch (st_SerialTable.enSerialType)
+ {
+ case ENUM_HELPCOMPONENTS_AUTHORIZE_SERIAL_TYPE_SECOND:
+ if (!DBModule_MySQL_UserPayTime(lpszUserName, st_UserTable.tszLeftTime, st_SerialTable.tszMaxTime, st_SerialTable.enSerialType, st_UserTable.enSerialType))
+ {
+ return false;
+ }
+ break;
+ case ENUM_HELPCOMPONENTS_AUTHORIZE_SERIAL_TYPE_DAY:
+ if (!DBModule_MySQL_UserPayTime(lpszUserName, st_UserTable.tszLeftTime, st_SerialTable.tszMaxTime, st_SerialTable.enSerialType, st_UserTable.enSerialType))
+ {
+ return false;
+ }
+ break;
+ case ENUM_HELPCOMPONENTS_AUTHORIZE_SERIAL_TYPE_TIME:
+ if (!DBModule_MySQL_UserPayTime(lpszUserName, st_UserTable.tszLeftTime, st_SerialTable.tszMaxTime, st_SerialTable.enSerialType, st_UserTable.enSerialType))
+ {
+ return false;
+ }
+ break;
+ case ENUM_HELPCOMPONENTS_AUTHORIZE_SERIAL_TYPE_CUSTOM:
+ if (!DBModule_MySQL_UserPayTime(lpszUserName, st_UserTable.tszLeftTime, st_SerialTable.tszMaxTime, st_SerialTable.enSerialType, st_UserTable.enSerialType))
+ {
+ return false;
+ }
+ break;
+ default:
+ SQLPacket_IsErrorOccur = true;
+ SQLPacket_dwErrorCode = ERROR_AUTHORIZE_MODULE_DATABASE_NOTSUPPORT;
+ return false;
+ }
+ _xstprintf(tszSQLStatement, _X("UPDATE `Authorize_Serial` SET UserName = '%s',bIsUsed = '1' WHERE SerialNumber = '%s'"), lpszUserName, lpszSerialName);
+ if (!DataBase_MySQL_Execute(xhData, tszSQLStatement))
+ {
+ SQLPacket_IsErrorOccur = true;
+ SQLPacket_dwErrorCode = ERROR_AUTHORIZE_MODULE_DATABASE_UPDATAUSEDNAME;
+ return false;
+ }
+ return true;
+}
+/********************************************************************
+函数名称:DBModule_MySQL_UserLeave
+函数功能:用户离开处理事件
+ 参数.一:pSt_TimeProtocol
+ In/Out:In
+ 类型:数据结构指针
+ 可空:N
+ 意思:离开的用户信息
+返回值
+ 类型:逻辑型
+ 意思:是否处理成功
+备注:
+*********************************************************************/
+bool CDBModule_MySQL::DBModule_MySQL_UserLeave(AUTHREG_PROTOCOL_TIME* pSt_TimeProtocol)
+{
+ SQLPacket_IsErrorOccur = false;
+
+ XCHAR tszSQLStatement[1024]; //SQL语句
+ memset(tszSQLStatement, '\0', 1024);
+
+
+ if ((ENUM_HELPCOMPONENTS_AUTHORIZE_SERIAL_TYPE_DAY == pSt_TimeProtocol->enSerialType) || (ENUM_HELPCOMPONENTS_AUTHORIZE_SERIAL_TYPE_CUSTOM == pSt_TimeProtocol->enSerialType))
+ {
+ //天数卡只有剩余时间没有的时候才需要做处理
+ if (pSt_TimeProtocol->nTimeLeft <= 0)
+ {
+ _xstprintf(tszSQLStatement, _X("UPDATE `Authorize_User` SET LeftTime = '0' WHERE UserName = '%s'"), pSt_TimeProtocol->tszUserName);
+ }
+ }
+ if (ENUM_HELPCOMPONENTS_AUTHORIZE_SERIAL_TYPE_SECOND == pSt_TimeProtocol->enSerialType)
+ {
+ //分钟卡必须要有在线时间才能计算
+ if (pSt_TimeProtocol->nTimeLeft <= 0)
+ {
+ pSt_TimeProtocol->nTimeLeft = 0;
+ }
+ _xstprintf(tszSQLStatement, _X("UPDATE `Authorize_User` SET LeftTime = '%lld' WHERE UserName = '%s'"), pSt_TimeProtocol->nTimeLeft, pSt_TimeProtocol->tszUserName);
+ }
+ else if (ENUM_HELPCOMPONENTS_AUTHORIZE_SERIAL_TYPE_TIME == pSt_TimeProtocol->enSerialType)
+ {
+ //次数卡不需要在线时间,直接减去一次就可以了
+ _xstprintf(tszSQLStatement, _X("UPDATE `Authorize_User` SET LeftTime = '%lld' WHERE UserName = '%s'"), _ttxoll(pSt_TimeProtocol->tszLeftTime), pSt_TimeProtocol->tszUserName);
+ }
+ else
+ {
+ SQLPacket_IsErrorOccur = true;
+ SQLPacket_dwErrorCode = ERROR_AUTHORIZE_MODULE_DATABASE_UNKNOWTYPE;
+ return false;
+ }
+ //更新用户剩余时间
+ if (!DataBase_MySQL_Execute(xhData, tszSQLStatement))
+ {
+ SQLPacket_IsErrorOccur = true;
+ SQLPacket_dwErrorCode = ERROR_AUTHORIZE_MODULE_DATABASE_UPDATA;
+ return false;
+ }
+ return true;
+}
+/********************************************************************
+函数名称:DBModule_MySQL_UserSet
+函数功能:设置用户信息
+ 参数.一:pSt_UserTable
+ In/Out:In
+ 类型:数据结构指针
+ 可空:N
+ 意思:输入要设置的信息
+返回值
+ 类型:逻辑型
+ 意思:是否成功
+备注:
+*********************************************************************/
+bool CDBModule_MySQL::DBModule_MySQL_UserSet(AUTHREG_USERTABLE* pSt_UserTable)
+{
+ SQLPacket_IsErrorOccur = false;
+
+ XCHAR tszSQLStatement[1024]; //SQL语句
+ memset(tszSQLStatement, '\0', 1024);
+
+ _xstprintf(tszSQLStatement, _X("UPDATE `Authorize_User` SET Password = '%s',LeftTime = '%s',EmailAddr = '%s',HardCode = '%s',CardSerialType = '%d',PhoneNumber = '%lld',IDCard = '%lld',nUserLevel = '%d',UPTime = NOW(),CreateTime = '%s' WHERE UserName = '%s'"), pSt_UserTable->st_UserInfo.tszUserPass, pSt_UserTable->tszLeftTime, pSt_UserTable->st_UserInfo.tszEMailAddr, pSt_UserTable->tszHardCode, pSt_UserTable->enSerialType, pSt_UserTable->st_UserInfo.nPhoneNumber, pSt_UserTable->st_UserInfo.nIDNumber, pSt_UserTable->st_UserInfo.nUserLevel/*, pSt_UserTable->st_UserInfo.tszLoginTime*/, pSt_UserTable->st_UserInfo.tszCreateTime, pSt_UserTable->st_UserInfo.tszUserName);
+
+ //更新用户剩余时间
+ if (!DataBase_MySQL_Execute(xhData, tszSQLStatement))
+ {
+ SQLPacket_IsErrorOccur = true;
+ SQLPacket_dwErrorCode = DataBase_GetLastError();
+ return false;
+ }
+ return true;
+}
+/********************************************************************
+函数名称:DBModule_MySQL_UserList
+函数功能:获取用户列表
+ 参数.一:pppSt_UserInfo
+ In/Out:Out
+ 类型:三级指针
+ 可空:N
+ 意思:输出用户列表,内存由用户释放
+ 参数.二:pInt_ListCount
+ In/Out:Out
+ 类型:整数型
+ 可空:N
+ 意思:输出列表个数
+ 参数.三:nPosStart
+ In/Out:In
+ 类型:整数型
+ 可空:Y
+ 意思:输入起始位置
+ 参数.四:nPosEnd
+ In/Out:In
+ 类型:整数型
+ 可空:Y
+ 意思:输入结束位置
+返回值
+ 类型:逻辑型
+ 意思:是否成功
+备注:
+*********************************************************************/
+bool CDBModule_MySQL::DBModule_MySQL_UserList(AUTHREG_USERTABLE*** pppSt_UserInfo, int* pInt_ListCount, int nPosStart, int nPosEnd)
+{
+ SQLPacket_IsErrorOccur = false;
+
+ //查询
+ XNETHANDLE xhTable = 0;
+ __int64u nRow = 0;
+ __int64u nColumn = 0;
+ char** ppszResult = NULL;
+ XCHAR tszSQLStatement[1024]; //SQL语句
+ memset(tszSQLStatement, '\0', 1024);
+
+ _xstprintf(tszSQLStatement, _X("SELECT * FROM `Authorize_User` LIMIT %d,%d"), nPosStart, nPosEnd - nPosStart);
+ if (!DataBase_MySQL_ExecuteQuery(xhData, &xhTable, tszSQLStatement, &nRow, &nColumn))
+ {
+ SQLPacket_IsErrorOccur = true;
+ SQLPacket_dwErrorCode = ERROR_AUTHORIZE_MODULE_DATABASE_GETTABLE;
+ return false;
+ }
+ if (nRow <= 0)
+ {
+ SQLPacket_IsErrorOccur = true;
+ SQLPacket_dwErrorCode = ERROR_AUTHORIZE_MODULE_DATABASE_NOTUSER;
+ return false;
+ }
+ *pInt_ListCount = nRow;
+ BaseLib_OperatorMemory_Malloc((XPPPMEM)pppSt_UserInfo, (int)nRow, sizeof(AUTHREG_USERTABLE));
+
+ for (int i = 0; i < nRow; i++)
+ {
+ ppszResult = DataBase_MySQL_GetResult(xhData, xhTable);
+ //XLONG* pInt_Length = DataBase_MySQL_GetLength(xhData, xhTable);
+
+ //ID
+ int nFliedValue = 0;
+ nFliedValue++;
+ //用户名
+ _tcsxcpy((*pppSt_UserInfo)[i]->st_UserInfo.tszUserName, ppszResult[nFliedValue]);
+ //密码
+ nFliedValue++;
+ _tcsxcpy((*pppSt_UserInfo)[i]->st_UserInfo.tszUserPass, ppszResult[nFliedValue]);
+ //过期时间
+ nFliedValue++;
+ _tcsxcpy((*pppSt_UserInfo)[i]->tszLeftTime, ppszResult[nFliedValue]);
+ //电子邮件
+ nFliedValue++;
+ _tcsxcpy((*pppSt_UserInfo)[i]->st_UserInfo.tszEMailAddr, ppszResult[nFliedValue]);
+ //硬件码
+ nFliedValue++;
+ _tcsxcpy((*pppSt_UserInfo)[i]->tszHardCode, ppszResult[nFliedValue]);
+ //充值卡类型
+ nFliedValue++;
+ (*pppSt_UserInfo)[i]->enSerialType = (ENUM_HELPCOMPONENTS_AUTHORIZE_SERIAL_TYPE)_ttxoi(ppszResult[nFliedValue]);
+ //QQ号
+ nFliedValue++;
+ (*pppSt_UserInfo)[i]->st_UserInfo.nPhoneNumber = _ttxoll(ppszResult[nFliedValue]);
+ //身份证ID
+ nFliedValue++;
+ (*pppSt_UserInfo)[i]->st_UserInfo.nIDNumber = _ttxoll(ppszResult[nFliedValue]);
+ //用户级别 -1表示封禁
+ nFliedValue++;
+ (*pppSt_UserInfo)[i]->st_UserInfo.nUserLevel = _ttxoi(ppszResult[nFliedValue]);
+ //登录日期
+ nFliedValue++;
+ if (NULL != ppszResult[nFliedValue] && _tcsxlen(ppszResult[nFliedValue]) > 0)
+ {
+ _tcsxcpy((*pppSt_UserInfo)[i]->st_UserInfo.tszLoginTime, ppszResult[nFliedValue]);
+ }
+ //注册日期
+ nFliedValue++;
+ _tcsxcpy((*pppSt_UserInfo)[i]->st_UserInfo.tszCreateTime, ppszResult[nFliedValue]);
+ nFliedValue++;
+ }
+ DataBase_MySQL_FreeResult(xhData, xhTable);
+ return true;
+}
+/********************************************************************
+函数名称:DBModule_MySQL_SerialInsert
+函数功能:插入一个序列号到数据库
+ 参数.一:lpszSerialNumber
+ In/Out:In
+ 类型:常量字符指针
+ 可空:N
+ 意思:要插入的序列号
+返回值
+ 类型:逻辑型
+ 意思:是否插入成功
+备注:
+*********************************************************************/
+bool CDBModule_MySQL::DBModule_MySQL_SerialInsert(LPCXSTR lpszSerialNumber)
+{
+ SQLPacket_IsErrorOccur = false;
+
+ XCHAR tszSQLStatement[1024]; //SQL语句
+ memset(tszSQLStatement, '\0', 1024);
+
+ if (DBModule_MySQL_SerialQuery(lpszSerialNumber))
+ {
+ SQLPacket_IsErrorOccur = true;
+ SQLPacket_dwErrorCode = ERROR_AUTHORIZE_MODULE_DATABASE_EXIST;
+ return false;
+ }
+ ENUM_HELPCOMPONENTS_AUTHORIZE_SERIAL_TYPE enAuthSerialType;
+ XENGINE_LIBTIMER st_AuthTimer;
+ memset(&st_AuthTimer, '\0', sizeof(st_AuthTimer));
+
+ if (!Authorize_Serial_GetType(lpszSerialNumber, &enAuthSerialType, &st_AuthTimer))
+ {
+ return false;
+ }
+ if (ENUM_HELPCOMPONENTS_AUTHORIZE_SERIAL_TYPE_SECOND == enAuthSerialType)
+ {
+ _xstprintf(tszSQLStatement, _X("INSERT INTO `Authorize_Serial` values(NULL,'NOT','%s','%d','%d',0,NOW())"), lpszSerialNumber, st_AuthTimer.wSecond, enAuthSerialType);
+ }
+ else if (ENUM_HELPCOMPONENTS_AUTHORIZE_SERIAL_TYPE_DAY == enAuthSerialType)
+ {
+ _xstprintf(tszSQLStatement, _X("INSERT INTO `Authorize_Serial` values(NULL,'NOT','%s','%d','%d',0,NOW())"), lpszSerialNumber, st_AuthTimer.wDay, enAuthSerialType);
+ }
+ else if (ENUM_HELPCOMPONENTS_AUTHORIZE_SERIAL_TYPE_TIME == enAuthSerialType)
+ {
+ _xstprintf(tszSQLStatement, _X("INSERT INTO `Authorize_Serial` values(NULL,'NOT','%s','%d','%d',0,NOW())"), lpszSerialNumber, st_AuthTimer.wFlags, enAuthSerialType);
+ }
+ else if (ENUM_HELPCOMPONENTS_AUTHORIZE_SERIAL_TYPE_CUSTOM == enAuthSerialType)
+ {
+ XCHAR tszLeftTime[MAX_PATH];
+ memset(tszLeftTime, '\0', MAX_PATH);
+ _xstprintf(tszLeftTime, _X("%04d-%02d-%02d %02d:%02d:%02d"), st_AuthTimer.wYear, st_AuthTimer.wMonth, st_AuthTimer.wDay, st_AuthTimer.wHour, st_AuthTimer.wMinute, st_AuthTimer.wSecond);
+ _xstprintf(tszSQLStatement, _X("INSERT INTO `Authorize_Serial` values(NULL,'NOT','%s','%s','%d',0,NOW())"), lpszSerialNumber, tszLeftTime, enAuthSerialType);
+ }
+ else
+ {
+ _xstprintf(tszSQLStatement, _X("INSERT INTO `Authorize_Serial` values(NULL,'NOT','%s',0,'%d',0,NOW())"), lpszSerialNumber, enAuthSerialType);
+ }
+
+ if (!DataBase_MySQL_Execute(xhData, tszSQLStatement))
+ {
+ SQLPacket_IsErrorOccur = true;
+ SQLPacket_dwErrorCode = ERROR_AUTHORIZE_MODULE_DATABASE_ISFAILED;
+ return false;
+ }
+ return true;
+}
+/********************************************************************
+函数名称:DBModule_MySQL_SerialDelete
+函数功能:从数据库删除指定序列号
+ 参数.一:lpszSerialNumber
+ In/Out:In
+ 类型:常量字符指针
+ 可空:N
+ 意思:要删除的序列号
+返回值
+ 类型:逻辑型
+ 意思:是否删除成功
+备注:
+*********************************************************************/
+bool CDBModule_MySQL::DBModule_MySQL_SerialDelete(LPCXSTR lpszSerialNumber)
+{
+ SQLPacket_IsErrorOccur = false;
+
+ XCHAR tszSQLStatement[1024]; //SQL语句
+ memset(tszSQLStatement, '\0', 1024);
+ _xstprintf(tszSQLStatement, _X("delete from `Authorize_Serial` where SerialNumber = '%s'"), lpszSerialNumber);
+ //执行
+ if (!DataBase_MySQL_Execute(xhData, tszSQLStatement))
+ {
+ SQLPacket_IsErrorOccur = true;
+ SQLPacket_dwErrorCode = ERROR_AUTHORIZE_MODULE_DATABASE_ISFAILED;
+ return false;
+ }
+ return true;
+}
+/********************************************************************
+函数名称:DBModule_MySQL_SerialQuery
+函数功能:查询一个指定的序列号信息
+ 参数.一:lpszSerialNumber
+ In/Out:In
+ 类型:常量字符指针
+ 可空:N
+ 意思:要查询的序列号
+ 参数.二:pSt_SerialTable
+ In/Out:Out
+ 类型:数据结构指针
+ 可空:Y
+ 意思:导出查询到的信息,如果为NULL,此参数将不起作用
+返回值
+ 类型:逻辑型
+ 意思:是否查询成功,如果第二个参数为NULL,那么将只返回是否有这个序列号
+备注:
+*********************************************************************/
+bool CDBModule_MySQL::DBModule_MySQL_SerialQuery(LPCXSTR lpszSerialNumber, LPAUTHREG_SERIALTABLE pSt_SerialTable)
+{
+ SQLPacket_IsErrorOccur = false;
+ XCHAR tszSQLStatement[1024]; //SQL语句
+ char** ppszResult = NULL;
+ XNETHANDLE xhTable = 0;
+ __int64u nRow = 0;
+ __int64u nColumn = 0;
+ memset(tszSQLStatement, '\0', 1024);
+
+ _xstprintf(tszSQLStatement, _X("select * from `Authorize_Serial` where SerialNumber = '%s'"), lpszSerialNumber);
+ if (!DataBase_MySQL_ExecuteQuery(xhData, &xhTable, tszSQLStatement, &nRow, &nColumn))
+ {
+ SQLPacket_IsErrorOccur = true;
+ SQLPacket_dwErrorCode = ERROR_AUTHORIZE_MODULE_DATABASE_GETTABLE;
+ return false;
+ }
+
+ if (nRow <= 0)
+ {
+ SQLPacket_IsErrorOccur = true;
+ SQLPacket_dwErrorCode = ERROR_AUTHORIZE_MODULE_DATABASE_SERIAL;
+ return false;
+ }
+ ppszResult = DataBase_MySQL_GetResult(xhData, xhTable);
+ //XLONG* pInt_Length = DataBase_MySQL_GetLength(xhData, xhTable);
+
+ if (NULL != pSt_SerialTable)
+ {
+ memset(pSt_SerialTable, '\0', sizeof(AUTHREG_SERIALTABLE));
+ //ID
+ int nFliedValue = 0;
+ //使用者
+ nFliedValue++;
+ _tcsxcpy(pSt_SerialTable->tszUserName, ppszResult[nFliedValue]);
+ //序列号
+ nFliedValue++;
+ _tcsxcpy(pSt_SerialTable->tszSerialNumber, ppszResult[nFliedValue]);
+ //超时时间
+ nFliedValue++;
+ _tcsxcpy(pSt_SerialTable->tszMaxTime, ppszResult[nFliedValue]);
+ //序列卡类型
+ nFliedValue++;
+ pSt_SerialTable->enSerialType = (ENUM_HELPCOMPONENTS_AUTHORIZE_SERIAL_TYPE)_ttxoi(ppszResult[nFliedValue]);
+ //是否已经使用
+ nFliedValue++;
+ pSt_SerialTable->bIsUsed = _ttxoi(ppszResult[nFliedValue]);
+ //超时时间
+ nFliedValue++;
+ _tcsxcpy(pSt_SerialTable->tszCreateTime, ppszResult[nFliedValue]);
+ }
+
+ DataBase_MySQL_FreeResult(xhData, xhTable);
+ return true;
+}
+/********************************************************************
+函数名称:DBModule_MySQL_SerialQueryAll
+函数功能:查询序列卡表中的所有序列号
+ 参数.一:pppSt_SerialTable
+ In/Out:Out
+ 类型:三级指针
+ 可空:N
+ 意思:输出序列卡列表
+ 参数.二:pInt_ListCount
+ In/Out:Out
+ 类型:整数型指针
+ 可空:Y
+ 意思:输出多少张卡
+ 参数.三:nPosStart
+ In/Out:In
+ 类型:整数型
+ 可空:Y
+ 意思:输入起始位置
+ 参数.四:nPosEnd
+ In/Out:In
+ 类型:整数型
+ 可空:Y
+ 意思:输入结束位置
+返回值
+ 类型:逻辑型
+ 意思:是否查询成功
+备注:参数一需要调用基础库的释放内存函数进行内存释放
+*********************************************************************/
+bool CDBModule_MySQL::DBModule_MySQL_SerialQueryAll(AUTHREG_SERIALTABLE*** pppSt_SerialTable, int* pInt_ListCount, int nPosStart, int nPosEnd)
+{
+ SQLPacket_IsErrorOccur = false;
+
+ XNETHANDLE xhTable = 0;
+ __int64u nRow = 0;
+ __int64u nColumn = 0;
+ char** ppszResult = NULL;
+ XCHAR tszSQLStatement[1024]; //SQL语句
+
+ memset(tszSQLStatement, '\0', 1024);
+
+ _xstprintf(tszSQLStatement, _X("SELECT * FROM `Authorize_Serial` LIMIT %d,%d"), nPosStart, nPosEnd - nPosStart);
+ if (!DataBase_MySQL_ExecuteQuery(xhData, &xhTable, tszSQLStatement, &nRow, &nColumn))
+ {
+ SQLPacket_IsErrorOccur = true;
+ SQLPacket_dwErrorCode = ERROR_AUTHORIZE_MODULE_DATABASE_GETTABLE;
+ return false;
+ }
+ if (nRow <= 0)
+ {
+ SQLPacket_IsErrorOccur = true;
+ SQLPacket_dwErrorCode = ERROR_AUTHORIZE_MODULE_DATABASE_NONE;
+ return false;
+ }
+ BaseLib_OperatorMemory_Malloc((XPPPMEM)pppSt_SerialTable, (int)nRow, sizeof(AUTHREG_SERIALTABLE));
+
+ *pInt_ListCount = nRow;
+
+ for (int i = 0; i < nRow; i++)
+ {
+ // 获取数据库结果
+ ppszResult = DataBase_MySQL_GetResult(xhData, xhTable);
+ //XLONG* pInt_Length = DataBase_MySQL_GetLength(xhData, xhTable);
+
+ int nFliedValue = 0;
+ //ID
+ nFliedValue++;
+ //使用者
+ _tcsxcpy((*pppSt_SerialTable)[i]->tszUserName, ppszResult[nFliedValue]);
+ nFliedValue++;
+ //序列号
+ _tcsxcpy((*pppSt_SerialTable)[i]->tszSerialNumber, ppszResult[nFliedValue]);
+ nFliedValue++;
+ //超时时间
+ _tcsxcpy((*pppSt_SerialTable)[i]->tszMaxTime, ppszResult[nFliedValue]);
+ nFliedValue++;
+ //序列卡类型
+ (*pppSt_SerialTable)[i]->enSerialType = (ENUM_HELPCOMPONENTS_AUTHORIZE_SERIAL_TYPE)_ttxoi(ppszResult[nFliedValue]);
+ nFliedValue++;
+ //是否已经使用
+ (*pppSt_SerialTable)[i]->bIsUsed = _ttxoi(ppszResult[nFliedValue]);
+ nFliedValue++;
+ //创建时间
+ _tcsxcpy((*pppSt_SerialTable)[i]->tszCreateTime, ppszResult[nFliedValue]);
+ nFliedValue++;
+ }
+ DataBase_MySQL_FreeResult(xhData, xhTable);
+ return true;
+}
+/********************************************************************
+函数名称:DBModule_MySQL_SerialPush
+函数功能:插入一条指定的序列号信息到服务器
+ 参数.一:pSt_SerialTable
+ In/Out:In
+ 类型:数据结构指针
+ 可空:N
+ 意思:输入要插入的信息
+返回值
+ 类型:逻辑型
+ 意思:是否成功
+备注:
+*********************************************************************/
+bool CDBModule_MySQL::DBModule_MySQL_SerialPush(AUTHREG_SERIALTABLE* pSt_SerialTable)
+{
+ SQLPacket_IsErrorOccur = false;
+
+ XCHAR tszSQLStatement[1024]; //SQL语句
+ memset(tszSQLStatement, '\0', 1024);
+
+ if (DBModule_MySQL_SerialQuery(pSt_SerialTable->tszSerialNumber))
+ {
+ SQLPacket_IsErrorOccur = true;
+ SQLPacket_dwErrorCode = ERROR_AUTHORIZE_MODULE_DATABASE_EXIST;
+ return false;
+ }
+ _xstprintf(tszSQLStatement, _X("INSERT INTO `Authorize_Serial` values(NULL,'%s','%s','%s',%d,%d,'%s')"), pSt_SerialTable->tszUserName, pSt_SerialTable->tszSerialNumber, pSt_SerialTable->tszMaxTime, pSt_SerialTable->enSerialType, pSt_SerialTable->bIsUsed, pSt_SerialTable->tszCreateTime);
+
+ if (!DataBase_MySQL_Execute(xhData, tszSQLStatement))
+ {
+ SQLPacket_IsErrorOccur = true;
+ SQLPacket_dwErrorCode = ERROR_AUTHORIZE_MODULE_DATABASE_ISFAILED;
+ return false;
+ }
+ return true;
+}
+/********************************************************************
+函数名称:DBModule_MySQL_TryInsert
+函数功能:网络使用模式插入一条数据
+ 参数.一:pSt_AuthVer
+ In/Out:In
+ 类型:数据结构指针
+ 可空:N
+ 意思:输入要插入的数据
+返回值
+ 类型:逻辑型
+ 意思:是否成功
+备注:
+*********************************************************************/
+bool CDBModule_MySQL::DBModule_MySQL_TryInsert(AUTHREG_TEMPVER* pSt_AuthVer)
+{
+ SQLPacket_IsErrorOccur = false;
+
+ if (NULL == pSt_AuthVer)
+ {
+ SQLPacket_IsErrorOccur = true;
+ SQLPacket_dwErrorCode = ERROR_AUTHORIZE_MODULE_DATABASE_PARAMENT;
+ return false;
+ }
+ XCHAR tszSQLStatement[1024];
+ AUTHREG_TEMPVER st_AuthVer;
+
+ memset(tszSQLStatement, '\0', 1024);
+ memset(&st_AuthVer, '\0', sizeof(AUTHREG_TEMPVER));
+ //验证是否存在
+ _tcsxcpy(st_AuthVer.tszVSerial, pSt_AuthVer->tszVSerial);
+ if (DBModule_MySQL_TryQuery(&st_AuthVer))
+ {
+ SQLPacket_IsErrorOccur = true;
+ SQLPacket_dwErrorCode = ERROR_AUTHORIZE_MODULE_DATABASE_EXIST;
+ return false;
+ }
+ //插入数据库
+ _xstprintf(tszSQLStatement, _X("INSERT INTO `Authorize_TempVer`(tszVSerial,nVMode,nVTime,nLTime,CreateTime) VALUES('%s',%d,%d,%d,NOW())"), pSt_AuthVer->tszVSerial, pSt_AuthVer->enVMode, pSt_AuthVer->nVTime, pSt_AuthVer->nVTime);
+
+ if (!DataBase_MySQL_Execute(xhData, tszSQLStatement))
+ {
+ SQLPacket_IsErrorOccur = true;
+ SQLPacket_dwErrorCode = DataBase_GetLastError();
+ return false;
+ }
+ return true;
+}
+/********************************************************************
+函数名称:DBModule_MySQL_TryQuery
+函数功能:试用序列号查询函数
+ 参数.一:pSt_AuthVer
+ In/Out:In/Out
+ 类型:数据结构指针
+ 可空:N
+ 意思:输入序列号,输出获取到的内容
+返回值
+ 类型:逻辑型
+ 意思:是否成功
+备注:
+*********************************************************************/
+bool CDBModule_MySQL::DBModule_MySQL_TryQuery(AUTHREG_TEMPVER* pSt_AuthVer)
+{
+ SQLPacket_IsErrorOccur = false;
+
+ if (NULL == pSt_AuthVer)
+ {
+ SQLPacket_IsErrorOccur = true;
+ SQLPacket_dwErrorCode = ERROR_AUTHORIZE_MODULE_DATABASE_PARAMENT;
+ return false;
+ }
+ XNETHANDLE xhTable = 0;
+ __int64u nColumn = 0;
+ __int64u nRow = 0;
+ XCHAR** ppszResult = NULL;
+ XCHAR tszSQLStatement[1024]; //SQL语句
+
+ memset(tszSQLStatement, '\0', 1024);
+ _xstprintf(tszSQLStatement, _X("SELECT * FROM `Authorize_TempVer` WHERE tszVSerial = '%s'"), pSt_AuthVer->tszVSerial);
+
+
+ if (!DataBase_MySQL_ExecuteQuery(xhData, &xhTable, tszSQLStatement, &nRow, &nColumn))
+ {
+ SQLPacket_IsErrorOccur = true;
+ SQLPacket_dwErrorCode = DataBase_GetLastError();
+ return false;
+ }
+
+ if (nRow <= 0)
+ {
+ SQLPacket_IsErrorOccur = true;
+ SQLPacket_dwErrorCode = ERROR_AUTHORIZE_MODULE_DATABASE_NONE;
+ return false;
+ }
+ ppszResult = DataBase_MySQL_GetResult(xhData, xhTable);
+ //XLONG* pInt_Length = DataBase_MySQL_GetLength(xhData, xhTable);
+
+ //ID
+ int nFliedValue = 0;
+ nFliedValue++;
+ //序列号
+ nFliedValue++;
+
+ //试用类型
+ if (NULL != ppszResult[nFliedValue])
+ {
+ pSt_AuthVer->enVMode = (ENUM_HELPCOMPONENTS_AUTHORIZE_SERIAL_TYPE)_ttxoi(ppszResult[nFliedValue]);
+ }
+
+ //试用时间
+ nFliedValue++;
+ if (NULL != ppszResult[nFliedValue])
+ {
+ pSt_AuthVer->nVTime = _ttxoi(ppszResult[nFliedValue]);
+ }
+
+ //剩余时间
+ nFliedValue++;
+ if (NULL != ppszResult[nFliedValue])
+ {
+ pSt_AuthVer->nLTime = _ttxoi(ppszResult[nFliedValue]);
+ }
+
+ //注册时间
+ nFliedValue++;
+ if (NULL != ppszResult[nFliedValue])
+ {
+ _tcsxcpy(pSt_AuthVer->tszVDate, ppszResult[nFliedValue]);
+ }
+
+ DataBase_MySQL_FreeResult(xhData, xhTable);
+ return true;
+}
+/********************************************************************
+函数名称:DBModule_MySQL_TryDelete
+函数功能:删除一条指定的试用数据
+ 参数.一:lpszSerial
+ In/Out:In
+ 类型:常量字符指针
+ 可空:N
+ 意思:输入要删除的序列号
+返回值
+ 类型:逻辑型
+ 意思:是否成功
+备注:
+*********************************************************************/
+bool CDBModule_MySQL::DBModule_MySQL_TryDelete(LPCXSTR lpszSerial)
+{
+ SQLPacket_IsErrorOccur = false;
+
+ if (NULL == lpszSerial)
+ {
+ SQLPacket_IsErrorOccur = true;
+ SQLPacket_dwErrorCode = ERROR_AUTHORIZE_MODULE_DATABASE_PARAMENT;
+ return false;
+ }
+ XCHAR tszSQLStatement[1024];
+ memset(tszSQLStatement, '\0', 1024);
+
+ _xstprintf(tszSQLStatement, _X("DELETE FROM `Authorize_TempVer` WHERE tszVSerial = '%s'"), lpszSerial);
+
+ if (!DataBase_MySQL_Execute(xhData, tszSQLStatement))
+ {
+ SQLPacket_IsErrorOccur = true;
+ SQLPacket_dwErrorCode = DataBase_GetLastError();
+ return false;
+ }
+ return true;
+}
+/********************************************************************
+函数名称:DBModule_MySQL_TryClear
+函数功能:清理函数,自动清理过期数据
+ 参数.一:nThanValue
+ In/Out:In
+ 类型:整数型
+ 可空:N
+ 意思:清理用于判断需要大于此的值
+ 参数.二:enVMode
+ In/Out:In
+ 类型:枚举型
+ 可空:Y
+ 意思:判断注册类型,默认不判断全部执行
+返回值
+ 类型:逻辑型
+ 意思:是否成功
+备注:
+*********************************************************************/
+bool CDBModule_MySQL::DBModule_MySQL_TryClear(int nThanValue, ENUM_HELPCOMPONENTS_AUTHORIZE_SERIAL_TYPE enVerMode)
+{
+ SQLPacket_IsErrorOccur = false;
+
+ XNETHANDLE xhTable = 0;
+ __int64u nRow = 0;
+ __int64u nColumn = 0;
+ XCHAR** ppszResult = NULL;
+ XCHAR tszSQLStatement[1024]; //SQL语句
+
+ memset(tszSQLStatement, '\0', 1024);
+ _xstprintf(tszSQLStatement, _X("SELECT * FROM `Authorize_TempVer`"));
+
+ if (!DataBase_MySQL_ExecuteQuery(xhData, &xhTable, tszSQLStatement, &nRow, &nColumn))
+ {
+ SQLPacket_IsErrorOccur = true;
+ SQLPacket_dwErrorCode = DataBase_GetLastError();
+ return false;
+ }
+
+ list stl_ListVer;
+ //轮训所有内容
+ for (int i = 0; i < nRow; i++)
+ {
+ ppszResult = DataBase_MySQL_GetResult(xhData, xhTable);
+ //XLONG* pInt_Length = DataBase_MySQL_GetLength(xhData, xhTable);
+
+ int nFliedValue = 0;
+ AUTHREG_TEMPVER st_AuthVer;
+ memset(&st_AuthVer, '\0', sizeof(AUTHREG_TEMPVER));
+ //ID
+ nFliedValue++;
+ //序列号
+ _tcsxcpy(st_AuthVer.tszVSerial, ppszResult[nFliedValue]);
+ nFliedValue++;
+ //模式
+ st_AuthVer.enVMode = (ENUM_HELPCOMPONENTS_AUTHORIZE_SERIAL_TYPE)_ttxoi(ppszResult[nFliedValue]);
+ nFliedValue++;
+ //测试时间
+ st_AuthVer.nVTime = _ttxoi(ppszResult[nFliedValue]);
+ nFliedValue++;
+ //测试时间
+ st_AuthVer.nLTime = _ttxoi(ppszResult[nFliedValue]);
+ nFliedValue++;
+ //注册时间
+ _tcsxcpy(st_AuthVer.tszVDate, ppszResult[nFliedValue]);
+
+ stl_ListVer.push_back(st_AuthVer);
+ }
+ DataBase_MySQL_FreeResult(xhData, xhTable);
+ //清理
+ list::const_iterator stl_ListIterator = stl_ListVer.begin();
+ for (; stl_ListIterator != stl_ListVer.end(); stl_ListIterator++)
+ {
+ //判断是不是不关心注册的模式直接清理
+ if (ENUM_HELPCOMPONENTS_AUTHORIZE_SERIAL_TYPE_UNKNOW == enVerMode)
+ {
+ if (nThanValue > stl_ListIterator->nVTime)
+ {
+ memset(tszSQLStatement, '\0', 1024);
+ _xstprintf(tszSQLStatement, _X("DELETE FROM `Authorize_TempVer` WHERE tszVSerial = '%s'"), stl_ListIterator->tszVSerial);
+
+ if (!DataBase_MySQL_Execute(xhData, tszSQLStatement))
+ {
+ SQLPacket_IsErrorOccur = true;
+ SQLPacket_dwErrorCode = DataBase_GetLastError();
+ return false;
+ }
+ }
+ }
+ else
+ {
+ if (enVerMode == stl_ListIterator->enVMode)
+ {
+ memset(tszSQLStatement, '\0', 1024);
+ _xstprintf(tszSQLStatement, _X("DELETE FROM `Authorize_TempVer` WHERE tszVSerial = '%s'"), stl_ListIterator->tszVSerial);
+
+ if (!DataBase_MySQL_Execute(xhData, tszSQLStatement))
+ {
+ SQLPacket_IsErrorOccur = true;
+ SQLPacket_dwErrorCode = DataBase_GetLastError();
+ return false;
+ }
+ }
+ }
+ }
+ stl_ListVer.clear();
+ return true;
+}
+/********************************************************************
+函数名称:DBModule_MySQL_TrySet
+函数功能:设置用户信息函数
+ 参数.一:pSt_AuthVer
+ In/Out:In
+ 类型:数据结构指针
+ 可空:N
+ 意思:输入要更新的用户信息
+返回值
+ 类型:逻辑型
+ 意思:是否成功
+备注:
+*********************************************************************/
+bool CDBModule_MySQL::DBModule_MySQL_TrySet(AUTHREG_TEMPVER* pSt_AuthVer)
+{
+ SQLPacket_IsErrorOccur = false;
+
+ XCHAR tszSQLStatement[1024];
+ memset(tszSQLStatement, '\0', sizeof(tszSQLStatement));
+
+ _xstprintf(tszSQLStatement, _X("UPDATE `Authorize_TempVer` SET nVMode = '%d',nVTime = '%d',nLTime = '%d',CreateTime = '%s' WHERE tszVSerial = '%s'"), pSt_AuthVer->enVMode, pSt_AuthVer->nVTime, pSt_AuthVer->nLTime, pSt_AuthVer->tszVDate, pSt_AuthVer->tszVSerial);
+ //更新用户表
+ if (!DataBase_MySQL_Execute(xhData, tszSQLStatement))
+ {
+ SQLPacket_IsErrorOccur = true;
+ SQLPacket_dwErrorCode = DataBase_GetLastError();
+ return false;
+ }
+ return true;
+}
+/********************************************************************
+函数名称:DBModule_MySQL_TryList
+函数功能:请求试用期列表
+ 参数.一:pppSt_AuthVer
+ In/Out:Out
+ 类型:三级指针
+ 可空:N
+ 意思:输出获取到的列表
+ 参数.二:pInt_ListCount
+ In/Out:Out
+ 类型:整数型指针
+ 可空:N
+ 意思:输出列表个数
+ 参数.三:nPosStart
+ In/Out:In
+ 类型:整数型
+ 可空:N
+ 意思:输入查询起始编号
+ 参数.四:nPosEnd
+ In/Out:In
+ 类型:整数型
+ 可空:N
+ 意思:输入查询结束编号
+返回值
+ 类型:逻辑型
+ 意思:是否成功
+备注:
+*********************************************************************/
+bool CDBModule_MySQL::DBModule_MySQL_TryList(AUTHREG_TEMPVER*** pppSt_AuthVer, int* pInt_ListCount, int nPosStart, int nPosEnd)
+{
+ SQLPacket_IsErrorOccur = false;
+
+ XNETHANDLE xhTable = 0;
+ __int64u nColumn = 0;
+ __int64u nRow = 0;
+ XCHAR** ppszResult = NULL;
+ XCHAR tszSQLStr[1024]; //SQL语句
+
+ memset(tszSQLStr, '\0', 1024);
+ _xstprintf(tszSQLStr, _X("SELECT * FROM `Authorize_TempVer` LIMIT %d,%d"), nPosStart, nPosEnd - nPosStart);
+
+ if (!DataBase_MySQL_ExecuteQuery(xhData, &xhTable, tszSQLStr, &nRow, &nColumn))
+ {
+ SQLPacket_IsErrorOccur = true;
+ SQLPacket_dwErrorCode = DataBase_GetLastError();
+ return false;
+ }
+ BaseLib_OperatorMemory_Malloc((XPPPMEM)pppSt_AuthVer, (int)nRow, sizeof(AUTHREG_TEMPVER));
+
+ //轮训所有内容
+ for (int i = 0; i < nRow; i++)
+ {
+ ppszResult = DataBase_MySQL_GetResult(xhData, xhTable);
+ //XLONG* pInt_Length = DataBase_MySQL_GetLength(xhData, xhTable);
+
+ int nFliedValue = 0;
+ //ID
+ (*pppSt_AuthVer)[i]->nID = _ttxoi(ppszResult[nFliedValue]);
+ nFliedValue++;
+ //是否启用
+ _tcsxcpy((*pppSt_AuthVer)[i]->tszVSerial, ppszResult[nFliedValue]);
+ nFliedValue++;
+ //类型
+ (*pppSt_AuthVer)[i]->enVMode = (ENUM_HELPCOMPONENTS_AUTHORIZE_SERIAL_TYPE)_ttxoi(ppszResult[nFliedValue]);
+ nFliedValue++;
+ //时间
+ (*pppSt_AuthVer)[i]->nVTime = _ttxoi(ppszResult[nFliedValue]);
+ nFliedValue++;
+ //时间
+ (*pppSt_AuthVer)[i]->nLTime = _ttxoi(ppszResult[nFliedValue]);
+ nFliedValue++;
+ //注册时间
+ _tcsxcpy((*pppSt_AuthVer)[i]->tszVDate, ppszResult[nFliedValue]);
+ nFliedValue++;
+ }
+ *pInt_ListCount = nRow;
+ DataBase_MySQL_FreeResult(xhData, xhTable);
+ return true;
+}
+/********************************************************************
+函数名称:DBModule_MySQL_BannedInsert
+函数功能:黑名单列表插入
+ 参数.一:pSt_Banned
+ In/Out:In
+ 类型:数据结构指针
+ 可空:N
+ 意思:要操作的数据
+返回值
+ 类型:逻辑型
+ 意思:是否成功
+备注:
+*********************************************************************/
+bool CDBModule_MySQL::DBModule_MySQL_BannedInsert(AUTHREG_BANNED* pSt_Banned)
+{
+ SQLPacket_IsErrorOccur = false;
+
+ if (NULL == pSt_Banned)
+ {
+ SQLPacket_IsErrorOccur = true;
+ SQLPacket_dwErrorCode = ERROR_AUTHORIZE_MODULE_DATABASE_PARAMENT;
+ return false;
+ }
+ //存在直接返回
+ if (DBModule_MySQL_BannedExist(pSt_Banned))
+ {
+ return true;
+ }
+ XCHAR tszSQLStatement[1024];
+ memset(tszSQLStatement, '\0', sizeof(tszSQLStatement));
+ //处理的类型
+ if (_tcsxlen(pSt_Banned->tszUserName) > 0)
+ {
+ _xstprintf(tszSQLStatement, _X("INSERT INTO `Authorize_BannedUser`(bEnable,tszUserName,tszLeftTime,tszCreateTime) VALUES(%d,'%s','%s',NOW())"), pSt_Banned->bEnable, pSt_Banned->tszUserName, pSt_Banned->tszLeftTime);
+ }
+ else
+ {
+ _xstprintf(tszSQLStatement, _X("INSERT INTO `Authorize_BannedAddr`(bEnable,tszIPAddr,tszLeftTime,tszCreateTime) VALUES(%d,'%s','%s',NOW())"), pSt_Banned->bEnable, pSt_Banned->tszIPAddr, pSt_Banned->tszLeftTime);
+ }
+
+ if (!DataBase_MySQL_Execute(xhData, tszSQLStatement))
+ {
+ SQLPacket_IsErrorOccur = true;
+ SQLPacket_dwErrorCode = DataBase_GetLastError();
+ return false;
+ }
+ return true;
+}
+/********************************************************************
+函数名称:DBModule_MySQL_BannedDelete
+函数功能:黑名单列表删除
+ 参数.一:pSt_Banned
+ In/Out:In
+ 类型:数据结构指针
+ 可空:N
+ 意思:要操作的数据
+返回值
+ 类型:逻辑型
+ 意思:是否成功
+备注:
+*********************************************************************/
+bool CDBModule_MySQL::DBModule_MySQL_BannedDelete(AUTHREG_BANNED* pSt_Banned)
+{
+ SQLPacket_IsErrorOccur = false;
+
+ if (NULL == pSt_Banned)
+ {
+ SQLPacket_IsErrorOccur = true;
+ SQLPacket_dwErrorCode = ERROR_AUTHORIZE_MODULE_DATABASE_PARAMENT;
+ return false;
+ }
+ XCHAR tszSQLStatement[1024];
+ memset(tszSQLStatement, '\0', 1024);
+ //处理的类型
+ if (_tcsxlen(pSt_Banned->tszUserName) > 0)
+ {
+ _xstprintf(tszSQLStatement, _X("DELETE FROM `Authorize_BannedUser` WHERE tszUserName = '%s'"), pSt_Banned->tszUserName);
+ }
+ else
+ {
+ _xstprintf(tszSQLStatement, _X("DELETE FROM `Authorize_BannedAddr` WHERE tszIPAddr = '%s'"), pSt_Banned->tszIPAddr);
+ }
+
+ if (!DataBase_MySQL_Execute(xhData, tszSQLStatement))
+ {
+ SQLPacket_IsErrorOccur = true;
+ SQLPacket_dwErrorCode = DataBase_GetLastError();
+ return false;
+ }
+ return true;
+}
+/********************************************************************
+函数名称:DBModule_MySQL_BannedList
+函数功能:黑名单列表查询
+ 参数.一:pppSt_BannedUser
+ In/Out:Out
+ 类型:三级指针
+ 可空:N
+ 意思:禁用的用户名列表
+ 参数.二:pInt_UserCount
+ In/Out:Out
+ 类型:整数型指针
+ 可空:N
+ 意思:输出用户禁用列表个数
+ 参数.三:pppSt_BannedAddr
+ In/Out:Out
+ 类型:三级指针
+ 可空:N
+ 意思:禁用的IP地址列表
+ 参数.四:pInt_AddrCount
+ In/Out:Out
+ 类型:整数型指针
+ 可空:N
+ 意思:输出地址禁用列表个数
+ 参数.五:nPosStart
+ In/Out:In
+ 类型:整数型
+ 可空:N
+ 意思:输入查找起始位置
+ 参数.六:nPosEnd
+ In/Out:In
+ 类型:整数型
+ 可空:N
+ 意思:输入查找结束位置
+返回值
+ 类型:逻辑型
+ 意思:是否成功
+备注:
+*********************************************************************/
+bool CDBModule_MySQL::DBModule_MySQL_BannedList(AUTHREG_BANNED*** pppSt_BannedUser, int* pInt_UserCount, AUTHREG_BANNED*** pppSt_BannedAddr, int* pInt_AddrCount, int nPosStart, int nPosEnd)
+{
+ SQLPacket_IsErrorOccur = false;
+ //查询
+ XNETHANDLE xhTable = 0;
+ __int64u nColumn = 0;
+ __int64u nRow = 0;
+
+ XCHAR** ppszResult = NULL;
+ XCHAR tszSQLStatement[1024]; //SQL语句
+
+ memset(tszSQLStatement, '\0', 1024);
+ _xstprintf(tszSQLStatement, _X("SELECT * FROM `Authorize_BannedAddr` LIMIT %d,%d"), nPosStart, nPosEnd - nPosStart);
+
+ if (!DataBase_MySQL_ExecuteQuery(xhData, &xhTable, tszSQLStatement, &nRow, &nColumn))
+ {
+ SQLPacket_IsErrorOccur = true;
+ SQLPacket_dwErrorCode = DataBase_GetLastError();
+ return false;
+ }
+
+ list stl_ListAddr;
+ //轮训所有内容
+ for (int i = 0; i < nRow; i++)
+ {
+ ppszResult = DataBase_MySQL_GetResult(xhData, xhTable);
+ //XLONG* pInt_Length = DataBase_MySQL_GetLength(xhData, xhTable);
+ int nFliedValue = 0;
+
+ AUTHREG_BANNED st_Banned;
+ memset(&st_Banned, '\0', sizeof(AUTHREG_BANNED));
+ //ID
+ st_Banned.nID = _ttxoll(ppszResult[nFliedValue]);
+ nFliedValue++;
+ //是否启用
+ st_Banned.bEnable = _ttxoi(ppszResult[nFliedValue]);
+ nFliedValue++;
+ //地址
+ _tcsxcpy(st_Banned.tszIPAddr, ppszResult[nFliedValue]);
+ nFliedValue++;
+ //过期时间
+ _tcsxcpy(st_Banned.tszLeftTime, ppszResult[nFliedValue]);
+ nFliedValue++;
+ //注册时间
+ _tcsxcpy(st_Banned.tszCreateTime, ppszResult[nFliedValue]);
+ nFliedValue++;
+
+ stl_ListAddr.push_back(st_Banned);
+ }
+ DataBase_MySQL_FreeResult(xhData, xhTable);
+ //用户列表
+ xhTable = 0;
+ nRow = 0;
+ nColumn = 0;
+ ppszResult = NULL;
+ memset(tszSQLStatement, '\0', 1024);
+ _xstprintf(tszSQLStatement, _X("SELECT * FROM `Authorize_BannedUser` LIMIT %d,%d"), nPosStart, nPosEnd - nPosStart);
+
+ if (!DataBase_MySQL_ExecuteQuery(xhData, &xhTable, tszSQLStatement, &nRow, &nColumn))
+ {
+ SQLPacket_IsErrorOccur = true;
+ SQLPacket_dwErrorCode = DataBase_GetLastError();
+ return false;
+ }
+
+ list stl_ListUser;
+ //轮训所有内容
+ for (int i = 0; i < nRow; i++)
+ {
+ AUTHREG_BANNED st_Banned;
+ memset(&st_Banned, '\0', sizeof(AUTHREG_BANNED));
+
+ ppszResult = DataBase_MySQL_GetResult(xhData, xhTable);
+ //XLONG* pInt_Length = DataBase_MySQL_GetLength(xhData, xhTable);
+ int nFliedValue = 0;
+
+ //ID
+ st_Banned.nID = _ttxoll(ppszResult[nFliedValue]);
+ nFliedValue++;
+ //是否启用
+ st_Banned.bEnable = _ttxoi(ppszResult[nFliedValue]);
+ nFliedValue++;
+ //用户名
+ _tcsxcpy(st_Banned.tszUserName, ppszResult[nFliedValue]);
+ nFliedValue++;
+ //过期时间
+ _tcsxcpy(st_Banned.tszLeftTime, ppszResult[nFliedValue]);
+ nFliedValue++;
+ //注册时间
+ _tcsxcpy(st_Banned.tszCreateTime, ppszResult[nFliedValue]);
+ nFliedValue++;
+
+ stl_ListUser.push_back(st_Banned);
+ }
+ DataBase_MySQL_FreeResult(xhData, xhTable);
+ //导出
+ *pInt_AddrCount = stl_ListAddr.size();
+ *pInt_UserCount = stl_ListUser.size();
+ BaseLib_OperatorMemory_Malloc((XPPPMEM)pppSt_BannedAddr, stl_ListAddr.size(), sizeof(AUTHREG_BANNED));
+ BaseLib_OperatorMemory_Malloc((XPPPMEM)pppSt_BannedUser, stl_ListUser.size(), sizeof(AUTHREG_BANNED));
+
+ list::const_iterator stl_ListIterator = stl_ListAddr.begin();
+ for (int i = 0; stl_ListIterator != stl_ListAddr.end(); stl_ListIterator++, i++)
+ {
+ (*pppSt_BannedAddr)[i]->nID = stl_ListIterator->nID;
+ (*pppSt_BannedAddr)[i]->bEnable = stl_ListIterator->bEnable;
+ _tcsxcpy((*pppSt_BannedAddr)[i]->tszIPAddr, stl_ListIterator->tszIPAddr);
+ _tcsxcpy((*pppSt_BannedAddr)[i]->tszLeftTime, stl_ListIterator->tszLeftTime);
+ _tcsxcpy((*pppSt_BannedAddr)[i]->tszCreateTime, stl_ListIterator->tszCreateTime);
+ }
+ stl_ListIterator = stl_ListUser.begin();
+ for (int i = 0; stl_ListIterator != stl_ListUser.end(); stl_ListIterator++, i++)
+ {
+ (*pppSt_BannedUser)[i]->nID = stl_ListIterator->nID;
+ (*pppSt_BannedUser)[i]->bEnable = stl_ListIterator->bEnable;
+ _tcsxcpy((*pppSt_BannedUser)[i]->tszUserName, stl_ListIterator->tszUserName);
+ _tcsxcpy((*pppSt_BannedUser)[i]->tszLeftTime, stl_ListIterator->tszLeftTime);
+ _tcsxcpy((*pppSt_BannedUser)[i]->tszCreateTime, stl_ListIterator->tszCreateTime);
+ }
+
+ stl_ListAddr.clear();
+ stl_ListUser.clear();
+ return true;
+}
+/********************************************************************
+函数名称:DBModule_MySQL_BannedExist
+函数功能:名单是否存在黑名单列表
+ 参数.一:pSt_Banned
+ In/Out:In
+ 类型:数据结构指针
+ 可空:N
+ 意思:要操作的数据
+返回值
+ 类型:逻辑型
+ 意思:是否成功
+备注:
+*********************************************************************/
+bool CDBModule_MySQL::DBModule_MySQL_BannedExist(AUTHREG_BANNED* pSt_Banned)
+{
+ SQLPacket_IsErrorOccur = false;
+ XCHAR** ppszResult = nullptr;
+ XLONG* pInt_Length = nullptr;
+
+ //判断用户名是否存在
+ if (_tcsxlen(pSt_Banned->tszUserName) > 0)
+ {
+ __int64u nRow = 0;
+ __int64u nColumn = 0;
+ XNETHANDLE xhTable = 0;
+
+ XCHAR tszSQLStatement[1024];
+ memset(tszSQLStatement, '\0', 1024);
+
+ _xstprintf(tszSQLStatement, _X("SELECT * FROM Authorize_BannedUser WHERE tszUserName = '%s'"), pSt_Banned->tszUserName);
+
+
+ if (!DataBase_MySQL_ExecuteQuery(xhData, &xhTable, tszSQLStatement, &nRow, &nColumn))
+ {
+ SQLPacket_IsErrorOccur = true;
+ SQLPacket_dwErrorCode = DataBase_GetLastError();
+ return false;
+ }
+
+ if (nRow <= 0)
+ {
+ SQLPacket_IsErrorOccur = true;
+ SQLPacket_dwErrorCode = ERROR_AUTHORIZE_MODULE_DATABASE_PARAMENT;
+ DataBase_MySQL_FreeResult(xhData, xhTable);
+ return false;
+ }
+
+ ppszResult = DataBase_MySQL_GetResult(xhData, xhTable);
+ pInt_Length = DataBase_MySQL_GetLength(xhData, xhTable);
+
+ //ID
+ int nFliedValue = 0;
+ if (NULL != ppszResult[nFliedValue]) {
+ pSt_Banned->nID = _ttxoll(ppszResult[nFliedValue]);
+ }
+ //是否启用
+ nFliedValue++;
+ if (NULL != ppszResult[nFliedValue]) {
+ pSt_Banned->bEnable = _ttxoi(ppszResult[nFliedValue]);
+ }
+
+ //地址
+ nFliedValue++;
+
+ //过期时间
+ nFliedValue++;
+ if (NULL != ppszResult[nFliedValue]) {
+ _tcsxcpy(pSt_Banned->tszLeftTime, ppszResult[nFliedValue]);
+ }
+
+ //注册时间
+ nFliedValue++;
+ if (NULL != ppszResult[nFliedValue]) {
+ _tcsxcpy(pSt_Banned->tszCreateTime, ppszResult[nFliedValue]);
+ }
+
+ DataBase_MySQL_FreeResult(xhData, xhTable);
+ }
+
+ //判断IP地址是否存在
+ if (_tcsxlen(pSt_Banned->tszIPAddr) > 0)
+ {
+ XNETHANDLE xhTable = 0;
+ __int64u nRow = 0;
+ __int64u nColumn = 0;
+ ppszResult = nullptr;
+ pInt_Length = nullptr;
+
+ XCHAR tszSQLStatement[1024];
+ memset(tszSQLStatement, '\0', 1024);
+
+ _xstprintf(tszSQLStatement, _X("SELECT * FROM Authorize_BannedAddr WHERE tszIPAddr = '%s'"), pSt_Banned->tszIPAddr);
+
+ if (!DataBase_MySQL_ExecuteQuery(xhData, &xhTable, tszSQLStatement, &nRow, &nColumn))
+ {
+ SQLPacket_IsErrorOccur = true;
+ SQLPacket_dwErrorCode = DataBase_GetLastError();
+ DataBase_MySQL_FreeResult(xhData, xhTable);
+ return false;
+ }
+
+ if (nRow <= 0)
+ {
+ SQLPacket_IsErrorOccur = true;
+ SQLPacket_dwErrorCode = ERROR_AUTHORIZE_MODULE_DATABASE_PARAMENT;
+ DataBase_MySQL_FreeResult(xhData, xhTable);
+ return false;
+ }
+ ppszResult = DataBase_MySQL_GetResult(xhData, xhTable);
+ pInt_Length = DataBase_MySQL_GetLength(xhData, xhTable);
+
+ //ID
+ int nFliedValue = 0;
+ if (NULL != ppszResult[nFliedValue])
+ {
+ pSt_Banned->nID = _ttxoll(ppszResult[nFliedValue]);
+ }
+
+ //是否启用
+ nFliedValue++;
+ if (NULL != ppszResult[nFliedValue])
+ {
+ pSt_Banned->bEnable = _ttxoi(ppszResult[nFliedValue]);
+ }
+
+ //地址
+ nFliedValue++;
+
+ //过期时间
+ nFliedValue++;
+ if (NULL != ppszResult[nFliedValue])
+ {
+ _tcsxcpy(pSt_Banned->tszLeftTime, ppszResult[nFliedValue]);
+ }
+
+
+ //注册时间
+ nFliedValue++;
+ if (NULL != ppszResult[nFliedValue])
+ {
+ _tcsxcpy(pSt_Banned->tszCreateTime, ppszResult[nFliedValue]);
+ }
+
+ DataBase_MySQL_FreeResult(xhData, xhTable);
+ }
+ //处理是否被禁用
+ if (!pSt_Banned->bEnable)
+ {
+ SQLPacket_IsErrorOccur = true;
+ SQLPacket_dwErrorCode = ERROR_AUTHORIZE_MODULE_DATABASE_NOTENABLE;
+ return false;
+ }
+ if (_tcsxlen(pSt_Banned->tszLeftTime) > 0)
+ {
+ __int64x nTimer = 0;
+ XCHAR tszStrTime[128];
+ memset(tszStrTime, '\0', sizeof(tszStrTime));
+ BaseLib_OperatorTime_TimeToStr(tszStrTime);
+ BaseLib_OperatorTimeSpan_GetForStr(pSt_Banned->tszLeftTime, tszStrTime, &nTimer, 3);
+ if (nTimer > 0)
+ {
+ SQLPacket_IsErrorOccur = true;
+ SQLPacket_dwErrorCode = ERROR_AUTHORIZE_MODULE_DATABASE_TIMELEFT;
+ return false;
+ }
+ }
+ return true;
+}
+/********************************************************************
+函数名称:DBModule_MySQL_BannedUPDate
+函数功能:更新名单列表信息
+ 参数.一:pSt_Banned
+ In/Out:In
+ 类型:数据结构指针
+ 可空:N
+ 意思:要操作的数据
+返回值
+ 类型:逻辑型
+ 意思:是否成功
+备注:
+*********************************************************************/
+bool CDBModule_MySQL::DBModule_MySQL_BannedUPDate(AUTHREG_BANNED* pSt_Banned)
+{
+ SQLPacket_IsErrorOccur = false;
+
+ if (NULL == pSt_Banned)
+ {
+ SQLPacket_IsErrorOccur = true;
+ SQLPacket_dwErrorCode = ERROR_AUTHORIZE_MODULE_DATABASE_PARAMENT;
+ return false;
+ }
+ XCHAR tszSQLStatement[1024];
+ memset(tszSQLStatement, '\0', sizeof(tszSQLStatement));
+ //处理的类型
+ if (_tcsxlen(pSt_Banned->tszUserName) > 0)
+ {
+ _xstprintf(tszSQLStatement, _X("UPDATE `Authorize_BannedUser` SET bEnable = %d,tszLeftTime = '%s' WHERE tszUserName = '%s'"), pSt_Banned->bEnable, pSt_Banned->tszLeftTime, pSt_Banned->tszUserName);
+ }
+ else
+ {
+ _xstprintf(tszSQLStatement, _X("UPDATE `Authorize_BannedAddr` SET bEnable = %d,tszLeftTime = '%s' WHERE tszIPAddr = '%s'"), pSt_Banned->bEnable, pSt_Banned->tszLeftTime, pSt_Banned->tszIPAddr);
+ }
+ //插入数据库
+ if (!DataBase_MySQL_Execute(xhData, tszSQLStatement))
+ {
+ SQLPacket_IsErrorOccur = true;
+ SQLPacket_dwErrorCode = DataBase_GetLastError();
+ return false;
+ }
+ return true;
+}
+/********************************************************************
+函数名称:DBModule_MySQL_AnnouncementInsert
+函数功能:公告插入
+ 参数.一:pSt_Announcement
+ In/Out:In
+ 类型:数据结构指针
+ 可空:N
+ 意思:输入要插入的信息
+返回值
+ 类型:逻辑型
+ 意思:是否成功
+备注:
+*********************************************************************/
+bool CDBModule_MySQL::DBModule_MySQL_AnnouncementInsert(AUTHREG_ANNOUNCEMENT* pSt_Announcement)
+{
+ SQLPacket_IsErrorOccur = false;
+
+ if (NULL == pSt_Announcement)
+ {
+ SQLPacket_IsErrorOccur = true;
+ SQLPacket_dwErrorCode = ERROR_AUTHORIZE_MODULE_DATABASE_PARAMENT;
+ return false;
+ }
+ XCHAR tszSQLStatement[8192];
+ memset(tszSQLStatement, '\0', sizeof(tszSQLStatement));
+
+ _xstprintf(tszSQLStatement, _X("INSERT INTO `Authorize_Announcement`(tszContext,tszCreateTime) VALUES('%s',NOW())"), pSt_Announcement->tszContext);
+
+ //插入数据库
+ if (!DataBase_MySQL_Execute(xhData, tszSQLStatement))
+ {
+ SQLPacket_IsErrorOccur = true;
+ SQLPacket_dwErrorCode = DataBase_GetLastError();
+ return false;
+ }
+ return true;
+}
+/********************************************************************
+函数名称:DBModule_MySQL_AnnouncementDelete
+函数功能:公告删除
+ 参数.一:pSt_Announcement
+ In/Out:In
+ 类型:数据结构指针
+ 可空:N
+ 意思:输入要删除的信息
+返回值
+ 类型:逻辑型
+ 意思:是否成功
+备注:
+*********************************************************************/
+bool CDBModule_MySQL::DBModule_MySQL_AnnouncementDelete(AUTHREG_ANNOUNCEMENT* pSt_Announcement)
+{
+ SQLPacket_IsErrorOccur = false;
+
+ if (NULL == pSt_Announcement)
+ {
+ SQLPacket_IsErrorOccur = true;
+ SQLPacket_dwErrorCode = ERROR_AUTHORIZE_MODULE_DATABASE_PARAMENT;
+ return false;
+ }
+ XCHAR tszSQLStatement[1024];
+ memset(tszSQLStatement, '\0', sizeof(tszSQLStatement));
+
+ _xstprintf(tszSQLStatement, _X("DELETE FROM `Authorize_Announcement` WHERE ID = %lld"), pSt_Announcement->nID);
+ //插入数据库
+ if (!DataBase_MySQL_Execute(xhData, tszSQLStatement))
+ {
+ SQLPacket_IsErrorOccur = true;
+ SQLPacket_dwErrorCode = DataBase_GetLastError();
+ return false;
+ }
+ return true;
+}
+/********************************************************************
+函数名称:DBModule_MySQL_AnnouncementList
+函数功能:列举所有公告
+ 参数.一:ppppSt_Announcement
+ In/Out:Out
+ 类型:三级指针
+ 可空:N
+ 意思:输出列举数据
+ 参数.二:pInt_ListCount
+ In/Out:Out
+ 类型:整数型指针
+ 可空:N
+ 意思:导出数据个数
+返回值
+ 类型:逻辑型
+ 意思:是否成功
+备注:
+*********************************************************************/
+bool CDBModule_MySQL::DBModule_MySQL_AnnouncementList(AUTHREG_ANNOUNCEMENT*** ppppSt_Announcement, int* pInt_ListCount)
+{
+ SQLPacket_IsErrorOccur = false;
+ XNETHANDLE xhTable = 0;
+ __int64u nRow = 0;
+ __int64u nColumn = 0;
+ XCHAR** ppszResult = NULL;
+ XCHAR tszSQLStatement[1024]; //SQL语句
+ memset(tszSQLStatement, '\0', 1024);
+ _xstprintf(tszSQLStatement, _X("SELECT * FROM `Authorize_Announcement`"));
+
+ if (!DataBase_MySQL_ExecuteQuery(xhData, &xhTable, tszSQLStatement, &nRow, &nColumn))
+ {
+ SQLPacket_IsErrorOccur = true;
+ SQLPacket_dwErrorCode = DataBase_GetLastError();
+ return false;
+ }
+ *pInt_ListCount = nRow;
+ if (NULL == ppppSt_Announcement)
+ {
+ return true;
+ }
+ BaseLib_OperatorMemory_Malloc((XPPPMEM)ppppSt_Announcement, (int)nRow, sizeof(AUTHREG_ANNOUNCEMENT));
+
+ //轮训所有内容
+ for (int i = 0; i < nRow; i++)
+ {
+ ppszResult = DataBase_MySQL_GetResult(xhData, xhTable);
+ //XLONG* pInt_Length = DataBase_MySQL_GetLength(xhData, xhTable);
+ int nFliedValue = 0;
+ (*ppppSt_Announcement)[i]->nID = _ttxoll(ppszResult[nFliedValue]);
+ nFliedValue++;
+ _tcsxcpy((*ppppSt_Announcement)[i]->tszContext, ppszResult[nFliedValue]);
+ nFliedValue++;
+ _tcsxcpy((*ppppSt_Announcement)[i]->tszCreateTime, ppszResult[nFliedValue]);
+ nFliedValue++;
+
+ }
+ DataBase_MySQL_FreeResult(xhData, xhTable);
+ return true;
+}
+
+//////////////////////////////////////////////////////////////////////////
+// 保护函数
+//////////////////////////////////////////////////////////////////////////
+/********************************************************************
+函数名称:DBModule_MySQL_UserPayTime
+函数功能:日期方式充值方式
+ 参数.一:lpszUserName
+ In/Out:In
+ 类型:常量字符指针
+ 可空:N
+ 意思:充值的用户
+ 参数.二:lpszUserTime
+ In/Out:In
+ 类型:常量字符指针
+ 可空:N
+ 意思:用户以前的超时时间
+ 参数.三:lpszCardTime
+ In/Out:In
+ 类型:常量字符指针
+ 可空:N
+ 意思:充值卡时间
+ 参数.四:en_AuthSerialType
+ In/Out:In
+ 类型:枚举型
+ 可空:N
+ 意思:充值卡的充值类型
+ 参数.五:en_AuthUserType
+ In/Out:In
+ 类型:枚举型
+ 可空:N
+ 意思:用户表中以前的充值卡类型
+返回值
+ 类型:逻辑型
+ 意思:是否成功充值
+备注:
+*********************************************************************/
+bool CDBModule_MySQL::DBModule_MySQL_UserPayTime(LPCXSTR lpszUserName, LPCXSTR lpszUserTime, LPCXSTR lpszCardTime, ENUM_HELPCOMPONENTS_AUTHORIZE_SERIAL_TYPE en_AuthSerialType, ENUM_HELPCOMPONENTS_AUTHORIZE_SERIAL_TYPE en_AuthUserType)
+{
+ SQLPacket_IsErrorOccur = false;
+ XCHAR tszSQLStatement[1024];
+ memset(tszSQLStatement, '\0', sizeof(tszSQLStatement));
+ //判断和以前的充值卡是否匹配。
+ if (en_AuthSerialType != en_AuthUserType)
+ {
+ //如果不等于,需要重写
+ if (ENUM_HELPCOMPONENTS_AUTHORIZE_SERIAL_TYPE_UNKNOW != en_AuthUserType)
+ {
+ //判断是否允许改写。
+ if (!m_bChange)
+ {
+ SQLPacket_IsErrorOccur = true;
+ SQLPacket_dwErrorCode = ERROR_AUTHORIZE_MODULE_DATABASE_NOTMATCH;
+ return false;
+ }
+ }
+ //更新用户表的充值卡类型
+ memset(tszSQLStatement, '\0', sizeof(tszSQLStatement));
+ _xstprintf(tszSQLStatement, _X("UPDATE `Authorize_User` SET CardSerialType = '%d' WHERE UserName = '%s'"), en_AuthSerialType, lpszUserName);
+ //执行用户表更新,因为序列卡类型被改变,所以需要更新。
+ if (!DataBase_MySQL_Execute(xhData, tszSQLStatement))
+ {
+ SQLPacket_IsErrorOccur = true;
+ SQLPacket_dwErrorCode = ERROR_AUTHORIZE_MODULE_DATABASE_UPDATATYPE;
+ return false;
+ }
+ //处理卡类型
+ switch (en_AuthSerialType)
+ {
+ case ENUM_HELPCOMPONENTS_AUTHORIZE_SERIAL_TYPE_SECOND:
+ {
+ //如果是分钟卡
+ //如果当前的充值卡类型不匹配,那么他以前的充值内容全部都会被删除!
+ _xstprintf(tszSQLStatement, _X("UPDATE `Authorize_User` SET LeftTime = '%d' WHERE UserName = '%s'"), _ttxoi(lpszCardTime), lpszUserName); //更新用户表的过期时间
+ }
+ break;
+ case ENUM_HELPCOMPONENTS_AUTHORIZE_SERIAL_TYPE_DAY:
+ {
+ //如果是天数卡
+ //更新用户表的过期时间
+ _xstprintf(tszSQLStatement, _X("UPDATE `Authorize_User` SET LeftTime = '%d' WHERE UserName = '%s'"), _ttxoi(lpszCardTime), lpszUserName); //更新用户表的过期时间
+ }
+ break;
+ case ENUM_HELPCOMPONENTS_AUTHORIZE_SERIAL_TYPE_TIME:
+ {
+ //如果是次数卡
+ //更新用户表的过期时间
+ _xstprintf(tszSQLStatement, _X("UPDATE `Authorize_User` SET LeftTime = '%d' WHERE UserName = '%s'"), _ttxoi(lpszCardTime), lpszUserName);
+ }
+ break;
+ case ENUM_HELPCOMPONENTS_AUTHORIZE_SERIAL_TYPE_CUSTOM:
+ {
+ XCHAR tszTime[128];
+ XENGINE_LIBTIMER st_AuthTime;
+ ENUM_HELPCOMPONENTS_AUTHORIZE_SERIAL_TYPE en_GeneraterSerialType;
+
+ memset(tszTime, '\0', sizeof(tszTime));
+ memset(&st_AuthTime, '\0', sizeof(XENGINE_LIBTIMER));
+ //获取重置卡类型和时间
+ if (!Authorize_Serial_GetType(lpszCardTime, &en_GeneraterSerialType, &st_AuthTime))
+ {
+ return false;
+ }
+ _xstprintf(tszTime, _X("%04d-%02d-%02d %02d:%02d:%02d"), st_AuthTime.wYear, st_AuthTime.wMonth, st_AuthTime.wDay, st_AuthTime.wHour, st_AuthTime.wMinute, st_AuthTime.wSecond);
+ //更新用户表的过期时间
+ _xstprintf(tszSQLStatement, _X("UPDATE `Authorize_User` SET LeftTime = '%s' WHERE UserName = '%s'"), tszTime, lpszUserName);
+ }
+ break;
+ default:
+ break;
+ }
+ }
+ else
+ {
+ switch (en_AuthSerialType)
+ {
+ case ENUM_HELPCOMPONENTS_AUTHORIZE_SERIAL_TYPE_SECOND:
+ {
+ int nCardTime = _ttxoi(lpszCardTime);
+ nCardTime += _ttxoi(lpszUserTime); //我们把用户以前的时间也加上
+ _xstprintf(tszSQLStatement, _X("UPDATE `Authorize_User` SET LeftTime = '%d' WHERE UserName = '%s'"), nCardTime, lpszUserName); //更新用户表的过期时间
+ }
+ break;
+ case ENUM_HELPCOMPONENTS_AUTHORIZE_SERIAL_TYPE_DAY:
+ {
+ int nCardTime = _ttxoi(lpszCardTime);
+ nCardTime += _ttxoi(lpszUserTime); //我们把用户以前的时间也加上
+ //更新用户表的过期时间
+ _xstprintf(tszSQLStatement, _X("UPDATE `Authorize_User` SET LeftTime = '%d' WHERE UserName = '%s'"), nCardTime, lpszUserName);
+ }
+ break;
+ case ENUM_HELPCOMPONENTS_AUTHORIZE_SERIAL_TYPE_TIME:
+ {
+ //如果是次数卡
+ int nCardTime = _ttxoi(lpszCardTime);
+ nCardTime += _ttxoi(lpszUserTime); //我们把用户以前的时间也加上
+ _xstprintf(tszSQLStatement, _X("UPDATE `Authorize_User` SET LeftTime = '%d' WHERE UserName = '%s'"), nCardTime, lpszUserName); //更新用户表的过期时间
+ }
+ break;
+ case ENUM_HELPCOMPONENTS_AUTHORIZE_SERIAL_TYPE_CUSTOM:
+ {
+ //自定义卡,无法相加
+ XCHAR tszTime[128];
+ XENGINE_LIBTIMER st_AuthTime;
+ ENUM_HELPCOMPONENTS_AUTHORIZE_SERIAL_TYPE en_GeneraterSerialType;
+
+ memset(tszTime, '\0', sizeof(tszTime));
+ memset(&st_AuthTime, '\0', sizeof(XENGINE_LIBTIMER));
+ //获取重置卡类型和时间
+ if (!Authorize_Serial_GetType(lpszCardTime, &en_GeneraterSerialType, &st_AuthTime))
+ {
+ return false;
+ }
+ _xstprintf(tszTime, _X("%04d-%02d-%02d %02d:%02d:%02d"), st_AuthTime.wYear, st_AuthTime.wMonth, st_AuthTime.wDay, st_AuthTime.wHour, st_AuthTime.wMinute, st_AuthTime.wSecond);
+ //更新用户表的过期时间
+ _xstprintf(tszSQLStatement, _X("UPDATE `Authorize_User` SET LeftTime = '%s' WHERE UserName = '%s'"), tszTime, lpszUserName);
+ }
+ break;
+ default:
+ break;
+ }
+ }
+ //更新用户表的过期时间
+ if (!DataBase_MySQL_Execute(xhData, tszSQLStatement))
+ {
+ SQLPacket_IsErrorOccur = true;
+ SQLPacket_dwErrorCode = ERROR_AUTHORIZE_MODULE_DATABASE_UPDATA;
+ return false;
+ }
+ return true;
+}
+
diff --git a/XEngine_Source/AuthorizeModule_Database/DBModule_MySQL/DBModule_MySQL.h b/XEngine_Source/AuthorizeModule_Database/DBModule_MySQL/DBModule_MySQL.h
new file mode 100644
index 0000000000000000000000000000000000000000..eea88f3b718a7cd7e4a89c3371ea67581f3fd728
--- /dev/null
+++ b/XEngine_Source/AuthorizeModule_Database/DBModule_MySQL/DBModule_MySQL.h
@@ -0,0 +1,61 @@
+#pragma once
+/********************************************************************
+// Created: 2022/05/26 11:01:06
+// File Name: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_Database\Database_MySQL\Database_MySQL.h
+// File Path: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_Database\Database_MySQL
+// File Base: Database_MySQL
+// File Ext: h
+// Project: XEngine(网络通信引擎)
+// Author: qyt
+// Purpose: 数据库管理器
+// History:
+*********************************************************************/
+//////////////////////////////////////////////////////////////////////////
+// AuthReg_UserTable内容:ID 用户名 密码 注册日期 剩余时间 硬件码 注册文件密码 QQ 身份证
+// AuthReg_SerialTable内容:ID 使用者 序列号 使用时间 最大可允许时间 是否使用
+//////////////////////////////////////////////////////////////////////////
+class CDBModule_MySQL
+{
+public:
+ CDBModule_MySQL();
+ ~CDBModule_MySQL();
+public:
+ bool DBModule_MySQL_Init(DATABASE_MYSQL_CONNECTINFO* pSt_DBConnector, bool bIsChange = true); //初始化
+ bool DBModule_MySQL_Destroy(); //销毁
+public:
+ bool DBModule_MySQL_UserDelete(LPCXSTR lpszUserName); //删除用户
+ bool DBModule_MySQL_UserRegister(AUTHREG_USERTABLE* pSt_UserInfo); //用户注册
+ bool DBModule_MySQL_UserQuery(LPCXSTR lpszUserName, AUTHREG_USERTABLE* pSt_UserInfo = NULL); //用户查询
+ bool DBModule_MySQL_UserPay(LPCXSTR lpszUserName, LPCXSTR lpszSerialName); //充值卡充值
+ bool DBModule_MySQL_UserLeave(AUTHREG_PROTOCOL_TIME* pSt_TimeProtocol); //用户离开更新表
+ bool DBModule_MySQL_UserSet(AUTHREG_USERTABLE* pSt_UserTable); //设置用户信息
+ bool DBModule_MySQL_UserList(AUTHREG_USERTABLE*** pppSt_UserInfo, int* pInt_ListCount, int nPosStart, int nPosEnd); //获取用户列表
+public:
+ bool DBModule_MySQL_SerialInsert(LPCXSTR lpszSerialNumber); //插入序列卡
+ bool DBModule_MySQL_SerialDelete(LPCXSTR lpszSerialNumber); //删除一个序列号
+ bool DBModule_MySQL_SerialQuery(LPCXSTR lpszSerialNumber, LPAUTHREG_SERIALTABLE pSt_SerialTable = NULL); //按照卡号或者用户查询
+ bool DBModule_MySQL_SerialQueryAll(AUTHREG_SERIALTABLE*** pppSt_SerialTable, int* pInt_ListCount, int nPosStart, int nPosEnd);//查询所有序列卡
+ bool DBModule_MySQL_SerialPush(AUTHREG_SERIALTABLE* pSt_SerialTable);//插入一条指定的序列号信息到服务器
+public:
+ bool DBModule_MySQL_TryInsert(AUTHREG_TEMPVER* pSt_AuthVer); //网络使用模式插入一条数据
+ bool DBModule_MySQL_TryQuery(AUTHREG_TEMPVER* pSt_AuthVer); //试用序列号查询函数
+ bool DBModule_MySQL_TryDelete(LPCXSTR lpszSerial); //删除一条指定的试用数据
+ bool DBModule_MySQL_TryClear(int nThanValue, ENUM_HELPCOMPONENTS_AUTHORIZE_SERIAL_TYPE enVerMode = ENUM_HELPCOMPONENTS_AUTHORIZE_SERIAL_TYPE_UNKNOW); //清理函数,自动清理过期数据
+ bool DBModule_MySQL_TrySet(AUTHREG_TEMPVER* pSt_AuthVer); //设置用户信息函数
+ bool DBModule_MySQL_TryList(AUTHREG_TEMPVER*** pppSt_AuthVer, int* pInt_ListCount, int nPosStart = 0, int nPosEnd = 1000); //请求试用期列表
+public:
+ bool DBModule_MySQL_BannedInsert(AUTHREG_BANNED* pSt_Banned); //黑名单列表插入
+ bool DBModule_MySQL_BannedDelete(AUTHREG_BANNED* pSt_Banned); //黑名单列表删除
+ bool DBModule_MySQL_BannedList(AUTHREG_BANNED*** pppSt_BannedUser, int* pInt_UserCount, AUTHREG_BANNED*** pppSt_BannedAddr, int* pInt_AddrCount, int nPosStart, int nPosEnd); //黑名单列表查询
+ bool DBModule_MySQL_BannedExist(AUTHREG_BANNED* pSt_Banned); //名单是否存在黑名单列表
+ bool DBModule_MySQL_BannedUPDate(AUTHREG_BANNED* pSt_Banned); //更新名单列表信息
+public:
+ bool DBModule_MySQL_AnnouncementInsert(AUTHREG_ANNOUNCEMENT* pSt_Announcement); //公告插入
+ bool DBModule_MySQL_AnnouncementDelete(AUTHREG_ANNOUNCEMENT* pSt_Announcement); //公告删除
+ bool DBModule_MySQL_AnnouncementList(AUTHREG_ANNOUNCEMENT*** ppppSt_Announcement, int* pInt_ListCount); //列举所有公告
+protected:
+ bool DBModule_MySQL_UserPayTime(LPCXSTR lpszUserName, LPCXSTR lpszUserTime, LPCXSTR lpszCardTime, ENUM_HELPCOMPONENTS_AUTHORIZE_SERIAL_TYPE en_AuthSerialType, ENUM_HELPCOMPONENTS_AUTHORIZE_SERIAL_TYPE en_AuthUserType); //日期方式充值方式
+private:
+ bool m_bChange;
+ XNETHANDLE xhData; //数据库句柄
+};
diff --git a/XEngine_Source/AuthorizeModule_Database/Database_SQLite/Database_SQLite.cpp b/XEngine_Source/AuthorizeModule_Database/DBModule_SQLite/DBModule_SQLite.cpp
similarity index 94%
rename from XEngine_Source/AuthorizeModule_Database/Database_SQLite/Database_SQLite.cpp
rename to XEngine_Source/AuthorizeModule_Database/DBModule_SQLite/DBModule_SQLite.cpp
index e5c42f09119f2ea08fd2cb3b6ca16d20ff61c8cf..08c33ef5a296b2f09bbd5205a81f5b64539e701d 100644
--- a/XEngine_Source/AuthorizeModule_Database/Database_SQLite/Database_SQLite.cpp
+++ b/XEngine_Source/AuthorizeModule_Database/DBModule_SQLite/DBModule_SQLite.cpp
@@ -1,5 +1,5 @@
#include "pch.h"
-#include "Database_SQLite.h"
+#include "DBModule_SQLite.h"
/********************************************************************
// Created: 2022/05/26 11:01:13
// File Name: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_Database\Database_SQLite\Database_SQLite.cpp
@@ -11,11 +11,11 @@
// Purpose: 数据库管理器
// History:
*********************************************************************/
-CDatabase_SQLite::CDatabase_SQLite()
+CDBModule_SQLite::CDBModule_SQLite()
{
m_bChange = false;
}
-CDatabase_SQLite::~CDatabase_SQLite()
+CDBModule_SQLite::~CDBModule_SQLite()
{
}
@@ -23,7 +23,7 @@ CDatabase_SQLite::~CDatabase_SQLite()
// 公有函数
//////////////////////////////////////////////////////////////////////////
/********************************************************************
-函数名称:Database_SQLite_Init
+函数名称:DBModule_SQLite_Init
函数功能:初始化数据库服务
参数.一:lpszSQLFile
In/Out:In
@@ -40,7 +40,7 @@ CDatabase_SQLite::~CDatabase_SQLite()
意思:是否成功
备注:先初始化数据库服务,在初始化网络服务,才可以使用本验证服务器!
*********************************************************************/
-bool CDatabase_SQLite::Database_SQLite_Init(LPCXSTR lpszSQLFile, bool bIsChange /* = true */)
+bool CDBModule_SQLite::DBModule_SQLite_Init(LPCXSTR lpszSQLFile, bool bIsChange /* = true */)
{
SQLPacket_IsErrorOccur = false;
m_bChange = bIsChange;
@@ -54,14 +54,14 @@ bool CDatabase_SQLite::Database_SQLite_Init(LPCXSTR lpszSQLFile, bool bIsChange
return true;
}
/********************************************************************
-函数名称:Database_SQLite_Destroy
+函数名称:DBModule_SQLite_Destroy
函数功能:销毁数据库服务
返回值
类型:逻辑型
意思:是否销毁成功
备注:
*********************************************************************/
-bool CDatabase_SQLite::Database_SQLite_Destroy()
+bool CDBModule_SQLite::DBModule_SQLite_Destroy()
{
SQLPacket_IsErrorOccur = false;
@@ -74,7 +74,7 @@ bool CDatabase_SQLite::Database_SQLite_Destroy()
return true;
}
/********************************************************************
-函数名称:Database_SQLite_UserDelete
+函数名称:DBModule_SQLite_UserDelete
函数功能:删除一个用户从数据库中
参数.一:lpszUserName
In/Out:In
@@ -86,7 +86,7 @@ bool CDatabase_SQLite::Database_SQLite_Destroy()
意思:是否删除成功
备注:
*********************************************************************/
-bool CDatabase_SQLite::Database_SQLite_UserDelete(LPCXSTR lpszUserName)
+bool CDBModule_SQLite::DBModule_SQLite_UserDelete(LPCXSTR lpszUserName)
{
SQLPacket_IsErrorOccur = false;
XCHAR tszSQLStatement[1024]; //SQL语句
@@ -102,7 +102,7 @@ bool CDatabase_SQLite::Database_SQLite_UserDelete(LPCXSTR lpszUserName)
return true;
}
/********************************************************************
-函数名称:Database_SQLite_UserRegister
+函数名称:DBModule_SQLite_UserRegister
函数功能:用户注册处理数据库语句函数
参数.一:pSt_UserInfo
In/Out:In
@@ -114,13 +114,13 @@ bool CDatabase_SQLite::Database_SQLite_UserDelete(LPCXSTR lpszUserName)
意思:是否插入成功
备注:
*********************************************************************/
-bool CDatabase_SQLite::Database_SQLite_UserRegister(AUTHREG_USERTABLE* pSt_UserInfo)
+bool CDBModule_SQLite::DBModule_SQLite_UserRegister(AUTHREG_USERTABLE* pSt_UserInfo)
{
SQLPacket_IsErrorOccur = false;
XCHAR tszSQLStatement[1024]; //SQL语句
memset(tszSQLStatement, '\0', 1024);
- if (Database_SQLite_UserQuery(pSt_UserInfo->st_UserInfo.tszUserName))
+ if (DBModule_SQLite_UserQuery(pSt_UserInfo->st_UserInfo.tszUserName))
{
SQLPacket_IsErrorOccur = true;
SQLPacket_dwErrorCode = ERROR_AUTHORIZE_MODULE_DATABASE_EXIST;
@@ -136,7 +136,7 @@ bool CDatabase_SQLite::Database_SQLite_UserRegister(AUTHREG_USERTABLE* pSt_UserI
return true;
}
/********************************************************************
-函数名称:Database_SQLite_UserQuery
+函数名称:DBModule_SQLite_UserQuery
函数功能:查询用户相对应的值
参数.一:lpszUserName
In/Out:In
@@ -153,7 +153,7 @@ bool CDatabase_SQLite::Database_SQLite_UserRegister(AUTHREG_USERTABLE* pSt_UserI
意思:是否查询成功
备注:
*********************************************************************/
-bool CDatabase_SQLite::Database_SQLite_UserQuery(LPCXSTR lpszUserName, AUTHREG_USERTABLE* pSt_UserInfo /* = NULL */)
+bool CDBModule_SQLite::DBModule_SQLite_UserQuery(LPCXSTR lpszUserName, AUTHREG_USERTABLE* pSt_UserInfo /* = NULL */)
{
SQLPacket_IsErrorOccur = false;
XCHAR tszSQLStatement[1024]; //SQL语句
@@ -223,7 +223,7 @@ bool CDatabase_SQLite::Database_SQLite_UserQuery(LPCXSTR lpszUserName, AUTHREG_U
return true;
}
/********************************************************************
-函数名称:Database_SQLite_UserPay
+函数名称:DBModule_SQLite_UserPay
函数功能:用户充值函数
参数.一:lpszUserName
In/Out:In
@@ -240,7 +240,7 @@ bool CDatabase_SQLite::Database_SQLite_UserQuery(LPCXSTR lpszUserName, AUTHREG_U
意思:是否成功充值
备注:
*********************************************************************/
-bool CDatabase_SQLite::Database_SQLite_UserPay(LPCXSTR lpszUserName, LPCXSTR lpszSerialName)
+bool CDBModule_SQLite::DBModule_SQLite_UserPay(LPCXSTR lpszUserName, LPCXSTR lpszSerialName)
{
SQLPacket_IsErrorOccur = false;
@@ -259,7 +259,7 @@ bool CDatabase_SQLite::Database_SQLite_UserPay(LPCXSTR lpszUserName, LPCXSTR lps
return false;
}
//查询充值卡是否存在
- if (!Database_SQLite_SerialQuery(lpszSerialName, &st_SerialTable))
+ if (!DBModule_SQLite_SerialQuery(lpszSerialName, &st_SerialTable))
{
return false;
}
@@ -271,7 +271,7 @@ bool CDatabase_SQLite::Database_SQLite_UserPay(LPCXSTR lpszUserName, LPCXSTR lps
return false;
}
//查询用户信息
- if (!Database_SQLite_UserQuery(lpszUserName, &st_UserTable))
+ if (!DBModule_SQLite_UserQuery(lpszUserName, &st_UserTable))
{
return false;
}
@@ -279,25 +279,25 @@ bool CDatabase_SQLite::Database_SQLite_UserPay(LPCXSTR lpszUserName, LPCXSTR lps
switch (st_SerialTable.enSerialType)
{
case ENUM_HELPCOMPONENTS_AUTHORIZE_SERIAL_TYPE_SECOND:
- if (!Database_SQLite_UserPayTime(lpszUserName, st_UserTable.tszLeftTime, st_SerialTable.tszMaxTime, st_SerialTable.enSerialType, st_UserTable.enSerialType))
+ if (!DBModule_SQLite_UserPayTime(lpszUserName, st_UserTable.tszLeftTime, st_SerialTable.tszMaxTime, st_SerialTable.enSerialType, st_UserTable.enSerialType))
{
return false;
}
break;
case ENUM_HELPCOMPONENTS_AUTHORIZE_SERIAL_TYPE_DAY:
- if (!Database_SQLite_UserPayTime(lpszUserName, st_UserTable.tszLeftTime, st_SerialTable.tszMaxTime, st_SerialTable.enSerialType, st_UserTable.enSerialType))
+ if (!DBModule_SQLite_UserPayTime(lpszUserName, st_UserTable.tszLeftTime, st_SerialTable.tszMaxTime, st_SerialTable.enSerialType, st_UserTable.enSerialType))
{
return false;
}
break;
case ENUM_HELPCOMPONENTS_AUTHORIZE_SERIAL_TYPE_TIME:
- if (!Database_SQLite_UserPayTime(lpszUserName, st_UserTable.tszLeftTime, st_SerialTable.tszMaxTime, st_SerialTable.enSerialType, st_UserTable.enSerialType))
+ if (!DBModule_SQLite_UserPayTime(lpszUserName, st_UserTable.tszLeftTime, st_SerialTable.tszMaxTime, st_SerialTable.enSerialType, st_UserTable.enSerialType))
{
return false;
}
break;
case ENUM_HELPCOMPONENTS_AUTHORIZE_SERIAL_TYPE_CUSTOM:
- if (!Database_SQLite_UserPayTime(lpszUserName, st_UserTable.tszLeftTime, st_SerialTable.tszMaxTime, st_SerialTable.enSerialType, st_UserTable.enSerialType))
+ if (!DBModule_SQLite_UserPayTime(lpszUserName, st_UserTable.tszLeftTime, st_SerialTable.tszMaxTime, st_SerialTable.enSerialType, st_UserTable.enSerialType))
{
return false;
}
@@ -317,7 +317,7 @@ bool CDatabase_SQLite::Database_SQLite_UserPay(LPCXSTR lpszUserName, LPCXSTR lps
return true;
}
/********************************************************************
-函数名称:Database_SQLite_UserLeave
+函数名称:DBModule_SQLite_UserLeave
函数功能:用户离开处理事件
参数.一:pSt_TimeProtocol
In/Out:In
@@ -329,7 +329,7 @@ bool CDatabase_SQLite::Database_SQLite_UserPay(LPCXSTR lpszUserName, LPCXSTR lps
意思:是否处理成功
备注:
*********************************************************************/
-bool CDatabase_SQLite::Database_SQLite_UserLeave(AUTHREG_PROTOCOL_TIME* pSt_TimeProtocol)
+bool CDBModule_SQLite::DBModule_SQLite_UserLeave(AUTHREG_PROTOCOL_TIME* pSt_TimeProtocol)
{
SQLPacket_IsErrorOccur = false;
@@ -374,7 +374,7 @@ bool CDatabase_SQLite::Database_SQLite_UserLeave(AUTHREG_PROTOCOL_TIME* pSt_Time
return true;
}
/********************************************************************
-函数名称:Database_SQLite_UserSet
+函数名称:DBModule_SQLite_UserSet
函数功能:设置用户信息
参数.一:pSt_UserTable
In/Out:In
@@ -386,7 +386,7 @@ bool CDatabase_SQLite::Database_SQLite_UserLeave(AUTHREG_PROTOCOL_TIME* pSt_Time
意思:是否成功
备注:
*********************************************************************/
-bool CDatabase_SQLite::Database_SQLite_UserSet(AUTHREG_USERTABLE* pSt_UserTable)
+bool CDBModule_SQLite::DBModule_SQLite_UserSet(AUTHREG_USERTABLE* pSt_UserTable)
{
SQLPacket_IsErrorOccur = false;
@@ -404,7 +404,7 @@ bool CDatabase_SQLite::Database_SQLite_UserSet(AUTHREG_USERTABLE* pSt_UserTable)
return true;
}
/********************************************************************
-函数名称:Database_SQLite_UserList
+函数名称:DBModule_SQLite_UserList
函数功能:获取用户列表
参数.一:pppSt_UserInfo
In/Out:Out
@@ -431,7 +431,7 @@ bool CDatabase_SQLite::Database_SQLite_UserSet(AUTHREG_USERTABLE* pSt_UserTable)
意思:是否成功
备注:
*********************************************************************/
-bool CDatabase_SQLite::Database_SQLite_UserList(AUTHREG_USERTABLE*** pppSt_UserInfo, int* pInt_ListCount, int nPosStart, int nPosEnd)
+bool CDBModule_SQLite::DBModule_SQLite_UserList(AUTHREG_USERTABLE*** pppSt_UserInfo, int* pInt_ListCount, int nPosStart, int nPosEnd)
{
SQLPacket_IsErrorOccur = false;
@@ -502,7 +502,7 @@ bool CDatabase_SQLite::Database_SQLite_UserList(AUTHREG_USERTABLE*** pppSt_UserI
return true;
}
/********************************************************************
-函数名称:Database_SQLite_SerialInsert
+函数名称:DBModule_SQLite_SerialInsert
函数功能:插入一个序列号到数据库
参数.一:lpszSerialNumber
In/Out:In
@@ -514,14 +514,14 @@ bool CDatabase_SQLite::Database_SQLite_UserList(AUTHREG_USERTABLE*** pppSt_UserI
意思:是否插入成功
备注:
*********************************************************************/
-bool CDatabase_SQLite::Database_SQLite_SerialInsert(LPCXSTR lpszSerialNumber)
+bool CDBModule_SQLite::DBModule_SQLite_SerialInsert(LPCXSTR lpszSerialNumber)
{
SQLPacket_IsErrorOccur = false;
XCHAR tszSQLStatement[1024]; //SQL语句
memset(tszSQLStatement, '\0', 1024);
- if (Database_SQLite_SerialQuery(lpszSerialNumber))
+ if (DBModule_SQLite_SerialQuery(lpszSerialNumber))
{
SQLPacket_IsErrorOccur = true;
SQLPacket_dwErrorCode = ERROR_AUTHORIZE_MODULE_DATABASE_EXIST;
@@ -568,7 +568,7 @@ bool CDatabase_SQLite::Database_SQLite_SerialInsert(LPCXSTR lpszSerialNumber)
return true;
}
/********************************************************************
-函数名称:Database_SQLite_SerialDelete
+函数名称:DBModule_SQLite_SerialDelete
函数功能:从数据库删除指定序列号
参数.一:lpszSerialNumber
In/Out:In
@@ -580,7 +580,7 @@ bool CDatabase_SQLite::Database_SQLite_SerialInsert(LPCXSTR lpszSerialNumber)
意思:是否删除成功
备注:
*********************************************************************/
-bool CDatabase_SQLite::Database_SQLite_SerialDelete(LPCXSTR lpszSerialNumber)
+bool CDBModule_SQLite::DBModule_SQLite_SerialDelete(LPCXSTR lpszSerialNumber)
{
SQLPacket_IsErrorOccur = false;
@@ -597,7 +597,7 @@ bool CDatabase_SQLite::Database_SQLite_SerialDelete(LPCXSTR lpszSerialNumber)
return true;
}
/********************************************************************
-函数名称:Database_SQLite_SerialQuery
+函数名称:DBModule_SQLite_SerialQuery
函数功能:查询一个指定的序列号信息
参数.一:lpszSerialNumber
In/Out:In
@@ -614,7 +614,7 @@ bool CDatabase_SQLite::Database_SQLite_SerialDelete(LPCXSTR lpszSerialNumber)
意思:是否查询成功,如果第二个参数为NULL,那么将只返回是否有这个序列号
备注:
*********************************************************************/
-bool CDatabase_SQLite::Database_SQLite_SerialQuery(LPCXSTR lpszSerialNumber, LPAUTHREG_SERIALTABLE pSt_SerialTable /* = NULL */)
+bool CDBModule_SQLite::DBModule_SQLite_SerialQuery(LPCXSTR lpszSerialNumber, LPAUTHREG_SERIALTABLE pSt_SerialTable /* = NULL */)
{
SQLPacket_IsErrorOccur = false;
XCHAR tszSQLStatement[1024]; //SQL语句
@@ -665,7 +665,7 @@ bool CDatabase_SQLite::Database_SQLite_SerialQuery(LPCXSTR lpszSerialNumber, LPA
return true;
}
/********************************************************************
-函数名称:Database_SQLite_SerialQueryAll
+函数名称:DBModule_SQLite_SerialQueryAll
函数功能:查询序列卡表中的所有序列号
参数.一:pppSt_SerialTable
In/Out:Out
@@ -692,7 +692,7 @@ bool CDatabase_SQLite::Database_SQLite_SerialQuery(LPCXSTR lpszSerialNumber, LPA
意思:是否查询成功
备注:参数一需要调用基础库的释放内存函数进行内存释放
*********************************************************************/
-bool CDatabase_SQLite::Database_SQLite_SerialQueryAll(AUTHREG_SERIALTABLE*** pppSt_SerialTable, int* pInt_ListCount, int nPosStart, int nPosEnd)
+bool CDBModule_SQLite::DBModule_SQLite_SerialQueryAll(AUTHREG_SERIALTABLE*** pppSt_SerialTable, int* pInt_ListCount, int nPosStart, int nPosEnd)
{
SQLPacket_IsErrorOccur = false;
@@ -747,7 +747,7 @@ bool CDatabase_SQLite::Database_SQLite_SerialQueryAll(AUTHREG_SERIALTABLE*** ppp
return true;
}
/********************************************************************
-函数名称:Database_SQLite_SerialPush
+函数名称:DBModule_SQLite_SerialPush
函数功能:插入一条指定的序列号信息到服务器
参数.一:pSt_SerialTable
In/Out:In
@@ -759,14 +759,14 @@ bool CDatabase_SQLite::Database_SQLite_SerialQueryAll(AUTHREG_SERIALTABLE*** ppp
意思:是否成功
备注:
*********************************************************************/
-bool CDatabase_SQLite::Database_SQLite_SerialPush(AUTHREG_SERIALTABLE* pSt_SerialTable)
+bool CDBModule_SQLite::DBModule_SQLite_SerialPush(AUTHREG_SERIALTABLE* pSt_SerialTable)
{
SQLPacket_IsErrorOccur = false;
XCHAR tszSQLStatement[1024]; //SQL语句
memset(tszSQLStatement, '\0', 1024);
- if (Database_SQLite_SerialQuery(pSt_SerialTable->tszSerialNumber))
+ if (DBModule_SQLite_SerialQuery(pSt_SerialTable->tszSerialNumber))
{
SQLPacket_IsErrorOccur = true;
SQLPacket_dwErrorCode = ERROR_AUTHORIZE_MODULE_DATABASE_EXIST;
@@ -783,7 +783,7 @@ bool CDatabase_SQLite::Database_SQLite_SerialPush(AUTHREG_SERIALTABLE* pSt_Seria
return true;
}
/********************************************************************
-函数名称:Database_SQLite_TryInsert
+函数名称:DBModule_SQLite_TryInsert
函数功能:网络使用模式插入一条数据
参数.一:pSt_AuthVer
In/Out:In
@@ -795,7 +795,7 @@ bool CDatabase_SQLite::Database_SQLite_SerialPush(AUTHREG_SERIALTABLE* pSt_Seria
意思:是否成功
备注:
*********************************************************************/
-bool CDatabase_SQLite::Database_SQLite_TryInsert(AUTHREG_TEMPVER* pSt_AuthVer)
+bool CDBModule_SQLite::DBModule_SQLite_TryInsert(AUTHREG_TEMPVER* pSt_AuthVer)
{
SQLPacket_IsErrorOccur = false;
@@ -813,7 +813,7 @@ bool CDatabase_SQLite::Database_SQLite_TryInsert(AUTHREG_TEMPVER* pSt_AuthVer)
//验证是否存在
_tcsxcpy(st_AuthVer.tszVSerial, pSt_AuthVer->tszVSerial);
- if (Database_SQLite_TryQuery(&st_AuthVer))
+ if (DBModule_SQLite_TryQuery(&st_AuthVer))
{
SQLPacket_IsErrorOccur = true;
SQLPacket_dwErrorCode = ERROR_AUTHORIZE_MODULE_DATABASE_EXIST;
@@ -830,7 +830,7 @@ bool CDatabase_SQLite::Database_SQLite_TryInsert(AUTHREG_TEMPVER* pSt_AuthVer)
return true;
}
/********************************************************************
-函数名称:Database_SQLite_TryQuery
+函数名称:DBModule_SQLite_TryQuery
函数功能:试用序列号查询函数
参数.一:pSt_AuthVer
In/Out:In/Out
@@ -842,7 +842,7 @@ bool CDatabase_SQLite::Database_SQLite_TryInsert(AUTHREG_TEMPVER* pSt_AuthVer)
意思:是否成功
备注:
*********************************************************************/
-bool CDatabase_SQLite::Database_SQLite_TryQuery(AUTHREG_TEMPVER* pSt_AuthVer)
+bool CDBModule_SQLite::DBModule_SQLite_TryQuery(AUTHREG_TEMPVER* pSt_AuthVer)
{
SQLPacket_IsErrorOccur = false;
@@ -892,7 +892,7 @@ bool CDatabase_SQLite::Database_SQLite_TryQuery(AUTHREG_TEMPVER* pSt_AuthVer)
return true;
}
/********************************************************************
-函数名称:Database_SQLite_TryDelete
+函数名称:DBModule_SQLite_TryDelete
函数功能:删除一条指定的试用数据
参数.一:lpszSerial
In/Out:In
@@ -904,7 +904,7 @@ bool CDatabase_SQLite::Database_SQLite_TryQuery(AUTHREG_TEMPVER* pSt_AuthVer)
意思:是否成功
备注:
*********************************************************************/
-bool CDatabase_SQLite::Database_SQLite_TryDelete(LPCXSTR lpszSerial)
+bool CDBModule_SQLite::DBModule_SQLite_TryDelete(LPCXSTR lpszSerial)
{
SQLPacket_IsErrorOccur = false;
@@ -928,7 +928,7 @@ bool CDatabase_SQLite::Database_SQLite_TryDelete(LPCXSTR lpszSerial)
return true;
}
/********************************************************************
-函数名称:Database_SQLite_TryClear
+函数名称:DBModule_SQLite_TryClear
函数功能:清理函数,自动清理过期数据
参数.一:nThanValue
In/Out:In
@@ -945,7 +945,7 @@ bool CDatabase_SQLite::Database_SQLite_TryDelete(LPCXSTR lpszSerial)
意思:是否成功
备注:
*********************************************************************/
-bool CDatabase_SQLite::Database_SQLite_TryClear(int nThanValue, ENUM_HELPCOMPONENTS_AUTHORIZE_SERIAL_TYPE enVMode /* = ENUM_HELPCOMPONENTS_AUTHORIZE_SERIAL_TYPE_UNKNOW */)
+bool CDBModule_SQLite::DBModule_SQLite_TryClear(int nThanValue, ENUM_HELPCOMPONENTS_AUTHORIZE_SERIAL_TYPE enVMode /* = ENUM_HELPCOMPONENTS_AUTHORIZE_SERIAL_TYPE_UNKNOW */)
{
SQLPacket_IsErrorOccur = false;
@@ -1030,7 +1030,7 @@ bool CDatabase_SQLite::Database_SQLite_TryClear(int nThanValue, ENUM_HELPCOMPONE
return true;
}
/********************************************************************
-函数名称:Database_SQLite_TrySet
+函数名称:DBModule_SQLite_TrySet
函数功能:设置用户信息函数
参数.一:pSt_AuthVer
In/Out:In
@@ -1042,7 +1042,7 @@ bool CDatabase_SQLite::Database_SQLite_TryClear(int nThanValue, ENUM_HELPCOMPONE
意思:是否成功
备注:
*********************************************************************/
-bool CDatabase_SQLite::Database_SQLite_TrySet(AUTHREG_TEMPVER* pSt_AuthVer)
+bool CDBModule_SQLite::DBModule_SQLite_TrySet(AUTHREG_TEMPVER* pSt_AuthVer)
{
SQLPacket_IsErrorOccur = false;
@@ -1060,7 +1060,7 @@ bool CDatabase_SQLite::Database_SQLite_TrySet(AUTHREG_TEMPVER* pSt_AuthVer)
return true;
}
/********************************************************************
-函数名称:Database_SQLite_TryList
+函数名称:DBModule_SQLite_TryList
函数功能:请求试用期列表
参数.一:pppSt_AuthVer
In/Out:Out
@@ -1087,7 +1087,7 @@ bool CDatabase_SQLite::Database_SQLite_TrySet(AUTHREG_TEMPVER* pSt_AuthVer)
意思:是否成功
备注:
*********************************************************************/
-bool CDatabase_SQLite::Database_SQLite_TryList(AUTHREG_TEMPVER*** pppSt_AuthVer, int* pInt_ListCount, int nPosStart, int nPosEnd)
+bool CDBModule_SQLite::DBModule_SQLite_TryList(AUTHREG_TEMPVER*** pppSt_AuthVer, int* pInt_ListCount, int nPosStart, int nPosEnd)
{
SQLPacket_IsErrorOccur = false;
@@ -1134,7 +1134,7 @@ bool CDatabase_SQLite::Database_SQLite_TryList(AUTHREG_TEMPVER*** pppSt_AuthVer,
return true;
}
/********************************************************************
-函数名称:Database_SQLite_BannedInsert
+函数名称:DBModule_SQLite_BannedInsert
函数功能:黑名单列表插入
参数.一:pSt_Banned
In/Out:In
@@ -1146,7 +1146,7 @@ bool CDatabase_SQLite::Database_SQLite_TryList(AUTHREG_TEMPVER*** pppSt_AuthVer,
意思:是否成功
备注:
*********************************************************************/
-bool CDatabase_SQLite::Database_SQLite_BannedInsert(AUTHREG_BANNED* pSt_Banned)
+bool CDBModule_SQLite::DBModule_SQLite_BannedInsert(AUTHREG_BANNED* pSt_Banned)
{
SQLPacket_IsErrorOccur = false;
@@ -1157,7 +1157,7 @@ bool CDatabase_SQLite::Database_SQLite_BannedInsert(AUTHREG_BANNED* pSt_Banned)
return false;
}
//存在直接返回
- if (Database_SQLite_BannedExist(pSt_Banned))
+ if (DBModule_SQLite_BannedExist(pSt_Banned))
{
return true;
}
@@ -1182,7 +1182,7 @@ bool CDatabase_SQLite::Database_SQLite_BannedInsert(AUTHREG_BANNED* pSt_Banned)
return true;
}
/********************************************************************
-函数名称:Database_SQLite_BannedDelete
+函数名称:DBModule_SQLite_BannedDelete
函数功能:黑名单列表删除
参数.一:pSt_Banned
In/Out:In
@@ -1194,7 +1194,7 @@ bool CDatabase_SQLite::Database_SQLite_BannedInsert(AUTHREG_BANNED* pSt_Banned)
意思:是否成功
备注:
*********************************************************************/
-bool CDatabase_SQLite::Database_SQLite_BannedDelete(AUTHREG_BANNED* pSt_Banned)
+bool CDBModule_SQLite::DBModule_SQLite_BannedDelete(AUTHREG_BANNED* pSt_Banned)
{
SQLPacket_IsErrorOccur = false;
@@ -1225,7 +1225,7 @@ bool CDatabase_SQLite::Database_SQLite_BannedDelete(AUTHREG_BANNED* pSt_Banned)
return true;
}
/********************************************************************
-函数名称:Database_SQLite_BannedList
+函数名称:DBModule_SQLite_BannedList
函数功能:黑名单列表查询
参数.一:pppSt_BannedUser
In/Out:Out
@@ -1262,7 +1262,7 @@ bool CDatabase_SQLite::Database_SQLite_BannedDelete(AUTHREG_BANNED* pSt_Banned)
意思:是否成功
备注:
*********************************************************************/
-bool CDatabase_SQLite::Database_SQLite_BannedList(AUTHREG_BANNED*** pppSt_BannedUser, int* pInt_UserCount, AUTHREG_BANNED*** pppSt_BannedAddr, int* pInt_AddrCount, int nPosStart, int nPosEnd)
+bool CDBModule_SQLite::DBModule_SQLite_BannedList(AUTHREG_BANNED*** pppSt_BannedUser, int* pInt_UserCount, AUTHREG_BANNED*** pppSt_BannedAddr, int* pInt_AddrCount, int nPosStart, int nPosEnd)
{
SQLPacket_IsErrorOccur = false;
@@ -1374,7 +1374,7 @@ bool CDatabase_SQLite::Database_SQLite_BannedList(AUTHREG_BANNED*** pppSt_Banned
return true;
}
/********************************************************************
-函数名称:Database_SQLite_BannedExist
+函数名称:DBModule_SQLite_BannedExist
函数功能:名单是否存在黑名单列表
参数.一:pSt_Banned
In/Out:In
@@ -1386,7 +1386,7 @@ bool CDatabase_SQLite::Database_SQLite_BannedList(AUTHREG_BANNED*** pppSt_Banned
意思:是否成功
备注:
*********************************************************************/
-bool CDatabase_SQLite::Database_SQLite_BannedExist(AUTHREG_BANNED* pSt_Banned)
+bool CDBModule_SQLite::DBModule_SQLite_BannedExist(AUTHREG_BANNED* pSt_Banned)
{
SQLPacket_IsErrorOccur = false;
//判断用域名是否存在
@@ -1493,7 +1493,7 @@ bool CDatabase_SQLite::Database_SQLite_BannedExist(AUTHREG_BANNED* pSt_Banned)
return true;
}
/********************************************************************
-函数名称:Database_SQLite_BannedUPDate
+函数名称:DBModule_SQLite_BannedUPDate
函数功能:更新名单列表信息
参数.一:pSt_Banned
In/Out:In
@@ -1505,7 +1505,7 @@ bool CDatabase_SQLite::Database_SQLite_BannedExist(AUTHREG_BANNED* pSt_Banned)
意思:是否成功
备注:
*********************************************************************/
-bool CDatabase_SQLite::Database_SQLite_BannedUPDate(AUTHREG_BANNED* pSt_Banned)
+bool CDBModule_SQLite::DBModule_SQLite_BannedUPDate(AUTHREG_BANNED* pSt_Banned)
{
SQLPacket_IsErrorOccur = false;
@@ -1536,7 +1536,7 @@ bool CDatabase_SQLite::Database_SQLite_BannedUPDate(AUTHREG_BANNED* pSt_Banned)
return true;
}
/********************************************************************
-函数名称:Database_SQLite_AnnouncementInsert
+函数名称:DBModule_SQLite_AnnouncementInsert
函数功能:公告插入
参数.一:pSt_Announcement
In/Out:In
@@ -1548,7 +1548,7 @@ bool CDatabase_SQLite::Database_SQLite_BannedUPDate(AUTHREG_BANNED* pSt_Banned)
意思:是否成功
备注:
*********************************************************************/
-bool CDatabase_SQLite::Database_SQLite_AnnouncementInsert(AUTHREG_ANNOUNCEMENT* pSt_Announcement)
+bool CDBModule_SQLite::DBModule_SQLite_AnnouncementInsert(AUTHREG_ANNOUNCEMENT* pSt_Announcement)
{
SQLPacket_IsErrorOccur = false;
@@ -1572,7 +1572,7 @@ bool CDatabase_SQLite::Database_SQLite_AnnouncementInsert(AUTHREG_ANNOUNCEMENT*
return true;
}
/********************************************************************
-函数名称:Database_SQLite_AnnouncementDelete
+函数名称:DBModule_SQLite_AnnouncementDelete
函数功能:公告删除
参数.一:pSt_Announcement
In/Out:In
@@ -1584,7 +1584,7 @@ bool CDatabase_SQLite::Database_SQLite_AnnouncementInsert(AUTHREG_ANNOUNCEMENT*
意思:是否成功
备注:
*********************************************************************/
-bool CDatabase_SQLite::Database_SQLite_AnnouncementDelete(AUTHREG_ANNOUNCEMENT* pSt_Announcement)
+bool CDBModule_SQLite::DBModule_SQLite_AnnouncementDelete(AUTHREG_ANNOUNCEMENT* pSt_Announcement)
{
SQLPacket_IsErrorOccur = false;
@@ -1608,7 +1608,7 @@ bool CDatabase_SQLite::Database_SQLite_AnnouncementDelete(AUTHREG_ANNOUNCEMENT*
return true;
}
/********************************************************************
-函数名称:Database_SQLite_AnnouncementList
+函数名称:DBModule_SQLite_AnnouncementList
函数功能:列举所有公告
参数.一:ppppSt_Announcement
In/Out:Out
@@ -1625,7 +1625,7 @@ bool CDatabase_SQLite::Database_SQLite_AnnouncementDelete(AUTHREG_ANNOUNCEMENT*
意思:是否成功
备注:
*********************************************************************/
-bool CDatabase_SQLite::Database_SQLite_AnnouncementList(AUTHREG_ANNOUNCEMENT*** ppppSt_Announcement, int* pInt_ListCount)
+bool CDBModule_SQLite::DBModule_SQLite_AnnouncementList(AUTHREG_ANNOUNCEMENT*** ppppSt_Announcement, int* pInt_ListCount)
{
SQLPacket_IsErrorOccur = false;
@@ -1669,7 +1669,7 @@ bool CDatabase_SQLite::Database_SQLite_AnnouncementList(AUTHREG_ANNOUNCEMENT***
// 保护函数
//////////////////////////////////////////////////////////////////////////
/********************************************************************
-函数名称:Database_SQLite_UserPayTime
+函数名称:DBModule_SQLite_UserPayTime
函数功能:日期方式充值方式
参数.一:lpszUserName
In/Out:In
@@ -1701,7 +1701,7 @@ bool CDatabase_SQLite::Database_SQLite_AnnouncementList(AUTHREG_ANNOUNCEMENT***
意思:是否成功充值
备注:
*********************************************************************/
-bool CDatabase_SQLite::Database_SQLite_UserPayTime(LPCXSTR lpszUserName, LPCXSTR lpszUserTime, LPCXSTR lpszCardTime, ENUM_HELPCOMPONENTS_AUTHORIZE_SERIAL_TYPE en_AuthSerialType, ENUM_HELPCOMPONENTS_AUTHORIZE_SERIAL_TYPE en_AuthUserType)
+bool CDBModule_SQLite::DBModule_SQLite_UserPayTime(LPCXSTR lpszUserName, LPCXSTR lpszUserTime, LPCXSTR lpszCardTime, ENUM_HELPCOMPONENTS_AUTHORIZE_SERIAL_TYPE en_AuthSerialType, ENUM_HELPCOMPONENTS_AUTHORIZE_SERIAL_TYPE en_AuthUserType)
{
SQLPacket_IsErrorOccur = false;
diff --git a/XEngine_Source/AuthorizeModule_Database/Database_SQLite/Database_SQLite.h b/XEngine_Source/AuthorizeModule_Database/DBModule_SQLite/DBModule_SQLite.h
similarity index 55%
rename from XEngine_Source/AuthorizeModule_Database/Database_SQLite/Database_SQLite.h
rename to XEngine_Source/AuthorizeModule_Database/DBModule_SQLite/DBModule_SQLite.h
index 5f8a66fed99a1e95b0c06b35b612dc78915ecafb..417c673f44b155516afc837184c749a37ff34605 100644
--- a/XEngine_Source/AuthorizeModule_Database/Database_SQLite/Database_SQLite.h
+++ b/XEngine_Source/AuthorizeModule_Database/DBModule_SQLite/DBModule_SQLite.h
@@ -14,47 +14,47 @@
// AuthReg_UserTable内容:ID 用户名 密码 注册日期 剩余时间 硬件码 注册文件密码 QQ 身份证
// AuthReg_SerialTable内容:ID 使用者 序列号 使用时间 最大可允许时间 是否使用
//////////////////////////////////////////////////////////////////////////
-class CDatabase_SQLite
+class CDBModule_SQLite
{
public:
- CDatabase_SQLite();
- ~CDatabase_SQLite();
+ CDBModule_SQLite();
+ ~CDBModule_SQLite();
public:
- bool Database_SQLite_Init(LPCXSTR lpszSQLFile, bool bIsChange = true); //初始化
- bool Database_SQLite_Destroy(); //销毁
+ bool DBModule_SQLite_Init(LPCXSTR lpszSQLFile, bool bIsChange = true); //初始化
+ bool DBModule_SQLite_Destroy(); //销毁
public:
- bool Database_SQLite_UserDelete(LPCXSTR lpszUserName); //删除用户
- bool Database_SQLite_UserRegister(AUTHREG_USERTABLE*pSt_UserInfo); //用户注册
- bool Database_SQLite_UserQuery(LPCXSTR lpszUserName, AUTHREG_USERTABLE* pSt_UserInfo = NULL); //用户查询
- bool Database_SQLite_UserPay(LPCXSTR lpszUserName,LPCXSTR lpszSerialName); //充值卡充值
- bool Database_SQLite_UserLeave(AUTHREG_PROTOCOL_TIME* pSt_TimeProtocol); //用户离开更新表
- bool Database_SQLite_UserSet(AUTHREG_USERTABLE* pSt_UserTable);
- bool Database_SQLite_UserList(AUTHREG_USERTABLE*** pppSt_UserInfo, int* pInt_ListCount, int nPosStart, int nPosEnd);
+ bool DBModule_SQLite_UserDelete(LPCXSTR lpszUserName); //删除用户
+ bool DBModule_SQLite_UserRegister(AUTHREG_USERTABLE*pSt_UserInfo); //用户注册
+ bool DBModule_SQLite_UserQuery(LPCXSTR lpszUserName, AUTHREG_USERTABLE* pSt_UserInfo = NULL); //用户查询
+ bool DBModule_SQLite_UserPay(LPCXSTR lpszUserName,LPCXSTR lpszSerialName); //充值卡充值
+ bool DBModule_SQLite_UserLeave(AUTHREG_PROTOCOL_TIME* pSt_TimeProtocol); //用户离开更新表
+ bool DBModule_SQLite_UserSet(AUTHREG_USERTABLE* pSt_UserTable);
+ bool DBModule_SQLite_UserList(AUTHREG_USERTABLE*** pppSt_UserInfo, int* pInt_ListCount, int nPosStart, int nPosEnd);
public:
- bool Database_SQLite_SerialInsert(LPCXSTR lpszSerialNumber); //插入序列卡
- bool Database_SQLite_SerialDelete(LPCXSTR lpszSerialNumber); //删除一个序列号
- bool Database_SQLite_SerialQuery(LPCXSTR lpszSerialNumber,LPAUTHREG_SERIALTABLE pSt_SerialTable = NULL); //按照卡号或者用户查询
- bool Database_SQLite_SerialQueryAll(AUTHREG_SERIALTABLE ***pppSt_SerialTable,int *pInt_ListCount, int nPosStart, int nPosEnd);//查询所有序列卡
- bool Database_SQLite_SerialPush(AUTHREG_SERIALTABLE* pSt_SerialTable);
+ bool DBModule_SQLite_SerialInsert(LPCXSTR lpszSerialNumber); //插入序列卡
+ bool DBModule_SQLite_SerialDelete(LPCXSTR lpszSerialNumber); //删除一个序列号
+ bool DBModule_SQLite_SerialQuery(LPCXSTR lpszSerialNumber,LPAUTHREG_SERIALTABLE pSt_SerialTable = NULL); //按照卡号或者用户查询
+ bool DBModule_SQLite_SerialQueryAll(AUTHREG_SERIALTABLE ***pppSt_SerialTable,int *pInt_ListCount, int nPosStart, int nPosEnd);//查询所有序列卡
+ bool DBModule_SQLite_SerialPush(AUTHREG_SERIALTABLE* pSt_SerialTable);
public:
- bool Database_SQLite_TryInsert(AUTHREG_TEMPVER* pSt_AuthVer);
- bool Database_SQLite_TryQuery(AUTHREG_TEMPVER* pSt_AuthVer);
- bool Database_SQLite_TryDelete(LPCXSTR lpszSerial);
- bool Database_SQLite_TryClear(int nThanValue, ENUM_HELPCOMPONENTS_AUTHORIZE_SERIAL_TYPE enVerMode = ENUM_HELPCOMPONENTS_AUTHORIZE_SERIAL_TYPE_UNKNOW);
- bool Database_SQLite_TrySet(AUTHREG_TEMPVER* pSt_AuthVer);
- bool Database_SQLite_TryList(AUTHREG_TEMPVER*** pppSt_AuthVer, int* pInt_ListCount, int nPosStart = 0, int nPosEnd = 1000);
+ bool DBModule_SQLite_TryInsert(AUTHREG_TEMPVER* pSt_AuthVer);
+ bool DBModule_SQLite_TryQuery(AUTHREG_TEMPVER* pSt_AuthVer);
+ bool DBModule_SQLite_TryDelete(LPCXSTR lpszSerial);
+ bool DBModule_SQLite_TryClear(int nThanValue, ENUM_HELPCOMPONENTS_AUTHORIZE_SERIAL_TYPE enVerMode = ENUM_HELPCOMPONENTS_AUTHORIZE_SERIAL_TYPE_UNKNOW);
+ bool DBModule_SQLite_TrySet(AUTHREG_TEMPVER* pSt_AuthVer);
+ bool DBModule_SQLite_TryList(AUTHREG_TEMPVER*** pppSt_AuthVer, int* pInt_ListCount, int nPosStart = 0, int nPosEnd = 1000);
public:
- bool Database_SQLite_BannedInsert(AUTHREG_BANNED* pSt_Banned);
- bool Database_SQLite_BannedDelete(AUTHREG_BANNED* pSt_Banned);
- bool Database_SQLite_BannedList(AUTHREG_BANNED*** pppSt_BannedUser, int* pInt_UserCount, AUTHREG_BANNED*** pppSt_BannedAddr, int* pInt_AddrCount, int nPosStart, int nPosEnd);
- bool Database_SQLite_BannedExist(AUTHREG_BANNED* pSt_Banned);
- bool Database_SQLite_BannedUPDate(AUTHREG_BANNED* pSt_Banned);
+ bool DBModule_SQLite_BannedInsert(AUTHREG_BANNED* pSt_Banned);
+ bool DBModule_SQLite_BannedDelete(AUTHREG_BANNED* pSt_Banned);
+ bool DBModule_SQLite_BannedList(AUTHREG_BANNED*** pppSt_BannedUser, int* pInt_UserCount, AUTHREG_BANNED*** pppSt_BannedAddr, int* pInt_AddrCount, int nPosStart, int nPosEnd);
+ bool DBModule_SQLite_BannedExist(AUTHREG_BANNED* pSt_Banned);
+ bool DBModule_SQLite_BannedUPDate(AUTHREG_BANNED* pSt_Banned);
public:
- bool Database_SQLite_AnnouncementInsert(AUTHREG_ANNOUNCEMENT* pSt_Announcement);
- bool Database_SQLite_AnnouncementDelete(AUTHREG_ANNOUNCEMENT* pSt_Announcement);
- bool Database_SQLite_AnnouncementList(AUTHREG_ANNOUNCEMENT*** ppppSt_Announcement, int* pInt_ListCount);
+ bool DBModule_SQLite_AnnouncementInsert(AUTHREG_ANNOUNCEMENT* pSt_Announcement);
+ bool DBModule_SQLite_AnnouncementDelete(AUTHREG_ANNOUNCEMENT* pSt_Announcement);
+ bool DBModule_SQLite_AnnouncementList(AUTHREG_ANNOUNCEMENT*** ppppSt_Announcement, int* pInt_ListCount);
protected:
- bool Database_SQLite_UserPayTime(LPCXSTR lpszUserName, LPCXSTR lpszUserTime, LPCXSTR lpszCardTime, ENUM_HELPCOMPONENTS_AUTHORIZE_SERIAL_TYPE en_AuthSerialType, ENUM_HELPCOMPONENTS_AUTHORIZE_SERIAL_TYPE en_AuthUserType);
+ bool DBModule_SQLite_UserPayTime(LPCXSTR lpszUserName, LPCXSTR lpszUserTime, LPCXSTR lpszCardTime, ENUM_HELPCOMPONENTS_AUTHORIZE_SERIAL_TYPE en_AuthSerialType, ENUM_HELPCOMPONENTS_AUTHORIZE_SERIAL_TYPE en_AuthUserType);
private:
bool m_bChange;
XNETHANDLE xhData; //数据库句柄
diff --git a/XEngine_Source/AuthorizeModule_Database/Database_Define.h b/XEngine_Source/AuthorizeModule_Database/Database_Define.h
index dd02840759a5cb55b6e5215f7c3f1dc5b5a4a8e3..7f7774361a70ae971813693b27ddb0f34290c139 100644
--- a/XEngine_Source/AuthorizeModule_Database/Database_Define.h
+++ b/XEngine_Source/AuthorizeModule_Database/Database_Define.h
@@ -18,7 +18,7 @@ extern "C" XLONG DBModule_GetLastError(int *pInt_SysError = NULL);
/* 数据库服务导出函数 */
/************************************************************************/
/********************************************************************
-函数名称:Database_SQLite_Init
+函数名称:DBModule_SQLite_Init
函数功能:初始化数据库服务
参数.一:lpszSQLFile
In/Out:In
@@ -35,18 +35,18 @@ extern "C" XLONG DBModule_GetLastError(int *pInt_SysError = NULL);
意思:是否成功
备注:先初始化数据库服务,在初始化网络服务,才可以使用本验证服务器!
*********************************************************************/
-extern "C" bool Database_SQLite_Init(LPCXSTR lpszSQLFile, bool bIsChange = true);
+extern "C" bool DBModule_SQLite_Init(LPCXSTR lpszSQLFile, bool bIsChange = true);
/********************************************************************
-函数名称:Database_SQLite_Destroy
+函数名称:DBModule_SQLite_Destroy
函数功能:销毁数据库服务
返回值
类型:逻辑型
意思:是否销毁成功
备注:
*********************************************************************/
-extern "C" bool Database_SQLite_Destroy();
+extern "C" bool DBModule_SQLite_Destroy();
/********************************************************************
-函数名称:Database_SQLite_UserDelete
+函数名称:DBModule_SQLite_UserDelete
函数功能:删除一个用户从数据库中
参数.一:lpszUserName
In/Out:In
@@ -58,9 +58,9 @@ extern "C" bool Database_SQLite_Destroy();
意思:是否删除成功
备注:
*********************************************************************/
-extern "C" bool Database_SQLite_UserDelete(LPCXSTR lpszUserName);
+extern "C" bool DBModule_SQLite_UserDelete(LPCXSTR lpszUserName);
/********************************************************************
-函数名称:Database_SQLite_UserRegister
+函数名称:DBModule_SQLite_UserRegister
函数功能:用户注册处理数据库语句函数
参数.一:pSt_UserInfo
In/Out:In
@@ -72,9 +72,9 @@ extern "C" bool Database_SQLite_UserDelete(LPCXSTR lpszUserName);
意思:是否插入成功
备注:
*********************************************************************/
-extern "C" bool Database_SQLite_UserRegister(AUTHREG_USERTABLE * pSt_UserInfo);
+extern "C" bool DBModule_SQLite_UserRegister(AUTHREG_USERTABLE * pSt_UserInfo);
/********************************************************************
-函数名称:Database_SQLite_UserQuery
+函数名称:DBModule_SQLite_UserQuery
函数功能:查询用户相对应的值
参数.一:lpszUserName
In/Out:In
@@ -91,9 +91,9 @@ extern "C" bool Database_SQLite_UserRegister(AUTHREG_USERTABLE * pSt_UserInfo);
意思:是否查询成功
备注:
*********************************************************************/
-extern "C" bool Database_SQLite_UserQuery(LPCXSTR lpszUserName,AUTHREG_USERTABLE *pSt_UserInfo);
+extern "C" bool DBModule_SQLite_UserQuery(LPCXSTR lpszUserName,AUTHREG_USERTABLE *pSt_UserInfo);
/********************************************************************
-函数名称:Database_SQLite_UserPay
+函数名称:DBModule_SQLite_UserPay
函数功能:用户充值函数
参数.一:lpszUserName
In/Out:In
@@ -110,9 +110,9 @@ extern "C" bool Database_SQLite_UserQuery(LPCXSTR lpszUserName,AUTHREG_USERTABLE
意思:是否成功充值
备注:
*********************************************************************/
-extern "C" bool Database_SQLite_UserPay(LPCXSTR lpszUserName,LPCXSTR lpszSerialName);
+extern "C" bool DBModule_SQLite_UserPay(LPCXSTR lpszUserName,LPCXSTR lpszSerialName);
/********************************************************************
-函数名称:Database_SQLite_UserLeave
+函数名称:DBModule_SQLite_UserLeave
函数功能:用户离开处理事件
参数.一:pSt_TimeProtocol
In/Out:In
@@ -124,9 +124,9 @@ extern "C" bool Database_SQLite_UserPay(LPCXSTR lpszUserName,LPCXSTR lpszSerialN
意思:是否处理成功
备注:
*********************************************************************/
-extern "C" bool Database_SQLite_UserLeave(AUTHREG_PROTOCOL_TIME * pSt_TimeProtocol);
+extern "C" bool DBModule_SQLite_UserLeave(AUTHREG_PROTOCOL_TIME * pSt_TimeProtocol);
/********************************************************************
-函数名称:Database_SQLite_UserSet
+函数名称:DBModule_SQLite_UserSet
函数功能:设置用户信息
参数.一:pSt_UserTable
In/Out:In
@@ -138,9 +138,9 @@ extern "C" bool Database_SQLite_UserLeave(AUTHREG_PROTOCOL_TIME * pSt_TimeProtoc
意思:是否成功
备注:
*********************************************************************/
-extern "C" bool Database_SQLite_UserSet(AUTHREG_USERTABLE* pSt_UserTable);
+extern "C" bool DBModule_SQLite_UserSet(AUTHREG_USERTABLE* pSt_UserTable);
/********************************************************************
-函数名称:Database_SQLite_UserList
+函数名称:DBModule_SQLite_UserList
函数功能:获取用户列表
参数.一:pppSt_UserInfo
In/Out:Out
@@ -167,9 +167,9 @@ extern "C" bool Database_SQLite_UserSet(AUTHREG_USERTABLE* pSt_UserTable);
意思:是否成功
备注:
*********************************************************************/
-extern "C" bool Database_SQLite_UserList(AUTHREG_USERTABLE*** pppSt_UserInfo, int* pInt_ListCount, int nPosStart, int nPosEnd);
+extern "C" bool DBModule_SQLite_UserList(AUTHREG_USERTABLE*** pppSt_UserInfo, int* pInt_ListCount, int nPosStart, int nPosEnd);
/********************************************************************
-函数名称:Database_SQLite_SerialInsert
+函数名称:DBModule_SQLite_SerialInsert
函数功能:插入一个序列号到数据库
参数.一:lpszSerialNumber
In/Out:In
@@ -181,9 +181,9 @@ extern "C" bool Database_SQLite_UserList(AUTHREG_USERTABLE*** pppSt_UserInfo, in
意思:是否插入成功
备注:
*********************************************************************/
-extern "C" bool Database_SQLite_SerialInsert(LPCXSTR lpszSerialNumber);
+extern "C" bool DBModule_SQLite_SerialInsert(LPCXSTR lpszSerialNumber);
/********************************************************************
-函数名称:Database_SQLite_SerialDelete
+函数名称:DBModule_SQLite_SerialDelete
函数功能:从数据库删除指定序列号
参数.一:lpszSerialNumber
In/Out:In
@@ -195,9 +195,9 @@ extern "C" bool Database_SQLite_SerialInsert(LPCXSTR lpszSerialNumber);
意思:是否删除成功
备注:
*********************************************************************/
-extern "C" bool Database_SQLite_SerialDelete(LPCXSTR lpszSerialNumber);
+extern "C" bool DBModule_SQLite_SerialDelete(LPCXSTR lpszSerialNumber);
/********************************************************************
-函数名称:Database_SQLite_SerialQuery
+函数名称:DBModule_SQLite_SerialQuery
函数功能:查询一个指定的序列号信息
参数.一:lpszSerialNumber
In/Out:In
@@ -214,9 +214,9 @@ extern "C" bool Database_SQLite_SerialDelete(LPCXSTR lpszSerialNumber);
意思:是否查询成功,如果第二个参数为NULL,那么将只返回是否有这个序列号
备注:
*********************************************************************/
-extern "C" bool Database_SQLite_SerialQuery(LPCXSTR lpszSerialNumber,LPAUTHREG_SERIALTABLE pSt_SerialTable);
+extern "C" bool DBModule_SQLite_SerialQuery(LPCXSTR lpszSerialNumber,LPAUTHREG_SERIALTABLE pSt_SerialTable);
/********************************************************************
-函数名称:Database_SQLite_SerialQueryAll
+函数名称:DBModule_SQLite_SerialQueryAll
函数功能:查询序列卡表中的所有序列号
参数.一:pppSt_SerialTable
In/Out:Out
@@ -243,9 +243,9 @@ extern "C" bool Database_SQLite_SerialQuery(LPCXSTR lpszSerialNumber,LPAUTHREG_S
意思:是否查询成功
备注:参数一需要调用基础库的释放内存函数进行内存释放
*********************************************************************/
-extern "C" bool Database_SQLite_SerialQueryAll(AUTHREG_SERIALTABLE * **pppSt_SerialTable, int* pInt_ListCount, int nPosStart, int nPosEnd);
+extern "C" bool DBModule_SQLite_SerialQueryAll(AUTHREG_SERIALTABLE * **pppSt_SerialTable, int* pInt_ListCount, int nPosStart, int nPosEnd);
/********************************************************************
-函数名称:Database_SQLite_SerialPush
+函数名称:DBModule_SQLite_SerialPush
函数功能:插入一条指定的序列号信息到服务器
参数.一:pSt_SerialTable
In/Out:In
@@ -257,9 +257,9 @@ extern "C" bool Database_SQLite_SerialQueryAll(AUTHREG_SERIALTABLE * **pppSt_Ser
意思:是否成功
备注:
*********************************************************************/
-extern "C" bool Database_SQLite_SerialPush(AUTHREG_SERIALTABLE* pSt_SerialTable);
+extern "C" bool DBModule_SQLite_SerialPush(AUTHREG_SERIALTABLE* pSt_SerialTable);
/********************************************************************
-函数名称:Database_SQLite_TryInsert
+函数名称:DBModule_SQLite_TryInsert
函数功能:网络使用模式插入一条数据
参数.一:pSt_AuthVer
In/Out:In
@@ -271,9 +271,9 @@ extern "C" bool Database_SQLite_SerialPush(AUTHREG_SERIALTABLE* pSt_SerialTable)
意思:是否成功
备注:
*********************************************************************/
-extern "C" bool Database_SQLite_TryInsert(AUTHREG_TEMPVER* pSt_AuthVer);
+extern "C" bool DBModule_SQLite_TryInsert(AUTHREG_TEMPVER* pSt_AuthVer);
/********************************************************************
-函数名称:Database_SQLite_TryQuery
+函数名称:DBModule_SQLite_TryQuery
函数功能:试用序列号查询函数
参数.一:pSt_AuthVer
In/Out:In/Out
@@ -285,9 +285,9 @@ extern "C" bool Database_SQLite_TryInsert(AUTHREG_TEMPVER* pSt_AuthVer);
意思:是否成功
备注:
*********************************************************************/
-extern "C" bool Database_SQLite_TryQuery(AUTHREG_TEMPVER* pSt_AuthVer);
+extern "C" bool DBModule_SQLite_TryQuery(AUTHREG_TEMPVER* pSt_AuthVer);
/********************************************************************
-函数名称:Database_SQLite_TryDelete
+函数名称:DBModule_SQLite_TryDelete
函数功能:删除一条指定的试用数据
参数.一:lpszSerial
In/Out:In
@@ -299,9 +299,9 @@ extern "C" bool Database_SQLite_TryQuery(AUTHREG_TEMPVER* pSt_AuthVer);
意思:是否成功
备注:
*********************************************************************/
-extern "C" bool Database_SQLite_TryDelete(LPCXSTR lpszSerial);
+extern "C" bool DBModule_SQLite_TryDelete(LPCXSTR lpszSerial);
/********************************************************************
-函数名称:Database_SQLite_TryClear
+函数名称:DBModule_SQLite_TryClear
函数功能:清理函数,自动清理过期数据
参数.一:nThanValue
In/Out:In
@@ -318,9 +318,9 @@ extern "C" bool Database_SQLite_TryDelete(LPCXSTR lpszSerial);
意思:是否成功
备注:
*********************************************************************/
-extern "C" bool Database_SQLite_TryClear(int nThanValue, ENUM_HELPCOMPONENTS_AUTHORIZE_SERIAL_TYPE enVerMode = ENUM_HELPCOMPONENTS_AUTHORIZE_SERIAL_TYPE_UNKNOW);
+extern "C" bool DBModule_SQLite_TryClear(int nThanValue, ENUM_HELPCOMPONENTS_AUTHORIZE_SERIAL_TYPE enVerMode = ENUM_HELPCOMPONENTS_AUTHORIZE_SERIAL_TYPE_UNKNOW);
/********************************************************************
-函数名称:Database_SQLite_TrySet
+函数名称:DBModule_SQLite_TrySet
函数功能:设置用户信息函数
参数.一:pSt_AuthVer
In/Out:In
@@ -332,9 +332,9 @@ extern "C" bool Database_SQLite_TryClear(int nThanValue, ENUM_HELPCOMPONENTS_AUT
意思:是否成功
备注:
*********************************************************************/
-extern "C" bool Database_SQLite_TrySet(AUTHREG_TEMPVER* pSt_AuthVer);
+extern "C" bool DBModule_SQLite_TrySet(AUTHREG_TEMPVER* pSt_AuthVer);
/********************************************************************
-函数名称:Database_SQLite_TryList
+函数名称:DBModule_SQLite_TryList
函数功能:请求试用期列表
参数.一:pppSt_AuthVer
In/Out:Out
@@ -361,9 +361,9 @@ extern "C" bool Database_SQLite_TrySet(AUTHREG_TEMPVER* pSt_AuthVer);
意思:是否成功
备注:
*********************************************************************/
-extern "C" bool Database_SQLite_TryList(AUTHREG_TEMPVER*** pppSt_AuthVer, int* pInt_ListCount, int nPosStart = 0, int nPosEnd = 1000);
+extern "C" bool DBModule_SQLite_TryList(AUTHREG_TEMPVER*** pppSt_AuthVer, int* pInt_ListCount, int nPosStart = 0, int nPosEnd = 1000);
/********************************************************************
-函数名称:Database_SQLite_BannedInsert
+函数名称:DBModule_SQLite_BannedInsert
函数功能:黑名单列表插入
参数.一:pSt_Banned
In/Out:In
@@ -375,9 +375,9 @@ extern "C" bool Database_SQLite_TryList(AUTHREG_TEMPVER*** pppSt_AuthVer, int* p
意思:是否成功
备注:
*********************************************************************/
-extern "C" bool Database_SQLite_BannedInsert(AUTHREG_BANNED* pSt_Banned);
+extern "C" bool DBModule_SQLite_BannedInsert(AUTHREG_BANNED* pSt_Banned);
/********************************************************************
-函数名称:Database_SQLite_BannedDelete
+函数名称:DBModule_SQLite_BannedDelete
函数功能:黑名单列表删除
参数.一:pSt_Banned
In/Out:In
@@ -389,9 +389,9 @@ extern "C" bool Database_SQLite_BannedInsert(AUTHREG_BANNED* pSt_Banned);
意思:是否成功
备注:
*********************************************************************/
-extern "C" bool Database_SQLite_BannedDelete(AUTHREG_BANNED* pSt_Banned);
+extern "C" bool DBModule_SQLite_BannedDelete(AUTHREG_BANNED* pSt_Banned);
/********************************************************************
-函数名称:Database_SQLite_BannedList
+函数名称:DBModule_SQLite_BannedList
函数功能:黑名单列表查询
参数.一:pppSt_BannedUser
In/Out:Out
@@ -428,9 +428,9 @@ extern "C" bool Database_SQLite_BannedDelete(AUTHREG_BANNED* pSt_Banned);
意思:是否成功
备注:
*********************************************************************/
-extern "C" bool Database_SQLite_BannedList(AUTHREG_BANNED*** pppSt_BannedUser, int* pInt_UserCount, AUTHREG_BANNED*** pppSt_BannedAddr, int* pInt_AddrCount, int nPosStart, int nPosEnd);
+extern "C" bool DBModule_SQLite_BannedList(AUTHREG_BANNED*** pppSt_BannedUser, int* pInt_UserCount, AUTHREG_BANNED*** pppSt_BannedAddr, int* pInt_AddrCount, int nPosStart, int nPosEnd);
/********************************************************************
-函数名称:Database_SQLite_BannedExist
+函数名称:DBModule_SQLite_BannedExist
函数功能:名单是否存在黑名单列表
参数.一:pSt_Banned
In/Out:In
@@ -442,9 +442,9 @@ extern "C" bool Database_SQLite_BannedList(AUTHREG_BANNED*** pppSt_BannedUser, i
意思:是否成功
备注:
*********************************************************************/
-extern "C" bool Database_SQLite_BannedExist(AUTHREG_BANNED* pSt_Banned);
+extern "C" bool DBModule_SQLite_BannedExist(AUTHREG_BANNED* pSt_Banned);
/********************************************************************
-函数名称:Database_SQLite_BannedUPDate
+函数名称:DBModule_SQLite_BannedUPDate
函数功能:更新名单列表信息
参数.一:pSt_Banned
In/Out:In
@@ -456,9 +456,9 @@ extern "C" bool Database_SQLite_BannedExist(AUTHREG_BANNED* pSt_Banned);
意思:是否成功
备注:
*********************************************************************/
-extern "C" bool Database_SQLite_BannedUPDate(AUTHREG_BANNED* pSt_Banned);
+extern "C" bool DBModule_SQLite_BannedUPDate(AUTHREG_BANNED* pSt_Banned);
/********************************************************************
-函数名称:Database_SQLite_AnnouncementInsert
+函数名称:DBModule_SQLite_AnnouncementInsert
函数功能:公告插入
参数.一:pSt_Announcement
In/Out:In
@@ -470,9 +470,9 @@ extern "C" bool Database_SQLite_BannedUPDate(AUTHREG_BANNED* pSt_Banned);
意思:是否成功
备注:
*********************************************************************/
-extern "C" bool Database_SQLite_AnnouncementInsert(AUTHREG_ANNOUNCEMENT* pSt_Announcement);
+extern "C" bool DBModule_SQLite_AnnouncementInsert(AUTHREG_ANNOUNCEMENT* pSt_Announcement);
/********************************************************************
-函数名称:Database_SQLite_AnnouncementDelete
+函数名称:DBModule_SQLite_AnnouncementDelete
函数功能:公告删除
参数.一:pSt_Announcement
In/Out:In
@@ -484,9 +484,9 @@ extern "C" bool Database_SQLite_AnnouncementInsert(AUTHREG_ANNOUNCEMENT* pSt_Ann
意思:是否成功
备注:
*********************************************************************/
-extern "C" bool Database_SQLite_AnnouncementDelete(AUTHREG_ANNOUNCEMENT* pSt_Announcement);
+extern "C" bool DBModule_SQLite_AnnouncementDelete(AUTHREG_ANNOUNCEMENT* pSt_Announcement);
/********************************************************************
-函数名称:Database_SQLite_AnnouncementList
+函数名称:DBModule_SQLite_AnnouncementList
函数功能:列举所有公告
参数.一:ppppSt_Announcement
In/Out:Out
@@ -503,4 +503,493 @@ extern "C" bool Database_SQLite_AnnouncementDelete(AUTHREG_ANNOUNCEMENT* pSt_Ann
意思:是否成功
备注:
*********************************************************************/
-extern "C" bool Database_SQLite_AnnouncementList(AUTHREG_ANNOUNCEMENT*** ppppSt_Announcement, int* pInt_ListCount);
\ No newline at end of file
+extern "C" bool DBModule_SQLite_AnnouncementList(AUTHREG_ANNOUNCEMENT*** ppppSt_Announcement, int* pInt_ListCount);
+
+/************************************************************************/
+/* MYSQL数据库服务导出函数 */
+/************************************************************************/
+/********************************************************************
+函数名称:DBModule_MySQL_Init
+函数功能:初始化数据库管理器
+ 参数.一:pSt_DBConnector
+ In/Out:In
+ 类型:数据结构指针
+ 参数.二:bIsChange
+ In/Out:In
+ 类型:逻辑型
+ 可空:Y
+ 意思:是否允许更改用户充值类型
+返回值
+ 类型:逻辑型
+ 意思:是否成功
+备注:先初始化数据库服务,在初始化网络服务,才可以使用本验证服务器!
+*********************************************************************/
+extern "C" bool DBModule_MySQL_Init(DATABASE_MYSQL_CONNECTINFO* pSt_DBConnector, bool bIsChange = true);
+/********************************************************************
+函数名称:DBModule_MySQL_Destroy
+函数功能:销毁数据库服务
+返回值
+ 类型:逻辑型
+ 意思:是否销毁成功
+备注:
+*********************************************************************/
+extern "C" bool DBModule_MySQL_Destroy();
+/********************************************************************
+函数名称:DBModule_MySQL_UserDelete
+函数功能:删除一个用户从数据库中
+ 参数.一:lpszUserName
+ In/Out:In
+ 类型:常量字符指针
+ 可空:N
+ 意思:要删除的用户
+返回值
+ 类型:逻辑型
+ 意思:是否删除成功
+备注:
+*********************************************************************/
+extern "C" bool DBModule_MySQL_UserDelete(LPCXSTR lpszUserName);
+/********************************************************************
+函数名称:DBModule_MySQL_UserRegister
+函数功能:用户注册处理数据库语句函数
+ 参数.一:pSt_UserInfo
+ In/Out:In
+ 类型:数据结构指针
+ 可空:N
+ 意思:要插入的用户数据
+返回值
+ 类型:逻辑型
+ 意思:是否插入成功
+备注:
+*********************************************************************/
+extern "C" bool DBModule_MySQL_UserRegister(AUTHREG_USERTABLE* pSt_UserInfo);
+/********************************************************************
+函数名称:DBModule_MySQL_UserQuery
+函数功能:查询用户相对应的值
+ 参数.一:lpszUserName
+ In/Out:In
+ 类型:常量字符指针
+ 可空:N
+ 意思:要查询的指定用户
+ 参数.二:pSt_UserInfo
+ In/Out:Out
+ 类型:数据结构指针
+ 可空:Y
+ 意思:如果为空NULL,那么将只判断此用户是否存在
+返回值
+ 类型:逻辑型
+ 意思:是否查询成功
+备注:
+*********************************************************************/
+extern "C" bool DBModule_MySQL_UserQuery(LPCXSTR lpszUserName, AUTHREG_USERTABLE* pSt_UserInfo);
+/********************************************************************
+函数名称:DBModule_MySQL_UserPay
+函数功能:用户充值函数
+ 参数.一:lpszUserName
+ In/Out:In
+ 类型:常量字符指针
+ 可空:N
+ 意思:要充值的用户名
+ 参数.二:lpszSerialName
+ In/Out:In
+ 类型:常量字符指针
+ 可空:N
+ 意思:充值使用的序列号
+返回值
+ 类型:逻辑型
+ 意思:是否成功充值
+备注:
+*********************************************************************/
+extern "C" bool DBModule_MySQL_UserPay(LPCXSTR lpszUserName, LPCXSTR lpszSerialName);
+/********************************************************************
+函数名称:DBModule_MySQL_UserLeave
+函数功能:用户离开处理事件
+ 参数.一:pSt_TimeProtocol
+ In/Out:In
+ 类型:数据结构指针
+ 可空:N
+ 意思:离开的用户信息
+返回值
+ 类型:逻辑型
+ 意思:是否处理成功
+备注:
+*********************************************************************/
+extern "C" bool DBModule_MySQL_UserLeave(AUTHREG_PROTOCOL_TIME* pSt_TimeProtocol);
+/********************************************************************
+函数名称:DBModule_MySQL_UserSet
+函数功能:设置用户信息
+ 参数.一:pSt_UserTable
+ In/Out:In
+ 类型:数据结构指针
+ 可空:N
+ 意思:输入要设置的信息
+返回值
+ 类型:逻辑型
+ 意思:是否成功
+备注:
+*********************************************************************/
+extern "C" bool DBModule_MySQL_UserSet(AUTHREG_USERTABLE* pSt_UserTable);
+/********************************************************************
+函数名称:DBModule_MySQL_UserList
+函数功能:获取用户列表
+ 参数.一:pppSt_UserInfo
+ In/Out:Out
+ 类型:三级指针
+ 可空:N
+ 意思:输出用户列表,内存由用户释放
+ 参数.二:pInt_ListCount
+ In/Out:Out
+ 类型:整数型
+ 可空:N
+ 意思:输出列表个数
+ 参数.三:nPosStart
+ In/Out:In
+ 类型:整数型
+ 可空:Y
+ 意思:输入起始位置
+ 参数.四:nPosEnd
+ In/Out:In
+ 类型:整数型
+ 可空:Y
+ 意思:输入结束位置
+返回值
+ 类型:逻辑型
+ 意思:是否成功
+备注:
+*********************************************************************/
+extern "C" bool DBModule_MySQL_UserList(AUTHREG_USERTABLE*** pppSt_UserInfo, int* pInt_ListCount, int nPosStart, int nPosEnd);
+/********************************************************************
+函数名称:DBModule_MySQL_SerialInsert
+函数功能:插入一个序列号到数据库
+ 参数.一:lpszSerialNumber
+ In/Out:In
+ 类型:常量字符指针
+ 可空:N
+ 意思:要插入的序列号
+返回值
+ 类型:逻辑型
+ 意思:是否插入成功
+备注:
+*********************************************************************/
+extern "C" bool DBModule_MySQL_SerialInsert(LPCXSTR lpszSerialNumber);
+/********************************************************************
+函数名称:DBModule_MySQL_SerialDelete
+函数功能:从数据库删除指定序列号
+ 参数.一:lpszSerialNumber
+ In/Out:In
+ 类型:常量字符指针
+ 可空:N
+ 意思:要删除的序列号
+返回值
+ 类型:逻辑型
+ 意思:是否删除成功
+备注:
+*********************************************************************/
+extern "C" bool DBModule_MySQL_SerialDelete(LPCXSTR lpszSerialNumber);
+/********************************************************************
+函数名称:DBModule_MySQL_SerialQuery
+函数功能:查询一个指定的序列号信息
+ 参数.一:lpszSerialNumber
+ In/Out:In
+ 类型:常量字符指针
+ 可空:N
+ 意思:要查询的序列号
+ 参数.二:pSt_SerialTable
+ In/Out:Out
+ 类型:数据结构指针
+ 可空:Y
+ 意思:导出查询到的信息,如果为NULL,此参数将不起作用
+返回值
+ 类型:逻辑型
+ 意思:是否查询成功,如果第二个参数为NULL,那么将只返回是否有这个序列号
+备注:
+*********************************************************************/
+extern "C" bool DBModule_MySQL_SerialQuery(LPCXSTR lpszSerialNumber, LPAUTHREG_SERIALTABLE pSt_SerialTable);
+/********************************************************************
+函数名称:DBModule_MySQL_SerialQueryAll
+函数功能:查询序列卡表中的所有序列号
+ 参数.一:pppSt_SerialTable
+ In/Out:Out
+ 类型:三级指针
+ 可空:N
+ 意思:输出序列卡列表
+ 参数.二:pInt_ListCount
+ In/Out:Out
+ 类型:整数型指针
+ 可空:Y
+ 意思:输出多少张卡
+ 参数.三:nPosStart
+ In/Out:In
+ 类型:整数型
+ 可空:Y
+ 意思:输入起始位置
+ 参数.四:nPosEnd
+ In/Out:In
+ 类型:整数型
+ 可空:Y
+ 意思:输入结束位置
+返回值
+ 类型:逻辑型
+ 意思:是否查询成功
+备注:参数一需要调用基础库的释放内存函数进行内存释放
+*********************************************************************/
+extern "C" bool DBModule_MySQL_SerialQueryAll(AUTHREG_SERIALTABLE*** pppSt_SerialTable, int* pInt_ListCount, int nPosStart, int nPosEnd);
+/********************************************************************
+函数名称:DBModule_MySQL_SerialPush
+函数功能:插入一条指定的序列号信息到服务器
+ 参数.一:pSt_SerialTable
+ In/Out:In
+ 类型:数据结构指针
+ 可空:N
+ 意思:输入要插入的信息
+返回值
+ 类型:逻辑型
+ 意思:是否成功
+备注:
+*********************************************************************/
+extern "C" bool DBModule_MySQL_SerialPush(AUTHREG_SERIALTABLE* pSt_SerialTable);
+/********************************************************************
+函数名称:DBModule_MySQL_TryInsert
+函数功能:网络使用模式插入一条数据
+ 参数.一:pSt_AuthVer
+ In/Out:In
+ 类型:数据结构指针
+ 可空:N
+ 意思:输入要插入的数据
+返回值
+ 类型:逻辑型
+ 意思:是否成功
+备注:
+*********************************************************************/
+extern "C" bool DBModule_MySQL_TryInsert(AUTHREG_TEMPVER* pSt_AuthVer);
+/********************************************************************
+函数名称:DBModule_MySQL_TryQuery
+函数功能:试用序列号查询函数
+ 参数.一:pSt_AuthVer
+ In/Out:In/Out
+ 类型:数据结构指针
+ 可空:N
+ 意思:输入序列号,输出获取到的内容
+返回值
+ 类型:逻辑型
+ 意思:是否成功
+备注:
+*********************************************************************/
+extern "C" bool DBModule_MySQL_TryQuery(AUTHREG_TEMPVER* pSt_AuthVer);
+/********************************************************************
+函数名称:DBModule_MySQL_TryDelete
+函数功能:删除一条指定的试用数据
+ 参数.一:lpszSerial
+ In/Out:In
+ 类型:常量字符指针
+ 可空:N
+ 意思:输入要删除的序列号
+返回值
+ 类型:逻辑型
+ 意思:是否成功
+备注:
+*********************************************************************/
+extern "C" bool DBModule_MySQL_TryDelete(LPCXSTR lpszSerial);
+/********************************************************************
+函数名称:DBModule_MySQL_TryClear
+函数功能:清理函数,自动清理过期数据
+ 参数.一:nThanValue
+ In/Out:In
+ 类型:整数型
+ 可空:N
+ 意思:清理用于判断需要大于此的值
+ 参数.二:enVerMode
+ In/Out:In
+ 类型:枚举型
+ 可空:Y
+ 意思:判断注册类型,默认不判断全部执行
+返回值
+ 类型:逻辑型
+ 意思:是否成功
+备注:
+*********************************************************************/
+extern "C" bool DBModule_MySQL_TryClear(int nThanValue, ENUM_HELPCOMPONENTS_AUTHORIZE_SERIAL_TYPE enVerMode = ENUM_HELPCOMPONENTS_AUTHORIZE_SERIAL_TYPE_UNKNOW);
+/********************************************************************
+函数名称:DBModule_MySQL_TrySet
+函数功能:设置用户信息函数
+ 参数.一:pSt_AuthVer
+ In/Out:In
+ 类型:数据结构指针
+ 可空:N
+ 意思:输入要更新的用户信息
+返回值
+ 类型:逻辑型
+ 意思:是否成功
+备注:
+*********************************************************************/
+extern "C" bool DBModule_MySQL_TrySet(AUTHREG_TEMPVER* pSt_AuthVer);
+/********************************************************************
+函数名称:DBModule_MySQL_TryList
+函数功能:请求试用期列表
+ 参数.一:pppSt_AuthVer
+ In/Out:Out
+ 类型:三级指针
+ 可空:N
+ 意思:输出获取到的列表
+ 参数.二:pInt_ListCount
+ In/Out:Out
+ 类型:整数型指针
+ 可空:N
+ 意思:输出列表个数
+ 参数.三:nPosStart
+ In/Out:In
+ 类型:整数型
+ 可空:N
+ 意思:输入查询起始编号
+ 参数.四:nPosEnd
+ In/Out:In
+ 类型:整数型
+ 可空:N
+ 意思:输入查询结束编号
+返回值
+ 类型:逻辑型
+ 意思:是否成功
+备注:
+*********************************************************************/
+extern "C" bool DBModule_MySQL_TryList(AUTHREG_TEMPVER*** pppSt_AuthVer, int* pInt_ListCount, int nPosStart = 0, int nPosEnd = 1000);
+/********************************************************************
+函数名称:DBModule_MySQL_BannedInsert
+函数功能:黑名单列表插入
+ 参数.一:pSt_Banned
+ In/Out:In
+ 类型:数据结构指针
+ 可空:N
+ 意思:要操作的数据
+返回值
+ 类型:逻辑型
+ 意思:是否成功
+备注:
+*********************************************************************/
+extern "C" bool DBModule_MySQL_BannedInsert(AUTHREG_BANNED* pSt_Banned);
+/********************************************************************
+函数名称:DBModule_MySQL_BannedDelete
+函数功能:黑名单列表删除
+ 参数.一:pSt_Banned
+ In/Out:In
+ 类型:数据结构指针
+ 可空:N
+ 意思:要操作的数据
+返回值
+ 类型:逻辑型
+ 意思:是否成功
+备注:
+*********************************************************************/
+extern "C" bool DBModule_MySQL_BannedDelete(AUTHREG_BANNED* pSt_Banned);
+/********************************************************************
+函数名称:DBModule_MySQL_BannedList
+函数功能:黑名单列表查询
+ 参数.一:pppSt_BannedUser
+ In/Out:Out
+ 类型:三级指针
+ 可空:N
+ 意思:禁用的用户名列表
+ 参数.二:pInt_UserCount
+ In/Out:Out
+ 类型:整数型指针
+ 可空:N
+ 意思:输出用户禁用列表个数
+ 参数.三:pppSt_BannedAddr
+ In/Out:Out
+ 类型:三级指针
+ 可空:N
+ 意思:禁用的IP地址列表
+ 参数.四:pInt_AddrCount
+ In/Out:Out
+ 类型:整数型指针
+ 可空:N
+ 意思:输出地址禁用列表个数
+ 参数.五:nPosStart
+ In/Out:In
+ 类型:整数型
+ 可空:N
+ 意思:输入查找起始位置
+ 参数.六:nPosEnd
+ In/Out:In
+ 类型:整数型
+ 可空:N
+ 意思:输入查找结束位置
+返回值
+ 类型:逻辑型
+ 意思:是否成功
+备注:
+*********************************************************************/
+extern "C" bool DBModule_MySQL_BannedList(AUTHREG_BANNED*** pppSt_BannedUser, int* pInt_UserCount, AUTHREG_BANNED*** pppSt_BannedAddr, int* pInt_AddrCount, int nPosStart, int nPosEnd);
+/********************************************************************
+函数名称:DBModule_MySQL_BannedExist
+函数功能:名单是否存在黑名单列表
+ 参数.一:pSt_Banned
+ In/Out:In
+ 类型:数据结构指针
+ 可空:N
+ 意思:要操作的数据
+返回值
+ 类型:逻辑型
+ 意思:是否成功
+备注:
+*********************************************************************/
+extern "C" bool DBModule_MySQL_BannedExist(AUTHREG_BANNED* pSt_Banned);
+/********************************************************************
+函数名称:DBModule_MySQL_BannedUPDate
+函数功能:更新名单列表信息
+ 参数.一:pSt_Banned
+ In/Out:In
+ 类型:数据结构指针
+ 可空:N
+ 意思:要操作的数据
+返回值
+ 类型:逻辑型
+ 意思:是否成功
+备注:
+*********************************************************************/
+extern "C" bool DBModule_MySQL_BannedUPDate(AUTHREG_BANNED* pSt_Banned);
+/********************************************************************
+函数名称:DBModule_MySQL_AnnouncementInsert
+函数功能:公告插入
+ 参数.一:pSt_Announcement
+ In/Out:In
+ 类型:数据结构指针
+ 可空:N
+ 意思:输入要插入的信息
+返回值
+ 类型:逻辑型
+ 意思:是否成功
+备注:
+*********************************************************************/
+extern "C" bool DBModule_MySQL_AnnouncementInsert(AUTHREG_ANNOUNCEMENT* pSt_Announcement);
+/********************************************************************
+函数名称:DBModule_MySQL_AnnouncementDelete
+函数功能:公告删除
+ 参数.一:pSt_Announcement
+ In/Out:In
+ 类型:数据结构指针
+ 可空:N
+ 意思:输入要删除的信息
+返回值
+ 类型:逻辑型
+ 意思:是否成功
+备注:
+*********************************************************************/
+extern "C" bool DBModule_MySQL_AnnouncementDelete(AUTHREG_ANNOUNCEMENT* pSt_Announcement);
+/********************************************************************
+函数名称:DBModule_MySQL_AnnouncementList
+函数功能:列举所有公告
+ 参数.一:ppppSt_Announcement
+ In/Out:Out
+ 类型:三级指针
+ 可空:N
+ 意思:输出列举数据
+ 参数.二:pInt_ListCount
+ In/Out:Out
+ 类型:整数型指针
+ 可空:N
+ 意思:导出数据个数
+返回值
+ 类型:逻辑型
+ 意思:是否成功
+备注:
+*********************************************************************/
+extern "C" bool DBModule_MySQL_AnnouncementList(AUTHREG_ANNOUNCEMENT*** ppppSt_Announcement, int* pInt_ListCount);
diff --git a/XEngine_Source/AuthorizeModule_Database/Makefile b/XEngine_Source/AuthorizeModule_Database/Makefile
index 2e02eb4a7aaacd54e3be42d41ba3f1c989c2018b..69def228641ef9b937c5c51248b972b9e6f6a6fd 100644
--- a/XEngine_Source/AuthorizeModule_Database/Makefile
+++ b/XEngine_Source/AuthorizeModule_Database/Makefile
@@ -10,7 +10,7 @@ LOADHDR = -I ./
LOADSO =
LIB = -lXEngine_BaseLib -lHelpComponents_DataBase -lHelpComponents_Authorize
LIBEX =
-OBJECTS = Database_SQLite.o pch.o
+OBJECTS = DBModule_SQLite.o DBModule_MySQL.o pch.o
ifeq ($(RELEASE),1)
FLAGS = -c
@@ -51,8 +51,10 @@ endif
all:$(OBJECTS)
$(CC) $(DEBUG) $(OBJECTS) -o libAuthorizeModule_Database.$(FILEEXT) $(LIBFLAG) $(LIB) $(LIBEX) $(LOADSO) $(LOADBIN)
-Database_SQLite.o:./Database_SQLite/Database_SQLite.cpp
- $(CC) $(DEBUG) $(FLAGS) $(UNICODE) $(PLATVER) $(LOADHDR) ./Database_SQLite/Database_SQLite.cpp
+DBModule_SQLite.o:./DBModule_SQLite/DBModule_SQLite.cpp
+ $(CC) $(DEBUG) $(FLAGS) $(UNICODE) $(PLATVER) $(LOADHDR) ./DBModule_SQLite/DBModule_SQLite.cpp
+DBModule_MySQL.o:./DBModule_MySQL/DBModule_MySQL.cpp
+ $(CC) $(DEBUG) $(FLAGS) $(UNICODE) $(PLATVER) $(LOADHDR) ./DBModule_MySQL/DBModule_MySQL.cpp
pch.o:pch.cpp
$(CC) $(DEBUG) $(FLAGS) $(UNICODE) $(PLATVER) $(LOADHDR) pch.cpp
diff --git a/XEngine_Source/AuthorizeModule_Database/pch.cpp b/XEngine_Source/AuthorizeModule_Database/pch.cpp
index 7b844cff974e7a3755d6d809091884750346ff27..390f698af111b86cd399315defc79e0e0ca291f0 100644
--- a/XEngine_Source/AuthorizeModule_Database/pch.cpp
+++ b/XEngine_Source/AuthorizeModule_Database/pch.cpp
@@ -1,5 +1,6 @@
#include "pch.h"
-#include "Database_SQLite/Database_SQLite.h"
+#include "DBModule_SQLite/DBModule_SQLite.h"
+#include "DBModule_MySQL/DBModule_MySQL.h"
/********************************************************************
// Created: 2022/05/26 11:02:23
// File Name: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_Database\pch.cpp
@@ -14,7 +15,8 @@
bool SQLPacket_IsErrorOccur = false;
XLONG SQLPacket_dwErrorCode = 0;
//////////////////////////////////////////////////////////////////////////
-CDatabase_SQLite m_SQLAuth;
+CDBModule_SQLite m_DBSQLite;
+CDBModule_MySQL m_DBMySQL;
//////////////////////////////////////////////////////////////////////////
// 导出的函数
//////////////////////////////////////////////////////////////////////////
@@ -29,115 +31,231 @@ extern "C" XLONG DBModule_GetLastError(int* pInt_SysError)
/************************************************************************/
/* 数据库服务导出函数 */
/************************************************************************/
-extern "C" bool Database_SQLite_Init(LPCXSTR lpszSQLFile, bool bIsChange)
+extern "C" bool DBModule_SQLite_Init(LPCXSTR lpszSQLFile, bool bIsChange)
{
- return m_SQLAuth.Database_SQLite_Init(lpszSQLFile, bIsChange);
+ return m_DBSQLite.DBModule_SQLite_Init(lpszSQLFile, bIsChange);
}
-extern "C" bool Database_SQLite_Destroy()
+extern "C" bool DBModule_SQLite_Destroy()
{
- return m_SQLAuth.Database_SQLite_Destroy();
+ return m_DBSQLite.DBModule_SQLite_Destroy();
}
-extern "C" bool Database_SQLite_UserDelete(LPCXSTR lpszUserName)
+extern "C" bool DBModule_SQLite_UserDelete(LPCXSTR lpszUserName)
{
- return m_SQLAuth.Database_SQLite_UserDelete(lpszUserName);
+ return m_DBSQLite.DBModule_SQLite_UserDelete(lpszUserName);
}
-extern "C" bool Database_SQLite_UserRegister(AUTHREG_USERTABLE * pSt_UserInfo)
+extern "C" bool DBModule_SQLite_UserRegister(AUTHREG_USERTABLE * pSt_UserInfo)
{
- return m_SQLAuth.Database_SQLite_UserRegister(pSt_UserInfo);
+ return m_DBSQLite.DBModule_SQLite_UserRegister(pSt_UserInfo);
}
-extern "C" bool Database_SQLite_UserQuery(LPCXSTR lpszUserName, AUTHREG_USERTABLE * pSt_UserInfo)
+extern "C" bool DBModule_SQLite_UserQuery(LPCXSTR lpszUserName, AUTHREG_USERTABLE * pSt_UserInfo)
{
- return m_SQLAuth.Database_SQLite_UserQuery(lpszUserName, pSt_UserInfo);
+ return m_DBSQLite.DBModule_SQLite_UserQuery(lpszUserName, pSt_UserInfo);
}
-extern "C" bool Database_SQLite_UserPay(LPCXSTR lpszUserName, LPCXSTR lpszSerialName)
+extern "C" bool DBModule_SQLite_UserPay(LPCXSTR lpszUserName, LPCXSTR lpszSerialName)
{
- return m_SQLAuth.Database_SQLite_UserPay(lpszUserName, lpszSerialName);
+ return m_DBSQLite.DBModule_SQLite_UserPay(lpszUserName, lpszSerialName);
}
-extern "C" bool Database_SQLite_UserLeave(AUTHREG_PROTOCOL_TIME * pSt_TimeProtocol)
+extern "C" bool DBModule_SQLite_UserLeave(AUTHREG_PROTOCOL_TIME * pSt_TimeProtocol)
{
- return m_SQLAuth.Database_SQLite_UserLeave(pSt_TimeProtocol);
+ return m_DBSQLite.DBModule_SQLite_UserLeave(pSt_TimeProtocol);
}
-extern "C" bool Database_SQLite_UserSet(AUTHREG_USERTABLE * pSt_UserTable)
+extern "C" bool DBModule_SQLite_UserSet(AUTHREG_USERTABLE * pSt_UserTable)
{
- return m_SQLAuth.Database_SQLite_UserSet(pSt_UserTable);
+ return m_DBSQLite.DBModule_SQLite_UserSet(pSt_UserTable);
}
-extern "C" bool Database_SQLite_UserList(AUTHREG_USERTABLE * **pppSt_UserInfo, int* pInt_ListCount, int nPosStart, int nPosEnd)
+extern "C" bool DBModule_SQLite_UserList(AUTHREG_USERTABLE * **pppSt_UserInfo, int* pInt_ListCount, int nPosStart, int nPosEnd)
{
- return m_SQLAuth.Database_SQLite_UserList(pppSt_UserInfo, pInt_ListCount, nPosStart, nPosEnd);
+ return m_DBSQLite.DBModule_SQLite_UserList(pppSt_UserInfo, pInt_ListCount, nPosStart, nPosEnd);
}
-extern "C" bool Database_SQLite_SerialInsert(LPCXSTR lpszSerialNumber)
+extern "C" bool DBModule_SQLite_SerialInsert(LPCXSTR lpszSerialNumber)
{
- return m_SQLAuth.Database_SQLite_SerialInsert(lpszSerialNumber);
+ return m_DBSQLite.DBModule_SQLite_SerialInsert(lpszSerialNumber);
}
-extern "C" bool Database_SQLite_SerialDelete(LPCXSTR lpszSerialNumber)
+extern "C" bool DBModule_SQLite_SerialDelete(LPCXSTR lpszSerialNumber)
{
- return m_SQLAuth.Database_SQLite_SerialDelete(lpszSerialNumber);
+ return m_DBSQLite.DBModule_SQLite_SerialDelete(lpszSerialNumber);
}
-extern "C" bool Database_SQLite_SerialQuery(LPCXSTR lpszSerialNumber, LPAUTHREG_SERIALTABLE pSt_SerialTable)
+extern "C" bool DBModule_SQLite_SerialQuery(LPCXSTR lpszSerialNumber, LPAUTHREG_SERIALTABLE pSt_SerialTable)
{
- return m_SQLAuth.Database_SQLite_SerialQuery(lpszSerialNumber, pSt_SerialTable);
+ return m_DBSQLite.DBModule_SQLite_SerialQuery(lpszSerialNumber, pSt_SerialTable);
}
-extern "C" bool Database_SQLite_SerialQueryAll(AUTHREG_SERIALTABLE * **pppSt_SerialTable, int* pInt_ListCount, int nPosStart, int nPosEnd)
+extern "C" bool DBModule_SQLite_SerialQueryAll(AUTHREG_SERIALTABLE * **pppSt_SerialTable, int* pInt_ListCount, int nPosStart, int nPosEnd)
{
- return m_SQLAuth.Database_SQLite_SerialQueryAll(pppSt_SerialTable, pInt_ListCount, nPosStart, nPosEnd);
+ return m_DBSQLite.DBModule_SQLite_SerialQueryAll(pppSt_SerialTable, pInt_ListCount, nPosStart, nPosEnd);
}
-extern "C" bool Database_SQLite_SerialPush(AUTHREG_SERIALTABLE * pSt_SerialTable)
+extern "C" bool DBModule_SQLite_SerialPush(AUTHREG_SERIALTABLE * pSt_SerialTable)
{
- return m_SQLAuth.Database_SQLite_SerialPush(pSt_SerialTable);
+ return m_DBSQLite.DBModule_SQLite_SerialPush(pSt_SerialTable);
}
-extern "C" bool Database_SQLite_TryInsert(AUTHREG_TEMPVER * pSt_AuthVer)
+extern "C" bool DBModule_SQLite_TryInsert(AUTHREG_TEMPVER * pSt_AuthVer)
{
- return m_SQLAuth.Database_SQLite_TryInsert(pSt_AuthVer);
+ return m_DBSQLite.DBModule_SQLite_TryInsert(pSt_AuthVer);
}
-extern "C" bool Database_SQLite_TryQuery(AUTHREG_TEMPVER * pSt_AuthVer)
+extern "C" bool DBModule_SQLite_TryQuery(AUTHREG_TEMPVER * pSt_AuthVer)
{
- return m_SQLAuth.Database_SQLite_TryQuery(pSt_AuthVer);
+ return m_DBSQLite.DBModule_SQLite_TryQuery(pSt_AuthVer);
}
-extern "C" bool Database_SQLite_TryDelete(LPCXSTR lpszSerial)
+extern "C" bool DBModule_SQLite_TryDelete(LPCXSTR lpszSerial)
{
- return m_SQLAuth.Database_SQLite_TryDelete(lpszSerial);
+ return m_DBSQLite.DBModule_SQLite_TryDelete(lpszSerial);
}
-extern "C" bool Database_SQLite_TryClear(int nThanValue, ENUM_HELPCOMPONENTS_AUTHORIZE_SERIAL_TYPE enVerMode)
+extern "C" bool DBModule_SQLite_TryClear(int nThanValue, ENUM_HELPCOMPONENTS_AUTHORIZE_SERIAL_TYPE enVerMode)
{
- return m_SQLAuth.Database_SQLite_TryClear(nThanValue, enVerMode);
+ return m_DBSQLite.DBModule_SQLite_TryClear(nThanValue, enVerMode);
}
-extern "C" bool Database_SQLite_TrySet(AUTHREG_TEMPVER * pSt_AuthVer)
+extern "C" bool DBModule_SQLite_TrySet(AUTHREG_TEMPVER * pSt_AuthVer)
{
- return m_SQLAuth.Database_SQLite_TrySet(pSt_AuthVer);
+ return m_DBSQLite.DBModule_SQLite_TrySet(pSt_AuthVer);
}
-extern "C" bool Database_SQLite_TryList(AUTHREG_TEMPVER * **pppSt_AuthVer, int* pInt_ListCount, int nPosStart, int nPosEnd)
+extern "C" bool DBModule_SQLite_TryList(AUTHREG_TEMPVER * **pppSt_AuthVer, int* pInt_ListCount, int nPosStart, int nPosEnd)
{
- return m_SQLAuth.Database_SQLite_TryList(pppSt_AuthVer, pInt_ListCount, nPosStart, nPosEnd);
+ return m_DBSQLite.DBModule_SQLite_TryList(pppSt_AuthVer, pInt_ListCount, nPosStart, nPosEnd);
}
-extern "C" bool Database_SQLite_BannedInsert(AUTHREG_BANNED * pSt_Banned)
+extern "C" bool DBModule_SQLite_BannedInsert(AUTHREG_BANNED * pSt_Banned)
{
- return m_SQLAuth.Database_SQLite_BannedInsert(pSt_Banned);
+ return m_DBSQLite.DBModule_SQLite_BannedInsert(pSt_Banned);
}
-extern "C" bool Database_SQLite_BannedDelete(AUTHREG_BANNED * pSt_Banned)
+extern "C" bool DBModule_SQLite_BannedDelete(AUTHREG_BANNED * pSt_Banned)
{
- return m_SQLAuth.Database_SQLite_BannedDelete(pSt_Banned);
+ return m_DBSQLite.DBModule_SQLite_BannedDelete(pSt_Banned);
}
-extern "C" bool Database_SQLite_BannedList(AUTHREG_BANNED * **pppSt_BannedUser, int* pInt_UserCount, AUTHREG_BANNED * **pppSt_BannedAddr, int* pInt_AddrCount, int nPosStart, int nPosEnd)
+extern "C" bool DBModule_SQLite_BannedList(AUTHREG_BANNED * **pppSt_BannedUser, int* pInt_UserCount, AUTHREG_BANNED * **pppSt_BannedAddr, int* pInt_AddrCount, int nPosStart, int nPosEnd)
{
- return m_SQLAuth.Database_SQLite_BannedList(pppSt_BannedUser, pInt_UserCount, pppSt_BannedAddr, pInt_AddrCount, nPosStart, nPosEnd);
+ return m_DBSQLite.DBModule_SQLite_BannedList(pppSt_BannedUser, pInt_UserCount, pppSt_BannedAddr, pInt_AddrCount, nPosStart, nPosEnd);
}
-extern "C" bool Database_SQLite_BannedExist(AUTHREG_BANNED * pSt_Banned)
+extern "C" bool DBModule_SQLite_BannedExist(AUTHREG_BANNED * pSt_Banned)
{
- return m_SQLAuth.Database_SQLite_BannedExist(pSt_Banned);
+ return m_DBSQLite.DBModule_SQLite_BannedExist(pSt_Banned);
}
-extern "C" bool Database_SQLite_BannedUPDate(AUTHREG_BANNED * pSt_Banned)
+extern "C" bool DBModule_SQLite_BannedUPDate(AUTHREG_BANNED * pSt_Banned)
{
- return m_SQLAuth.Database_SQLite_BannedUPDate(pSt_Banned);
+ return m_DBSQLite.DBModule_SQLite_BannedUPDate(pSt_Banned);
}
-extern "C" bool Database_SQLite_AnnouncementInsert(AUTHREG_ANNOUNCEMENT * pSt_Announcement)
+extern "C" bool DBModule_SQLite_AnnouncementInsert(AUTHREG_ANNOUNCEMENT * pSt_Announcement)
{
- return m_SQLAuth.Database_SQLite_AnnouncementInsert(pSt_Announcement);
+ return m_DBSQLite.DBModule_SQLite_AnnouncementInsert(pSt_Announcement);
}
-extern "C" bool Database_SQLite_AnnouncementDelete(AUTHREG_ANNOUNCEMENT * pSt_Announcement)
+extern "C" bool DBModule_SQLite_AnnouncementDelete(AUTHREG_ANNOUNCEMENT * pSt_Announcement)
{
- return m_SQLAuth.Database_SQLite_AnnouncementDelete(pSt_Announcement);
+ return m_DBSQLite.DBModule_SQLite_AnnouncementDelete(pSt_Announcement);
}
-extern "C" bool Database_SQLite_AnnouncementList(AUTHREG_ANNOUNCEMENT * **ppppSt_Announcement, int* pInt_ListCount)
+extern "C" bool DBModule_SQLite_AnnouncementList(AUTHREG_ANNOUNCEMENT * **ppppSt_Announcement, int* pInt_ListCount)
{
- return m_SQLAuth.Database_SQLite_AnnouncementList(ppppSt_Announcement, pInt_ListCount);
+ return m_DBSQLite.DBModule_SQLite_AnnouncementList(ppppSt_Announcement, pInt_ListCount);
+}
+
+/************************************************************************/
+/* MYSQL数据库服务导出函数 */
+/************************************************************************/
+extern "C" bool DBModule_MySQL_Init(DATABASE_MYSQL_CONNECTINFO* pSt_DBConnector, bool bIsChange)
+{
+ return m_DBMySQL.DBModule_MySQL_Init(pSt_DBConnector, bIsChange);
+}
+extern "C" bool DBModule_MySQL_Destroy()
+{
+ return m_DBMySQL.DBModule_MySQL_Destroy();
+}
+extern "C" bool DBModule_MySQL_UserDelete(LPCXSTR lpszUserName)
+{
+ return m_DBMySQL.DBModule_MySQL_UserDelete(lpszUserName);
+}
+extern "C" bool DBModule_MySQL_UserRegister(AUTHREG_USERTABLE* pSt_UserInfo)
+{
+ return m_DBMySQL.DBModule_MySQL_UserRegister(pSt_UserInfo);
+}
+extern "C" bool DBModule_MySQL_UserQuery(LPCXSTR lpszUserName, AUTHREG_USERTABLE* pSt_UserInfo)
+{
+ return m_DBMySQL.DBModule_MySQL_UserQuery(lpszUserName, pSt_UserInfo);
+}
+extern "C" bool DBModule_MySQL_UserPay(LPCXSTR lpszUserName, LPCXSTR lpszSerialName)
+{
+ return m_DBMySQL.DBModule_MySQL_UserPay(lpszUserName, lpszSerialName);
+}
+extern "C" bool DBModule_MySQL_UserLeave(AUTHREG_PROTOCOL_TIME* pSt_TimeProtocol)
+{
+ return m_DBMySQL.DBModule_MySQL_UserLeave(pSt_TimeProtocol);
+}
+extern "C" bool DBModule_MySQL_UserSet(AUTHREG_USERTABLE* pSt_UserTable)
+{
+ return m_DBMySQL.DBModule_MySQL_UserSet(pSt_UserTable);
+}
+extern "C" bool DBModule_MySQL_UserList(AUTHREG_USERTABLE*** pppSt_UserInfo, int* pInt_ListCount, int nPosStart, int nPosEnd)
+{
+ return m_DBMySQL.DBModule_MySQL_UserList(pppSt_UserInfo, pInt_ListCount, nPosStart, nPosEnd);
+}
+extern "C" bool DBModule_MySQL_SerialInsert(LPCXSTR lpszSerialNumber)
+{
+ return m_DBMySQL.DBModule_MySQL_SerialInsert(lpszSerialNumber);
+}
+extern "C" bool DBModule_MySQL_SerialDelete(LPCXSTR lpszSerialNumber)
+{
+ return m_DBMySQL.DBModule_MySQL_SerialDelete(lpszSerialNumber);
+}
+extern "C" bool DBModule_MySQL_SerialQuery(LPCXSTR lpszSerialNumber, LPAUTHREG_SERIALTABLE pSt_SerialTable)
+{
+ return m_DBMySQL.DBModule_MySQL_SerialQuery(lpszSerialNumber, pSt_SerialTable);
+}
+extern "C" bool DBModule_MySQL_SerialQueryAll(AUTHREG_SERIALTABLE*** pppSt_SerialTable, int* pInt_ListCount, int nPosStart, int nPosEnd)
+{
+ return m_DBMySQL.DBModule_MySQL_SerialQueryAll(pppSt_SerialTable, pInt_ListCount, nPosStart, nPosEnd);
+}
+extern "C" bool DBModule_MySQL_SerialPush(AUTHREG_SERIALTABLE* pSt_SerialTable)
+{
+ return m_DBMySQL.DBModule_MySQL_SerialPush(pSt_SerialTable);
+}
+extern "C" bool DBModule_MySQL_TryInsert(AUTHREG_TEMPVER* pSt_AuthVer)
+{
+ return m_DBMySQL.DBModule_MySQL_TryInsert(pSt_AuthVer);
+}
+extern "C" bool DBModule_MySQL_TryQuery(AUTHREG_TEMPVER* pSt_AuthVer)
+{
+ return m_DBMySQL.DBModule_MySQL_TryQuery(pSt_AuthVer);
+}
+extern "C" bool DBModule_MySQL_TryDelete(LPCXSTR lpszSerial)
+{
+ return m_DBMySQL.DBModule_MySQL_TryDelete(lpszSerial);
+}
+extern "C" bool DBModule_MySQL_TryClear(int nThanValue, ENUM_HELPCOMPONENTS_AUTHORIZE_SERIAL_TYPE enVerMode)
+{
+ return m_DBMySQL.DBModule_MySQL_TryClear(nThanValue, enVerMode);
+}
+extern "C" bool DBModule_MySQL_TrySet(AUTHREG_TEMPVER* pSt_AuthVer)
+{
+ return m_DBMySQL.DBModule_MySQL_TrySet(pSt_AuthVer);
+}
+extern "C" bool DBModule_MySQL_TryList(AUTHREG_TEMPVER*** pppSt_AuthVer, int* pInt_ListCount, int nPosStart, int nPosEnd)
+{
+ return m_DBMySQL.DBModule_MySQL_TryList(pppSt_AuthVer, pInt_ListCount, nPosStart, nPosEnd);
+}
+extern "C" bool DBModule_MySQL_BannedInsert(AUTHREG_BANNED* pSt_Banned)
+{
+ return m_DBMySQL.DBModule_MySQL_BannedInsert(pSt_Banned);
+}
+extern "C" bool DBModule_MySQL_BannedDelete(AUTHREG_BANNED* pSt_Banned)
+{
+ return m_DBMySQL.DBModule_MySQL_BannedDelete(pSt_Banned);
+}
+extern "C" bool DBModule_MySQL_BannedList(AUTHREG_BANNED*** pppSt_BannedUser, int* pInt_UserCount, AUTHREG_BANNED*** pppSt_BannedAddr, int* pInt_AddrCount, int nPosStart, int nPosEnd)
+{
+ return m_DBMySQL.DBModule_MySQL_BannedList(pppSt_BannedUser, pInt_UserCount, pppSt_BannedAddr, pInt_AddrCount, nPosStart, nPosEnd);
+}
+extern "C" bool DBModule_MySQL_BannedExist(AUTHREG_BANNED* pSt_Banned)
+{
+ return m_DBMySQL.DBModule_MySQL_BannedExist(pSt_Banned);
+}
+extern "C" bool DBModule_MySQL_BannedUPDate(AUTHREG_BANNED* pSt_Banned)
+{
+ return m_DBMySQL.DBModule_MySQL_BannedUPDate(pSt_Banned);
+}
+extern "C" bool DBModule_MySQL_AnnouncementInsert(AUTHREG_ANNOUNCEMENT* pSt_Announcement)
+{
+ return m_DBMySQL.DBModule_MySQL_AnnouncementInsert(pSt_Announcement);
+}
+extern "C" bool DBModule_MySQL_AnnouncementDelete(AUTHREG_ANNOUNCEMENT* pSt_Announcement)
+{
+ return m_DBMySQL.DBModule_MySQL_AnnouncementDelete(pSt_Announcement);
+}
+extern "C" bool DBModule_MySQL_AnnouncementList(AUTHREG_ANNOUNCEMENT*** ppppSt_Announcement, int* pInt_ListCount)
+{
+ return m_DBMySQL.DBModule_MySQL_AnnouncementList(ppppSt_Announcement, pInt_ListCount);
}
\ No newline at end of file
diff --git a/XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/AuthorizeHTTP_Get/AuthorizeHTTP_Token.cpp b/XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/AuthorizeHTTP_Get/AuthorizeHTTP_Token.cpp
index f7d2290feb5c6a44002822ace9e12d6e90f9583f..9ac215077cdb199c7d633a3fd8b138570d9f6d0d 100644
--- a/XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/AuthorizeHTTP_Get/AuthorizeHTTP_Token.cpp
+++ b/XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/AuthorizeHTTP_Get/AuthorizeHTTP_Token.cpp
@@ -68,7 +68,16 @@ bool XEngine_AuthorizeHTTP_Token(LPCXSTR lpszClientAddr, XCHAR** pptszList, int
return false;
}
}
- if (!Database_SQLite_UserQuery(tszUserName, &st_UserTable))
+ bool bSuccess = false;
+ if (0 == st_AuthConfig.st_XSql.nDBType)
+ {
+ bSuccess = DBModule_SQLite_UserQuery(tszUserName, &st_UserTable);
+ }
+ else
+ {
+ bSuccess = DBModule_MySQL_UserQuery(tszUserName, &st_UserTable);
+ }
+ if (!bSuccess)
{
Protocol_Packet_HttpComm(tszSDBuffer, &nSDLen, 404, "user not found");
XEngine_Client_TaskSend(lpszClientAddr, tszSDBuffer, nSDLen, XENGINE_AUTH_APP_NETTYPE_HTTP);
diff --git a/XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/AuthorizeHTTP_Post/AuthorizeHTTP_Announcement.cpp b/XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/AuthorizeHTTP_Post/AuthorizeHTTP_Announcement.cpp
index 0f1e9ce935043f52b437c8510de8a4ffb72d792a..3721652c1b85f17ad613ecae9670a98bbbe490de 100644
--- a/XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/AuthorizeHTTP_Post/AuthorizeHTTP_Announcement.cpp
+++ b/XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/AuthorizeHTTP_Post/AuthorizeHTTP_Announcement.cpp
@@ -23,7 +23,14 @@ bool XEngine_AuthorizeHTTP_Announcement(LPCXSTR lpszClientAddr, LPCXSTR lpszAPIN
AUTHREG_ANNOUNCEMENT st_Announcement;
memset(&st_Announcement, '\0', sizeof(AUTHREG_ANNOUNCEMENT));
- Database_SQLite_AnnouncementList(NULL, &nListCount);
+ if (0 == st_AuthConfig.st_XSql.nDBType)
+ {
+ DBModule_SQLite_AnnouncementList(NULL, &nListCount);
+ }
+ else
+ {
+ DBModule_MySQL_AnnouncementList(NULL, &nListCount);
+ }
if (nListCount > 10)
{
Protocol_Packet_HttpComm(tszSDBuffer, &nSDLen, 510, "server limited");
@@ -32,7 +39,14 @@ bool XEngine_AuthorizeHTTP_Announcement(LPCXSTR lpszClientAddr, LPCXSTR lpszAPIN
return false;
}
Protocol_Parse_HttpParseAnnouncement(lpszMsgBuffer, nMsgLen, &st_Announcement);
- Database_SQLite_AnnouncementInsert(&st_Announcement);
+ if (0 == st_AuthConfig.st_XSql.nDBType)
+ {
+ DBModule_SQLite_AnnouncementInsert(&st_Announcement);
+ }
+ else
+ {
+ DBModule_MySQL_AnnouncementInsert(&st_Announcement);
+ }
Protocol_Packet_HttpComm(tszSDBuffer, &nSDLen);
XEngine_Client_TaskSend(lpszClientAddr, tszSDBuffer, nSDLen, XENGINE_AUTH_APP_NETTYPE_HTTP);
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("HTTP客户端:%s,插入公告成功,公告信息:%s"), lpszClientAddr, st_Announcement.tszContext);
@@ -43,7 +57,14 @@ bool XEngine_AuthorizeHTTP_Announcement(LPCXSTR lpszClientAddr, LPCXSTR lpszAPIN
memset(&st_Announcement, '\0', sizeof(AUTHREG_ANNOUNCEMENT));
Protocol_Parse_HttpParseAnnouncement(lpszMsgBuffer, nMsgLen, &st_Announcement);
- Database_SQLite_AnnouncementDelete(&st_Announcement);
+ if (0 == st_AuthConfig.st_XSql.nDBType)
+ {
+ DBModule_SQLite_AnnouncementDelete(&st_Announcement);
+ }
+ else
+ {
+ DBModule_MySQL_AnnouncementDelete(&st_Announcement);
+ }
Protocol_Packet_HttpComm(tszSDBuffer, &nSDLen);
XEngine_Client_TaskSend(lpszClientAddr, tszSDBuffer, nSDLen, XENGINE_AUTH_APP_NETTYPE_HTTP);
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("HTTP客户端:%s,删除公告成功.删除公告ID:%lld"), lpszClientAddr, st_Announcement.nID);
@@ -53,7 +74,14 @@ bool XEngine_AuthorizeHTTP_Announcement(LPCXSTR lpszClientAddr, LPCXSTR lpszAPIN
int nListCount = 0;
AUTHREG_ANNOUNCEMENT** ppSt_Announcement;
- Database_SQLite_AnnouncementList(&ppSt_Announcement, &nListCount);
+ if (0 == st_AuthConfig.st_XSql.nDBType)
+ {
+ DBModule_SQLite_AnnouncementList(&ppSt_Announcement, &nListCount);
+ }
+ else
+ {
+ DBModule_MySQL_AnnouncementList(&ppSt_Announcement, &nListCount);
+ }
Protocol_Packet_HttpAnnouncement(tszSDBuffer, &nSDLen, &ppSt_Announcement, nListCount);
XEngine_Client_TaskSend(lpszClientAddr, tszSDBuffer, nSDLen, XENGINE_AUTH_APP_NETTYPE_HTTP);
BaseLib_OperatorMemory_Free((XPPPMEM)&ppSt_Announcement, nListCount);
diff --git a/XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/AuthorizeHTTP_Post/AuthorizeHTTP_Banned.cpp b/XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/AuthorizeHTTP_Post/AuthorizeHTTP_Banned.cpp
index f066df2e0ab9b22d2f49f5f14dd637ec6332ea38..20ae19b9067b43d0f2e7fe0ba94e3faab8b74459 100644
--- a/XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/AuthorizeHTTP_Post/AuthorizeHTTP_Banned.cpp
+++ b/XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/AuthorizeHTTP_Post/AuthorizeHTTP_Banned.cpp
@@ -17,7 +17,14 @@ bool XEngine_AuthorizeHTTP_Banned(LPCXSTR lpszClientAddr, LPCXSTR lpszAPIName, L
memset(&st_Banned, '\0', sizeof(AUTHREG_BANNED));
Protocol_Parse_HttpParseBanned(lpszMsgBuffer, nMsgLen, &st_Banned);
- Database_SQLite_BannedInsert(&st_Banned);
+ if (0 == st_AuthConfig.st_XSql.nDBType)
+ {
+ DBModule_SQLite_BannedInsert(&st_Banned);
+ }
+ else
+ {
+ DBModule_MySQL_BannedInsert(&st_Banned);
+ }
Protocol_Packet_HttpComm(tszSDBuffer, &nSDLen);
XEngine_Client_TaskSend(lpszClientAddr, tszSDBuffer, nSDLen, XENGINE_AUTH_APP_NETTYPE_HTTP);
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("HTTP客户端:%s,插入禁用列表成功,禁用的用户:%s,禁用的IP地址:%s"), lpszClientAddr, st_Banned.tszUserName, st_Banned.tszIPAddr);
@@ -28,7 +35,14 @@ bool XEngine_AuthorizeHTTP_Banned(LPCXSTR lpszClientAddr, LPCXSTR lpszAPIName, L
memset(&st_Banned, '\0', sizeof(AUTHREG_BANNED));
Protocol_Parse_HttpParseBanned(lpszMsgBuffer, nMsgLen, &st_Banned);
- Database_SQLite_BannedDelete(&st_Banned);
+ if (0 == st_AuthConfig.st_XSql.nDBType)
+ {
+ DBModule_SQLite_BannedDelete(&st_Banned);
+ }
+ else
+ {
+ DBModule_MySQL_BannedDelete(&st_Banned);
+ }
Protocol_Packet_HttpComm(tszSDBuffer, &nSDLen);
XEngine_Client_TaskSend(lpszClientAddr, tszSDBuffer, nSDLen, XENGINE_AUTH_APP_NETTYPE_HTTP);
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("HTTP客户端:%s,删除禁用列表成功,删除禁用的用户:%s,删除禁用的IP地址:%s"), lpszClientAddr, st_Banned.tszUserName, st_Banned.tszIPAddr);
@@ -44,7 +58,14 @@ bool XEngine_AuthorizeHTTP_Banned(LPCXSTR lpszClientAddr, LPCXSTR lpszAPIName, L
Protocol_Parse_HttpParseBanned2(lpszMsgBuffer, nMsgLen, &nPosStart, &nPosEnd);
- Database_SQLite_BannedList(&ppSt_BannedUser, &nCountUser, &ppSt_BannedAddr, &nCountAddr, nPosStart, nPosEnd);
+ if (0 == st_AuthConfig.st_XSql.nDBType)
+ {
+ DBModule_SQLite_BannedList(&ppSt_BannedUser, &nCountUser, &ppSt_BannedAddr, &nCountAddr, nPosStart, nPosEnd);
+ }
+ else
+ {
+ DBModule_MySQL_BannedList(&ppSt_BannedUser, &nCountUser, &ppSt_BannedAddr, &nCountAddr, nPosStart, nPosEnd);
+ }
Protocol_Packet_HttpBanned(tszSDBuffer, &nSDLen, &ppSt_BannedUser, nCountUser, &ppSt_BannedAddr, nCountAddr);
XEngine_Client_TaskSend(lpszClientAddr, tszSDBuffer, nSDLen, XENGINE_AUTH_APP_NETTYPE_HTTP);
BaseLib_OperatorMemory_Free((XPPPMEM)&ppSt_BannedAddr, nCountAddr);
@@ -57,7 +78,14 @@ bool XEngine_AuthorizeHTTP_Banned(LPCXSTR lpszClientAddr, LPCXSTR lpszAPIName, L
memset(&st_Banned, '\0', sizeof(AUTHREG_BANNED));
Protocol_Parse_HttpParseBanned(lpszMsgBuffer, nMsgLen, &st_Banned);
- Database_SQLite_BannedUPDate(&st_Banned);
+ if (0 == st_AuthConfig.st_XSql.nDBType)
+ {
+ DBModule_SQLite_BannedUPDate(&st_Banned);
+ }
+ else
+ {
+ DBModule_MySQL_BannedUPDate(&st_Banned);
+ }
Protocol_Packet_HttpComm(tszSDBuffer, &nSDLen);
XEngine_Client_TaskSend(lpszClientAddr, tszSDBuffer, nSDLen, XENGINE_AUTH_APP_NETTYPE_HTTP);
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("HTTP客户端:%s,修改禁用列表成功,修改的用户:%s,修改的IP地址:%s"), lpszClientAddr, st_Banned.tszUserName, st_Banned.tszIPAddr);
diff --git a/XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/AuthorizeHTTP_Post/AuthorizeHTTP_Client.cpp b/XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/AuthorizeHTTP_Post/AuthorizeHTTP_Client.cpp
index c4f257b5b1e0f792db3ca52cade952a07f3b1990..f1d1ecbe5e99fbcfe7665cdc3507a2fd0c357d96 100644
--- a/XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/AuthorizeHTTP_Post/AuthorizeHTTP_Client.cpp
+++ b/XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/AuthorizeHTTP_Post/AuthorizeHTTP_Client.cpp
@@ -17,7 +17,16 @@ bool XEngine_AuthorizeHTTP_Client(LPCXSTR lpszClientAddr, LPCXSTR lpszAPIName, L
memset(&st_UserTable, '\0', sizeof(AUTHREG_USERTABLE));
Protocol_Parse_HttpParseUser(lpszMsgBuffer, nMsgLen, &st_UserTable.st_UserInfo);
- if (!Database_SQLite_UserQuery(st_UserTable.st_UserInfo.tszUserName, &st_UserTable))
+ bool bSuccess = false;
+ if (0 == st_AuthConfig.st_XSql.nDBType)
+ {
+ bSuccess = DBModule_SQLite_UserQuery(st_UserTable.st_UserInfo.tszUserName, &st_UserTable);
+ }
+ else
+ {
+ bSuccess = DBModule_MySQL_UserQuery(st_UserTable.st_UserInfo.tszUserName, &st_UserTable);
+ }
+ if (!bSuccess)
{
Protocol_Packet_HttpComm(tszSDBuffer, &nSDLen, 404, "not found client");
XEngine_Client_TaskSend(lpszClientAddr, tszSDBuffer, nSDLen, XENGINE_AUTH_APP_NETTYPE_HTTP);
@@ -63,7 +72,14 @@ bool XEngine_AuthorizeHTTP_Client(LPCXSTR lpszClientAddr, LPCXSTR lpszAPIName, L
if (!bOnline)
{
//只有bOnline不是在线列表的时候才执行
- Database_SQLite_UserList(&ppSt_UserInfo, &nOffCount, nPosStart, nPosEnd);
+ if (0 == st_AuthConfig.st_XSql.nDBType)
+ {
+ DBModule_SQLite_UserList(&ppSt_UserInfo, &nOffCount, nPosStart, nPosEnd);
+ }
+ else
+ {
+ DBModule_MySQL_UserList(&ppSt_UserInfo, &nOffCount, nPosStart, nPosEnd);
+ }
}
Protocol_Packet_HttpClientList(ptszMsgBuffer, &nSDLen, &ppSt_ListClient, nOnCount, &ppSt_UserInfo, nOffCount);
@@ -104,7 +120,16 @@ bool XEngine_AuthorizeHTTP_Client(LPCXSTR lpszClientAddr, LPCXSTR lpszAPIName, L
memset(&st_UserTable, '\0', sizeof(AUTHREG_USERTABLE));
Protocol_Parse_HttpParseTable(lpszMsgBuffer, nMsgLen, &st_UserTable);
- if (!Database_SQLite_UserSet(&st_UserTable))
+ bool bSuccess = false;
+ if (0 == st_AuthConfig.st_XSql.nDBType)
+ {
+ bSuccess = DBModule_SQLite_UserSet(&st_UserTable);
+ }
+ else
+ {
+ bSuccess = DBModule_MySQL_UserSet(&st_UserTable);
+ }
+ if (!bSuccess)
{
Protocol_Packet_HttpComm(tszSDBuffer, &nSDLen, 404, "not found client");
XEngine_Client_TaskSend(lpszClientAddr, tszSDBuffer, nSDLen, XENGINE_AUTH_APP_NETTYPE_HTTP);
diff --git a/XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/AuthorizeHTTP_Post/AuthorizeHTTP_Pass.cpp b/XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/AuthorizeHTTP_Post/AuthorizeHTTP_Pass.cpp
index 94935d1cf5576fac3a2778f33abc4bc7921cb6b8..4dcafaf5c450cc8d198d472334d6aa82e82a6c3b 100644
--- a/XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/AuthorizeHTTP_Post/AuthorizeHTTP_Pass.cpp
+++ b/XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/AuthorizeHTTP_Post/AuthorizeHTTP_Pass.cpp
@@ -19,7 +19,16 @@ bool XEngine_AuthorizeHTTP_Pass(LPCXSTR lpszClientAddr, LPCXSTR lpszAPIName, LPC
memset(&st_UserTable, '\0', sizeof(AUTHREG_USERTABLE));
Protocol_Parse_HttpParseAuth(lpszMsgBuffer, nMsgLen, &st_UserAuth);
- if (!Database_SQLite_UserQuery(st_UserAuth.tszUserName, &st_UserTable))
+ bool bSuccess = false;
+ if (0 == st_AuthConfig.st_XSql.nDBType)
+ {
+ bSuccess = DBModule_SQLite_UserQuery(st_UserAuth.tszUserName, &st_UserTable);
+ }
+ else
+ {
+ bSuccess = DBModule_MySQL_UserQuery(st_UserAuth.tszUserName, &st_UserTable);
+ }
+ if (!bSuccess)
{
Protocol_Packet_HttpComm(tszSDBuffer, &nSDLen, 404, "user notfound");
XEngine_Client_TaskSend(lpszClientAddr, tszSDBuffer, nSDLen, XENGINE_AUTH_APP_NETTYPE_HTTP);
@@ -43,7 +52,14 @@ bool XEngine_AuthorizeHTTP_Pass(LPCXSTR lpszClientAddr, LPCXSTR lpszAPIName, LPC
memset(&st_ProtocolTime, '\0', sizeof(AUTHREG_PROTOCOL_TIME));
Protocol_Parse_HttpParseTime(lpszMsgBuffer, nMsgLen, &st_ProtocolTime);
- Database_SQLite_UserLeave(&st_ProtocolTime);
+ if (0 == st_AuthConfig.st_XSql.nDBType)
+ {
+ DBModule_SQLite_UserLeave(&st_ProtocolTime);
+ }
+ else
+ {
+ DBModule_MySQL_UserLeave(&st_ProtocolTime);
+ }
Protocol_Packet_HttpComm(tszSDBuffer, &nSDLen);
XEngine_Client_TaskSend(lpszClientAddr, tszSDBuffer, nSDLen, XENGINE_AUTH_APP_NETTYPE_HTTP);
@@ -55,7 +71,14 @@ bool XEngine_AuthorizeHTTP_Pass(LPCXSTR lpszClientAddr, LPCXSTR lpszAPIName, LPC
memset(&st_ProtocolTime, '\0', sizeof(AUTHREG_PROTOCOL_TIME));
Protocol_Parse_HttpParseTime(lpszMsgBuffer, nMsgLen, &st_ProtocolTime);
- Database_SQLite_UserLeave(&st_ProtocolTime);
+ if (0 == st_AuthConfig.st_XSql.nDBType)
+ {
+ DBModule_SQLite_UserLeave(&st_ProtocolTime);
+ }
+ else
+ {
+ DBModule_MySQL_UserLeave(&st_ProtocolTime);
+ }
Protocol_Packet_HttpComm(tszSDBuffer, &nSDLen);
XEngine_Client_TaskSend(lpszClientAddr, tszSDBuffer, nSDLen, XENGINE_AUTH_APP_NETTYPE_HTTP);
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("PASS客户端:%s,用户名:%s,超时通知成功"), lpszClientAddr, st_ProtocolTime.tszUserName);
diff --git a/XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/AuthorizeHTTP_Post/AuthorizeHTTP_Serial.cpp b/XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/AuthorizeHTTP_Post/AuthorizeHTTP_Serial.cpp
index 97bd0df59ce9503b27099077faa6719d929928c3..0e54d5db8c8783d7310e802cb290e30873f2e4b7 100644
--- a/XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/AuthorizeHTTP_Post/AuthorizeHTTP_Serial.cpp
+++ b/XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/AuthorizeHTTP_Post/AuthorizeHTTP_Serial.cpp
@@ -32,7 +32,14 @@ bool XEngine_AuthorizeHTTP_Serial(LPCXSTR lpszClientAddr, LPCXSTR lpszAPIName, L
return false;
}
AUTHREG_SERIALTABLE** ppSt_SerialTable;
- Database_SQLite_SerialQueryAll(&ppSt_SerialTable, &nListCount, nPosStart, nPosEnd);
+ if (0 == st_AuthConfig.st_XSql.nDBType)
+ {
+ DBModule_SQLite_SerialQueryAll(&ppSt_SerialTable, &nListCount, nPosStart, nPosEnd);
+ }
+ else
+ {
+ DBModule_MySQL_SerialQueryAll(&ppSt_SerialTable, &nListCount, nPosStart, nPosEnd);
+ }
Protocol_Packet_HttpSerialList(ptszMsgBuffer, &nSDLen, &ppSt_SerialTable, nListCount);
BaseLib_OperatorMemory_Free((XPPPMEM)&ppSt_SerialTable, nListCount);
XEngine_Client_TaskSend(lpszClientAddr, ptszMsgBuffer, nSDLen, XENGINE_AUTH_APP_NETTYPE_HTTP);
@@ -93,9 +100,19 @@ bool XEngine_AuthorizeHTTP_Serial(LPCXSTR lpszClientAddr, LPCXSTR lpszAPIName, L
return false;
}
//导入序列卡
- for (int i = 0; i < nSerialCount; i++)
+ if (0 == st_AuthConfig.st_XSql.nDBType)
+ {
+ for (int i = 0; i < nSerialCount; i++) //导入序列卡
+ {
+ DBModule_SQLite_SerialInsert(pptszSerialNumber[i]);
+ }
+ }
+ else
{
- Database_SQLite_SerialInsert(pptszSerialNumber[i]);
+ for (int i = 0; i < nSerialCount; i++)
+ {
+ DBModule_MySQL_SerialInsert(pptszSerialNumber[i]);
+ }
}
BaseLib_OperatorMemory_Free((XPPPMEM)&pptszSerialNumber, nSerialCount);
Protocol_Packet_HttpComm(tszSDBuffer, &nSDLen);
@@ -108,9 +125,19 @@ bool XEngine_AuthorizeHTTP_Serial(LPCXSTR lpszClientAddr, LPCXSTR lpszAPIName, L
AUTHREG_SERIALTABLE** ppSt_SerialTable;
Protocol_Parse_HttpParseSerial(lpszMsgBuffer, nMsgLen, &ppSt_SerialTable, &nListCount);
- for (int i = 0; i < nListCount; i++)
+ if (0 == st_AuthConfig.st_XSql.nDBType)
{
- Database_SQLite_SerialDelete(ppSt_SerialTable[i]->tszSerialNumber);
+ for (int i = 0; i < nListCount; i++)
+ {
+ DBModule_SQLite_SerialDelete(ppSt_SerialTable[i]->tszSerialNumber);
+ }
+ }
+ else
+ {
+ for (int i = 0; i < nListCount; i++)
+ {
+ DBModule_MySQL_SerialDelete(ppSt_SerialTable[i]->tszSerialNumber);
+ }
}
BaseLib_OperatorMemory_Free((XPPPMEM)&ppSt_SerialTable, nListCount);
Protocol_Packet_HttpComm(tszSDBuffer, &nSDLen);
@@ -123,9 +150,19 @@ bool XEngine_AuthorizeHTTP_Serial(LPCXSTR lpszClientAddr, LPCXSTR lpszAPIName, L
AUTHREG_SERIALTABLE** ppSt_SerialTable;
Protocol_Parse_HttpParseSerial(lpszMsgBuffer, nMsgLen, &ppSt_SerialTable, &nListCount);
- for (int i = 0; i < nListCount; i++)
+ if (0 == st_AuthConfig.st_XSql.nDBType)
{
- Database_SQLite_SerialPush(ppSt_SerialTable[i]);
+ for (int i = 0; i < nListCount; i++)
+ {
+ DBModule_SQLite_SerialPush(ppSt_SerialTable[i]);
+ }
+ }
+ else
+ {
+ for (int i = 0; i < nListCount; i++)
+ {
+ DBModule_MySQL_SerialPush(ppSt_SerialTable[i]);
+ }
}
BaseLib_OperatorMemory_Free((XPPPMEM)&ppSt_SerialTable, nListCount);
Protocol_Packet_HttpComm(tszSDBuffer, &nSDLen);
diff --git a/XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/AuthorizeHTTP_Post/AuthorizeHTTP_Try.cpp b/XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/AuthorizeHTTP_Post/AuthorizeHTTP_Try.cpp
index 86d70890a06416c4e637dd23cd6983f4542cf127..ac5b3ba7234cfa5f053a4ffe9694cdebd5a7bee1 100644
--- a/XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/AuthorizeHTTP_Post/AuthorizeHTTP_Try.cpp
+++ b/XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/AuthorizeHTTP_Post/AuthorizeHTTP_Try.cpp
@@ -29,7 +29,14 @@ bool XEngine_AuthorizeHTTP_Try(LPCXSTR lpszClientAddr, LPCXSTR lpszAPIName, LPCX
int nListCount = 0;
AUTHREG_TEMPVER** ppSt_AuthVer;
- Database_SQLite_TryList(&ppSt_AuthVer, &nListCount);
+ if (0 == st_AuthConfig.st_XSql.nDBType)
+ {
+ DBModule_SQLite_TryList(&ppSt_AuthVer, &nListCount);
+ }
+ else
+ {
+ DBModule_MySQL_TryList(&ppSt_AuthVer, &nListCount);
+ }
Protocol_Packet_HttpTryList(ptszMsgBuffer, &nSDLen, &ppSt_AuthVer, nListCount);
BaseLib_OperatorMemory_Free((XPPPMEM)&ppSt_AuthVer, nListCount);
XEngine_Client_TaskSend(lpszClientAddr, ptszMsgBuffer, nSDLen, XENGINE_AUTH_APP_NETTYPE_HTTP);
@@ -43,7 +50,14 @@ bool XEngine_AuthorizeHTTP_Try(LPCXSTR lpszClientAddr, LPCXSTR lpszAPIName, LPCX
memset(&st_VERTemp, '\0', sizeof(AUTHREG_TEMPVER));
Protocol_Parse_HttpParseTry(lpszMsgBuffer, nMsgLen, &st_VERTemp);
- Database_SQLite_TryDelete(st_VERTemp.tszVSerial);
+ if (0 == st_AuthConfig.st_XSql.nDBType)
+ {
+ DBModule_SQLite_TryDelete(st_VERTemp.tszVSerial);
+ }
+ else
+ {
+ DBModule_MySQL_TryDelete(st_VERTemp.tszVSerial);
+ }
Protocol_Packet_HttpComm(tszSDBuffer, &nSDLen);
XEngine_Client_TaskSend(lpszClientAddr, tszSDBuffer, nSDLen, XENGINE_AUTH_APP_NETTYPE_HTTP);
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("HTTP客户端:%s,序列号:%s,临时验证删除成功"), lpszClientAddr, st_VERTemp.tszVSerial);
@@ -54,7 +68,14 @@ bool XEngine_AuthorizeHTTP_Try(LPCXSTR lpszClientAddr, LPCXSTR lpszAPIName, LPCX
memset(&st_VERTemp, '\0', sizeof(AUTHREG_TEMPVER));
Protocol_Parse_HttpParseTry(lpszMsgBuffer, nMsgLen, &st_VERTemp);
- Database_SQLite_TrySet(&st_VERTemp);
+ if (0 == st_AuthConfig.st_XSql.nDBType)
+ {
+ DBModule_SQLite_TrySet(&st_VERTemp);
+ }
+ else
+ {
+ DBModule_MySQL_TrySet(&st_VERTemp);
+ }
Protocol_Packet_HttpComm(tszSDBuffer, &nSDLen);
XEngine_Client_TaskSend(lpszClientAddr, tszSDBuffer, nSDLen, XENGINE_AUTH_APP_NETTYPE_HTTP);
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("HTTP客户端:%s,序列号:%s,临时验证修改成功"), lpszClientAddr, st_VERTemp.tszVSerial);
diff --git a/XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/AuthorizeHTTP_Post/AuthorizeHTTP_User.cpp b/XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/AuthorizeHTTP_Post/AuthorizeHTTP_User.cpp
index 6654cee030c716c48e0908529f1ca10794fb6ea9..81188f5f4155bf65d1d1f3de9b66feb056f16a21 100644
--- a/XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/AuthorizeHTTP_Post/AuthorizeHTTP_User.cpp
+++ b/XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/AuthorizeHTTP_Post/AuthorizeHTTP_User.cpp
@@ -36,7 +36,14 @@ bool XEngine_AuthorizeHTTP_User(LPCXSTR lpszClientAddr, LPCXSTR lpszAPIName, LPC
}
BaseLib_OperatorMemory_Free((XPPPMEM)&ppSt_ListClient, nListCount);
- Database_SQLite_UserDelete(st_UserInfo.tszUserName);
+ if (0 == st_AuthConfig.st_XSql.nDBType)
+ {
+ DBModule_SQLite_UserDelete(st_UserInfo.tszUserName);
+ }
+ else
+ {
+ DBModule_MySQL_UserDelete(st_UserInfo.tszUserName);
+ }
Protocol_Packet_HttpComm(tszSDBuffer, &nSDLen);
XEngine_Client_TaskSend(lpszClientAddr, tszSDBuffer, nSDLen, XENGINE_AUTH_APP_NETTYPE_HTTP);
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("HTTP客户端:%s,请求删除用户:%s 成功,在线用户数:%d"), lpszClientAddr, st_UserInfo.tszUserName, nListCount);
@@ -60,7 +67,16 @@ bool XEngine_AuthorizeHTTP_User(LPCXSTR lpszClientAddr, LPCXSTR lpszAPIName, LPC
memset(&st_Banned, '\0', sizeof(AUTHREG_BANNED));
_tcsxcpy(st_Banned.tszUserName, st_UserTable.st_UserInfo.tszUserName);
- if (Database_SQLite_BannedExist(&st_Banned))
+ bool bSuccess = false;
+ if (0 == st_AuthConfig.st_XSql.nDBType)
+ {
+ bSuccess = DBModule_SQLite_BannedExist(&st_Banned);
+ }
+ else
+ {
+ bSuccess = DBModule_MySQL_BannedExist(&st_Banned);
+ }
+ if (bSuccess)
{
Protocol_Packet_HttpComm(tszSDBuffer, &nSDLen, 423, "user name is banned");
XEngine_Client_TaskSend(lpszClientAddr, tszSDBuffer, nSDLen, XENGINE_AUTH_APP_NETTYPE_HTTP);
@@ -85,7 +101,16 @@ bool XEngine_AuthorizeHTTP_User(LPCXSTR lpszClientAddr, LPCXSTR lpszAPIName, LPC
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,注册失败,没有设置用户和密码"), lpszClientAddr);
return false;
}
- if (!Database_SQLite_UserRegister(&st_UserTable))
+ bSuccess = false;
+ if (0 == st_AuthConfig.st_XSql.nDBType)
+ {
+ bSuccess = DBModule_SQLite_UserRegister(&st_UserTable);
+ }
+ else
+ {
+ bSuccess = DBModule_MySQL_UserRegister(&st_UserTable);
+ }
+ if (!bSuccess)
{
XLONG dwRet = DBModule_GetLastError();
Protocol_Packet_HttpComm(tszSDBuffer, &nSDLen, dwRet, "user register is failed");
@@ -113,14 +138,30 @@ bool XEngine_AuthorizeHTTP_User(LPCXSTR lpszClientAddr, LPCXSTR lpszAPIName, LPC
return false;
}
Protocol_Parse_HttpParsePay(lpszMsgBuffer, nMsgLen, &st_UserPay);
- if (!Database_SQLite_UserPay(st_UserPay.tszUserName, st_UserPay.tszSerialNumber))
+ bool bSuccess = false;
+ if (0 == st_AuthConfig.st_XSql.nDBType)
+ {
+ bSuccess = DBModule_SQLite_UserPay(st_UserPay.tszUserName, st_UserPay.tszSerialNumber);
+ }
+ else
+ {
+ bSuccess = DBModule_MySQL_UserPay(st_UserPay.tszUserName, st_UserPay.tszSerialNumber);
+ }
+ if (!bSuccess)
{
Protocol_Packet_HttpComm(tszSDBuffer, &nSDLen, 404, "Serial number not available");
XEngine_Client_TaskSend(lpszClientAddr, tszSDBuffer, nSDLen, XENGINE_AUTH_APP_NETTYPE_HTTP);
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,用户名:%s,充值失败,无法继续,错误:%X"), lpszClientAddr, st_UserPay.tszUserName, DBModule_GetLastError());
return false;
}
- Database_SQLite_UserQuery(st_UserPay.tszUserName, &st_UserInfo);
+ if (0 == st_AuthConfig.st_XSql.nDBType)
+ {
+ DBModule_SQLite_UserQuery(st_UserPay.tszUserName, &st_UserInfo);
+ }
+ else
+ {
+ DBModule_MySQL_UserQuery(st_UserPay.tszUserName, &st_UserInfo);
+ }
Session_Authorize_SetUser(&st_UserInfo);
Protocol_Packet_HttpComm(tszSDBuffer, &nSDLen);
XEngine_Client_TaskSend(lpszClientAddr, tszSDBuffer, nSDLen, XENGINE_AUTH_APP_NETTYPE_HTTP);
@@ -144,7 +185,16 @@ bool XEngine_AuthorizeHTTP_User(LPCXSTR lpszClientAddr, LPCXSTR lpszAPIName, LPC
return false;
}
Protocol_Parse_HttpParseUser(lpszMsgBuffer, nMsgLen, &st_UserInfo);
- if (!Database_SQLite_UserQuery(st_UserInfo.tszUserName, &st_UserTable))
+ bool bSuccess = false;
+ if (0 == st_AuthConfig.st_XSql.nDBType)
+ {
+ bSuccess = DBModule_SQLite_UserQuery(st_UserInfo.tszUserName, &st_UserTable);
+ }
+ else
+ {
+ bSuccess = DBModule_MySQL_UserQuery(st_UserInfo.tszUserName, &st_UserTable);
+ }
+ if (!bSuccess)
{
Protocol_Packet_HttpComm(tszSDBuffer, &nSDLen, 404, "user not found");
XEngine_Client_TaskSend(lpszClientAddr, tszSDBuffer, nSDLen, XENGINE_AUTH_APP_NETTYPE_HTTP);
@@ -200,7 +250,17 @@ bool XEngine_AuthorizeHTTP_User(LPCXSTR lpszClientAddr, LPCXSTR lpszAPIName, LPC
return false;
}
Protocol_Parse_HttpParseTry(lpszMsgBuffer, nMsgLen, &st_VERTemp);
- if (Database_SQLite_TryQuery(&st_VERTemp))
+ bool bSuccess = false;
+ //判断是使用哪个数据库
+ if (0 == st_AuthConfig.st_XSql.nDBType)
+ {
+ bSuccess = DBModule_SQLite_TryQuery(&st_VERTemp);
+ }
+ else
+ {
+ bSuccess = DBModule_MySQL_TryQuery(&st_VERTemp);
+ }
+ if (bSuccess)
{
__int64x nTimeSpan = 0;
//根据方式来计算剩余时间
@@ -231,7 +291,14 @@ bool XEngine_AuthorizeHTTP_User(LPCXSTR lpszClientAddr, LPCXSTR lpszAPIName, LPC
//是否超过
if (nTimeSpan >= 0)
{
- Database_SQLite_TrySet(&st_VERTemp);
+ if (0 == st_AuthConfig.st_XSql.nDBType)
+ {
+ DBModule_SQLite_TrySet(&st_VERTemp);
+ }
+ else
+ {
+ DBModule_MySQL_TrySet(&st_VERTemp);
+ }
Protocol_Packet_HttpComm(tszSDBuffer, &nSDLen);
XEngine_Client_TaskSend(lpszClientAddr, tszSDBuffer, nSDLen, XENGINE_AUTH_APP_NETTYPE_HTTP);
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("HTTP客户端:%s,序列号:%s,类型:%s,临时验证成功,剩余时间:%lld"), lpszClientAddr, st_VERTemp.tszVSerial, lpszXSerialType[st_VERTemp.enVMode], nTimeSpan);
@@ -256,7 +323,16 @@ bool XEngine_AuthorizeHTTP_User(LPCXSTR lpszClientAddr, LPCXSTR lpszAPIName, LPC
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_WARN, _X("HTTP客户端:%s,序列号:%s,临时验证插入失败,因为服务器关闭了此功能"), lpszClientAddr, st_VERTemp.tszVSerial);
return false;
}
- if (!Database_SQLite_TryInsert(&st_VERTemp))
+ bool bSuccess = false;
+ if (0 == st_AuthConfig.st_XSql.nDBType)
+ {
+ bSuccess = DBModule_SQLite_TryInsert(&st_VERTemp);
+ }
+ else
+ {
+ bSuccess = DBModule_MySQL_TryInsert(&st_VERTemp);
+ }
+ if (!bSuccess)
{
Protocol_Packet_HttpComm(tszSDBuffer, &nSDLen, 500, "Internal Server Error");
XEngine_Client_TaskSend(lpszClientAddr, tszSDBuffer, nSDLen, XENGINE_AUTH_APP_NETTYPE_HTTP);
diff --git a/XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/Authorize_Hdr.h b/XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/Authorize_Hdr.h
index 78d426db7c1a563e065e34de27522c9c58676d54..34784b83b6a8157e94a55d092aaa00c0bdff7dc5 100644
--- a/XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/Authorize_Hdr.h
+++ b/XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/Authorize_Hdr.h
@@ -40,6 +40,8 @@ using namespace std;
#include
#include
#include
+#include
+#include
#include "../../XAuth_Protocol.h"
#include "../../AuthorizeModule_Configure/Config_Define.h"
#include "../../AuthorizeModule_Configure/Config_Error.h"
diff --git a/XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/Authorize_HttpTask.cpp b/XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/Authorize_HttpTask.cpp
index 1240c6b8a8a41cd59e2edf37e5008f97ea522bad..fa73a14d15d9163002726d92932d30adbc72b8d6 100644
--- a/XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/Authorize_HttpTask.cpp
+++ b/XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/Authorize_HttpTask.cpp
@@ -59,11 +59,20 @@ bool XEngine_Client_HttpTask(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer, int
AUTHREG_BANNED st_Banned;
memset(&st_Banned, '\0', sizeof(AUTHREG_BANNED));
-
_tcsxcpy(st_Banned.tszIPAddr, lpszClientAddr);
BaseLib_OperatorIPAddr_SegAddr(st_Banned.tszIPAddr);
+
//是否在黑名单
- if (Database_SQLite_BannedExist(&st_Banned))
+ bool bSuccess = false;
+ if (0 == st_AuthConfig.st_XSql.nDBType)
+ {
+ bSuccess = DBModule_SQLite_BannedExist(&st_Banned); //IP地址是否在黑名单
+ }
+ else
+ {
+ bSuccess = DBModule_MySQL_BannedExist(&st_Banned);//IP地址是否在黑名单
+ }
+ if (bSuccess)
{
Protocol_Packet_HttpComm(tszSDBuffer, &nSDLen, 423, "ip address is banned");
XEngine_Client_TaskSend(lpszClientAddr, tszSDBuffer, nSDLen, XENGINE_AUTH_APP_NETTYPE_HTTP);
@@ -253,7 +262,6 @@ bool XEngine_Client_HttpTask(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer, int
LPCXSTR lpszFuncName = _X("api");
LPCXSTR lpszAPIVerNotice = _X("notice");
LPCXSTR lpszAPIVerDCode = _X("dcode");
-
memset(tszUrlName, '\0', sizeof(tszUrlName));
HttpProtocol_ServerHelp_GetParament(pSt_HTTPParament->tszHttpUri, &pptszList, &nListCount, tszUrlName);
if ((nListCount < 1) || (0 != _tcsxnicmp(lpszFuncName, tszUrlName, _tcsxlen(lpszFuncName))))
diff --git a/XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/Authorize_TCPTask.cpp b/XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/Authorize_TCPTask.cpp
index af26d111113f10ec4a5ba0a863196ee81ee2c870..b4cb4acf07f15ca9dbc7bdb8a1140b8d0142475d 100644
--- a/XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/Authorize_TCPTask.cpp
+++ b/XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/Authorize_TCPTask.cpp
@@ -61,7 +61,16 @@ bool XEngine_Client_TCPTask(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer, int n
_tcsxcpy(st_Banned.tszIPAddr, lpszClientAddr);
BaseLib_OperatorIPAddr_SegAddr(st_Banned.tszIPAddr);
//是否在黑名单
- if (Database_SQLite_BannedExist(&st_Banned))
+ bool bSuccess = false;
+ if (0 == st_AuthConfig.st_XSql.nDBType)
+ {
+ bSuccess = DBModule_SQLite_BannedExist(&st_Banned); //是否在黑名单
+ }
+ else
+ {
+ bSuccess = DBModule_MySQL_BannedExist(&st_Banned);//是否在黑名单
+ }
+ if (bSuccess)
{
pSt_ProtocolHdr->wReserve = 423;
Protocol_Packet_HDRComm(tszSDBuffer, &nSDLen, pSt_ProtocolHdr, nNetType);
@@ -132,7 +141,16 @@ bool XEngine_Client_TCPTask(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer, int n
}
else
{
- if (!Database_SQLite_UserQuery(st_AuthProtocol.tszUserName, &st_UserTable))
+ bool bSuccess = false;
+ if (0 == st_AuthConfig.st_XSql.nDBType)
+ {
+ bSuccess = DBModule_SQLite_UserQuery(st_AuthProtocol.tszUserName, &st_UserTable);
+ }
+ else
+ {
+ bSuccess = DBModule_MySQL_UserQuery(st_AuthProtocol.tszUserName, &st_UserTable);
+ }
+ if (!bSuccess)
{
pSt_ProtocolHdr->wReserve = 251;
Protocol_Packet_HDRComm(tszSDBuffer, &nSDLen, pSt_ProtocolHdr, nNetType);
@@ -268,7 +286,15 @@ bool XEngine_Client_TCPTask(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer, int n
__int64x nTime = _ttxoll(st_UserTable.tszLeftTime) - 1;
_xstprintf(st_UserTable.tszLeftTime, _X("%lld"), nTime);
- Database_SQLite_UserSet(&st_UserTable);
+ if (0 == st_AuthConfig.st_XSql.nDBType)
+ {
+ DBModule_SQLite_UserSet(&st_UserTable);
+ }
+ else
+ {
+ DBModule_MySQL_UserSet(&st_UserTable);
+ }
+
}
else if (ENUM_HELPCOMPONENTS_AUTHORIZE_SERIAL_TYPE_DAY == st_UserTable.enSerialType)
{
@@ -278,7 +304,14 @@ bool XEngine_Client_TCPTask(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer, int n
__int64x nTime = _ttxoll(st_UserTable.tszLeftTime) - 1;
_xstprintf(st_UserTable.tszLeftTime, _X("%lld"), nTime);
BaseLib_OperatorTime_TimeToStr(st_UserTable.st_UserInfo.tszLoginTime);
- Database_SQLite_UserSet(&st_UserTable);
+ if (0 == st_AuthConfig.st_XSql.nDBType)
+ {
+ DBModule_SQLite_UserSet(&st_UserTable);
+ }
+ else
+ {
+ DBModule_MySQL_UserSet(&st_UserTable);
+ }
}
}
diff --git a/XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/Authorize_Task.cpp b/XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/Authorize_Task.cpp
index 40e8fc89a61275d1087331290d5b81f98b0f069b..d2cacebe54eb86d361194284e8267c6c92e75de7 100644
--- a/XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/Authorize_Task.cpp
+++ b/XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/Authorize_Task.cpp
@@ -52,7 +52,14 @@ void CALLBACK XEngine_TaskEvent_Client(LPCXSTR lpszUserAddr, LPCXSTR lpszUserNam
_tcsxcpy(st_AuthTime.tszUserName, lpszUserName);
_tcsxcpy(st_AuthTime.tszUserAddr, lpszUserAddr);
- Database_SQLite_UserLeave(&st_AuthTime);
+ if (0 == st_AuthConfig.st_XSql.nDBType)
+ {
+ DBModule_SQLite_UserLeave(&st_AuthTime);
+ }
+ else
+ {
+ DBModule_MySQL_UserLeave(&st_AuthTime);
+ }
}
void CALLBACK XEngine_TaskEvent_Token(XNETHANDLE xhToken, XPVOID lParam)
{
diff --git a/XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/XEngine_AuthorizeService b/XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/XEngine_AuthorizeService
new file mode 100644
index 0000000000000000000000000000000000000000..e4e0990bab9209081b0d00ece2aeaa90027cee30
Binary files /dev/null and b/XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/XEngine_AuthorizeService differ
diff --git a/XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/XEngine_AuthorizeService.cpp b/XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/XEngine_AuthorizeService.cpp
index ef866c7eae9d43773aa0b4cf750fbfe17538c669..db0ce74fdabdab13e65c33ba8028d3db8987e4b8 100644
--- a/XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/XEngine_AuthorizeService.cpp
+++ b/XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/XEngine_AuthorizeService.cpp
@@ -50,7 +50,14 @@ void ServiceApp_Stop(int signo)
Session_Authorize_Destroy();
Session_Token_Destroy();
AuthHelp_DynamicCode_Destory();
- Database_SQLite_Destroy();
+ if (0 == st_AuthConfig.st_XSql.nDBType)
+ {
+ DBModule_SQLite_Destroy();//销毁DB数据库服务
+ }
+ else
+ {
+ DBModule_MySQL_Destroy();// 销毁MYsql数据库服务
+ }
exit(0);
}
}
@@ -139,13 +146,25 @@ int main(int argc, char** argv)
}
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("启动服务中,初始化内存池成功"));
- if (!Database_SQLite_Init(st_AuthConfig.st_XSql.tszSQLite))
+ /*********** 初始化 MySql/DB数据库 ***********/
+ if (0 == st_AuthConfig.st_XSql.nDBType)
+ { //SQLite数据库
+ if (!DBModule_SQLite_Init(st_AuthConfig.st_XSql.st_SQLite.tszSQLite))
+ {
+ XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("启动服务中,初始化DB数据库服务失败,错误:%lX"), DBModule_GetLastError());
+ goto XENGINE_EXITAPP;
+ }
+ XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("启动服务中,初始化DB数据库服务成功,数据库:%s"), st_AuthConfig.st_XSql.st_SQLite.tszSQLite);
+ }
+ else
{
- XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("启动服务中,初始化数据库服务失败,错误:%lX"), DBModule_GetLastError());
- goto XENGINE_EXITAPP;
+ if (!DBModule_MySQL_Init((DATABASE_MYSQL_CONNECTINFO *)&st_AuthConfig.st_XSql.st_MYSQL))
+ {
+ XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("启动服务中,初始化MySql数据库失败,错误:%lX"), DBModule_GetLastError());
+ goto XENGINE_EXITAPP;
+ }
+ XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("启动服务中,初始化MySql数据库服务成功,数据库:%s"), st_AuthConfig.st_XSql.st_MYSQL.tszDBName);
}
- XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("启动服务中,初始化数据库服务成功,数据库:%s"), st_AuthConfig.st_XSql.tszSQLite);
-
if (!Session_Authorize_Init(XEngine_TaskEvent_Client))
{
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("启动服务中,初始化会话客户端服务失败,错误:%lX"), Session_GetLastError());
@@ -295,10 +314,8 @@ int main(int argc, char** argv)
{
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_WARN, _X("启动服务中,信息报告给API服务器没有启用"));
}
-
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("启动服务中,功能开关选项,删除功能:%d,登录功能:%d,找回密码:%d,充值功能:%d,注册功能:%d,CDKey功能:%d,公告系统:%d,动态验证:%d,多端登录:%d,临时试用:%d"), st_FunSwitch.bSwitchDelete, st_FunSwitch.bSwitchLogin, st_FunSwitch.bSwitchPass, st_FunSwitch.bSwitchPay, st_FunSwitch.bSwitchRegister, st_FunSwitch.bSwitchCDKey, st_FunSwitch.bSwitchNotice, st_FunSwitch.bSwitchDCode, st_FunSwitch.bSwitchMulti, st_FunSwitch.bSwitchTry);
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("所有服务成功启动,网络验证服务运行中,XEngien版本:%s%s,发行版本次数:%d,当前运行版本:%s。。。"), BaseLib_OperatorVer_XNumberStr(), BaseLib_OperatorVer_XTypeStr(), st_AuthConfig.st_XVer.pStl_ListVer->size(), st_AuthConfig.st_XVer.pStl_ListVer->front().c_str());
-
while (true)
{
std::this_thread::sleep_for(std::chrono::seconds(1));
@@ -332,7 +349,14 @@ XENGINE_EXITAPP:
Session_Authorize_Destroy();
Session_Token_Destroy();
AuthHelp_DynamicCode_Destory();
- Database_SQLite_Destroy();
+ if (0 == st_AuthConfig.st_XSql.nDBType)
+ {
+ DBModule_SQLite_Destroy();
+ }
+ else
+ {
+ DBModule_MySQL_Destroy();
+ }
}
#ifdef _WINDOWS
WSACleanup();