633 lines
34 KiB
C++
633 lines
34 KiB
C++
#include "StdAfx.h"
|
||
#include "DNBillingConnectionCH.h"
|
||
#include "DNUserRepository.h"
|
||
#include "DNManager.h"
|
||
#include "DNConnection.h"
|
||
#include "DNExtManager.h"
|
||
#include "DNSQLMembership.h"
|
||
#include "DNSQLWorld.h"
|
||
#include "DNSQLManager.h"
|
||
#include "Log.h"
|
||
|
||
#if defined(_CH) || defined(_EU)
|
||
|
||
CDNBillingConnectionCH *g_pBillingConnection = NULL;
|
||
|
||
CDNBillingConnectionCH::CDNBillingConnectionCH(void)
|
||
{
|
||
m_bInitialize = FALSE;
|
||
}
|
||
|
||
CDNBillingConnectionCH::~CDNBillingConnectionCH(void)
|
||
{
|
||
}
|
||
|
||
bool CDNBillingConnectionCH::Init()
|
||
{
|
||
DN_ASSERT(!IsInitialize(), "Already Opened!");
|
||
|
||
GSCallbackFuncDef CallbackFunc;
|
||
::memset(&CallbackFunc, 0, sizeof(CallbackFunc));
|
||
CallbackFunc.CallbackAccountAuthenRes = CallbackAccountAuthenRes;
|
||
CallbackFunc.CallbackAccountLockRes = CallbackAccountLockRes;
|
||
CallbackFunc.CallbackAccountUnlockRes = CallbackAccountUnlockRes;
|
||
|
||
int nRetVal = GSInitialize(&CallbackFunc, "./Config/ClientConfig.ini", 1);
|
||
if (nRetVal)
|
||
return false;
|
||
|
||
m_bInitialize = true;
|
||
|
||
return true;
|
||
}
|
||
|
||
void CDNBillingConnectionCH::Final()
|
||
{
|
||
if (m_bInitialize) {
|
||
int nRetVal = Uninitialize(1);
|
||
if (nRetVal)
|
||
return;
|
||
}
|
||
|
||
m_bInitialize = false;
|
||
}
|
||
|
||
int CDNBillingConnectionCH::OnBalanceInquiry(CDNUserRepository *pUser)
|
||
{
|
||
int nRet = pUser->CheckSessID();
|
||
if (nRet != ERROR_NONE)
|
||
return nRet;
|
||
|
||
nRet = SendCheckBalance(pUser);
|
||
if (nRet != ERROR_NONE)
|
||
g_Log.Log(LogType::_ERROR, pUser, L"[CASH_BALANCEINQUIRY] CDNBillingConnectionCH::SendCheckBalance() - AccountName:%S Ret:%d\r\n", pUser->GetAccountName(), nRet);
|
||
|
||
return nRet;
|
||
}
|
||
|
||
int CDNBillingConnectionCH::OnBuy(CDNUserRepository *pUser)
|
||
{
|
||
pUser->SetOrderStep(SNDAORDERSTEP_WORK);
|
||
|
||
CDNBillingConnectionCH::TGoodsInfo Goods[MAX_GOOD_LEN] = { 0, };
|
||
int nCount = 0;
|
||
GetBuyGoodsInfo(pUser->GetBuyItemPart(), Goods, nCount);
|
||
|
||
int nRet = SendAccountLock(pUser, Goods, nCount, false);
|
||
if (nRet != ERROR_NONE){
|
||
g_Log.Log(LogType::_ERROR, pUser, L"[SendBillingPurchase] Ret : %d\r\n", nRet);
|
||
return nRet;
|
||
}
|
||
|
||
return ERROR_NONE;
|
||
}
|
||
|
||
int CDNBillingConnectionCH::OnPackageBuy(CDNUserRepository *pUser)
|
||
{
|
||
CDNBillingConnectionCH::TGoodsInfo Goods[MAX_GOOD_LEN] = { 0, };
|
||
|
||
Goods[0].nItemSN = pUser->GetPackageSN();
|
||
Goods[0].nPrice = pUser->m_nTotalPrice;
|
||
|
||
int nRet = SendAccountLock(pUser, Goods, 1, false);
|
||
if (nRet != ERROR_NONE){
|
||
g_Log.Log(LogType::_ERROR, pUser, L"[SendBillingPackage] Ret : %d\r\n", nRet);
|
||
return nRet;
|
||
}
|
||
|
||
return ERROR_NONE;
|
||
}
|
||
|
||
int CDNBillingConnectionCH::OnGift(CDNUserRepository *pUser)
|
||
{
|
||
pUser->SetOrderStep(SNDAORDERSTEP_WORK);
|
||
|
||
CDNBillingConnectionCH::TGoodsInfo Goods[MAX_GOOD_LEN] = { 0, };
|
||
int nCount = 0;
|
||
GetGiftGoodsInfo(pUser->GetGiftItemPart(), Goods, nCount);
|
||
|
||
int nRet = SendAccountLock(pUser, Goods, nCount, true);
|
||
if (nRet != ERROR_NONE){
|
||
g_Log.Log(LogType::_ERROR, pUser, L"[SendBillingPurchaseGift] Ret : %d\r\n", nRet);
|
||
return nRet;
|
||
}
|
||
|
||
return ERROR_NONE;
|
||
}
|
||
|
||
int CDNBillingConnectionCH::OnPackageGift(CDNUserRepository *pUser)
|
||
{
|
||
CDNBillingConnectionCH::TGoodsInfo Goods[MAX_GOOD_LEN] = { 0, };
|
||
|
||
Goods[0].nItemSN = pUser->GetPackageSN();
|
||
Goods[0].nPrice = pUser->m_nTotalPrice;
|
||
|
||
int nRet = SendAccountLock(pUser, Goods, 1, true);
|
||
if (nRet != ERROR_NONE){
|
||
g_Log.Log(LogType::_ERROR, pUser, L"[SendBillingPackage] Ret : %d\r\n", nRet);
|
||
return nRet;
|
||
}
|
||
|
||
return ERROR_NONE;
|
||
}
|
||
|
||
int CDNBillingConnectionCH::OnCoupon(CDNUserRepository *pUser)
|
||
{
|
||
return ERROR_GENERIC_INVALIDREQUEST;
|
||
}
|
||
|
||
int CDNBillingConnectionCH::SendCheckBalance(CDNUserRepository *pUser)
|
||
{
|
||
DN_ASSERT(NULL != pUser, "Invalid!");
|
||
DN_ASSERT(0 != pUser->GetAccountDBID(), "Invalid!");
|
||
DN_ASSERT(NULL != pUser->GetSessId(), "Invalid!"); // P.S.> CDNUserRepository <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD>Ǿ<EFBFBD><C7BE><EFBFBD> <20><>
|
||
|
||
// P.S.> <20><><EFBFBD><EFBFBD> <20>α״<CEB1> ȣ<><C8A3><EFBFBD>ο<EFBFBD><CEBF><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||
|
||
int nRetVal = -1;
|
||
|
||
GSBsipAccountAuthenReqDef Req;
|
||
::memset(&Req, 0, sizeof(Req));
|
||
|
||
Req.user_type = 1; // 1 : <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28>⺻<EFBFBD><E2BABB>)
|
||
Req.uid_type = 1; // 1 : PT ID (<28><><EFBFBD><EFBFBD>) / 2 : SNDA ID (<28><><EFBFBD><EFBFBD>) // <20>߱<EFBFBD><DFB1><EFBFBD> SNDA ID <20><><EFBFBD>ڸ<EFBFBD> <20><><EFBFBD>ڿ<EFBFBD><DABF><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ͽ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϸ<EFBFBD> <20><><EFBFBD><EFBFBD> PT ID <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ڸ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD>
|
||
_strcpy(Req.user_id, _countof(Req.user_id), pUser->GetAccountName(), (int)strlen(pUser->GetAccountName()));
|
||
_strcpy(Req.sess_id, _countof(Req.sess_id), pUser->GetSessId(), (int)strlen(pUser->GetSessId()) );
|
||
nRetVal = GetNewId(Req.order_id);
|
||
if (0 > nRetVal) {
|
||
return nRetVal;
|
||
}
|
||
Req.serv_id_player = -1; // <20><><EFBFBD><EFBFBD> <20><>ȣ, <20><><EFBFBD><EFBFBD>Ʈ<EFBFBD><C6AE> -1 <20><> <20><><EFBFBD><EFBFBD> <20><> Api<70><69> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> bsipconfig.ini <20>κ<EFBFBD><CEBA><EFBFBD> ȹ<><C8B9>
|
||
Req.area_id_player = -1; // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>ȣ, <20><><EFBFBD><EFBFBD>Ʈ<EFBFBD><C6AE> -1 <20><> <20><><EFBFBD><EFBFBD> <20><> Api<70><69> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> bsipconfig.ini <20>κ<EFBFBD><CEBA><EFBFBD> ȹ<><C8B9>
|
||
Req.group_id_player = -1; // <20><><EFBFBD><EFBFBD> <20><EFBFBD> <20><>ȣ, <20><><EFBFBD><EFBFBD>Ʈ<EFBFBD><C6AE> -1 <20><> <20><><EFBFBD><EFBFBD> <20><> Api<70><69> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> bsipconfig.ini <20>κ<EFBFBD><CEBA><EFBFBD> ȹ<><C8B9>
|
||
Req.endpoint_type = 1; // 1 : PC / 2 : <20><EFBFBD><DEB4><EFBFBD>
|
||
_strcpy(Req.endpoint_ip, _countof(Req.endpoint_ip), pUser->m_szIp, (int)strlen(pUser->m_szIp));
|
||
Req.platform_type = 1; // 1 : PC / 2 : EZHOME
|
||
{
|
||
SYSTEMTIME aCurTime;
|
||
::GetLocalTime(&aCurTime);
|
||
sprintf_s(Req.call_time, "%04d-%02d-%02d %02d:%02d:%02d", aCurTime.wYear, aCurTime.wMonth, aCurTime.wDay, aCurTime.wHour, aCurTime.wMinute, aCurTime.wSecond);
|
||
}
|
||
Req.indication_authen = 1; // 1 : <20>⺻<EFBFBD><E2BABB>
|
||
Req.pay_type = 0; // 0 ; <20>⺻<EFBFBD><E2BABB>
|
||
|
||
nRetVal = SendAccountAuthenRequest(&Req);
|
||
if (nRetVal < 0)
|
||
g_Log.Log(LogType::_ERROR, L"SendAccountAuthenRequest Ret:%d\r\n", nRetVal);
|
||
|
||
return ConvertResult(nRetVal);
|
||
}
|
||
|
||
int CDNBillingConnectionCH::SendAccountLock(CDNUserRepository *pUser, TGoodsInfo *GoodsList, int nGoodsCount, bool bGift)
|
||
{
|
||
if (!pUser) return ERROR_GENERIC_INVALIDREQUEST;
|
||
if (!GoodsList) return ERROR_GENERIC_INVALIDREQUEST;
|
||
if (nGoodsCount <= 0) return ERROR_GENERIC_INVALIDREQUEST;
|
||
|
||
int nRetVal = -1;
|
||
|
||
GSBsipAccountLockReq Req;
|
||
::memset(&Req, 0, sizeof(Req));
|
||
|
||
Req.pay_type = 3; // 3 : <20><><EFBFBD><EFBFBD> ij<><C4B3>
|
||
Req.app_type = bGift ? 174 : 17; // 17 : <20>⺻<EFBFBD><E2BABB>, 174: <20><><EFBFBD><EFBFBD>
|
||
Req.status = 2; // 2 : <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>¶<EFBFBD><C2B6><EFBFBD>
|
||
Req.couple_type = 2; // 2 : loose coupling, <20><><EFBFBD><EFBFBD><EFBFBD>ڰ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20>ִ<EFBFBD> ȭ<><C8AD>Ÿ<EFBFBD><C5B8>, <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><D7B6><EFBFBD><EFBFBD>忡<EFBFBD><E5BFA1> <20><>Ʈ<EFBFBD><C6AE>
|
||
Req.fee = 0; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
Req.lock_period = 0; // 0 : <20>⺻<EFBFBD><E2BABB>, 20<32><30>
|
||
Req.uid_type = 1; // 1 : PT ID (<28><><EFBFBD><EFBFBD>) / 2 : SNDA ID (<28><><EFBFBD><EFBFBD>) // <20>߱<EFBFBD><DFB1><EFBFBD> SNDA ID <20><><EFBFBD>ڸ<EFBFBD> <20><><EFBFBD>ڿ<EFBFBD><DABF><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ͽ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϸ<EFBFBD> <20><><EFBFBD><EFBFBD> PT ID <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ڸ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD>
|
||
_strcpy(Req.user_id, _countof(Req.user_id), pUser->GetAccountName(), (int)strlen(pUser->GetAccountName()));
|
||
_strcpy(Req.sess_id, _countof(Req.sess_id), pUser->GetSessId(), (int)strlen(pUser->GetSessId()));
|
||
Req.serv_id_player = -1; // <20><><EFBFBD><EFBFBD> <20><>ȣ, <20><><EFBFBD><EFBFBD>Ʈ<EFBFBD><C6AE> -1 <20><> <20><><EFBFBD><EFBFBD> <20><> Api<70><69> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> bsipconfig.ini <20>κ<EFBFBD><CEBA><EFBFBD> ȹ<><C8B9>
|
||
Req.area_id_player = -1; // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>ȣ, <20><><EFBFBD><EFBFBD>Ʈ<EFBFBD><C6AE> -1 <20><> <20><><EFBFBD><EFBFBD> <20><> Api<70><69> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> bsipconfig.ini <20>κ<EFBFBD><CEBA><EFBFBD> ȹ<><C8B9>
|
||
Req.group_id_player = -1; // <20><><EFBFBD><EFBFBD> <20><EFBFBD> <20><>ȣ, <20><><EFBFBD><EFBFBD>Ʈ<EFBFBD><C6AE> -1 <20><> <20><><EFBFBD><EFBFBD> <20><> Api<70><69> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> bsipconfig.ini <20>κ<EFBFBD><CEBA><EFBFBD> ȹ<><C8B9>
|
||
Req.endpoint_type = 1; // 1 : PC / 2 : <20><EFBFBD><DEB4><EFBFBD>
|
||
_strcpy(Req.endpoint_ip, _countof(Req.endpoint_ip), pUser->m_szIp, (int)strlen(pUser->m_szIp));
|
||
Req.platform_type = 1; // 1 : PC / 2 : EZHOME
|
||
{
|
||
SYSTEMTIME CurTime;
|
||
::GetLocalTime(&CurTime);
|
||
sprintf_s(Req.call_time, "%04d-%02d-%02d %02d:%02d:%02d", CurTime.wYear, CurTime.wMonth, CurTime.wDay, CurTime.wHour, CurTime.wMinute, CurTime.wSecond);
|
||
}
|
||
Req.indication_lock = 1; // 1 : <20>⺻<EFBFBD><E2BABB> (1 : Lock account, 2 : Reduce account, 5 : Reduce account and get coupon num)
|
||
Req.item_num = nGoodsCount; // ij<><C4B3> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>û<EFBFBD><C3BB> 1ȸ<31><C8B8> <20>ִ<EFBFBD> MAX_GOOD_LEN <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||
|
||
nRetVal = GetNewId(Req.context_id); // AccountLock / AccountUnlock <20><> <20><> <20><><EFBFBD><EFBFBD> <20>Ǿ<EFBFBD><C7BE><EFBFBD> <20><>
|
||
if (0 > nRetVal)
|
||
g_Log.Log(LogType::_ERROR, L"GetNewId Ret:%d\r\n", nRetVal);
|
||
|
||
pUser->SetContextId(Req.context_id);
|
||
|
||
nRetVal = GetNewId(Req.order_id); // AccountLock / AccountUnlock <20><>ȸ ȣ<><C8A3> <20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>Ǿ<EFBFBD><C7BE><EFBFBD> <20><>
|
||
if (0 > nRetVal)
|
||
g_Log.Log(LogType::_ERROR, L"GetNewId Ret:%d\r\n", nRetVal);
|
||
|
||
for (int i = 0; i < nGoodsCount; i++){
|
||
if (GoodsList[i].nItemSN <= 0) continue;
|
||
|
||
Req.goods_info[i].area_id_item = -1; // -1 : <20>⺻<EFBFBD><E2BABB>
|
||
Req.goods_info[i].serv_id_item = -1; // -1 : <20>⺻<EFBFBD><E2BABB>
|
||
Req.goods_info[i].group_id_item = -1; // -1 : <20>⺻<EFBFBD><E2BABB>
|
||
Req.goods_info[i].discount = 100; // 100 : <20>⺻<EFBFBD><E2BABB> (<28><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>)
|
||
Req.goods_info[i].item_num = 1; // ij<><C4B3> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>û<EFBFBD><C3BB> 1ȸ<31><C8B8> <20><><EFBFBD><EFBFBD>
|
||
Req.goods_info[i].item_id = GoodsList[i].nItemSN; // 1<><31>° ij<><C4B3> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> CommodityID <20><> (ItemID <20>ƴ<EFBFBD> BuyItem->BuyItem.CashItem.nItemID)
|
||
Req.goods_info[i].item_amount = GoodsList[i].nPrice;
|
||
DN_ASSERT(0 < Req.goods_info[i].item_amount, "Check!");
|
||
}
|
||
|
||
nRetVal = SendAccountLockRequest(&Req);
|
||
if (nRetVal < 0)
|
||
nRetVal = ConvertResult(nRetVal);
|
||
|
||
return nRetVal;
|
||
}
|
||
|
||
int CDNBillingConnectionCH::SendAccountUnlock(CDNUserRepository *pUser, bool bConfirm, const char *pContextId, TGoodsInfo *GoodsList, int nGoodsCount, bool bGift)
|
||
{
|
||
DN_ASSERT(NULL != pUser, "Invalid!");
|
||
DN_ASSERT(NULL != pContextId, "Invalid!");
|
||
|
||
// P.S.> <20><><EFBFBD><EFBFBD> <20>α״<CEB1> ȣ<><C8A3><EFBFBD>ο<EFBFBD><CEBF><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||
|
||
int nRetVal = -1;
|
||
|
||
GSBsipAccountUnlockReq Req;
|
||
Req.pay_type = 3; // 3 : <20><><EFBFBD><EFBFBD> ij<><C4B3>
|
||
Req.app_type = bGift ? 174 : 17; // 17: <20>⺻<EFBFBD><E2BABB> 174: <20><><EFBFBD><EFBFBD>
|
||
Req.status = 2; // 2 : <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>¶<EFBFBD><C2B6><EFBFBD>
|
||
Req.couple_type = 2; // 2 : loose coupling, <20><><EFBFBD><EFBFBD><EFBFBD>ڰ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20>ִ<EFBFBD> ȭ<><C8AD>Ÿ<EFBFBD><C5B8>, <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><D7B6><EFBFBD><EFBFBD>忡<EFBFBD><E5BFA1> <20><>Ʈ<EFBFBD><C6AE>
|
||
Req.responsable = 1; // 1 : <20>⺻<EFBFBD><E2BABB> (AccountUnlockRes <20><>ȯ <20><><EFBFBD><EFBFBD>)
|
||
Req.uid_type = 1; // 1 : PT ID (<28><><EFBFBD><EFBFBD>) / 2 : SNDA ID (<28><><EFBFBD><EFBFBD>) // <20>߱<EFBFBD><DFB1><EFBFBD> SNDA ID <20><><EFBFBD>ڸ<EFBFBD> <20><><EFBFBD>ڿ<EFBFBD><DABF><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ͽ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϸ<EFBFBD> <20><><EFBFBD><EFBFBD> PT ID <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ڸ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD>
|
||
_strcpy(Req.user_id, _countof(Req.user_id), pUser->GetAccountName(), (int)strlen(pUser->GetAccountName()));
|
||
_strcpy(Req.sess_id, _countof(Req.sess_id), pUser->GetSessId(), (int)strlen(pUser->GetSessId()));
|
||
_strcpy(Req.context_id, _countof(Req.context_id), pContextId, (int)strlen(pContextId));
|
||
{
|
||
nRetVal = GetNewId(Req.order_id); // AccountLock / AccountUnlock <20><>ȸ ȣ<><C8A3> <20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>Ǿ<EFBFBD><C7BE><EFBFBD> <20><>
|
||
if (0 > nRetVal)
|
||
g_Log.Log(LogType::_ERROR, L"GetNewId Ret:%d\r\n", nRetVal);
|
||
}
|
||
Req.serv_id_player = -1; // <20><><EFBFBD><EFBFBD> <20><>ȣ, <20><><EFBFBD><EFBFBD>Ʈ<EFBFBD><C6AE> -1 <20><> <20><><EFBFBD><EFBFBD> <20><> Api<70><69> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> bsipconfig.ini <20>κ<EFBFBD><CEBA><EFBFBD> ȹ<><C8B9>
|
||
Req.area_id_player = -1; // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>ȣ, <20><><EFBFBD><EFBFBD>Ʈ<EFBFBD><C6AE> -1 <20><> <20><><EFBFBD><EFBFBD> <20><> Api<70><69> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> bsipconfig.ini <20>κ<EFBFBD><CEBA><EFBFBD> ȹ<><C8B9>
|
||
Req.group_id_player = -1; // <20><><EFBFBD><EFBFBD> <20><EFBFBD> <20><>ȣ, <20><><EFBFBD><EFBFBD>Ʈ<EFBFBD><C6AE> -1 <20><> <20><><EFBFBD><EFBFBD> <20><> Api<70><69> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> bsipconfig.ini <20>κ<EFBFBD><CEBA><EFBFBD> ȹ<><C8B9>
|
||
Req.endpoint_type = 1; // 1 : PC / 2 : <20><EFBFBD><DEB4><EFBFBD>
|
||
_strcpy(Req.endpoint_ip, _countof(Req.endpoint_ip), pUser->m_szIp, (int)strlen(pUser->m_szIp));
|
||
|
||
Req.platform_type = 1; // 1 : PC / 2 : EZHOME
|
||
{
|
||
SYSTEMTIME aCurTime;
|
||
::GetLocalTime(&aCurTime);
|
||
sprintf_s(Req.call_time, "%04d-%02d-%02d %02d:%02d:%02d", aCurTime.wYear, aCurTime.wMonth, aCurTime.wDay, aCurTime.wHour, aCurTime.wMinute, aCurTime.wSecond);
|
||
}
|
||
Req.indication_unlock = 1; // 1 : <20>⺻<EFBFBD><E2BABB> (1 : Unlock account, 2 : Reduce account, 5 : Reduce account and get coupon num)
|
||
Req.item_num = nGoodsCount; // ij<><C4B3> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>û<EFBFBD><C3BB> 1ȸ<31><C8B8> <20>ִ<EFBFBD> MAX_GOOD_LEN <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||
Req.confirm = (bConfirm)?(1):(2); // ij<><C4B3> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> (1 : Ŀ<><C4BF> / 2 : <20>ѹ<EFBFBD>)
|
||
Req.amount = 0;
|
||
|
||
for (int i = 0; i < nGoodsCount; i++){
|
||
if (GoodsList[i].nItemSN <= 0) continue;
|
||
|
||
Req.goods_info[i].area_id_item = -1; // -1 : <20>⺻<EFBFBD><E2BABB>
|
||
Req.goods_info[i].serv_id_item = -1; // -1 : <20>⺻<EFBFBD><E2BABB>
|
||
Req.goods_info[i].group_id_item = -1; // -1 : <20>⺻<EFBFBD><E2BABB>
|
||
Req.goods_info[i].discount = 100; // 100 : <20>⺻<EFBFBD><E2BABB> (<28><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>)
|
||
Req.goods_info[i].item_num = 1; // ij<><C4B3> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>û<EFBFBD><C3BB> 1ȸ<31><C8B8> <20><><EFBFBD><EFBFBD>
|
||
Req.goods_info[i].item_id = GoodsList[i].nItemSN; // CommodityID <20><> (CashPackageTable <20><><EFBFBD><EFBFBD> <20>ٽ<EFBFBD> <20><><EFBFBD><EFBFBD> ij<><C4B3> <20><>ǰ<EFBFBD><C7B0> CommodityID <20><> <20><><EFBFBD><EFBFBD>)
|
||
Req.goods_info[i].item_amount = GoodsList[i].nPrice; // ij<><C4B3> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ݾ<EFBFBD>
|
||
Req.amount += Req.goods_info[i].item_amount;
|
||
}
|
||
|
||
nRetVal = SendAccountUnlockRequest(&Req);
|
||
if (nRetVal < 0)
|
||
nRetVal = ConvertResult(nRetVal);
|
||
|
||
return nRetVal;
|
||
}
|
||
|
||
void CDNBillingConnectionCH::CallbackAccountAuthenRes(GSBsipAccountAuthenResDef* pRes)
|
||
{
|
||
if (!pRes) return;
|
||
|
||
CDNUserRepository *pUser = g_pManager->GetUser(pRes->user_id);
|
||
if (!pUser){
|
||
g_Log.Log(LogType::_ERROR, L"[CallbackAccountAuthenRes] User NULL! (AccountName:%s) \r\n", pRes->user_id);
|
||
return;
|
||
}
|
||
|
||
UINT nBalance = 0;
|
||
int nResult = ConvertResult(pRes->result);
|
||
|
||
if (ERROR_NONE == nResult) {
|
||
if (3 == pRes->pay_type1 && // <20><><EFBFBD><EFBFBD>Ÿ<EFBFBD><C5B8> 3 : <20><><EFBFBD><EFBFBD> ij<><C4B3>
|
||
0 < pRes->balance1)
|
||
{
|
||
nBalance += pRes->balance1;
|
||
}
|
||
/*
|
||
if (3 == pRes->pay_type2 && // <20><><EFBFBD><EFBFBD>Ÿ<EFBFBD><C5B8> 3 : <20><><EFBFBD><EFBFBD> ij<><C4B3>
|
||
0 < pRes->balance2)
|
||
{
|
||
nBalance += pRes->balance2;
|
||
}
|
||
if (3 == pRes->pay_type3 && // <20><><EFBFBD><EFBFBD>Ÿ<EFBFBD><C5B8> 3 : <20><><EFBFBD><EFBFBD> ij<><C4B3>
|
||
0 < pRes->balance3)
|
||
{
|
||
nBalance += pRes->balance3;
|
||
}
|
||
if (3 == pRes->pay_type4 && // <20><><EFBFBD><EFBFBD>Ÿ<EFBFBD><C5B8> 3 : <20><><EFBFBD><EFBFBD> ij<><C4B3>
|
||
0 < pRes->balance4)
|
||
{
|
||
nBalance += pRes->balance4;
|
||
}
|
||
if (3 == pRes->pay_type5 && // <20><><EFBFBD><EFBFBD>Ÿ<EFBFBD><C5B8> 3 : <20><><EFBFBD><EFBFBD> ij<><C4B3>
|
||
0 < pRes->balance5)
|
||
{
|
||
nBalance += pRes->balance5;
|
||
}
|
||
*/
|
||
}
|
||
else {
|
||
g_Log.Log(LogType::_ERROR, pUser, L"[CallbackAccountAuthenRes] RetVal : %d\r\n", pRes->result); // 20100621
|
||
}
|
||
|
||
pUser->SendBalanceInquiry(nResult, nBalance);
|
||
}
|
||
|
||
void CDNBillingConnectionCH::CallbackAccountLockRes(GSBsipAccountLockResDef* pRes)
|
||
{
|
||
if (!pRes) return;
|
||
|
||
CDNUserRepository *pUser = g_pManager->GetUser(pRes->user_id);
|
||
if (!pUser) {
|
||
g_Log.Log(LogType::_ERROR, L"[CallbackAccountAuthenRes] User NULL! (AccountName:%s) \r\n", pRes->user_id);
|
||
return;
|
||
}
|
||
|
||
pUser->OnRecvAccountLock(pRes->result, pRes->context_id);
|
||
}
|
||
|
||
void CDNBillingConnectionCH::CallbackAccountUnlockRes(GSBsipAccountUnlockResDef* pRes)
|
||
{
|
||
if (!pRes) return;
|
||
|
||
CDNUserRepository *pUser = g_pManager->GetUser(pRes->user_id);
|
||
if (!pUser) {
|
||
g_Log.Log(LogType::_ERROR, L"[CallbackAccountAuthenRes] User NULL! (AccountName:%s) \r\n", pRes->user_id);
|
||
return;
|
||
}
|
||
|
||
pUser->OnRecvAccountUnlock(pRes->result, pRes->context_id, pRes->order_id, pRes->balance);
|
||
}
|
||
|
||
void CDNBillingConnectionCH::GetBuyGoodsInfo(CDNUserRepository::TBuyItemPart *pBuy, TGoodsInfo *GoodsList, int &nTotalCount)
|
||
{
|
||
if (!pBuy) return;
|
||
nTotalCount = 0;
|
||
|
||
for (int i = 0; i < MAX_GOOD_LEN; i++){
|
||
if (!pBuy->pPartItem[i]) continue;
|
||
|
||
GoodsList[nTotalCount].nItemSN = pBuy->pPartItem[i]->BuyItem.nItemSN;
|
||
GoodsList[nTotalCount].nPrice = pBuy->pPartItem[i]->nPrice;
|
||
nTotalCount++;
|
||
}
|
||
}
|
||
|
||
void CDNBillingConnectionCH::GetGiftGoodsInfo(CDNUserRepository::TGiftItemPart *pGift, TGoodsInfo *GoodsList, int &nTotalCount)
|
||
{
|
||
if (!pGift) return;
|
||
nTotalCount = 0;
|
||
|
||
for (int i = 0; i < MAX_GOOD_LEN; i++){
|
||
if (!pGift->pPartItem[i]) continue;
|
||
|
||
GoodsList[nTotalCount].nItemSN = pGift->pPartItem[i]->GiftItem.nItemSN;
|
||
GoodsList[nTotalCount].nPrice = pGift->pPartItem[i]->nPrice;
|
||
nTotalCount++;
|
||
}
|
||
}
|
||
|
||
int CDNBillingConnectionCH::ConvertResult(int nBillingResult)
|
||
{
|
||
if (0 <= nBillingResult) {
|
||
return ERROR_NONE;
|
||
}
|
||
|
||
switch(nBillingResult) {
|
||
case -106908: // the account is not exist or the balance is 0 // AccountAuthenRes <20><> <20><><EFBFBD><EFBFBD>
|
||
// case -106114: // user balance is 0
|
||
// case -106718: // user balance is 0
|
||
return ERROR_NONE;
|
||
|
||
case -100201: return ERROR_SHANDAAUTHOR_100201; // -100201 = PT <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> ptId format error
|
||
case -100202: return ERROR_SHANDAAUTHOR_100202; // -100202 <09><><EFBFBD><EFBFBD> ID <20><><EFBFBD><EFBFBD> appId error
|
||
case -100203: return ERROR_SHANDAAUTHOR_100203; // -100203 <09><>Ƽ<EFBFBD><C6BC> ID <20><><EFBFBD><EFBFBD> areaId error
|
||
case -100206: return ERROR_SHANDAAUTHOR_100206; // -100206 <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> Account not exist
|
||
case -100207: return ERROR_SHANDAAUTHOR_100207; // -100207 <09><>Ƽ<EFBFBD><C6BC> ID <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> areaId not exist
|
||
case -100208: return ERROR_SHANDAAUTHOR_100208; // -100208 <09><><EFBFBD><EFBFBD> ID <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> appId not exist
|
||
case -100210: return ERROR_SHANDAAUTHOR_100210; // -100210 <09><>Ÿ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ã<><C3A3> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> other error
|
||
case -100213: return ERROR_SHANDAAUTHOR_100213; // -100213 sdid <20>ʹ<EFBFBD> <20><><EFBFBD>ų<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڰ<EFBFBD> <20><><EFBFBD>Ե<EFBFBD> sdId format error
|
||
case -100299: return ERROR_SHANDAAUTHOR_100299; // -100299 DB <20><><EFBFBD><EFBFBD> DB error
|
||
case -120101: return ERROR_SHANDAAUTHOR_120101; // -120101 <09><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ʹ<EFBFBD> <20><><EFBFBD>ų<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڰ<EFBFBD> <20><><EFBFBD>Ե<EFBFBD> sndaID format error
|
||
case -120102: return ERROR_SHANDAAUTHOR_120102; // -120102 PT <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ʹ<EFBFBD> <20><><EFBFBD>ų<EFBFBD> <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ptId format error
|
||
case -120103: return ERROR_SHANDAAUTHOR_120103; // -120103 <09><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ǵ<EFBFBD> accountid <20><><EFBFBD><EFBFBD> accountID error
|
||
case -120104: return ERROR_SHANDAAUTHOR_120104; // -120104 <09>ܾ<EFBFBD> <20><><EFBFBD><EFBFBD> balance error
|
||
case -120105: return ERROR_SHANDAAUTHOR_120105; // -120105 <09><><EFBFBD><EFBFBD> Ÿ<><C5B8> <20><><EFBFBD><EFBFBD> paytypeId error
|
||
case -120108: return ERROR_SHANDAAUTHOR_120108; // -120108 LBS <20><><EFBFBD><EFBFBD> DB<44><42> <20>ش<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ͱ<EFBFBD> <20><><EFBFBD><EFBFBD> no data in LBS DB
|
||
case -120109: return ERROR_SHANDAAUTHOR_120109; // -120109 <09><>Ÿ <20><><EFBFBD><EFBFBD> other errror
|
||
case -120111: return ERROR_SHANDAAUTHOR_120111; // -120111 <09><><EFBFBD><EFBFBD> ID <20><><EFBFBD><EFBFBD> appId error
|
||
case -120112: return ERROR_SHANDAAUTHOR_120112; // -120112 <09><>Ʈ<EFBFBD><C6AE>ũ <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> Net status error
|
||
case -120113: return ERROR_SHANDAAUTHOR_120113; // -120113 <09><EFBFBD><DEBD><EFBFBD> <20><><EFBFBD><EFBFBD>(<28><EFBFBD><DEBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>) data body error
|
||
case -129999: return ERROR_SHANDAAUTHOR_129999; // -129999 DB <20><><EFBFBD><EFBFBD> DB error
|
||
// Account
|
||
case -102601: return ERROR_SHANDAACCOUNT_102601; // -102601 <09><><EFBFBD><EFBFBD> <20><EFBFBD><DEBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> Status error
|
||
case -102602: return ERROR_SHANDAACCOUNT_102602; // -102602 <09><><EFBFBD><EFBFBD> Ÿ<><C5B8> <20><><EFBFBD><EFBFBD> Paytype error
|
||
case -102603: return ERROR_SHANDAACCOUNT_102603; // -102603 <09><><EFBFBD><EFBFBD> <20>ݾ<EFBFBD><DDBE><EFBFBD> 0<><30><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> Amount error
|
||
case -102613: return ERROR_SHANDAACCOUNT_102613; // -102613 <09><>Ŷ log <20>ð<EFBFBD><C3B0><EFBFBD> 5<><35><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Calltime error
|
||
case -102604: return ERROR_SHANDAACCOUNT_102604; // -102604 PT <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> Account not exist
|
||
case -102605: return ERROR_SHANDAACCOUNT_102605; // -102605 <09><><EFBFBD><EFBFBD> <20><>Ƽ<EFBFBD><C6BC> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> balance not exist
|
||
case -102609: return ERROR_SHANDAACCOUNT_102609; // -102609 sdid <20>ʹ<EFBFBD> <20><><EFBFBD>ų<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڰ<EFBFBD> <20><><EFBFBD>Ե<EFBFBD> sdId format error
|
||
case -102610: return ERROR_SHANDAACCOUNT_102610; // -102610 <09>Һ<EFBFBD> Ÿ<><C5B8> <20><><EFBFBD><EFBFBD> appType error
|
||
case -102611: return ERROR_SHANDAACCOUNT_102611; // -102611 Ŀ<>ø<EFBFBD> Ÿ<><C5B8> <20><><EFBFBD><EFBFBD>, <20>ݵ<EFBFBD><DDB5><EFBFBD> 1,2 <20><><EFBFBD><EFBFBD> <20><> coupletype error
|
||
case -102612: return ERROR_SHANDAACCOUNT_102612; // -102612 begintime<6D><65> endtime<6D><65><EFBFBD><EFBFBD> <20>۰ų<DBB0> <20><><EFBFBD>ƾ<EFBFBD> <20><> begintime must samll to endtime
|
||
case -102615: return ERROR_SHANDAACCOUNT_102615; // -102615 amount = 0 Amount is 0
|
||
case -102617: return ERROR_SHANDAACCOUNT_102617; // -102617 <09><>Ÿ <20><><EFBFBD><EFBFBD> other error
|
||
case -102699: return ERROR_SHANDAACCOUNT_102699; // -102699 DB <20><><EFBFBD><EFBFBD> DB error
|
||
case -120201: return ERROR_SHANDAACCOUNT_120201; // -120201 <09><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ʹ<EFBFBD> <20><><EFBFBD>ų<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڰ<EFBFBD> <20><><EFBFBD>Ե<EFBFBD> sndaID format error
|
||
case -120202: return ERROR_SHANDAACCOUNT_120202; // -120202 PT <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ʹ<EFBFBD> <20><><EFBFBD>ų<EFBFBD> <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ptId format error
|
||
case -120203: return ERROR_SHANDAACCOUNT_120203; // -120203 <09><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> Amount error
|
||
case -120204: return ERROR_SHANDAACCOUNT_120204; // -120204 <09><>Ŷ <20><><EFBFBD>ε<EFBFBD> <20>ð<EFBFBD><C3B0><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> period error
|
||
case -120205: return ERROR_SHANDAACCOUNT_120205; // -120205 <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> ID not exist
|
||
case -120206: return ERROR_SHANDAACCOUNT_120206; // -120206 <09><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> no union data
|
||
case -120207: return ERROR_SHANDAACCOUNT_120207; // -120207 <09><><EFBFBD><EFBFBD> Ÿ<><C5B8> <20><><EFBFBD><EFBFBD> paytypeId error
|
||
case -120208: return ERROR_SHANDAACCOUNT_120208; // -120208 <09><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> sndaID not exist
|
||
case -120209: return ERROR_SHANDAACCOUNT_120209; // -120209 <09><>Ÿ <20>Ķ<EFBFBD><C4B6><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> other param format error
|
||
case -120210: return ERROR_SHANDAACCOUNT_120210; // -120210 orderid <20>ߺ<EFBFBD> orderid error
|
||
case -120211: return ERROR_SHANDAACCOUNT_120211; // -120211 serviceid <20><><EFBFBD><EFBFBD> appId error
|
||
case -120212: return ERROR_SHANDAACCOUNT_120212; // -120212 <09><>Ʈ<EFBFBD><C6AE>ũ <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> net status error
|
||
case -120213: return ERROR_SHANDAACCOUNT_120213; // -120213 cache flag <20><><EFBFBD><EFBFBD> flag error
|
||
case -120214: return ERROR_SHANDAACCOUNT_120214; // -120214 <09><><EFBFBD><EFBFBD> <20>Ķ<EFBFBD><C4B6><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> status error
|
||
case -120215: return ERROR_SHANDAACCOUNT_120215; // -120215 <09>Ѱ<EFBFBD> sessionid<69><64> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> Data repeat
|
||
case -120216: return ERROR_SHANDAACCOUNT_120216; // -120216 ptid<69><64> sessionid<69><64> <20><>ġ<EFBFBD><C4A1><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> ptId and sessid error
|
||
case -120217: return ERROR_SHANDAACCOUNT_120217; // -120217 PT <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> ptID not exist
|
||
// case -129999: return ERROR_SHANDAACCOUNT_129999; // -129999 <09>ý<EFBFBD><C3BD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>sqlcode other error
|
||
// <20><><EFBFBD><EFBFBD> <20><><EFBFBD>ڰ<EFBFBD><DAB0><EFBFBD>
|
||
case -200101: return ERROR_SHANDABILLING_200101; // SDIDLONGER -200101 <09>Է±<D4B7><C2B1><EFBFBD> <20>ʰ<EFBFBD> long
|
||
case -200102: return ERROR_SHANDABILLING_200102; // SDIDNULL -200102 <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> null
|
||
case -200103: return ERROR_SHANDABILLING_200103; // SDIDILLEGAL -200103 <09>ҹ<EFBFBD> <20><><EFBFBD>ڿ<EFBFBD><DABF><EFBFBD> <20><><EFBFBD>Ե<EFBFBD> format error
|
||
case -200199: return ERROR_SHANDABILLING_200199; // SDIDOTHER -200199 <09><>Ÿ <20><><EFBFBD><EFBFBD> other error
|
||
// <20><><EFBFBD><EFBFBD> PT <20><><EFBFBD><EFBFBD>
|
||
case -200201: return ERROR_SHANDABILLING_200201; // PTIDLONGER -200201 <09>Է±<D4B7><C2B1><EFBFBD> <20>ʰ<EFBFBD> long
|
||
case -200202: return ERROR_SHANDABILLING_200202; // PTIDNULL -200202 <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> null
|
||
case -200203: return ERROR_SHANDABILLING_200203; // PTIDILLEGAL -200203 <09>ҹ<EFBFBD> <20><><EFBFBD>ڿ<EFBFBD><DABF><EFBFBD> <20><><EFBFBD>Ե<EFBFBD> format error
|
||
case -200204: return ERROR_SHANDABILLING_200204; // PTIDALLNUM -200204 <09><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD>ڰų<DAB0> <20><><EFBFBD>ڷ<EFBFBD> <20><><EFBFBD>۵<EFBFBD> format error
|
||
case -200299: return ERROR_SHANDABILLING_200299; // PTIDOTHER -200299 <09><>Ÿ <20><><EFBFBD><EFBFBD> other error
|
||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ÿ<><C5B8> ID
|
||
case -200301: return ERROR_SHANDABILLING_200301; // SERVIDLONGER -200301 <09>Է±<D4B7><C2B1><EFBFBD> <20>ʰ<EFBFBD> long
|
||
case -200302: return ERROR_SHANDABILLING_200302; // SERVIDNULL -200302 <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> null
|
||
case -200303: return ERROR_SHANDABILLING_200303; // SERVIDILLEGAL -200303 <09>ҹ<EFBFBD> <20><><EFBFBD>ڿ<EFBFBD><DABF><EFBFBD> <20><><EFBFBD>Ե<EFBFBD> format error
|
||
case -200399: return ERROR_SHANDABILLING_200399; // SERVIDOTHER -200399 <09><>Ÿ <20><><EFBFBD><EFBFBD> other error
|
||
// <20><><EFBFBD><EFBFBD> <20><>Ƽ<EFBFBD><C6BC> ID
|
||
case -200401: return ERROR_SHANDABILLING_200401; // AREAIDLONGER -200401 <09>Է±<D4B7><C2B1><EFBFBD> <20>ʰ<EFBFBD> long
|
||
case -200402: return ERROR_SHANDABILLING_200402; // AREAIDNULL -200402 <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> null
|
||
case -200403: return ERROR_SHANDABILLING_200403; // AREAIDILLEGAL -200403 <09>ҹ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>Ե<EFBFBD> format error
|
||
case -200499: return ERROR_SHANDABILLING_200499; // AREAIDOTHER -200499 <09><>Ÿ <20><><EFBFBD><EFBFBD> other error
|
||
// <20><><EFBFBD><EFBFBD> id
|
||
case -200501: return ERROR_SHANDABILLING_200501; // SESSIDLONGER -200501 <09>Է±<D4B7><C2B1><EFBFBD> <20>ʰ<EFBFBD> long
|
||
case -200502: return ERROR_SHANDABILLING_200502; // SESSIDNULL -200502 <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> null
|
||
case -200503: return ERROR_SHANDABILLING_200503; // SESSIDILLEGAL -200503 <09>ҹ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>Ե<EFBFBD> format error
|
||
case -200504: return ERROR_SHANDABILLING_200504; // SESSIDERRFORMAT -200504 <09><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>(<28><><EFBFBD><EFBFBD> <20>ҹ<EFBFBD>) format error
|
||
case -200599: return ERROR_SHANDABILLING_200599; // SESSIDOTHER -200599 <09><>Ÿ <20><><EFBFBD><EFBFBD> other error
|
||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŷ id
|
||
case -200601: return ERROR_SHANDABILLING_200601; // UNIQUEIDLONGER -200601 <09>Է±<D4B7><C2B1><EFBFBD> <20>ʰ<EFBFBD> long
|
||
case -200602: return ERROR_SHANDABILLING_200602; // UNIQUEIDNULL -200602 <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> null
|
||
case -200603: return ERROR_SHANDABILLING_200603; // UNIQUEIDILLEGAL -200603 <09>ҹ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>Ե<EFBFBD> format error
|
||
case -200604: return ERROR_SHANDABILLING_200604; // UNIQUEIDERRFORMAT -200604 <09><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>(<28><><EFBFBD><EFBFBD> <20>ҹ<EFBFBD>) format error
|
||
case -200605: return ERROR_SHANDABILLING_200605; // UNIQUEIDREPEAT -200605 uniqueid <20>ߺ<EFBFBD><DFBA><EFBFBD> id repeat
|
||
case -200699: return ERROR_SHANDABILLING_200699; // UNIQUEIDOTHER -200699 <09><>Ÿ <20><><EFBFBD><EFBFBD> null
|
||
// <20><><EFBFBD><EFBFBD> ID
|
||
case -200801: return ERROR_SHANDABILLING_200801; // GROUPIDLONGER -200801 <09>Է±<D4B7><C2B1><EFBFBD> <20>ʰ<EFBFBD> long
|
||
case -200802: return ERROR_SHANDABILLING_200802; // GROUPIDNULL -200802 <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> null
|
||
case -200803: return ERROR_SHANDABILLING_200803; // GROUPIDILLEGAL -200803 <09>ҹ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>Ե<EFBFBD> format error
|
||
case -200899: return ERROR_SHANDABILLING_200899; // GROUPIDOTHER -200899 <09><>Ÿ <20><><EFBFBD><EFBFBD> other error
|
||
// <20><><EFBFBD>۽ð<DBBD>
|
||
case -201301: return ERROR_SHANDABILLING_201301; // BEGINTIMELONGER -201301 <09>Է±<D4B7><C2B1><EFBFBD> <20>ʰ<EFBFBD> long
|
||
case -201302: return ERROR_SHANDABILLING_201302; // BEGINTIMENULL -201302 <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> null
|
||
case -201303: return ERROR_SHANDABILLING_201303; // BEGINTIMEILLEGAL -201303 <09>ҹ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>Ե<EFBFBD> format error
|
||
case -201304: return ERROR_SHANDABILLING_201304; // BEGINTIMEERRLONGFOMAT -201304 <09><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>, YYYY-MM-DD hh:mi:ss <20><><EFBFBD><EFBFBD><EFBFBD>̾<EFBFBD><CCBE><EFBFBD> <20><> format error
|
||
case -201305: return ERROR_SHANDABILLING_201305; // BEGINTIMEERRSHORTFOMAT -201305 <09>ҹ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>Եʣ<D4B5>YYYY-MM-DD <20><><EFBFBD><EFBFBD><EFBFBD>̾<EFBFBD><CCBE><EFBFBD> <20><> format error
|
||
case -201399: return ERROR_SHANDABILLING_201399; // BEGINTIMEOTHER -201399 <09><>Ÿ <20><><EFBFBD><EFBFBD> other error
|
||
// <20><><EFBFBD><EFBFBD><EFBFBD>ð<EFBFBD>
|
||
case -201401: return ERROR_SHANDABILLING_201401; // ENDTIMELONGER -201401 <09>Է±<D4B7><C2B1><EFBFBD> <20>ʰ<EFBFBD> long
|
||
case -201402: return ERROR_SHANDABILLING_201402; // ENDTIMENULL -201402 <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> null
|
||
case -201403: return ERROR_SHANDABILLING_201403; // ENDTIMEILLEGAL -201403 <09>ҹ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>Ե<EFBFBD> format error
|
||
case -201404: return ERROR_SHANDABILLING_201404; // ENDTIMEERRLONGFOMAT -201404 <09><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>, YYYY-MM-DD hh:mi:ss <20><><EFBFBD><EFBFBD><EFBFBD>̾<EFBFBD><CCBE><EFBFBD> <20><> format error
|
||
case -201405: return ERROR_SHANDABILLING_201405; // ENDTIMEERRSHORTFOMAT -201405 <09>ҹ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>Եʣ<D4B5>YYYY-MM-DD <20><><EFBFBD><EFBFBD><EFBFBD>̾<EFBFBD><CCBE><EFBFBD> <20><> format error
|
||
case -201406: return ERROR_SHANDABILLING_201406; // ENDTIMEERRVALUE -201406 <09><><EFBFBD><EFBFBD><EFBFBD>ð<EFBFBD><C3B0><EFBFBD> <20><><EFBFBD>۽ð<DBBD><C3B0><EFBFBD><EFBFBD><EFBFBD> ŭ error value
|
||
case -201499: return ERROR_SHANDABILLING_201499; // ENDTIMEOTHER -201499 <09><>Ÿ <20><><EFBFBD><EFBFBD> other error
|
||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>Ŷ id
|
||
case -201501: return ERROR_SHANDABILLING_201501; // ORDERIDLONGER -201501 <09>Է±<D4B7><C2B1><EFBFBD> <20>ʰ<EFBFBD> long
|
||
case -201502: return ERROR_SHANDABILLING_201502; // ORDERIDNULL -201502 <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> null
|
||
case -201503: return ERROR_SHANDABILLING_201503; // ORDERIDILLEGAL -201503 <09>ҹ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>Ե<EFBFBD> format error
|
||
case -201504: return ERROR_SHANDABILLING_201504; // ORDERIDERRFORMAT -201504 <09><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ҹ<EFBFBD><D2B9><EFBFBD> format error
|
||
case -201505: return ERROR_SHANDABILLING_201505; // ORDERIDREPEAT -201505 orderid<69>ߺ<EFBFBD> ID repeat
|
||
case -201599: return ERROR_SHANDABILLING_201599; // ORDERIDOTHER -201599 <09><>Ÿ <20><><EFBFBD><EFBFBD> other error
|
||
// <20><><EFBFBD><EFBFBD> Ÿ<><C5B8>
|
||
case -201901: return ERROR_SHANDABILLING_201901; // PAYTYPELONGER -201901 <09>Է±<D4B7><C2B1><EFBFBD> <20>ʰ<EFBFBD> long
|
||
case -201902: return ERROR_SHANDABILLING_201902; // PAYTYPENULL -201902 <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> null
|
||
case -201903: return ERROR_SHANDABILLING_201903; // PAYTYPEILLEGAL -201903 <09>ҹ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>Ե<EFBFBD> format error
|
||
case -201904: return ERROR_SHANDABILLING_201904; // PAYTYPEERRVALUE -201904 <09>Է<EFBFBD> <20><><EFBFBD><EFBFBD>(Ư<><C6AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>) error value
|
||
case -201999: return ERROR_SHANDABILLING_201999; // PAYTYPEOTHER -201999 <09><>Ÿ <20><><EFBFBD><EFBFBD> other error
|
||
// <20>Һ<EFBFBD> Ÿ<><C5B8>
|
||
case -202001: return ERROR_SHANDABILLING_202001; // APPTYPELONGER -202001 <09>Է±<D4B7><C2B1><EFBFBD> <20>ʰ<EFBFBD> long
|
||
case -202002: return ERROR_SHANDABILLING_202002; // APPTYPENULL -202002 <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> null
|
||
case -202003: return ERROR_SHANDABILLING_202003; // APPTYPEILLEGAL -202003 <09>ҹ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>Ե<EFBFBD> format error
|
||
case -202004: return ERROR_SHANDABILLING_202004; // APPTYPEERRVALUE -202004 <09>Է<EFBFBD> <20><><EFBFBD><EFBFBD>(Ư<><C6AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>) error value
|
||
case -202099: return ERROR_SHANDABILLING_202099; // APPTYPEOTHER -202099 <09><>Ÿ <20><><EFBFBD><EFBFBD> other error
|
||
// Ŀ<>ø<EFBFBD> Ÿ<><C5B8>
|
||
case -202101: return ERROR_SHANDABILLING_202101; // COUPLETYPELONGER -202101 <09>Է±<D4B7><C2B1><EFBFBD> <20>ʰ<EFBFBD> long
|
||
case -202102: return ERROR_SHANDABILLING_202102; // COUPLETYPENULL -202102 <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> null
|
||
case -202103: return ERROR_SHANDABILLING_202103; // COUPLETYPEILLEGAL -202103 <09>ҹ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>Ե<EFBFBD> format error
|
||
case -202104: return ERROR_SHANDABILLING_202104; // COUPLETYPEERRVALUE -202104 <09>Է<EFBFBD> <20><><EFBFBD><EFBFBD>(Ư<><C6AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>) error value
|
||
case -202199: return ERROR_SHANDABILLING_202199; // COUPLETYPEOTHER -202199 <09><>Ÿ <20><><EFBFBD><EFBFBD> other error
|
||
// <20>ݾ<EFBFBD>
|
||
case -202201: return ERROR_SHANDABILLING_202201; // AMOUNTLONGER -202201 <09>Է±<D4B7><C2B1><EFBFBD> <20>ʰ<EFBFBD> long
|
||
case -202202: return ERROR_SHANDABILLING_202202; // AMOUNTNULL -202202 <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> null
|
||
case -202203: return ERROR_SHANDABILLING_202203; // AMOUNTILLEGAL -202203 <09>ҹ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>Ե<EFBFBD> format error
|
||
case -202204: return ERROR_SHANDABILLING_202204; // AMOUNTNEGATIVE -202204 <09><><EFBFBD>̳ʽ<CCB3> <20><><EFBFBD><EFBFBD> <20>Է<EFBFBD> error value
|
||
case -202205: return ERROR_SHANDABILLING_202205; // AMOUNTZERO -202205 0<><30> <20>Է<EFBFBD> error value
|
||
case -202206: return ERROR_SHANDABILLING_202206; // AMOUNTERRVALUE -202206 <09>Է<EFBFBD><D4B7><EFBFBD> <20><><EFBFBD>ڰ<EFBFBD> <20>ʹ<EFBFBD> ŭ error value
|
||
case -202299: return ERROR_SHANDABILLING_202299; // AMOUNTOTHER -202299 <09><>Ÿ <20><><EFBFBD><EFBFBD> other error
|
||
// <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
case -202301: return ERROR_SHANDABILLING_202301; // DISCOUNTLONGER -202301 <09>Է±<D4B7><C2B1><EFBFBD> <20>ʰ<EFBFBD> long
|
||
case -202302: return ERROR_SHANDABILLING_202302; // DISCOUNTNULL -202302 <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> null
|
||
case -202303: return ERROR_SHANDABILLING_202303; // DISCOUNTILLEGAL -202303 <09>ҹ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>Ե<EFBFBD> format error
|
||
case -202399: return ERROR_SHANDABILLING_202399; // DISCOUNTOTHER -202399 <09><>Ÿ <20><><EFBFBD><EFBFBD> other error
|
||
// Ŭ<><C5AC><EFBFBD>̾<EFBFBD>Ʈ IP <20>ּ<EFBFBD>
|
||
case -202501: return ERROR_SHANDABILLING_202501; // IPLONGER -202501 <09>Է±<D4B7><C2B1><EFBFBD> <20>ʰ<EFBFBD> long
|
||
case -202502: return ERROR_SHANDABILLING_202502; // IPNULL -202502 <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> null
|
||
case -202503: return ERROR_SHANDABILLING_202503; // IPILLEGAL -202503 <09>ҹ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>Ե<EFBFBD> format error
|
||
case -202504: return ERROR_SHANDABILLING_202504; // IPERRVALUE -202504 <09>Է<EFBFBD> <20><><EFBFBD><EFBFBD>(<28><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>) error value
|
||
case -202599: return ERROR_SHANDABILLING_202599; // IPOTHER -202599 <09><>Ÿ <20><><EFBFBD><EFBFBD> other error
|
||
// <20><><EFBFBD><EFBFBD>
|
||
case -204401: return ERROR_SHANDABILLING_204401; // STATUSLONGER -204401 <09>Է±<D4B7><C2B1><EFBFBD> <20>ʰ<EFBFBD> long
|
||
case -204402: return ERROR_SHANDABILLING_204402; // STATUSNULL -204402 <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> null
|
||
case -204403: return ERROR_SHANDABILLING_204403; // STATUSILLEGAL -204403 <09>ҹ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>Ե<EFBFBD> format error
|
||
case -204404: return ERROR_SHANDABILLING_204404; // STATUSERRVALUE -204404 <09>Է<EFBFBD> <20><><EFBFBD><EFBFBD>(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>ġ<EFBFBD><C4A1><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>) error value
|
||
case -204499: return ERROR_SHANDABILLING_204499; // STATUSOTHER -204499 <09><>Ÿ <20><><EFBFBD><EFBFBD> other error
|
||
// <20><><EFBFBD><EFBFBD> uid
|
||
case -200211: return ERROR_SHANDABILLING_200211; // UIDLONGER -200211 <09>Է±<D4B7><C2B1><EFBFBD> <20>ʰ<EFBFBD> long
|
||
// CBS<42><53><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ó<><C3B3>
|
||
case -300001: return ERROR_SHANDABILLING_300001; // CBSDB_IS_DISCONNECT -300001 cbs DB <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> sql connect error
|
||
case -300102: return ERROR_SHANDABILLING_300102; // CBSDB_PROC_ERROR -300002 cbs sql <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> sql error
|
||
case -300103: return ERROR_SHANDABILLING_300103; // UNAUTHOR_OPERATION -300003 <09><><EFBFBD><EFBFBD> <20>ο<EFBFBD><CEBF><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>û <20><>Ŷ Ÿ<><C5B8> unauthor
|
||
case -300201: return ERROR_SHANDABILLING_300201; // AMOUNT_NOT_MATCHING -300201 <09>ݾ<EFBFBD> <20><><EFBFBD><EFBFBD>ġ amount error
|
||
case -390001: return ERROR_SHANDABILLING_390001; // RES_TIMEOUT -390001 <09><><EFBFBD><EFBFBD> <20>ð<EFBFBD> <20>ʰ<EFBFBD> response time out
|
||
// <20><><EFBFBD><EFBFBD> <20><>ȯ-API
|
||
case -401001: return ERROR_SHANDABILLING_401001; // SOCKDISCONNECT -401001 socket <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> socket disconnect
|
||
case -401002: return ERROR_SHANDABILLING_401002; // SOCKIP_OR_PORTERR -401002 <09><><EFBFBD><EFBFBD> ip/port <20><><EFBFBD><EFBFBD> IP Port error
|
||
case -401003: return ERROR_SHANDABILLING_401003; // SOCKCONNECTFAIL -401003 socket <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> socket connect fail
|
||
case -401004: return ERROR_SHANDABILLING_401004; // SOCKLOCALFAILED -401004 <09><><EFBFBD><EFBFBD> <20>ʱ<EFBFBD>ȭ SOCKET <20><><EFBFBD><EFBFBD> initial fail
|
||
case -401005: return ERROR_SHANDABILLING_401005; // SNDBUF_OVERFLOW -401005 <09><EFBFBD> buffer overflow send buffer overflow
|
||
case -401006: return ERROR_SHANDABILLING_401006; // RCVBUF_OVERFLOW -401006 <09><><EFBFBD><EFBFBD> buffer overflow recive buffer overflow
|
||
case -401007: return ERROR_SHANDABILLING_401007; // TMOBUF_OVERFLOW -401007 timeout buffer overflow timeout buffer overflow
|
||
case -401008: return ERROR_SHANDABILLING_401008; // LSOCKDISCONNECT -401008 <09><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> socket error
|
||
case -401011: return ERROR_SHANDABILLING_401011; // NOINITCLIENT -401011 Ŭ<><C5AC><EFBFBD>̾<EFBFBD>Ʈ <20>ʱ<EFBFBD>ȭ<EFBFBD><C8AD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> client without initial
|
||
// QUEUE ó<><C3B3>
|
||
case -402001: return ERROR_SHANDABILLING_402001; // QUEUECACHEFULL -402001 <09><><EFBFBD><EFBFBD> cache full queue cache full
|
||
case -402002: return ERROR_SHANDABILLING_402002; // QUEUELOCKERROR -402002 <09><><EFBFBD><EFBFBD> lock <20><><EFBFBD><EFBFBD> queue lock error
|
||
case -402003: return ERROR_SHANDABILLING_402003; // QUEUEOPERATEERROR -402003 <09><><EFBFBD><EFBFBD> Push/Pop <20><><EFBFBD><EFBFBD> <20>Ķ<EFBFBD><C4B6><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>(<28><> pointer) queue param error
|
||
case -402004: return ERROR_SHANDABILLING_402004; // QUEUEEMPTY -402004 <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, Pop <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> queue null
|
||
case -402005: return ERROR_SHANDABILLING_402005; // QUEUEDATAERR -402005 cache <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>, <20><><EFBFBD>̰<EFBFBD> cache <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ʰ<EFBFBD> <20><> queue data error
|
||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||
case -403001: return ERROR_SHANDABILLING_403001; // USERDATALENERROR -403001 <09><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Push <20><><EFBFBD>̿<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ġ data length error
|
||
case -403002: return ERROR_SHANDABILLING_403002; // COMMUDATAERROR -403002 <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>Ŷ <20><>ȣȭ <20><><EFBFBD><EFBFBD> encrypt error
|
||
// POINTER insert
|
||
case -404001: return ERROR_SHANDABILLING_404001; // POINTERNULL -404001 <09><> pointer <20><><EFBFBD><EFBFBD>(pointer<65><72> <20>ʿ<EFBFBD><CABF><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> pointer<65><72> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD>) point null
|
||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> encode/decode
|
||
case -405001: return ERROR_SHANDABILLING_405001; // ENCRYPTERROR -405001 <09><>ȣȭ <20><><EFBFBD><EFBFBD> encrypt error
|
||
case -405002: return ERROR_SHANDABILLING_405002; // DECRYPTERROR -405002 <09><>ȣ<EFBFBD><C8A3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> decrypt error
|
||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
case -406001: return ERROR_SHANDABILLING_406001; // PARAMPATHERROR -406001 cache Ȥ<><C8A4> annular <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> path error
|
||
case -406002: return ERROR_SHANDABILLING_406002; // CONFLOADFAILED -406002 <09><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ε<EFBFBD> <20><><EFBFBD><EFBFBD> fail to load ini
|
||
case -406003: return ERROR_SHANDABILLING_406003; // CONFGETFAILED -406003 <09><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> ȹ<><C8B9> <20><><EFBFBD><EFBFBD> fail to get ini
|
||
case -406004: return ERROR_SHANDABILLING_406004; // RELOADFAILED -406004 <09>ε<EFBFBD> <20><><EFBFBD><EFBFBD> fail to reload
|
||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||
case -407001: return ERROR_SHANDABILLING_407001; // ERR_MSG_TYPE -407001 <09><>û <20><EFBFBD><DEBD><EFBFBD> <20><> <20><EFBFBD><DEBD><EFBFBD> Ÿ<><C5B8> <20><><EFBFBD><EFBFBD> message type error
|
||
case -407002: return ERROR_SHANDABILLING_407002; // IP_NOT_EXIST -407002 <09><>û <20><EFBFBD><DEBD><EFBFBD> <20><> hostIP<49><50> <20><><EFBFBD><EFBFBD> hostip not exist
|
||
case -407003: return ERROR_SHANDABILLING_407003; // ID_NOT_EXIST -407003 <09><>û <20><EFBFBD><DEBD><EFBFBD> <20><> hostId<49><64> <20><><EFBFBD><EFBFBD> hostid not exist
|
||
case -407004: return ERROR_SHANDABILLING_407004; // SYS_FLAG_INVALID -407004 OS flag <20><><EFBFBD><EFBFBD> system flag error
|
||
case -407005: return ERROR_SHANDABILLING_407005; // MSG_LEN_ERR -407005 <09><>û <20><EFBFBD><DEBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> message length error
|
||
case -407006: return ERROR_SHANDABILLING_407006; // CANNOTCONNECTDB -407006 DB <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> db connect error
|
||
case -407099: return ERROR_SHANDABILLING_407099; // UNKNOWNED_ERR -407099 <09><>Ÿ <20><><EFBFBD><EFBFBD> other error
|
||
// <20><>Ÿ
|
||
case -499999: return ERROR_SHANDABILLING_499999; // UNDECLARE_ERROR -499999 <09><>Ÿ <20><><EFBFBD><EFBFBD> other error
|
||
|
||
default:
|
||
return ERROR_GENERIC_UNKNOWNERROR; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȣ <20><><EFBFBD><EFBFBD> <20>ʿ<EFBFBD> !!!
|
||
}
|
||
|
||
return ERROR_DB;
|
||
}
|
||
|
||
#endif // #if defined(_CH) || defined(_EU)
|
||
|