Files
Sun1602/Client/ShopListManager/include/SLM/ShopPackage.h
T
2022-10-26 12:25:11 +08:00

109 lines
4.5 KiB
C++
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/**************************************************************************************************
闭锁对象
现在拥有废页信息。
它有一个“商品编号”和“价格编号”的列表,这些列表现在都刊载在《国际纪事报》。
包装内有多个商品的,价格只有一个。
如果在包装上设定了多个价格,商品就是一个。
(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 <SLM/CommonSLM.h>
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<int> ProductSeqList; // 20. 产品目录。
std::vector<int>::iterator ProductSeqIter;
std::vector<int> PriceSeqList; // 24. 包含在包装中的价格编号列表(仅提供给1个商品)
std::vector<int>::iterator PriceSeqIter;
};