ConnectSocket.h 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166
  1. // ConnectSocket.h : header file
  2. #if !defined(AFX_CONNECTSOCKET_H__B7C54BD3_A555_11D0_8996_00AA00B92B2E__INCLUDED_)
  3. #define AFX_CONNECTSOCKET_H__B7C54BD3_A555_11D0_8996_00AA00B92B2E__INCLUDED_
  4. #if _MSC_VER >= 1000
  5. #pragma once
  6. #endif // _MSC_VER >= 1000
  7. #define LISTSIZE 250
  8. typedef struct
  9. {
  10. BYTE bsql; // 是否属于SQL语句;
  11. BYTE tabcount; // 查找的表个数;
  12. BYTE code[100]; // 每个查找功能的代号;
  13. DWORD count[100]; // 每个查找code返回的CArray对象大小;
  14. DWORD length[100]; // 每个查找code返回的CArray对象压缩后的字节大小;
  15. }SENDHEAD;
  16. class CDataSocket;
  17. class CConnectSocket : public CSocket
  18. {
  19. BOOL m_bLogin;
  20. //------------------------------
  21. BYTE *g_ListData[LISTSIZE];
  22. int g_ListLeng[LISTSIZE];
  23. int g_ListSize[LISTSIZE];
  24. BYTE *m_pRevBuf;
  25. int m_reved;
  26. int m_dateleng;
  27. enum // Token ID's
  28. {
  29. TOK_ABOR, TOK_BYE, TOK_CDUP, TOK_CWD,
  30. TOK_DELE, TOK_DIR, TOK_HELP, TOK_LIST,
  31. TOK_MKD, TOK_NOOP, TOK_PASS, TOK_PASV,
  32. TOK_PORT, TOK_PWD, TOK_QUIT, TOK_REST,
  33. TOK_RETR, TOK_RMD, TOK_RNFR, TOK_RNTO,
  34. TOK_SIZE, TOK_STOR, TOK_SYST, TOK_TYPE,
  35. TOK_USER, TOK_ERROR,
  36. };
  37. BOOL m_bSendOK;
  38. public:
  39. #if USE_POOL
  40. CDatabase* m_pMain;
  41. CDatabase* m_pHistory;
  42. ODBCConnGuard *m_pConnGuard;
  43. ODBCConnGuard *m_pConnGuardHistory;
  44. #endif
  45. CDatabase *m_pConndb;
  46. CDatabase *m_pdb;
  47. CArray<CDatabase*,CDatabase*>m_dbarray;
  48. SENDHEAD g_sendhead;
  49. int m_bPassiveMode;
  50. int m_nRemotePort;
  51. CDataSocket *m_pDataSocket;
  52. struct CFTPCommand
  53. {
  54. int m_nTokenID;
  55. char *m_pszName;
  56. BOOL m_bHasArguments;
  57. char *m_pszDescription;
  58. };
  59. // Attributes
  60. public:
  61. BOOL MyExecuteSQL(CString sql);
  62. void DeleteMemberReg(CString str);
  63. void Updatememberreg2(CString memberno);
  64. void UpdateMemberCard(CString memberno);
  65. void Updatesingleincomemoney(CString id);
  66. void UpdateMemberReg3(CString memberno);
  67. void UpdateMemberReg4(CString memberno);
  68. void UpdateMemberCard2(CString memberno);
  69. void UpdateMemberCard3(CString memberno);
  70. void UpdateMemberCard2Balance(CString memberno);
  71. void UpdateDressBalance(CString dressno);
  72. void UpdateBuKuan(CString id);
  73. void UpdateBurnCdReg(CString id);
  74. void UpdateBuKuan2(CString id);
  75. void GetOldStatus2(CArray<CStringArray, CStringArray>*array, CString autoid, CString &status1, CString &status2, CString &status3, CString &status4, CString &oldno);
  76. //数据处理
  77. void GetDataFromCode(IN BYTE &code, IN BYTE **szDataBuf, IN DWORD &nDataLen,IN DWORD &arraysize,IN CString filter);
  78. void GetDataFromCode2(IN BYTE &code, IN BYTE **szDataBuf, IN DWORD &nDataLen, IN DWORD &arraysize, IN CString filter);
  79. void GetDataFromCode3(IN BYTE &code, IN BYTE **szDataBuf, IN DWORD &nDataLen, IN DWORD &arraysize, IN CString filter);
  80. void GetDataFromCode4(IN BYTE &code, IN BYTE **szDataBuf, IN DWORD &nDataLen, IN DWORD &arraysize, IN CString filter);
  81. void GetDataFromCode5(IN BYTE &code, IN BYTE **szDataBuf, IN DWORD &nDataLen, IN DWORD &arraysize, IN CString filter);
  82. void GetDataFromCodeMsg(BYTE &code, BYTE **szDataBuf, DWORD &nDataLen, DWORD &arraysize);
  83. unsigned long net_Send(IN void *pHeader, IN void *pMessage, IN unsigned long ulDataLen);
  84. unsigned long net_Send2(IN void *pMessage, IN unsigned long ulDataLen);
  85. void processChatMessageRequest(IN void *pChatMsg);
  86. BOOL HasConnectionDropped(void);
  87. BOOL SendResponse(LPCTSTR pstrFormat, ...);
  88. void FireStatusMessage(LPCTSTR lpszStatus, int nType);
  89. BOOL GetRxCommand(CString &command, CString &args);
  90. BOOL CreateDataConnection(int nTransferType, LPCTSTR lpszData);
  91. void DestroyDataConnection();
  92. //查询数据行数
  93. LONG SelectCount(CString* pTableName, CString* pFilter = NULL);
  94. //查询数据
  95. int SelectDataFromDB(CArray<CStringArray, CStringArray>& arr, CString* pTableName, CStringArray& fieldArr, CString* pFilter = NULL);
  96. int SelectDataFromDB(CArray<CStringArray, CStringArray>& arr, CStringArray& fieldArr, CString& strSql);
  97. //获取被调查人员的信息
  98. int GetSurveyRenyuanInfo(CArray<CStringArray, CStringArray>& arr, const CString& strFilter);
  99. //添加满意度调查记录
  100. int AddSatisfactionSurveyLog(const CString& strOrderID);
  101. //获取调查记录
  102. int GetAllSatisfactionSurveyLog(CArray<CStringArray, CStringArray>& arr, const CString& startCT, const CString& endCT);
  103. //获取调查记录
  104. int GetAllSatisfactionSurveyLog(CArray<CStringArray, CStringArray>& arr, const CString& strFilter);
  105. //获取满意度对应订单信息
  106. int GetSatisfactionAndDingDanInfo(CArray<CStringArray, CStringArray>& arr, const CString& strFilter);
  107. //获取满意度对应订单信息
  108. int GetSatisfactionAndDingDanInfo(CArray<CStringArray, CStringArray>& arr, const CString& startCT, const CString& endCT);
  109. //获取服务类别
  110. int GetSatisfactionSvrKind(CArray<CStringArray, CStringArray>& arr);
  111. // Operations
  112. public:
  113. CConnectSocket();
  114. virtual ~CConnectSocket();
  115. void ParseCommand();
  116. // Overrides
  117. public:
  118. void Init();
  119. void UpdateBuKuan3();
  120. CWinThread* m_pThread;
  121. BOOL m_bLoggedon;
  122. CString m_strUserName;
  123. // ClassWizard generated virtual function overrides
  124. //{{AFX_VIRTUAL(CConnectSocket)
  125. public:
  126. virtual void OnClose(int nErrorCode);
  127. virtual void OnReceive(int nErrorCode);
  128. virtual void OnConnect(int nErrorCode);
  129. //}}AFX_VIRTUAL
  130. // Generated message map functions
  131. //{{AFX_MSG(CConnectSocket)
  132. // NOTE - the ClassWizard will add and remove member functions here.
  133. //}}AFX_MSG
  134. // Implementation
  135. protected:
  136. CStringList m_strCommands;
  137. void GetRxLine();
  138. BOOL m_bRenameFile;
  139. DWORD m_dwRestartOffset;
  140. CString m_strRenameFile;
  141. CString m_RxBuffer;
  142. CString m_strCurrentDir;
  143. };
  144. /////////////////////////////////////////////////////////////////////////////
  145. //{{AFX_INSERT_LOCATION}}
  146. // Microsoft Developer Studio will insert additional declarations immediately before the previous line.
  147. #endif // !defined(AFX_CONNECTSOCKET_H__B7C54BD3_A555_11D0_8996_00AA00B92B2E__INCLUDED_)