多数据源中间件标准版1.0

Config.cpp 2.5KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. #include "StdAfx.h"
  2. #include "Config.h"
  3. CString CConfig::m_LogFilePath = __T("");
  4. CString CConfig::m_CtiIp = _T("127.0.0.1");
  5. int CConfig::m_CtiPort = CTI_LISTEN_PORT;
  6. int CConfig::m_ListenPort = ACD_LISTEN_PORT;
  7. UINT CConfig::m_PostProcessingType = 0; // 2020-03-02
  8. UINT CConfig::m_PostProcessingTime = 0;
  9. int CConfig::m_AgentLockedPeriod = 15;
  10. CArray<CString, LPCTSTR> CConfig::m_CallPrefixList;
  11. CConfig::CConfig(void)
  12. {
  13. }
  14. /*****************************************************************
  15. **【函数名称】 load
  16. **【函数功能】 读取所有配置
  17. **【参数】
  18. **【返回值】 成功true,失败false
  19. ****************************************************************/
  20. bool CConfig::load()
  21. {
  22. IOtlConnection* pConn = IOtlConnection::getInstance();
  23. // 读取日志文件路径
  24. m_LogFilePath = pConn->GetSingleDataStr(_T("SELECT value FROM conf_system WHERE name = 'LogPath'"));
  25. // SOCKET参数
  26. m_CtiIp = pConn->GetSingleDataStr(_T("SELECT value FROM conf_system WHERE name = 'CtiAddr'"));
  27. m_CtiPort = pConn->GetSingleDataStr2Int(_T("SELECT value FROM conf_system WHERE name = 'CtiPort'"));
  28. m_ListenPort = pConn->GetSingleDataStr2Int(_T("SELECT value FROM conf_system WHERE name = 'AcdPort'"));
  29. // 业务参数
  30. m_AgentLockedPeriod = pConn->GetSingleDataStr2Int(_T("SELECT value FROM conf_system WHERE name = 'AgentLockedPeriod'"));
  31. m_PostProcessingType = pConn->GetSingleDataStr2Int(_T("SELECT value FROM conf_system WHERE name = 'PPType'")); //2020-03-02
  32. m_PostProcessingTime = pConn->GetSingleDataStr2Int(_T("SELECT value FROM conf_system WHERE name = 'PPTime'"));
  33. IOtlRecordset* pMatchRcd = pConn->QueryRecords(_T("SELECT prefix FROM conf_trunk_match"));
  34. if (NULL == pMatchRcd)
  35. return false;
  36. int Prefix = 0;
  37. while(!pMatchRcd->IsEOF())
  38. {
  39. pMatchRcd->MoveNextRow();
  40. m_CallPrefixList.Add(pMatchRcd->GetValueStrByIndex(1));
  41. } // end while
  42. IOtlRecordset::DestroyInstance(pMatchRcd); // 释放记录集
  43. return true;
  44. }
  45. /*****************************************************************
  46. **【函数名称】 isMatchCallPrefix
  47. **【函数功能】 是否匹配呼叫字冠
  48. **【参数】
  49. **【返回值】 成功true,失败false
  50. ****************************************************************/
  51. bool CConfig::isMatchCallPrefix( const CString& CalleeNum )
  52. {
  53. for(int i = 0; i < m_CallPrefixList.GetCount(); ++i)
  54. {
  55. const CString& Prefix = m_CallPrefixList[i];
  56. if(Prefix == CalleeNum.Left(Prefix.GetLength()))
  57. return true;
  58. }
  59. return false;
  60. }