/************************************************************************************************** 闭锁对象 现在拥有废页信息。 它有一个“商品编号”和“价格编号”的列表,这些列表现在都刊载在《国际纪事报》。 包装内有多个商品的,价格只有一个。 如果在包装上设定了多个价格,商品就是一个。 (exe 1) 如果在A便士纸币上有两种商品A和A,就不能设定不同的价格。 ->商品A, A ' 5000元 (exe 2) 如果B便士中只有一种叫B的商品,价格可以是1000元,2000元,3000元,可以设定多种价格。 -> B商品B一周1000元 -> B商品B 2周2000元 -> B商品B 4周3000元 有三种不同的书页。 **************************************************************************************************/ #pragma once #include class CShopPackage { public: CShopPackage(); virtual ~CShopPackage(); // version 3 bool SetPackageVer3(tstring& strData, const tstring& delimiter); bool SetPackageVer3W(std::wstring& strData, const std::wstring& delimiter); // version 6 bool SetPackageVer6(tstring& strData, const tstring& delimiter); bool SetPackageVer6W(std::wstring& strData, const std::wstring& delimiter); // version 3, 6 void SetLeftCount(int nCount); int GetProductCount(); // 获取包内的产品数量 void SetProductSeqFirst(); // 位于包装内第一个批号 bool GetProductSeqFirst(int& ProductSeq); // 获取包内的第一个序列号,并跳转到下一个序列号 bool GetProductSeqNext(int& ProductSeq); // 获取编号并移动到下一个位置 int GetPriceCount(); // 获取包中的价格数 void SetPriceSeqFirst(); // 位置于包装内的第一个价格号 bool GetPriceSeqFirst(int& PriceSeq); // 获取包中的第一个标价,并跳转到下一个标价 bool GetPriceSeqNext(int& PriceSeq); // 获取编号并跳转到下一位置 public: // version 3 int ProductDisplaySeq; // 1. 软件包所属的类别编号 int ViewOrder; // 2. 显示顺序 int PackageProductSeq; // 3. 礼包号 TCHAR PackageProductName[SHOPLIST_LENGTH_PACKAGENAME]; // 4. 礼包名 WCHAR PackageProductNameW[SHOPLIST_LENGTH_PACKAGENAME]; // 4. 礼包名(当字符串为UseUnicodeString时使用) int PackageProductType; // 5. 套餐类型(170:一般产品,171:活动产品) int Price; // 6. 价格 TCHAR Description[SHOPLIST_LENGTH_PACKAGEDESC]; // 7. 详细说明 WCHAR DescriptionW[SHOPLIST_LENGTH_PACKAGEDESC]; // 7. 详细说明(当字符串为UseUnicodeString时使用) TCHAR Caution[SHOPLIST_LENGTH_PACKAGECAUTION]; // 8. 注意事项 WCHAR CautionW[SHOPLIST_LENGTH_PACKAGECAUTION]; // 8. 注意事项(当字符串为UseUnicodeString时使用) int SalesFlag; // 9. 是否可购买(是否公开购买按钮)(182:可能,183:不可 int GiftFlag; // 10. 是否有礼品(是否有礼品按钮显示)(184:可能,185:不可) tm StartDate; // 11. 起销日 tm EndDate; // 12. 销售截止日期 int CapsuleFlag; // 13. 胶囊产品分类(176:胶囊,177:一般) int CapsuleCount; // 14. 包装商品数量 TCHAR ProductCashName[SHOPLIST_LENGTH_PACKAGECASHNAME]; // 15. 产品现金名 WCHAR ProductCashNameW[SHOPLIST_LENGTH_PACKAGECASHNAME]; // 15. 产品现金名(当字符串为UseUnicodeString时使用) TCHAR PricUnitName[SHOPLIST_LENGTH_PACKAGEPRICEUNIT]; // 16. 价格单位名称 WCHAR PricUnitNameW[SHOPLIST_LENGTH_PACKAGEPRICEUNIT]; // 16. 价格单位名称(当字符串为UseUnicodeString时使用) int DeleteFlag; // 17. 是否删除(180:删除,181:活动) int EventFlag; // 18. 是否为活动产品(199:活动产品,200:常规产品) int ProductAmount; // 19. 是否为限定商品 TCHAR InGamePackageID[SHOPLIST_LENGTH_INGAMEPACKAGEID]; // 21. 包装项目代码 WCHAR InGamePackageIDW[SHOPLIST_LENGTH_INGAMEPACKAGEID]; // 21. 包装项目代码(当字符串为UseUnicodeString时使用) int ProductCashSeq; // 22. 耗尽货币类型代码 int PriceCount; // 23. 单位产品价格政策保留的数量(只有一个单位产品才能有多个PriceSeq) bool DeductMileageFlag; // 25. 是否有扣除的积分(false:正常,true:扣除的积分) int CashType; // 26. 全球专用:区分Wcoin(C)与Wcoin(P) int CashTypeFlag; // 27. 全球专用:Wcoin(C), Wcoin(P)是否可选择或自动(668:个人选择,669:自动扣除) int LeftCount; // 剩余个数 int ImageTagType; // 25. 图像标签代码值(参见文档通用代码定义) //int LeftCount; private: // version 3, 6 void SetProductSeqList(tstring strdata); void SetProductSeqListW(std::wstring strdata); void SetPriceSeqList(tstring strdata); void SetPriceSeqListW(std::wstring strdata); std::vector ProductSeqList; // 20. 产品目录。 std::vector::iterator ProductSeqIter; std::vector PriceSeqList; // 24. 包含在包装中的价格编号列表(仅提供给1个商品) std::vector::iterator PriceSeqIter; };