升龙物业 老版本 ocx IPO, 加密狗 转值班电话

Config.cpp 2.6KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. #include "StdAfx.h"
  2. #include "Config.h"
  3. #include "DBCtrl.h"
  4. #include "Logger.h"
  5. #include "CtiDataDef.h"
  6. SINGLETON_IMPLEMENT(CConfig)
  7. CConfig::CConfig(void) : m_RecFilePath(_T("")), m_RecType(RECORD_TYPE_TRUNK), m_ListenPort(CTI_LISTEN_PORT), m_DevType(DEV_TYPE_IPO), m_IvrFlowNum(0)
  8. {
  9. }
  10. CConfig::~CConfig(void)
  11. {
  12. }
  13. /*****************************************************************
  14. **【函数名称】 loadConfig
  15. **【函数功能】 加载配置
  16. **【参数】
  17. **【返回值】 成功TRUE,失败FALSE
  18. ****************************************************************/
  19. bool CConfig::loadConfig()
  20. {
  21. char buff[MAX_BUFF_SIZE] = { 0 };
  22. IOtlConnection* pDbConn = IOtlConnection::getInstance();
  23. // 读取是否使用TTS
  24. //CString strTts = pDbConn->GetSingleDataStr(_T("SELECT value FROM conf_system WHERE name = 'UseTts'"));
  25. //m_IsUseTts = atoi(strTts.GetBuffer(0));
  26. // 读取录音类型
  27. m_RecType = (RECORD_TYPE)pDbConn->GetSingleDataStr2Int(_T("SELECT value FROM conf_system WHERE name = 'RecType'"));
  28. // 读取录音文件路径
  29. m_RecFilePath = pDbConn->GetSingleDataStr(_T("SELECT value FROM conf_system WHERE name = 'RecPath'"));
  30. if(m_RecFilePath == "") m_RecFilePath = DEFAULT_RECORD_PATH;
  31. // 读取日志文件路径
  32. m_LogFilePath = pDbConn->GetSingleDataStr(_T("SELECT value FROM conf_system WHERE name = 'LogPath'"));
  33. // 读取Cti监听端口
  34. m_ListenPort = pDbConn->GetSingleDataStr2Int(_T("SELECT value FROM conf_system WHERE name = 'CtiPort'"));
  35. // 读取底层设备类型
  36. m_DevType = (DEV_TYPE)pDbConn->GetSingleDataStr2Int(_T("SELECT value FROM conf_system WHERE name = 'DevType'"));
  37. // 读取IVR流程个数
  38. m_IvrFlowNum = pDbConn->GetSingleDataStr2Int(_T("SELECT value FROM conf_system WHERE name = 'IvrFlowCount'"));
  39. if (m_IvrFlowNum <= 0)
  40. {
  41. ILogger::getInstance().log(LOG_CLASS_GENERAL, LOG_LEVEL_ERROR, _T("{Config}: 获取流程数量错误"));
  42. }
  43. return true;
  44. }
  45. /*****************************************************************
  46. **【函数名称】 queryLastCallId
  47. **【函数功能】 从数据库查询CALLID
  48. **【参数】
  49. **【返回值】 CallId
  50. ****************************************************************/
  51. ULONG CConfig::queryLastCallId()
  52. {
  53. CString strQuery = "select value from stat_callid where name = 'callid'";
  54. return IOtlConnection::getInstance()->GetSingleDataInt(strQuery);
  55. }
  56. /*****************************************************************
  57. **【函数名称】 updateCallId
  58. **【函数功能】 更新数据库中的CALLID
  59. **【参数】 CallId:新的CallID
  60. **【返回值】
  61. ****************************************************************/
  62. void CConfig::updateCallId( ULONG CallId )
  63. {
  64. CString strQuery;
  65. strQuery.Format("update stat_callid set value = %ld where name = 'callid'", CallId);
  66. IOtlConnection::getInstance()->ExecCommand(strQuery);
  67. }