| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- #include "StdAfx.h"
- #include "Config.h"
- #include "DBCtrl.h"
- #include "Logger.h"
- #include "CtiDataDef.h"
- SINGLETON_IMPLEMENT(CConfig)
- CConfig::CConfig(void) : m_RecFilePath(_T("")), m_RecType(RECORD_TYPE_TRUNK), m_ListenPort(CTI_LISTEN_PORT), m_DevType(DEV_TYPE_IPO), m_IvrFlowNum(0)
- {
- }
- CConfig::~CConfig(void)
- {
- }
- /*****************************************************************
- **【函数名称】 loadConfig
- **【函数功能】 加载配置
- **【参数】
- **【返回值】 成功TRUE,失败FALSE
- ****************************************************************/
- bool CConfig::loadConfig()
- {
- char buff[MAX_BUFF_SIZE] = { 0 };
- IOtlConnection* pDbConn = IOtlConnection::getInstance();
- // 读取是否使用TTS
- //CString strTts = pDbConn->GetSingleDataStr(_T("SELECT value FROM conf_system WHERE name = 'UseTts'"));
- //m_IsUseTts = atoi(strTts.GetBuffer(0));
- // 读取录音类型
- m_RecType = (RECORD_TYPE)pDbConn->GetSingleDataStr2Int(_T("SELECT value FROM conf_system WHERE name = 'RecType'"));
- // 读取录音文件路径
- m_RecFilePath = pDbConn->GetSingleDataStr(_T("SELECT value FROM conf_system WHERE name = 'RecPath'"));
- if(m_RecFilePath == "") m_RecFilePath = DEFAULT_RECORD_PATH;
- // 读取日志文件路径
- m_LogFilePath = pDbConn->GetSingleDataStr(_T("SELECT value FROM conf_system WHERE name = 'LogPath'"));
- // 读取Cti监听端口
- m_ListenPort = pDbConn->GetSingleDataStr2Int(_T("SELECT value FROM conf_system WHERE name = 'CtiPort'"));
- // 读取底层设备类型
- m_DevType = (DEV_TYPE)pDbConn->GetSingleDataStr2Int(_T("SELECT value FROM conf_system WHERE name = 'DevType'"));
- // 读取IVR流程个数
- m_IvrFlowNum = pDbConn->GetSingleDataStr2Int(_T("SELECT value FROM conf_system WHERE name = 'IvrFlowCount'"));
- if (m_IvrFlowNum <= 0)
- {
- ILogger::getInstance().log(LOG_CLASS_GENERAL, LOG_LEVEL_ERROR, _T("{Config}: 获取流程数量错误"));
- }
- return true;
- }
- /*****************************************************************
- **【函数名称】 queryLastCallId
- **【函数功能】 从数据库查询CALLID
- **【参数】
- **【返回值】 CallId
- ****************************************************************/
- ULONG CConfig::queryLastCallId()
- {
- CString strQuery = "select value from stat_callid where name = 'callid'";
- return IOtlConnection::getInstance()->GetSingleDataInt(strQuery);
- }
- /*****************************************************************
- **【函数名称】 updateCallId
- **【函数功能】 更新数据库中的CALLID
- **【参数】 CallId:新的CallID
- **【返回值】
- ****************************************************************/
- void CConfig::updateCallId( ULONG CallId )
- {
- CString strQuery;
- strQuery.Format("update stat_callid set value = %ld where name = 'callid'", CallId);
- IOtlConnection::getInstance()->ExecCommand(strQuery);
- }
|