123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153 |
- /************************************************************************/
- /* Copyright (C), 2016-2020, [IT], 保留所有权利;
- /* 模 块 名:;
- /* 描 述:;
- /*
- /* 版 本:[V];
- /* 作 者:[IT];
- /* 日 期:[1/17/2017];
- /*
- /*
- /* 注 意:只适合多字节字符编集;
- /*
- /* 修改记录:[IT];
- /* 修改日期:;
- /* 修改版本:;
- /* 修改内容:;
- /************************************************************************/
- #ifndef __ANTI_THEFT_COMMAND__
- #define __ANTI_THEFT_COMMAND__
- #include <vector>
- #pragma once
- // 盗版提示操作;
- typedef struct _WARN_OPT_
- {
- BOOL bEnable; // 是否启用;
- CString strContent; // 盗版提示内容;
- _WARN_OPT_()
- {
- bEnable = FALSE;
- strContent = _T("");
- }
- }WarnOpt, *pWarnOpt;
- // 加密狗过期操作;
- typedef struct _DOG_OPT_
- {
- BOOL bEnable; // 是否启用;
- CString strExpired; // 过期日期;
- _DOG_OPT_()
- {
- bEnable = FALSE;
- strExpired = _T("");
- }
- }DogOpt, *pDogOpt;
- // SQL操作元素内容;
- typedef struct _SQL_ELEMENT_
- {
- CString strSQL; // SQL语句;
- CString strExecTime; // 执行时间;
- BOOL bExecStatus; // 执行状态(用于返回服务器);
- _SQL_ELEMENT_()
- {
- bExecStatus = FALSE;
- strSQL = _T("");
- strExecTime = _T("");
- }
- }SQLElement, *pSQLElement;
- // SQL操作;
- typedef struct _SQL_OPT_
- {
- BOOL bEnable; // 是否启用;
- std::vector<SQLElement> vtSQLElement; // SQL元素集合;
- _SQL_OPT_()
- {
- bEnable = FALSE;
- }
- }SQLOpt, *pSQLOpt;
- // 相片加密操作;
- typedef struct _DATA_OPT_
- {
- BOOL bEnable; // 是否启用;
- CString strExecTime; // 执行时间;
- INT nEncryptCount; // 加密订单数量;
- BOOL bExecStatus; // 执行状态(用于返回服务器);
- CStringArray AryOrder; // 加密的订单串(用于返回服务器);
- _DATA_OPT_()
- {
- bEnable = FALSE;
- bExecStatus = FALSE;
- nEncryptCount = 0;
- strExecTime = _T("");
- }
- }DataOpt, *pDataOpt;
- // 防盗命令;
- typedef struct _ANTI_CMD_
- {
- BOOL bResult; // false:等待接收; true:已接收 ;
- CString strCmdGuid; // 命令的guid值;
- WarnOpt stWarnOpt; // 盗版提示操作;
- DogOpt stDogOpt; // 加密狗操作;
- SQLOpt stSQLOpt; // SQL操作;
- DataOpt stDataOpt; // 加密相片操作;
- _ANTI_CMD_()
- {
- bResult = FALSE;
- strCmdGuid = _T("");
- }
- }AntiCmd, *pAntiCmd;
- class CAntiTheftCommand
- {
- CAntiTheftCommand(void);
- public:
- static CAntiTheftCommand* GetInstance()
- {
- static CAntiTheftCommand* pInstance = NULL;
- if ( pInstance == NULL)
- pInstance = new CAntiTheftCommand;
- return pInstance;
- }
- ~CAntiTheftCommand(void);
- // 初始化命令行到AntiCmd结构体中;
- static BOOL InitCommand(IN AntiCmd &tagAntiCmd);
- // 防盗提示操作;
- static BOOL OptWarning(IN WarnOpt &tagWarnOpt);
- // 加密狗操作;
- static BOOL OptDog(IN DogOpt &tagDogOpt);
- // SQL操作;
- static BOOL OptSQL(IN SQLOpt &tagSQLOpt);
- // 加密操作;
- static BOOL OptData(IN DataOpt &tagDataOpt);
- // 获取要加密的订单号;
- static BOOL GetOrderInfo(IN INT nEncryptCount, IN CStringArray &AryOrder);
- // 获取要加密的订单相片;
- static BOOL GetOrderImgfile(IN CStringArray& AryOrder, std::vector<string> &vtImgfiles);
- // 删除备份数据库;
- static void DeleteBackupDB();
- // 删除指定订单的备份相片;
- static void DeleteBackupImg(IN CStringArray &AryOrder);
- // 加密相片;
- static void EncryptImg( IN std::vector<string> &vtfiles, IN LPBYTE lpKey, IN LPBYTE lpVi);
- // 保存执行结果;
- static void SaveResult(IN AntiCmd &tagAnticmd);
- public:
- HANDLE m_hThread;
- void StartThread();
- void EndofThread();
- static DWORD WINAPI ThreadAntiTheft(LPVOID lpPara);
- };
- #endif // __ANTI_THEFT_COMMAND__;
|