372 lines
12 KiB
C
372 lines
12 KiB
C
|
|
#pragma once
|
|||
|
|
|
|||
|
|
#if defined (PRE_ADD_REJECT_DUPLICATED_CASH_REQUEST)
|
|||
|
|
#if defined (_WIN64)
|
|||
|
|
typedef LONGLONG USER_REQUEST;
|
|||
|
|
#else
|
|||
|
|
typedef LONG USER_REQUEST;
|
|||
|
|
#endif // #if defined (_WIN64)
|
|||
|
|
|
|||
|
|
const USER_REQUEST CASH_NO_REQUESTING = 0;
|
|||
|
|
const USER_REQUEST CASH_REQUESTING = 1;
|
|||
|
|
|
|||
|
|
void ReleaseExchange(USER_REQUEST volatile* pDestination);
|
|||
|
|
|
|||
|
|
class CRequestReleaser
|
|||
|
|
{
|
|||
|
|
public:
|
|||
|
|
CRequestReleaser(USER_REQUEST& requesting)
|
|||
|
|
: m_Requesting(requesting)
|
|||
|
|
{
|
|||
|
|
_ASSERT(m_Requesting == CASH_REQUESTING);
|
|||
|
|
m_Lock = false;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
~CRequestReleaser()
|
|||
|
|
{
|
|||
|
|
if (!m_Lock)
|
|||
|
|
ReleaseExchange(&m_Requesting);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public:
|
|||
|
|
void Lock() { m_Lock = true; }
|
|||
|
|
|
|||
|
|
private:
|
|||
|
|
USER_REQUEST& m_Requesting;
|
|||
|
|
bool m_Lock;
|
|||
|
|
};
|
|||
|
|
#endif // #if defined (PRE_ADD_REJECT_DUPLICATED_CASH_REQUEST)
|
|||
|
|
|
|||
|
|
// village, game<6D><65><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>͵<EFBFBD> billing<6E><67><EFBFBD>ٿ<EFBFBD> <20><><EFBFBD>̿<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ҷ<EFBFBD><D2B6><EFBFBD><EFBFBD><EFBFBD> <20>ұ<EFBFBD>?;;
|
|||
|
|
class CDNSQLWorld;
|
|||
|
|
class CDNSQLMembership;
|
|||
|
|
class CDNConnection;
|
|||
|
|
class CDNUserRepository
|
|||
|
|
{
|
|||
|
|
public:
|
|||
|
|
struct TBuyItem
|
|||
|
|
{
|
|||
|
|
TCashBuyItem BuyItem;
|
|||
|
|
|
|||
|
|
int nReservePetal;
|
|||
|
|
int nPrice;
|
|||
|
|
int nLimitCount;
|
|||
|
|
#if defined( PRE_ADD_NEW_MONEY_SEED )
|
|||
|
|
int nSeedPoint;
|
|||
|
|
#endif
|
|||
|
|
|
|||
|
|
int nProductNo;
|
|||
|
|
INT64 biPurchaseOrderDetailID; // <20>츮<EFBFBD><ECB8AE> <20><>ǰ<EFBFBD><C7B0> ID
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
struct TGiftItem
|
|||
|
|
{
|
|||
|
|
TCashGiftItem GiftItem;
|
|||
|
|
INT64 biPurchaseOrderID; // <20>츮<EFBFBD><ECB8AE>
|
|||
|
|
int nReservePetal;
|
|||
|
|
int nPrice;
|
|||
|
|
int nLimitCount;
|
|||
|
|
|
|||
|
|
// Nexon
|
|||
|
|
int nProductNo;
|
|||
|
|
|
|||
|
|
int nOrderStep; // eSndaOrderStep, gash
|
|||
|
|
#if defined( PRE_ADD_NEW_MONEY_SEED )
|
|||
|
|
int nSeedPoint;
|
|||
|
|
#endif
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
struct TVIPItem
|
|||
|
|
{
|
|||
|
|
int nItemSN;
|
|||
|
|
INT64 biPurchaseOrderID; // <20>츮<EFBFBD><ECB8AE>
|
|||
|
|
int nPrice;
|
|||
|
|
int nLimitCount;
|
|||
|
|
|
|||
|
|
int nOrderStep; // eSndaOrderStep
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
// <20><><EFBFBD>ٿ<EFBFBD>
|
|||
|
|
#if defined(_CH) || defined(_EU)
|
|||
|
|
struct TBuyItemPart
|
|||
|
|
{
|
|||
|
|
TBuyItem *pPartItem[MAX_GOOD_LEN];
|
|||
|
|
INT64 biPurchaseOrderID; // <20>츮<EFBFBD><ECB8AE>
|
|||
|
|
int nOrderStep; // eSndaOrderStep
|
|||
|
|
char context_id[MAX_ORDERID_LEN+1]; // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> ID (<28>ֹ<EFBFBD> <20><> <20>ѹ<EFBFBD>, GetNewId() <20><> <20><><EFBFBD><EFBFBD><EFBFBD>Ͽ<EFBFBD> <20><><EFBFBD><EFBFBD>) // <20><><EFBFBD><EFBFBD> <20><>ǰ // <20><> AccountLock / AccountUnlock Request <20><> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ǿ<EFBFBD><C7BE><EFBFBD> <20><>.
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
struct TGiftItemPart
|
|||
|
|
{
|
|||
|
|
TGiftItem *pPartItem[MAX_GOOD_LEN];
|
|||
|
|
int nOrderStep; // eSndaOrderStep
|
|||
|
|
char context_id[MAX_ORDERID_LEN+1]; // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> ID (<28>ֹ<EFBFBD> <20><> <20>ѹ<EFBFBD>, GetNewId() <20><> <20><><EFBFBD><EFBFBD><EFBFBD>Ͽ<EFBFBD> <20><><EFBFBD><EFBFBD>) // <20><><EFBFBD><EFBFBD> <20><>ǰ // <20><> AccountLock / AccountUnlock Request <20><> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ǿ<EFBFBD><C7BE><EFBFBD> <20><>.
|
|||
|
|
};
|
|||
|
|
#endif // #if defined(_CH) || defined(_EU)
|
|||
|
|
|
|||
|
|
private:
|
|||
|
|
UINT m_nAccountDBID;
|
|||
|
|
char m_szAccountName[IDLENMAX];
|
|||
|
|
WCHAR m_wszAccountName[IDLENMAX];
|
|||
|
|
char m_szCharacterName[NAMELENMAX];
|
|||
|
|
WCHAR m_wszCharacterName[NAMELENMAX];
|
|||
|
|
INT64 m_biCharacterDBID;
|
|||
|
|
|
|||
|
|
CDNConnection *m_pConnection;
|
|||
|
|
int m_nThreadID;
|
|||
|
|
char m_cWorldSetID;
|
|||
|
|
int m_nMapID;
|
|||
|
|
int m_nChannelID;
|
|||
|
|
|
|||
|
|
int m_nSubCommand;
|
|||
|
|
|
|||
|
|
// Nexon
|
|||
|
|
UINT m_nNexonSN;
|
|||
|
|
char m_cPaymentRules; // Cash::PaymentRules
|
|||
|
|
|
|||
|
|
// Shanda
|
|||
|
|
#if defined(_CH) || defined(_EU)
|
|||
|
|
char m_sess_id[MAX_SESSID_LEN+1]; // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> ID (<28><><EFBFBD><EFBFBD> <20><> <20>ѹ<EFBFBD>, GetNewId() <20><> <20><><EFBFBD><EFBFBD><EFBFBD>Ͽ<EFBFBD> <20><><EFBFBD><EFBFBD>) // <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> 1ȸ<31><C8B8> <20>α<EFBFBD><CEB1><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ش<EFBFBD> <20>ʵ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ġ<EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD> <20>ؾ<EFBFBD> <20><>.
|
|||
|
|
char m_context_id[MAX_ORDERID_LEN+1]; // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> ID (<28>ֹ<EFBFBD> <20><> <20>ѹ<EFBFBD>, GetNewId() <20><> <20><><EFBFBD><EFBFBD><EFBFBD>Ͽ<EFBFBD> <20><><EFBFBD><EFBFBD>) // <20><>Ű<EFBFBD><C5B0> <20><>ǰ/<2F><><EFBFBD><EFBFBD> // <20><> AccountLock / AccountUnlock Request <20><> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ǿ<EFBFBD><C7BE><EFBFBD> <20><>.
|
|||
|
|
int m_nOrderStep; // eSndaOrderStep / eGashOrderStep
|
|||
|
|
#endif // #if defined(_CH) || defined(_EU)
|
|||
|
|
|
|||
|
|
int m_nPickupCount;
|
|||
|
|
|
|||
|
|
bool m_bOpen;
|
|||
|
|
#if defined( PRE_ADD_NEW_MONEY_SEED )
|
|||
|
|
INT64 m_nSeedPoint;
|
|||
|
|
#endif
|
|||
|
|
bool m_bPCBang;
|
|||
|
|
char m_cBuyCartType; // <20><><EFBFBD><EFBFBD> īƮ Ÿ<><C5B8>
|
|||
|
|
char m_cGiftCartType; // <20><><EFBFBD><EFBFBD> īƮ Ÿ<><C5B8>
|
|||
|
|
|
|||
|
|
int m_nPackageSN;
|
|||
|
|
|
|||
|
|
INT64 m_biPurchaseOrderID; // <20>츮<EFBFBD><ECB8AE>
|
|||
|
|
#if defined(PRE_ADD_CASH_REFUND)
|
|||
|
|
INT64 m_biPurchaseOrderDetailID; // <20>츮<EFBFBD><ECB8AE>
|
|||
|
|
#endif
|
|||
|
|
INT64 m_biCouponOrderID; // <20>츮<EFBFBD><ECB8AE>
|
|||
|
|
int m_nCouponSN;
|
|||
|
|
|
|||
|
|
TCashItemBase m_ProductPackageList[PACKAGEITEMMAX];
|
|||
|
|
TCashPackageGiftItem m_GiftPackageList[PACKAGEITEMMAX];
|
|||
|
|
|
|||
|
|
#if defined(PRE_ADD_CASH_REFUND)
|
|||
|
|
bool m_bCashMoveInven;
|
|||
|
|
#endif
|
|||
|
|
#if defined(PRE_ADD_SALE_COUPON)
|
|||
|
|
INT64 m_biSaleCouponSerial;
|
|||
|
|
#endif
|
|||
|
|
#if defined(PRE_ADD_CADGE_CASH)
|
|||
|
|
int m_nMailDBID;
|
|||
|
|
#endif // #if defined(PRE_ADD_CADGE_CASH)
|
|||
|
|
|
|||
|
|
public:
|
|||
|
|
char m_cCurProductCount;
|
|||
|
|
|
|||
|
|
char m_cProductCount;
|
|||
|
|
std::vector<TBuyItem> m_VecBuyItemList;
|
|||
|
|
std::vector<TGiftItem> m_VecGiftItemList;
|
|||
|
|
|
|||
|
|
#if defined(_CH) || defined(_EU)
|
|||
|
|
int m_nPartCount;
|
|||
|
|
std::vector<TBuyItemPart> m_VecBuyItemPartList; // <20>߱<EFBFBD><DFB1><EFBFBD> 5<><35><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ؼ<EFBFBD> <20>ϳ<EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. (<28><> <20>̷<EFBFBD><CCB7><EFBFBD>..)
|
|||
|
|
std::vector<TGiftItemPart> m_VecGiftItemPartList; // <20>߱<EFBFBD><DFB1><EFBFBD> 5<><35><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ؼ<EFBFBD> <20>ϳ<EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. (<28><> <20>̷<EFBFBD><CCB7><EFBFBD>..)
|
|||
|
|
#endif // _CH
|
|||
|
|
|
|||
|
|
#if defined(PRE_ADD_CASH_REFUND)
|
|||
|
|
TPaymentItemInfoEx m_PaymentItem[PREVIEWCARTLISTMAX];
|
|||
|
|
TPaymentPackageItemInfoEx m_PaymentPackageItem;
|
|||
|
|
char m_cRefundType;
|
|||
|
|
#endif
|
|||
|
|
|
|||
|
|
char m_cAge;
|
|||
|
|
UINT m_nIp;
|
|||
|
|
char m_szIp[IPLENMAX];
|
|||
|
|
WCHAR m_wszIp[IPLENMAX];
|
|||
|
|
|
|||
|
|
WCHAR m_wszReceiverCharacterName[NAMELENMAX];
|
|||
|
|
char m_szReceiverAccountName[IDLENMAX];
|
|||
|
|
WCHAR m_wszMessage[GIFTMESSAGEMAX];
|
|||
|
|
|
|||
|
|
WCHAR m_wszCoupon[COUPONMAX];
|
|||
|
|
char m_szCoupon[COUPONMAX]; // <20>븸, <20>̰<EFBFBD><CCB0><EFBFBD><EFBFBD><EFBFBD> char<61><72><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ȯ<EFBFBD>ؼ<EFBFBD> <20><><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
int m_nTotalPrice;
|
|||
|
|
int m_nUsedPaidCash;
|
|||
|
|
|
|||
|
|
TVIPItem m_VIP;
|
|||
|
|
bool m_bAutoPay;
|
|||
|
|
bool m_bServer;
|
|||
|
|
|
|||
|
|
#if defined (PRE_ADD_REJECT_DUPLICATED_CASH_REQUEST)
|
|||
|
|
USER_REQUEST m_Requesting;
|
|||
|
|
#endif // #if defined (PRE_ADD_REJECT_DUPLICATED_CASH_REQUEST)
|
|||
|
|
|
|||
|
|
private:
|
|||
|
|
void Clear();
|
|||
|
|
|
|||
|
|
public:
|
|||
|
|
CDNUserRepository(void);
|
|||
|
|
~CDNUserRepository(void);
|
|||
|
|
|
|||
|
|
void SetAccountDBID(UINT nAccountDBID) { m_nAccountDBID = nAccountDBID; }
|
|||
|
|
UINT GetAccountDBID() { return m_nAccountDBID; }
|
|||
|
|
void SetAccountName(char *pName) { _strcpy(m_szAccountName, _countof(m_szAccountName), pName, (int)strlen(pName)); }
|
|||
|
|
char *GetAccountName() { return m_szAccountName; }
|
|||
|
|
WCHAR *GetAccountNameW() { return m_wszAccountName; }
|
|||
|
|
char *GetCharacterName() { return m_szCharacterName; }
|
|||
|
|
WCHAR *GetCharacterNameW() { return m_wszCharacterName; }
|
|||
|
|
INT64 GetCharacterDBID() { return m_biCharacterDBID; }
|
|||
|
|
char GetWorldID() { return m_cWorldSetID; }
|
|||
|
|
int GetMapID() { return m_nMapID; }
|
|||
|
|
int GetChannelID() { return m_nChannelID; }
|
|||
|
|
void SetReceiverAccountName();
|
|||
|
|
char *GetReceiverAccountName() { return m_szReceiverAccountName; }
|
|||
|
|
WCHAR *GetReceiverCharacterNameW() { return m_wszReceiverCharacterName; }
|
|||
|
|
|
|||
|
|
char *GetCoupon() { return m_szCoupon; }
|
|||
|
|
WCHAR *GetCouponW() { return m_wszCoupon; }
|
|||
|
|
|
|||
|
|
CDNConnection * GetConnection() { return m_pConnection; }
|
|||
|
|
int GetThreadID() { return m_nThreadID; }
|
|||
|
|
|
|||
|
|
UINT GetNexonSN() { return m_nNexonSN; }
|
|||
|
|
char GetPaymentRules() { return m_cPaymentRules; }
|
|||
|
|
|
|||
|
|
#if defined(_CH) || defined(_EU)
|
|||
|
|
char* SetSessId() { return m_sess_id; }
|
|||
|
|
const char* GetSessId() const { return m_sess_id; }
|
|||
|
|
int GetSessIdCnt() const { return(static_cast<int>(_countof(m_sess_id))); }
|
|||
|
|
void SetContextId(char *pContext) { _strcpy(m_context_id, _countof(m_context_id), pContext, (int)strlen(pContext)); } // pRes->order_id <20><> AccountLock / AccountUnlock <20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>ϹǷ<CFB9> <20><><EFBFBD><EFBFBD> pRes->context_id <20><> <20><><EFBFBD><EFBFBD>
|
|||
|
|
const char* GetContextId() const { return m_context_id; }
|
|||
|
|
int GetContextIdCnt() const { return(static_cast<int>(_countof(m_context_id))); }
|
|||
|
|
void SetOrderStep(int nOrderStep) { m_nOrderStep = nOrderStep; }
|
|||
|
|
int GetOrderStep() const { return m_nOrderStep; }
|
|||
|
|
|
|||
|
|
CDNUserRepository::TBuyItemPart *GetBuyItemPart(); // <20><><EFBFBD><EFBFBD> pickupcount<6E><74> <20>ش<EFBFBD><D8B4>ϴ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ã<><C3A3>
|
|||
|
|
CDNUserRepository::TGiftItemPart *GetGiftItemPart(); // <20><><EFBFBD><EFBFBD> pickupcount<6E><74> <20>ش<EFBFBD><D8B4>ϴ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ã<><C3A3>
|
|||
|
|
|
|||
|
|
int CheckSessID();
|
|||
|
|
#endif // #if defined(_CH) || defined(_EU)
|
|||
|
|
|
|||
|
|
bool IsOpen() { return m_bOpen; }
|
|||
|
|
bool IsPCBang() { return m_bPCBang; }
|
|||
|
|
char GetBuyCartType() { return m_cBuyCartType; } // <20><><EFBFBD><EFBFBD> īƮ Ÿ<><C5B8>
|
|||
|
|
int GetPackageSN() { return m_nPackageSN; }
|
|||
|
|
|
|||
|
|
void SetPurchaseOrderID(INT64 biPurchaseOrderID) { m_biPurchaseOrderID = biPurchaseOrderID; }
|
|||
|
|
INT64 GetPurchaseOrderID() const { return m_biPurchaseOrderID; }
|
|||
|
|
|
|||
|
|
int GetSubCommand() { return m_nSubCommand; }
|
|||
|
|
void SetPurchaseOrderDetailID(const char* pPurchaseOrderDetailIDs);
|
|||
|
|
|
|||
|
|
int GetPetalBalance();
|
|||
|
|
|
|||
|
|
CDNSQLMembership *GetMembershipDB();
|
|||
|
|
CDNSQLWorld *GetWorldDB();
|
|||
|
|
|
|||
|
|
bool SetBuyItem(TCashBuyItem &Item);
|
|||
|
|
void SetBuyItemPartByShanda(int nStartIndex, int nEndIndex, INT64 biOrderID, const char* pPurchaseOrderDetailIDs);
|
|||
|
|
CDNUserRepository::TBuyItem *GetBuyItem(int nIndex);
|
|||
|
|
bool SetGiftItem(TCashGiftItem &Item);
|
|||
|
|
void SetGiftItemPartByShanda();
|
|||
|
|
void SetGiftItemPurchaseOrderID(int nIndex, INT64 biPurchaseOrderID);
|
|||
|
|
CDNUserRepository::TGiftItem *GetGiftItem(int nIndex);
|
|||
|
|
|
|||
|
|
void SetBalanceInquiry(int nThreadID, CDNConnection *pConnection, TQCashBalanceInquiry *pCash);
|
|||
|
|
bool SetBuy(int nThreadID, CDNConnection *pConnection, TQCashBuy *pCash);
|
|||
|
|
void SetPackageBuy(int nThreadID, CDNConnection *pConnection, TQCashPackageBuy *pCash);
|
|||
|
|
bool SetGift(int nThreadID, CDNConnection *pConnection, TQCashGift *pCash);
|
|||
|
|
void SetPackageGift(int nThreadID, CDNConnection *pConnection, TQCashPackageGift *pCash);
|
|||
|
|
void SetCoupon(int nThreadID, CDNConnection *pConnection, TQCashCoupon *pCash);
|
|||
|
|
void SetVIPBuy(int nThreadID, CDNConnection *pConnection, TQCashVIPBuy *pCash);
|
|||
|
|
void SetVIPGift(int nThreadID, CDNConnection *pConnection, TQCashVIPGift *pCash);
|
|||
|
|
void SetRefund(int nThreadID, CDNConnection *pConnection, TQCashRefund* pCash);
|
|||
|
|
|
|||
|
|
int OnBalanceInquiry(int nThreadID, CDNConnection *pConnection, TQCashBalanceInquiry *pCash);
|
|||
|
|
int OnBuy(int nThreadID, CDNConnection *pConnection, TQCashBuy *pCash);
|
|||
|
|
int OnPackageBuy(int nThreadID, CDNConnection *pConnection, TQCashPackageBuy *pCash);
|
|||
|
|
int OnGift(int nThreadID, CDNConnection *pConnection, TQCashGift *pCash);
|
|||
|
|
int OnPackageGift(int nThreadID, CDNConnection *pConnection, TQCashPackageGift *pCash);
|
|||
|
|
int OnCoupon(int nThreadID, CDNConnection *pConnection, TQCashCoupon *pCash);
|
|||
|
|
int OnVIPBuy(int nThreadID, CDNConnection *pConnection, TQCashVIPBuy *pCash);
|
|||
|
|
int OnVIPGift(int nThreadID, CDNConnection *pConnection, TQCashVIPGift *pCash);
|
|||
|
|
void OnRefund(int nThreadID, CDNConnection *pConnection, TQCashRefund* pCash);
|
|||
|
|
void OnMoveCashInven(int nThreadID, CDNConnection *pConnection, TQCashMoveCashInven* pCash);
|
|||
|
|
void OnPackageMoveCashInven(int nThreadID, CDNConnection *pConnection, TQCashPackageMoveCashInven* pCash);
|
|||
|
|
|
|||
|
|
int CalcPackageProcess();
|
|||
|
|
|
|||
|
|
bool OnRecvBillingCoupon(int nBillingResult, int nResult, int nItemSN, UINT nOrderNo);
|
|||
|
|
|
|||
|
|
// <20>ѱ<EFBFBD>, <20>̱<EFBFBD> <20><><EFBFBD><EFBFBD>
|
|||
|
|
void OnRecvBillingPurchase(int nResult, int nBillingResult, UINT nOrderNo, char *pNexonOrderID); // purchase item <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> orderno<6E><6F> <20>°<DEB4> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ش<EFBFBD>
|
|||
|
|
// <20><>Ÿ <20><><EFBFBD><EFBFBD>..(<28>߱<EFBFBD>, <20>Ϻ<EFBFBD> <20><><EFBFBD><EFBFBD>)
|
|||
|
|
void OnRecvBillingBuyItem(int nBillingResult, UINT nOrderNo=0, bool bCart=false); // <20><><EFBFBD>ٱ<EFBFBD><D9B1><EFBFBD> <20><><EFBFBD><EFBFBD> On,Off(Off<66><66> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>)
|
|||
|
|
|
|||
|
|
#if defined(_CH) || defined(_EU)
|
|||
|
|
int GetTotalPetalBuyPartList();
|
|||
|
|
void SetSuccessBuyPartList();
|
|||
|
|
void SetOrderStepBuyPartList(int nOrderStep);
|
|||
|
|
void SetSuccessGiftPartList();
|
|||
|
|
void SetOrderStepGiftPartList(int nOrderStep);
|
|||
|
|
|
|||
|
|
void OnRecvAccountLock(int nBillingResult, char *pBillingContextID);
|
|||
|
|
void OnRecvAccountUnlock(int nBillingResult, char *pBillingContextID, char *pBillingOrderID, int nBalance);
|
|||
|
|
#endif // #if defined(_CH) || defined(_EU)
|
|||
|
|
|
|||
|
|
// Connection<6F><6E><EFBFBD><EFBFBD> Send<6E>ϱ<EFBFBD>..
|
|||
|
|
void SendBalanceInquiry(int nResult, int nCashBalance, int nNotRefundableBalance = 0);
|
|||
|
|
#ifdef PRE_ADD_LIMITED_CASHITEM
|
|||
|
|
void SendBuyGift(int nResult, bool bUpdateLimitedCount = false);
|
|||
|
|
#else //#ifdef PRE_ADD_LIMITED_CASHITEM
|
|||
|
|
void SendBuyGift(int nResult);
|
|||
|
|
#endif //#ifdef PRE_ADD_LIMITED_CASHITEM
|
|||
|
|
#if defined(_TW)
|
|||
|
|
void SendCoupon(int nResult, bool bGashSend=true);
|
|||
|
|
#else
|
|||
|
|
void SendCoupon(int nResult);
|
|||
|
|
#endif // #if defined(_TW)
|
|||
|
|
void SendVIPBuyGift(int nResult, int nCash);
|
|||
|
|
|
|||
|
|
#if defined(PRE_ADD_CASH_REFUND)
|
|||
|
|
void SendCashRefund(int nResult);
|
|||
|
|
void OnRecvBillingRefund(int nResult);
|
|||
|
|
inline bool GetCashMoveInven() { return m_bCashMoveInven; };
|
|||
|
|
inline void SetCashMoveInven(bool bCashMoveInven) { m_bCashMoveInven = bCashMoveInven; };
|
|||
|
|
#endif
|
|||
|
|
|
|||
|
|
int PurchaseItemByPetal();
|
|||
|
|
#if defined( PRE_ADD_NEW_MONEY_SEED )
|
|||
|
|
int PurchaseItemBySeed();
|
|||
|
|
#endif
|
|||
|
|
int AddPurchaseOrderByCash(int nIndex);
|
|||
|
|
int PurchaseBuyItem();
|
|||
|
|
int PurchaseGiftItem();
|
|||
|
|
|
|||
|
|
// <20>ȿ<EFBFBD><C8BF><EFBFBD> CashItemDBQuery ó<><C3B3>.. <20>ѹ<EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
int CashItemDBProcess(int nWorldSetID, int nAccountDBID, INT64 biCharacterDBID, int nMapID, int nChannelID, char cPaymentRules, TCashItemBase &BuyItem, int nPrice,
|
|||
|
|
INT64 biPurchaseOrderID, int nAddMaterializedItemCode, INT64 biSenderCharacterDBID = 0, bool bGift = false, char cPayMethodCode = DBDNWorldDef::PayMethodCode::Cash);
|
|||
|
|
|
|||
|
|
bool CheckSaleItemSN(int nItemSN);
|
|||
|
|
#if defined(PRE_MOD_SELECT_CHAR)
|
|||
|
|
int CheckCharacterSlotCount(int nAccountDBID, int nAddCount);
|
|||
|
|
#else // #if defined(PRE_MOD_SELECT_CHAR)
|
|||
|
|
int CheckCharacterSlotCount(INT64 biCharacterDBID, int nAddCount);
|
|||
|
|
#endif // #if defined(PRE_MOD_SELECT_CHAR)
|
|||
|
|
|
|||
|
|
void AppendItemString(int nStartIndex, int nEndIndex, std::vector<std::string> &VecItemString);
|
|||
|
|
void SetUsedPaidCash(LPCWSTR pReservedFields);
|
|||
|
|
|
|||
|
|
#if defined( PRE_ADD_NEW_MONEY_SEED )
|
|||
|
|
INT64 GetSeedPoint();
|
|||
|
|
int AddSeedPoint( int nSeedPoint );
|
|||
|
|
int UseSeedPoint();
|
|||
|
|
#endif
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
|