81 lines
2.4 KiB
C++
81 lines
2.4 KiB
C++
#pragma once
|
|
#include "Action.h"
|
|
#include "ShopJobQueue.h"
|
|
|
|
class CShopAction : public CAction
|
|
{
|
|
public:
|
|
void ExecuteInquireCash(DWORD_PTR pSession, PBYTE pBuf);
|
|
void ExecuteBuyProduct(DWORD_PTR pSession, PBYTE pBuf);
|
|
void ExecuteGiftProduct(DWORD_PTR pSession, PBYTE pBuf);
|
|
};
|
|
|
|
|
|
|
|
void CShopAction::ExecuteInquireCash(DWORD_PTR pSession, PBYTE pBuf)
|
|
{
|
|
ShopProtocol::MSG_CLIENT_INQUIRE_CASH* protocol = (ShopProtocol::MSG_CLIENT_INQUIRE_CASH*)pBuf;
|
|
|
|
BILLING_LOG(WZPUBLIC::LEVEL_INFO, "点劵查询 (%d, %d)",
|
|
protocol->GameCode, protocol->AccountSeq);
|
|
|
|
CInquireCash* job = new CInquireCash;
|
|
job->jobcode = JOB_SHOP_INQUIRE;
|
|
job->pSession = pSession;
|
|
|
|
job->GameCode = protocol->GetGameCode();
|
|
job->AccountSeq = protocol->AccountSeq;
|
|
|
|
_instance(CShopJobQueue)->push(job);
|
|
}
|
|
|
|
void CShopAction::ExecuteBuyProduct(DWORD_PTR pSession, PBYTE pBuf)
|
|
{
|
|
USES_CONVERSION;
|
|
|
|
ShopProtocol::MSG_CLIENT_BUYPRODUCT* protocol = (ShopProtocol::MSG_CLIENT_BUYPRODUCT*)pBuf;
|
|
|
|
BILLING_LOG(WZPUBLIC::LEVEL_INFO, "商品购买 (%d, %d)",
|
|
protocol->GameCode, protocol->AccountSeq);
|
|
|
|
CBuyProduct* job = new CBuyProduct;
|
|
job->jobcode = JOB_SHOP_BUYPRODUCT;
|
|
job->pSession = pSession;
|
|
|
|
job->GameCode = protocol->GetGameCode();
|
|
job->AccountSeq = protocol->AccountSeq;
|
|
job->PackageProductSeq = protocol->PackageSeq;
|
|
job->PriceSeq = protocol->PriceSeq;
|
|
StringCchCopyW(job->CharName, MAX_CHARACTERID_LENGTH, protocol->CharName);
|
|
|
|
_instance(CShopJobQueue)->push(job);
|
|
}
|
|
|
|
void CShopAction::ExecuteGiftProduct(DWORD_PTR pSession, PBYTE pBuf)
|
|
{
|
|
USES_CONVERSION;
|
|
|
|
ShopProtocol::MSG_CLIENT_GIFTPRODUCT* protocol = (ShopProtocol::MSG_CLIENT_GIFTPRODUCT*)pBuf;
|
|
|
|
BILLING_LOG(WZPUBLIC::LEVEL_INFO, "礼物赠送 (%d, %d)",
|
|
protocol->GameCode, protocol->SenderSeq);
|
|
|
|
CGiftProduct* job = new CGiftProduct;
|
|
job->jobcode = JOB_SHOP_GIFTPRODUCT;
|
|
job->pSession = pSession;
|
|
|
|
job->GameCode = protocol->GetGameCode();
|
|
job->AccountSeq = protocol->SenderSeq;
|
|
job->ReceiverSeq = protocol->ReceiverSeq;
|
|
|
|
job->PackageProductSeq = protocol->PackageSeq;
|
|
job->PriceSeq = protocol->PriceSeq;
|
|
|
|
|
|
StringCchCopyW(job->SenderCharName, MAX_CHARACTERID_LENGTH, protocol->SenderCharName);
|
|
StringCchCopyW(job->ReceiverCharName, MAX_CHARACTERID_LENGTH, protocol->ReceiverCharName);
|
|
StringCchCopyW(job->SendMessage, MAX_MESSAGE_LENGTH, protocol->Message);
|
|
|
|
_instance(CShopJobQueue)->push(job);
|
|
}
|