Restructure repository to include all source folders
Move git root from Client/ to src/ to track all source code: - Client: Game client source (moved to Client/Client/) - Server: Game server source - GameTools: Development tools - CryptoSource: Encryption utilities - database: Database scripts - Script: Game scripts - rylCoder_16.02.2008_src: Legacy coder tools - GMFont, Game: Additional resources 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
539
Server/Billing/MediaWebBilling/MediaWebBilling.cpp
Normal file
539
Server/Billing/MediaWebBilling/MediaWebBilling.cpp
Normal file
@@ -0,0 +1,539 @@
|
||||
// MediaWebBilling.cpp : <20><><EFBFBD><EFBFBD> <20><><EFBFBD>α<CEB1><D7B7><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>մϴ<D5B4>.
|
||||
//
|
||||
|
||||
#include "stdafx.h"
|
||||
#include "MediaWebBilling.h"
|
||||
#include <myOLEDB.h>
|
||||
#include <Config.h>
|
||||
#include <Log.h>
|
||||
#include <iostream>
|
||||
#include <iomanip>
|
||||
#include <ctime>
|
||||
#include <vector>
|
||||
#include <oledb.h>
|
||||
#include <srv.h>
|
||||
|
||||
using namespace std;
|
||||
|
||||
template<class _Elem, class _Traits>
|
||||
inline basic_ostream<_Elem, _Traits>& __cdecl writetime(basic_ostream<_Elem, _Traits>& _Ostr)
|
||||
{
|
||||
SYSTEMTIME systime;
|
||||
GetLocalTime(&systime);
|
||||
|
||||
_Elem fill = _Ostr.fill();
|
||||
|
||||
_Ostr << setfill('0')
|
||||
<< "["
|
||||
<< setw(4) << systime.wYear << "-"
|
||||
<< setw(2) << systime.wMonth << "-"
|
||||
<< setw(2) << systime.wDay << " "
|
||||
<< setw(2) << systime.wHour << ":"
|
||||
<< setw(2) << systime.wMinute << ":"
|
||||
<< setw(2) << systime.wSecond << "] " << setfill(fill);
|
||||
|
||||
return (_Ostr);
|
||||
}
|
||||
|
||||
inline std::string& addNumber(std::string& str, const char* szData)
|
||||
{
|
||||
const char* szWriteData = (0 == strlen(szData)) ? "NULL" : szData;
|
||||
|
||||
str += szWriteData;
|
||||
str += ", ";
|
||||
|
||||
return str;
|
||||
}
|
||||
|
||||
inline std::string& addString(std::string& str, const char* szData)
|
||||
{
|
||||
if(0 == strlen(szData))
|
||||
{
|
||||
str += "NULL, ";
|
||||
}
|
||||
else
|
||||
{
|
||||
str += "'";
|
||||
str += szData;
|
||||
str += "', ";
|
||||
}
|
||||
|
||||
return str;
|
||||
}
|
||||
|
||||
|
||||
#pragma pack(1)
|
||||
struct MWBillingData
|
||||
{
|
||||
DBCHAR m_CRMCode[16]; // PC<50><43> CRMCode
|
||||
DBCHAR m_Command[16]; // ó<><C3B3> command
|
||||
|
||||
DBCHAR m_CRMIP1[13]; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ip<69>뿪1
|
||||
DBCHAR m_CRMIP2[13]; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ip<69>뿪2
|
||||
DBCHAR m_CRMIP3[13]; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ip<69>뿪3
|
||||
|
||||
DBCHAR m_Index[11]; // <20>ڵ<EFBFBD><DAB5><EFBFBD><EFBFBD><EFBFBD>(SEQID)
|
||||
DBCHAR m_ServiceTime[11]; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ð<EFBFBD>
|
||||
DBCHAR m_EndTime[11]; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD> <20><>û<EFBFBD>ð<EFBFBD>
|
||||
DBCHAR m_ServiceIPNum[11]; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ip<69><70><EFBFBD><EFBFBD>
|
||||
|
||||
DBCHAR m_SysDay[20]; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> YYYY-MM-DD HH24:MI:SS
|
||||
DBCHAR m_ServiceDay[11]; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> YYYY-MM-DD
|
||||
DBCHAR m_EndDay[11]; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> YYYY-MM-DD
|
||||
|
||||
DBCHAR m_CRMStartIP1[4]; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ip<69>뿪<EFBFBD><EBBFAA><EFBFBD><EFBFBD>1
|
||||
DBCHAR m_CRMStopIP1[4]; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ip<69>뿪<EFBFBD><EBBFAA>1
|
||||
DBCHAR m_CRMStartIP2[4]; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ip<69>뿪<EFBFBD><EBBFAA><EFBFBD><EFBFBD>2
|
||||
DBCHAR m_CRMStopIP2[4]; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ip<69>뿪<EFBFBD><EBBFAA>2
|
||||
DBCHAR m_CRMStartIP3[4]; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ip<69>뿪<EFBFBD><EBBFAA><EFBFBD><EFBFBD>3
|
||||
DBCHAR m_CRMStopIP3[4]; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ip<69>뿪<EFBFBD><EBBFAA>3
|
||||
|
||||
DBCHAR m_TimeProcess[2]; // <20>ܿ<EFBFBD><DCBF><EFBFBD>ó<EFBFBD><C3B3> <20><><EFBFBD><EFBFBD> (m = -ó<><C3B3>, z = <20><><EFBFBD><EFBFBD>)
|
||||
DBCHAR m_PriceType[2]; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> (D <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, T <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
||||
};
|
||||
|
||||
struct RemainTimeLog
|
||||
{
|
||||
DBCHAR m_CRMCode[20];
|
||||
DBCHAR m_IntServiceTime[11];
|
||||
DBCHAR m_DelColumn[2];
|
||||
};
|
||||
|
||||
#pragma pack()
|
||||
|
||||
|
||||
int APIENTRY _tWinMain(HINSTANCE hInstance,
|
||||
HINSTANCE hPrevInstance,
|
||||
LPTSTR lpCmdLine,
|
||||
int nCmdShow)
|
||||
{
|
||||
CLog log;
|
||||
CConfigurator config;
|
||||
|
||||
OleDB mwDB;
|
||||
OleDB billingDB;
|
||||
|
||||
char szQuery[OleDB::MaxQueryTextLen];
|
||||
int nQueryLen = 0;
|
||||
|
||||
if(!log.RedirectStdOut("MediaWebBilling"))
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
|
||||
cout << endl << writetime << "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>մϴ<D5B4>." << endl;
|
||||
|
||||
TCHAR* tszConfigFileName = TEXT("MWBillingInfo.cfg");
|
||||
|
||||
if(!config.Load(tszConfigFileName))
|
||||
{
|
||||
cout << writetime << tszConfigFileName << "DB<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD>." << endl;
|
||||
return -1;
|
||||
}
|
||||
|
||||
const char* szMWServerName = config.Get("MWServerName");
|
||||
const char* szMWDBName = config.Get("MWDBName");
|
||||
const char* szMWUserName = config.Get("MWUserName");
|
||||
const char* szMWPassword = config.Get("MWPassword");
|
||||
|
||||
if(!mwDB.ConnectSQLServer(szMWServerName, szMWDBName,
|
||||
szMWUserName, szMWPassword, OleDB::ConnType_ORACLE))
|
||||
{
|
||||
cout << writetime << "<EFBFBD>̵<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>DB : <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD>. : " << mwDB.GetErrorString()
|
||||
<< " ServerName : " << szMWServerName
|
||||
<< " DBName : " << szMWDBName
|
||||
<< " UserName : " << szMWUserName
|
||||
<< " Password : " << szMWPassword
|
||||
<< endl;
|
||||
|
||||
return -1;
|
||||
}
|
||||
|
||||
const char* szBillingServerName = config.Get("BillingServerName");
|
||||
const char* szBillingDBName = config.Get("BillingDBName");
|
||||
const char* szBillingUserName = config.Get("BillingUserName");
|
||||
const char* szBillingPassword = config.Get("BillingPassword");
|
||||
|
||||
if(!billingDB.ConnectSQLServer(szBillingServerName, szBillingDBName,
|
||||
szBillingUserName, szBillingPassword, OleDB::ConnType_MSSQL))
|
||||
{
|
||||
cout << writetime << "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>DB : <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD>. : " << billingDB.GetErrorString()
|
||||
<< " ServerName : " << szBillingServerName
|
||||
<< " DBName : " << szBillingDBName
|
||||
<< " UserName : " << szBillingUserName
|
||||
<< " Password : " << szBillingPassword
|
||||
<< endl;
|
||||
|
||||
return -1;
|
||||
}
|
||||
|
||||
// 1. <20><><EFBFBD>̺<EFBFBD> Ŭ<><C5AC><EFBFBD><EFBFBD>
|
||||
if(!billingDB.ExcuteQuery("EXEC agt_CRM_RYLLOG_Delete"))
|
||||
{
|
||||
cout << writetime << "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>DB : <20>ӽ<EFBFBD> <20><><EFBFBD>̺<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>߽<EFBFBD><DFBD>ϴ<EFBFBD> : "
|
||||
<< billingDB.GetErrorString() << endl;
|
||||
|
||||
return -1;
|
||||
}
|
||||
|
||||
// 2. <20>̵<EFBFBD><CCB5><EFBFBD><EFBFBD><EFBFBD>(Oracle) <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
int nMinNum = 0;
|
||||
|
||||
if(!billingDB.ExcuteQueryGetData(
|
||||
"SELECT intCount FROM TblImportedNum WHERE strCompType = 'M'", &nMinNum))
|
||||
{
|
||||
cout << writetime << "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>DB : <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ó<><C3B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>Ǽ<EFBFBD> <20><>ȣ<EFBFBD><C8A3> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD> : "
|
||||
<< billingDB.GetErrorString() << endl;
|
||||
|
||||
return -1;
|
||||
}
|
||||
|
||||
nQueryLen = _snprintf(szQuery, OleDB::MaxQueryTextLen,
|
||||
"SELECT "
|
||||
" CAST(crmcode AS VARCHAR(16)), "
|
||||
" CAST(command AS VARCHAR(16)), "
|
||||
|
||||
" CAST(crmip1 AS VARCHAR(13)), "
|
||||
" CAST(crmip2 AS VARCHAR(13)), "
|
||||
" CAST(crmip3 AS VARCHAR(13)), "
|
||||
|
||||
" CAST(seqid AS VARCHAR(11)), "
|
||||
" CAST(servicetime AS VARCHAR(11)), "
|
||||
" CAST(endtime AS VARCHAR(11)), "
|
||||
" CAST(serviceipnum AS VARCHAR(11)), "
|
||||
|
||||
" TO_CHAR(regdate, 'YYYY-MM-DD HH24:MI:SS '), "
|
||||
" TO_CHAR(serviceday, 'YYYY-MM-DD '), "
|
||||
" TO_CHAR(endday, 'YYYY-MM-DD '), "
|
||||
|
||||
" CAST(startcrmip1 AS VARCHAR(4)), "
|
||||
" CAST(endcrmip1 AS VARCHAR(4)), "
|
||||
" CAST(startcrmip2 AS VARCHAR(4)), "
|
||||
" CAST(endcrmip2 AS VARCHAR(4)), "
|
||||
" CAST(startcrmip3 AS VARCHAR(4)), "
|
||||
" CAST(endcrmip3 AS VARCHAR(4)), "
|
||||
|
||||
" CAST(timeprocess AS VARCHAR(2)), "
|
||||
" CAST(pricetype AS VARCHAR(2)) "
|
||||
|
||||
" FROM CRM.CRM_RYLLOG WHERE SEQID > %d AND RYLCHK = 'N' ORDER BY SEQID ASC", nMinNum);
|
||||
|
||||
if(nQueryLen < 0)
|
||||
{
|
||||
cout << writetime << "<EFBFBD>̵<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>DB : <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD>." << endl;
|
||||
return -1;
|
||||
}
|
||||
|
||||
if(!mwDB.ExcuteQuery(szQuery))
|
||||
{
|
||||
cout << writetime << "<EFBFBD>̵<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>DB : <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD> : "
|
||||
<< mwDB.GetErrorString()
|
||||
<< " Query : " << szQuery << endl;
|
||||
|
||||
return -1;
|
||||
}
|
||||
|
||||
typedef std::vector<MWBillingData> BillingDataArray;
|
||||
|
||||
BillingDataArray mwBillingArray;
|
||||
mwBillingArray.reserve(5000);
|
||||
|
||||
const int MAX_DATA = 1000;
|
||||
MWBillingData mwBillingData[MAX_DATA];
|
||||
memset(mwBillingData, 0, sizeof(MWBillingData) * MAX_DATA);
|
||||
|
||||
int nReturnRow = 0;
|
||||
while(mwDB.GetData((void**)&mwBillingData,
|
||||
sizeof(MWBillingData), MAX_DATA, &nReturnRow))
|
||||
{
|
||||
if(0 == nReturnRow)
|
||||
{
|
||||
break;
|
||||
}
|
||||
|
||||
mwBillingArray.insert(mwBillingArray.end(),
|
||||
mwBillingData, mwBillingData + nReturnRow);
|
||||
|
||||
memset(mwBillingData, 0, sizeof(MWBillingData) * MAX_DATA);
|
||||
}
|
||||
|
||||
// BillNum, MemberID, RylUID, BillingType, EndTime, GameMin
|
||||
const char* szInsertQuery = "INSERT INTO TblCRM_RYLLOG "
|
||||
" (intIndex, strCRMCode, strPriceType, dateSysDay, strCommand, "
|
||||
" strCRMIP1,strStartCRMIP1,strEndCRMIP1, "
|
||||
" strCRMIP2,strStartCRMIP2,strEndCRMIP2, "
|
||||
" strCRMIP3,strStartCRMIP3,strEndCRMIP3, "
|
||||
" strTimeprocess, intServiceTime, dateServiceDay, "
|
||||
" TinyServiceIPNum, dateEndday, intEndTime, strRylChk) values ( ";
|
||||
|
||||
BillingDataArray::iterator pos = mwBillingArray.begin();
|
||||
BillingDataArray::iterator end = mwBillingArray.end();
|
||||
|
||||
std::string strQuery;
|
||||
strQuery.reserve(OleDB::MaxQueryTextLen);
|
||||
|
||||
for(; pos != end; ++pos)
|
||||
{
|
||||
MWBillingData& data = *pos;
|
||||
|
||||
strQuery.assign(szInsertQuery);
|
||||
|
||||
addNumber(strQuery, data.m_Index);
|
||||
addString(strQuery, data.m_CRMCode);
|
||||
addString(strQuery, data.m_PriceType);
|
||||
addString(strQuery, data.m_SysDay);
|
||||
addString(strQuery, data.m_Command);
|
||||
|
||||
addString(strQuery, data.m_CRMIP1);
|
||||
addNumber(strQuery, data.m_CRMStartIP1);
|
||||
addNumber(strQuery, data.m_CRMStopIP1);
|
||||
|
||||
addString(strQuery, data.m_CRMIP2);
|
||||
addNumber(strQuery, data.m_CRMStartIP2);
|
||||
addNumber(strQuery, data.m_CRMStopIP2);
|
||||
|
||||
addString(strQuery, data.m_CRMIP3);
|
||||
addNumber(strQuery, data.m_CRMStartIP3);
|
||||
addNumber(strQuery, data.m_CRMStopIP3);
|
||||
|
||||
addString(strQuery, data.m_TimeProcess);
|
||||
addNumber(strQuery, data.m_ServiceTime);
|
||||
addString(strQuery, data.m_ServiceDay);
|
||||
addNumber(strQuery, data.m_ServiceIPNum);
|
||||
addString(strQuery, data.m_EndDay);
|
||||
addNumber(strQuery, data.m_EndTime);
|
||||
|
||||
strQuery += " 'N')";
|
||||
|
||||
if(!billingDB.ExcuteQuery(strQuery.c_str(), OleDB::Rowset_Update))
|
||||
{
|
||||
cout << writetime << "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>DB : <20>̵<EFBFBD><CCB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD>. : " << billingDB.GetErrorString()
|
||||
<< " <20><><EFBFBD><EFBFBD> SEQIndex : " << data.m_Index
|
||||
<< " Query : " << strQuery << endl;
|
||||
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
int nMaxNum = 0;
|
||||
|
||||
if(!billingDB.ExcuteQueryGetData(
|
||||
"SELECT MAX(intIndex) FROM TblCRM_RYLLOG WHERE strRYLCHK = 'N' AND strConvertCHK ='N'", &nMaxNum))
|
||||
{
|
||||
cout << writetime << "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>DB : <20>̵<EFBFBD><CCB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>Ǽ<EFBFBD> <20>ִ<EFBFBD> <20><>ȣ<EFBFBD><C8A3> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD> : "
|
||||
<< billingDB.GetErrorString() << endl;
|
||||
|
||||
return -1;
|
||||
}
|
||||
|
||||
if(0 < nMaxNum)
|
||||
{
|
||||
nQueryLen = _snprintf(szQuery, OleDB::MaxQueryTextLen,
|
||||
"UPDATE CRM.CRM_RYLLOG SET RYLCHK = 'Y'"
|
||||
"WHERE SEQID > %d AND SEQID <= %d AND RYLCHK = 'N'", nMinNum, nMaxNum);
|
||||
|
||||
if(nQueryLen < 0)
|
||||
{
|
||||
cout << writetime << "<EFBFBD>̵<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>DB : <20><><EFBFBD><EFBFBD> ó<><C3B3> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ <20><><EFBFBD><EFBFBD> - <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>" << endl;
|
||||
return -1;
|
||||
}
|
||||
|
||||
if(!mwDB.ExcuteQuery(szQuery, OleDB::Rowset_Update))
|
||||
{
|
||||
cout << writetime << "<EFBFBD>̵<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>DB : <20><><EFBFBD><EFBFBD> ó<><C3B3> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ <20><><EFBFBD><EFBFBD> - <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> : "
|
||||
<< mwDB.GetErrorString() << " Query : " << szQuery << endl;
|
||||
return -1;
|
||||
}
|
||||
|
||||
nQueryLen = _snprintf(szQuery, OleDB::MaxQueryTextLen,
|
||||
"UPDATE TblImportedNum SET intCount = %d WHERE strCompType = 'M'", nMaxNum);
|
||||
|
||||
if(nQueryLen < 0)
|
||||
{
|
||||
cout << writetime << "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>DB : <20><><EFBFBD><EFBFBD> ó<><C3B3> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ <20><><EFBFBD><EFBFBD> - <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> "
|
||||
<< " MinBillingNum : " << nMinNum
|
||||
<< " MaxBillingNum : " << nMaxNum
|
||||
<< " Query : " << szQuery << endl;
|
||||
return -1;
|
||||
}
|
||||
|
||||
if(!billingDB.ExcuteQuery(szQuery, OleDB::Rowset_Update))
|
||||
{
|
||||
cout << writetime << "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>DB : <20><><EFBFBD><EFBFBD> ó<><C3B3> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ <20><><EFBFBD><EFBFBD> - <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> : "
|
||||
<< billingDB.GetErrorString()
|
||||
<< " MinBillingNum : " << nMinNum
|
||||
<< " MaxBillingNum : " << nMaxNum
|
||||
<< " Query : " << szQuery << endl;
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// 3. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ó<><C3B3>
|
||||
if(!billingDB.ExcuteQuery("EXEC agt_CRM_RYLLOG_EXECUTE"))
|
||||
{
|
||||
cout << writetime << "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>DB : agt_CRM_RYLLOG_EXECUTE<54><45> <20><><EFBFBD><EFBFBD><EFBFBD>߽<EFBFBD><DFBD>ϴ<EFBFBD>. : "
|
||||
<< billingDB.GetErrorString()
|
||||
<< " MinBillingNum : " << nMinNum
|
||||
<< " MaxBillingNum : " << nMaxNum
|
||||
<< endl;
|
||||
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ʴ´<CAB4>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><> <20>ִ<EFBFBD>.
|
||||
// return -1;
|
||||
}
|
||||
|
||||
// 4. <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ÿ<><C5B8> <20><><EFBFBD><EFBFBD>
|
||||
if(!billingDB.ExcuteQuery("EXEC agt_CRM_RemainServiceTime"))
|
||||
{
|
||||
cout << writetime << "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>DB : agt_CRM_RemainServiceTime<6D><65> <20><><EFBFBD><EFBFBD><EFBFBD>߽<EFBFBD><DFBD>ϴ<EFBFBD>. : "
|
||||
<< billingDB.GetErrorString()
|
||||
<< " MinBillingNum : " << nMinNum
|
||||
<< " MaxBillingNum : " << nMaxNum
|
||||
<< endl;
|
||||
|
||||
return -1;
|
||||
}
|
||||
|
||||
// 5. <20>ܿ<EFBFBD><DCBF>ð<EFBFBD> <20>Ѱ<EFBFBD><D1B0>ֱ<EFBFBD> agt_CRM_RemainServiceTime_Transfer
|
||||
if(!billingDB.ExcuteQuery(
|
||||
"SELECT strCRMCode, "
|
||||
" CAST(MIN(intServiceTime) AS VARCHAR(11)), "
|
||||
" CAST(delColumn AS VARCHAR(2)) "
|
||||
" FROM TblCRM_SERVICETIME WHERE WebCHK = 'N' "
|
||||
" GROUP BY strCRMCode,delColumn"))
|
||||
{
|
||||
cout << writetime << "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>DB : <20>ܿ<EFBFBD><DCBF>ð<EFBFBD><C3B0><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD>߽<EFBFBD><DFBD>ϴ<EFBFBD>. : "
|
||||
<< billingDB.GetErrorString()
|
||||
<< " MinBillingNum : " << nMinNum
|
||||
<< " MaxBillingNum : " << nMaxNum
|
||||
<< endl;
|
||||
|
||||
return -1;
|
||||
}
|
||||
|
||||
typedef std::vector<RemainTimeLog> RemainTimeLogArray;
|
||||
|
||||
RemainTimeLogArray remainTimeLogArray;
|
||||
remainTimeLogArray.reserve(10000);
|
||||
|
||||
const int MAX_REMAIN_TIME_DATA = 1000;
|
||||
RemainTimeLog remainTimes[MAX_REMAIN_TIME_DATA];
|
||||
|
||||
memset(remainTimes, 0, sizeof(RemainTimeLog) * MAX_REMAIN_TIME_DATA);
|
||||
|
||||
int nGetRemainTimesNum = 0;
|
||||
|
||||
while(billingDB.GetData((void**)&remainTimes, sizeof(RemainTimeLog),
|
||||
MAX_REMAIN_TIME_DATA, &nGetRemainTimesNum))
|
||||
{
|
||||
if(0 == nGetRemainTimesNum)
|
||||
{
|
||||
break;
|
||||
}
|
||||
|
||||
remainTimeLogArray.insert(remainTimeLogArray.end(),
|
||||
remainTimes, remainTimes + nGetRemainTimesNum);
|
||||
|
||||
memset(remainTimes, 0, sizeof(RemainTimeLog) * MAX_REMAIN_TIME_DATA);
|
||||
}
|
||||
|
||||
if(!billingDB.ExcuteQuery("UPDATE TblCRM_SERVICETIME SET WebCHK = 'Y' WHERE WebCHK ='N'",
|
||||
OleDB::Rowset_Update))
|
||||
{
|
||||
cout << writetime << "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>DB : WebCHK<48><4B> Y<><59> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD>߽<EFBFBD><DFBD>ϴ<EFBFBD>. : "
|
||||
<< billingDB.GetErrorString()
|
||||
<< " MinBillingNum : " << nMinNum
|
||||
<< " MaxBillingNum : " << nMaxNum
|
||||
<< endl;
|
||||
|
||||
return -1;
|
||||
}
|
||||
|
||||
RemainTimeLogArray::iterator rtpos = remainTimeLogArray.begin();
|
||||
RemainTimeLogArray::iterator rtend = remainTimeLogArray.end();
|
||||
|
||||
for(; rtpos != rtend; ++rtpos)
|
||||
{
|
||||
RemainTimeLog& data = *rtpos;
|
||||
|
||||
char szCRMCode[20];
|
||||
memset(szCRMCode, 0, sizeof(char) * 20);
|
||||
|
||||
strQuery = "SELECT CRMCODE FROM GAME.CRM_SERVICETIME WHERE CRMCODE = '";
|
||||
strQuery += data.m_CRMCode;
|
||||
strQuery += "' AND GAMECODE ='002' ";
|
||||
|
||||
if(!mwDB.ExcuteQuery(strQuery.c_str()))
|
||||
{
|
||||
cout << writetime << "<EFBFBD>̵<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>DB : CRMCODE<44>˻<EFBFBD><CBBB><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>߽<EFBFBD><DFBD>ϴ<EFBFBD>. : "
|
||||
<< mwDB.GetErrorString()
|
||||
<< " MinBillingNum : " << nMinNum
|
||||
<< " MaxBillingNum : " << nMaxNum
|
||||
<< " Query : " << strQuery << endl;
|
||||
|
||||
return -1;
|
||||
}
|
||||
|
||||
mwDB.GetData(szCRMCode);
|
||||
|
||||
if(0 != strlen(szCRMCode))
|
||||
{
|
||||
strQuery = "UPDATE GAME.CRM_SERVICETIME SET SERVICETIME = ";
|
||||
strQuery += data.m_IntServiceTime;
|
||||
strQuery += ",DELCHK = '";
|
||||
strQuery += data.m_DelColumn;
|
||||
strQuery += "' WHERE CRMCODE = '";
|
||||
strQuery += data.m_CRMCode;
|
||||
strQuery += "' AND GAMECODE ='002'";
|
||||
|
||||
if(!mwDB.ExcuteQuery(strQuery.c_str(), OleDB::Rowset_Update))
|
||||
{
|
||||
cout << writetime << "<EFBFBD>̵<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>DB : ServiceTime Update<74><65> <20><><EFBFBD><EFBFBD><EFBFBD>߽<EFBFBD><DFBD>ϴ<EFBFBD>. : "
|
||||
<< mwDB.GetErrorString()
|
||||
<< " MinBillingNum : " << nMinNum
|
||||
<< " MaxBillingNum : " << nMaxNum
|
||||
<< " Query : " << strQuery << endl;
|
||||
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
strQuery = "INSERT INTO GAME.CRM_SERVICETIME (CRMCODE,GAMECODE,SERVICETIME,DELCHK) VALUES ('";
|
||||
strQuery += data.m_CRMCode;
|
||||
strQuery += "','002',";
|
||||
strQuery += data.m_IntServiceTime;
|
||||
strQuery += ", '";
|
||||
strQuery += data.m_DelColumn;
|
||||
strQuery += "') ";
|
||||
|
||||
if(!mwDB.ExcuteQuery(strQuery.c_str(), OleDB::Rowset_Update))
|
||||
{
|
||||
cout << writetime << "<EFBFBD>̵<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>DB : ServiceTime Insert<72><74> <20><><EFBFBD><EFBFBD><EFBFBD>߽<EFBFBD><DFBD>ϴ<EFBFBD>. : "
|
||||
<< mwDB.GetErrorString()
|
||||
<< " MinBillingNum : " << nMinNum
|
||||
<< " MaxBillingNum : " << nMaxNum
|
||||
<< " Query : " << strQuery << endl;
|
||||
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 6. <20>ܿ<EFBFBD><DCBF>ð<EFBFBD> <20>α׳<CEB1><D7B3><EFBFBD><EFBFBD><EFBFBD>
|
||||
if(!billingDB.ExcuteQuery("EXEC agt_CRM_RemainServiceTime_LOG"))
|
||||
{
|
||||
cout << writetime << "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>DB : agt_CRM_RemainServiceTime_LOG<4F><47> <20><><EFBFBD><EFBFBD><EFBFBD>߽<EFBFBD><DFBD>ϴ<EFBFBD>. : "
|
||||
<< billingDB.GetErrorString()
|
||||
<< " MinBillingNum : " << nMinNum
|
||||
<< " MaxBillingNum : " << nMaxNum
|
||||
<< endl;
|
||||
|
||||
return -1;
|
||||
}
|
||||
|
||||
cout << writetime << "<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>Ϸ<EFBFBD>." << endl;
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
3
Server/Billing/MediaWebBilling/MediaWebBilling.h
Normal file
3
Server/Billing/MediaWebBilling/MediaWebBilling.h
Normal file
@@ -0,0 +1,3 @@
|
||||
#pragma once
|
||||
|
||||
#include "resource.h"
|
||||
BIN
Server/Billing/MediaWebBilling/MediaWebBilling.ico
Normal file
BIN
Server/Billing/MediaWebBilling/MediaWebBilling.ico
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 23 KiB |
128
Server/Billing/MediaWebBilling/MediaWebBilling.rc
Normal file
128
Server/Billing/MediaWebBilling/MediaWebBilling.rc
Normal file
@@ -0,0 +1,128 @@
|
||||
//Microsoft Visual C++<2B><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ҽ<EFBFBD> <20><>ũ<EFBFBD><C5A9>Ʈ<EFBFBD>Դϴ<D4B4>.
|
||||
//
|
||||
#include "resource.h"
|
||||
|
||||
#define APSTUDIO_READONLY_SYMBOLS
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// TEXTINCLUDE 2 <20><><EFBFBD>ҽ<EFBFBD><D2BD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ǿ<EFBFBD><C7BE><EFBFBD><EFBFBD>ϴ<EFBFBD>.
|
||||
//
|
||||
#define APSTUDIO_HIDDEN_SYMBOLS
|
||||
#include "windows.h"
|
||||
#undef APSTUDIO_HIDDEN_SYMBOLS
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
#undef APSTUDIO_READONLY_SYMBOLS
|
||||
|
||||
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_KOR)
|
||||
LANGUAGE 18, 1
|
||||
#pragma code_page(949)
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
//
|
||||
|
||||
// <20><><EFBFBD><EFBFBD> <20><><EFBFBD>α<CEB1> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ý<EFBFBD><C3BD>ۿ<EFBFBD><DBBF><EFBFBD> <20>ϰ<EFBFBD><CFB0><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>¸<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD> <20>ϱ<EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
// <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> ID <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ó<><C3B3><EFBFBD><EFBFBD> <20><>ġ<EFBFBD>Ͽ<EFBFBD><CFBF><EFBFBD><EFBFBD>ϴ<EFBFBD>.
|
||||
|
||||
IDI_MEDIAWEBBILLING ICON "MediaWebBilling.ico"
|
||||
IDI_SMALL ICON "small.ico"
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// <20><EFBFBD>
|
||||
//
|
||||
|
||||
IDC_MEDIAWEBBILLING MENU
|
||||
BEGIN
|
||||
POPUP "<22><><EFBFBD><EFBFBD>(&F)"
|
||||
BEGIN
|
||||
MENUITEM "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&X)", IDM_EXIT
|
||||
END
|
||||
POPUP "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&H)"
|
||||
BEGIN
|
||||
MENUITEM "<22><><EFBFBD><EFBFBD>(&A)...", IDM_ABOUT
|
||||
END
|
||||
END
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// <20><EFBFBD><D7BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ű
|
||||
//
|
||||
|
||||
IDC_MEDIAWEBBILLING ACCELERATORS
|
||||
BEGIN
|
||||
"?", IDM_ABOUT, ASCII, ALT
|
||||
"/", IDM_ABOUT, ASCII, ALT
|
||||
END
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// <20><>ȭ <20><><EFBFBD><EFBFBD>
|
||||
//
|
||||
|
||||
IDD_ABOUTBOX DIALOG 22, 17, 230, 75
|
||||
STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "<22><><EFBFBD><EFBFBD>"
|
||||
FONT 9, "System"
|
||||
BEGIN
|
||||
ICON IDI_MEDIAWEBBILLING,IDC_MYICON,14,9,16,16
|
||||
LTEXT "MediaWebBilling <20><><EFBFBD><EFBFBD> 1.0",IDC_STATIC,49,10,119,8,SS_NOPREFIX
|
||||
LTEXT "Copyright (C) 2003",IDC_STATIC,49,20,119,8
|
||||
DEFPUSHBUTTON "Ȯ<><C8AE>",IDOK,195,6,30,11,WS_GROUP
|
||||
END
|
||||
|
||||
|
||||
#ifdef APSTUDIO_INVOKED
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// TEXTINCLUDE
|
||||
//
|
||||
1 TEXTINCLUDE
|
||||
BEGIN
|
||||
"resource.h\0"
|
||||
END
|
||||
|
||||
2 TEXTINCLUDE
|
||||
BEGIN
|
||||
"#define APSTUDIO_HIDDEN_SYMBOLS\r\n"
|
||||
"#include ""windows.h""\r\n"
|
||||
"#undef APSTUDIO_HIDDEN_SYMBOLS\r\n"
|
||||
"\0"
|
||||
END
|
||||
|
||||
3 TEXTINCLUDE
|
||||
BEGIN
|
||||
"\r\n"
|
||||
"\0"
|
||||
END
|
||||
|
||||
#endif // APSTUDIO_INVOKED
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// <20><><EFBFBD>ڿ<EFBFBD> <20><><EFBFBD>̺<EFBFBD>
|
||||
//
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDC_MEDIAWEBBILLING "MEDIAWEBBILLING"
|
||||
IDS_APP_TITLE "MediaWebBilling"
|
||||
END
|
||||
|
||||
#endif
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
|
||||
#ifndef APSTUDIO_INVOKED
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// TEXTINCLUDE 3 <20><><EFBFBD>ҽ<EFBFBD><D2BD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ǿ<EFBFBD><C7BE><EFBFBD><EFBFBD>ϴ<EFBFBD>.
|
||||
//
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
#endif // APSTUDIO_INVOKED<45><44> <20>ƴմϴ<D5B4>.
|
||||
172
Server/Billing/MediaWebBilling/MediaWebBilling.vcproj
Normal file
172
Server/Billing/MediaWebBilling/MediaWebBilling.vcproj
Normal file
@@ -0,0 +1,172 @@
|
||||
<?xml version="1.0" encoding="ks_c_5601-1987"?>
|
||||
<VisualStudioProject
|
||||
ProjectType="Visual C++"
|
||||
Version="7.10"
|
||||
Name="MediaWebBilling"
|
||||
ProjectGUID="{FD74ADE2-6961-4304-B23A-89DA3665477E}"
|
||||
SccProjectName=""
|
||||
SccLocalPath=""
|
||||
Keyword="Win32Proj">
|
||||
<Platforms>
|
||||
<Platform
|
||||
Name="Win32"/>
|
||||
</Platforms>
|
||||
<Configurations>
|
||||
<Configuration
|
||||
Name="Debug|Win32"
|
||||
OutputDirectory="../Executable/$(ConfigurationName)"
|
||||
IntermediateDirectory="../Intermediate/$(ProjectName)/$(ConfigurationName)"
|
||||
ConfigurationType="1"
|
||||
CharacterSet="2">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="../DB"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS"
|
||||
MinimalRebuild="TRUE"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="1"
|
||||
UsePrecompiledHeader="2"
|
||||
WarningLevel="3"
|
||||
Detect64BitPortabilityProblems="FALSE"
|
||||
DebugInformationFormat="4"/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
OutputFile="$(OutDir)/MediaWebBilling.exe"
|
||||
LinkIncremental="2"
|
||||
GenerateDebugInformation="TRUE"
|
||||
ProgramDatabaseFile="$(OutDir)/MediaWebBilling.pdb"
|
||||
SubSystem="2"
|
||||
TargetMachine="1"/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCWebDeploymentTool"/>
|
||||
<Tool
|
||||
Name="VCManagedWrapperGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|Win32"
|
||||
OutputDirectory="../Executable/$(ConfigurationName)"
|
||||
IntermediateDirectory="../Intermediate/$(ProjectName)/$(ConfigurationName)"
|
||||
ConfigurationType="1"
|
||||
CharacterSet="2">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
AdditionalIncludeDirectories="../DB"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS"
|
||||
RuntimeLibrary="0"
|
||||
UsePrecompiledHeader="2"
|
||||
WarningLevel="3"
|
||||
Detect64BitPortabilityProblems="FALSE"
|
||||
DebugInformationFormat="3"/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
OutputFile="$(OutDir)/MediaWebBilling.exe"
|
||||
LinkIncremental="1"
|
||||
GenerateDebugInformation="TRUE"
|
||||
SubSystem="2"
|
||||
OptimizeReferences="2"
|
||||
EnableCOMDATFolding="2"
|
||||
TargetMachine="1"/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCWebDeploymentTool"/>
|
||||
<Tool
|
||||
Name="VCManagedWrapperGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
|
||||
</Configuration>
|
||||
</Configurations>
|
||||
<References>
|
||||
</References>
|
||||
<Files>
|
||||
<Filter
|
||||
Name="<22>ҽ<EFBFBD> <20><><EFBFBD><EFBFBD>"
|
||||
Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
|
||||
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}">
|
||||
<File
|
||||
RelativePath=".\MediaWebBilling.cpp">
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\stdafx.cpp">
|
||||
<FileConfiguration
|
||||
Name="Debug|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
UsePrecompiledHeader="1"/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Release|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
UsePrecompiledHeader="1"/>
|
||||
</FileConfiguration>
|
||||
</File>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="<22><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>"
|
||||
Filter="h;hpp;hxx;hm;inl;inc;xsd"
|
||||
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}">
|
||||
<File
|
||||
RelativePath=".\MediaWebBilling.h">
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\Resource.h">
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\stdafx.h">
|
||||
</File>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="<22><><EFBFBD>ҽ<EFBFBD> <20><><EFBFBD><EFBFBD>"
|
||||
Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
|
||||
UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}">
|
||||
<File
|
||||
RelativePath=".\MediaWebBilling.ico">
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\MediaWebBilling.rc">
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\small.ico">
|
||||
</File>
|
||||
</Filter>
|
||||
<File
|
||||
RelativePath=".\ReadMe.txt">
|
||||
</File>
|
||||
</Files>
|
||||
<Globals>
|
||||
</Globals>
|
||||
</VisualStudioProject>
|
||||
53
Server/Billing/MediaWebBilling/ReadMe.txt
Normal file
53
Server/Billing/MediaWebBilling/ReadMe.txt
Normal file
@@ -0,0 +1,53 @@
|
||||
========================================================================
|
||||
Win32 <20><><EFBFBD><EFBFBD> <20><><EFBFBD>α<CEB1> : MediaWebBilling <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ <20><><EFBFBD><EFBFBD>
|
||||
========================================================================
|
||||
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>α<CEB1> <20><><EFBFBD><EFBFBD><EFBFBD>翡<EFBFBD><E7BFA1> <20><> MediaWebBilling <20><><EFBFBD><EFBFBD> <20><><EFBFBD>α<CEB1><D7B7><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD>.
|
||||
<EFBFBD><EFBFBD> <20><><EFBFBD>Ͽ<EFBFBD><CFBF><EFBFBD> MediaWebBilling <20><><EFBFBD><EFBFBD> <20><><EFBFBD>α<CEB1><D7B7><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>Ͽ<EFBFBD>
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ִ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ԵǾ<D4B5> <20>ֽ<EFBFBD><D6BD>ϴ<EFBFBD>.
|
||||
|
||||
|
||||
MediaWebBilling.vcproj
|
||||
<20><><EFBFBD><EFBFBD> <20><><EFBFBD>α<CEB1> <20><><EFBFBD><EFBFBD><EFBFBD>縦 <20><><EFBFBD><EFBFBD><EFBFBD>Ͽ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> VC++ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ<EFBFBD><C6AE> <20>⺻ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ <20><><EFBFBD><EFBFBD><EFBFBD>Դϴ<D4B4>.
|
||||
<20>ش<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Visual C++<2B><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ͽ<EFBFBD>
|
||||
<20><><EFBFBD><EFBFBD> <20><><EFBFBD>α<CEB1> <20><><EFBFBD><EFBFBD><EFBFBD>翡<EFBFBD><E7BFA1> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>÷<EFBFBD><C3B7><EFBFBD>, <20><><EFBFBD><EFBFBD> <20><>
|
||||
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ <20><><EFBFBD>ɿ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ֽ<EFBFBD><D6BD>ϴ<EFBFBD>.
|
||||
|
||||
MediaWebBilling.cpp
|
||||
<20>⺻ <20><><EFBFBD><EFBFBD> <20><><EFBFBD>α<CEB1> <20>ҽ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Դϴ<D4B4>.
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>α<CEB1> <20><><EFBFBD><EFBFBD><EFBFBD>翡<EFBFBD><E7BFA1> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>ҽ<EFBFBD><D2BD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD>.
|
||||
|
||||
MediaWebBilling.rc
|
||||
<20><><EFBFBD>α<CEB1><D7B7><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
Microsoft Windows <20><><EFBFBD>ҽ<EFBFBD><D2BD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Դϴ<D4B4>. RES <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><CDB8><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><>Ʈ<EFBFBD><C6AE>, <20><> Ŀ<><C4BF> <20><><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD>Ե˴ϴ<CBB4>. <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
Microsoft Visual C++<2B><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20>ֽ<EFBFBD><D6BD>ϴ<EFBFBD>.
|
||||
|
||||
Resource.h
|
||||
<20><> <20><><EFBFBD>ҽ<EFBFBD> ID<49><44> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD> ǥ<><C7A5> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Դϴ<D4B4>.
|
||||
Microsoft Visual C++<2B><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>а<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ<EFBFBD>մϴ<D5B4>.
|
||||
MediaWebBilling.ico
|
||||
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD≯<EFBFBD>, <20><><EFBFBD><EFBFBD> <20><><EFBFBD>α<CEB1><D7B7><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(32x32)<29><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>˴ϴ<CBB4>.
|
||||
<20>ش<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>⺻ <20><><EFBFBD>ҽ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> MediaWebBilling.rc<72><63> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>Ե˴ϴ<CBB4>.
|
||||
|
||||
small.ico
|
||||
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD≯<EFBFBD>, <20><><EFBFBD><EFBFBD> <20><><EFBFBD>α<CEB1> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>(16x16)<29><>
|
||||
<20><><EFBFBD><EFBFBD> <20>ֽ<EFBFBD><D6BD>ϴ<EFBFBD>. <20>ش<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>⺻ <20><><EFBFBD>ҽ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
MediaWebBilling.rc<72><63> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>Ե˴ϴ<CBB4>.
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
<EFBFBD><EFBFBD>Ÿ ǥ<><C7A5> <20><><EFBFBD><EFBFBD>:
|
||||
|
||||
StdAfx.h <20><> StdAfx.cpp<70><70>
|
||||
MediaWebBilling.pch<63><68><EFBFBD><EFBFBD> <20≯<EFBFBD><CCB8><EFBFBD> PCH(<28≯<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD> <20><><EFBFBD><EFBFBD>) <20><><EFBFBD>ϰ<EFBFBD>
|
||||
StdAfx.obj<62><6A><EFBFBD><EFBFBD> <20≯<EFBFBD><CCB8><EFBFBD> <20≯<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD>˴ϴ<CBB4>.
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
<EFBFBD><EFBFBD>Ÿ <20><><EFBFBD><EFBFBD>:
|
||||
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>α<CEB1> <20><><EFBFBD><EFBFBD><EFBFBD>翡<EFBFBD><E7BFA1> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD> "TODO:" <20>ּ<EFBFBD><D6BC><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ڰ<EFBFBD> <20>߰<EFBFBD><DFB0>ϰų<CFB0> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ؾ<EFBFBD> <20>ϴ<EFBFBD>
|
||||
<EFBFBD>ҽ<EFBFBD> <20>ڵ<EFBFBD> <20>κ<EFBFBD><CEBA><EFBFBD> <20><>Ÿ<EFBFBD><C5B8><EFBFBD>ϴ<EFBFBD>.
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
29
Server/Billing/MediaWebBilling/Resource.h
Normal file
29
Server/Billing/MediaWebBilling/Resource.h
Normal file
@@ -0,0 +1,29 @@
|
||||
//{{NO_DEPENDENCIES}}
|
||||
// Microsoft Visual C++ generated include file.
|
||||
// Used by MediaWebBilling.rc
|
||||
//
|
||||
|
||||
#define IDS_APP_TITLE 103
|
||||
|
||||
#define IDR_MAINFRAME 128
|
||||
#define IDD_MEDIAWEBBILLING_DIALOG 102
|
||||
#define IDD_ABOUTBOX 103
|
||||
#define IDM_ABOUT 104
|
||||
#define IDM_EXIT 105
|
||||
#define IDI_MEDIAWEBBILLING 107
|
||||
#define IDI_SMALL 108
|
||||
#define IDC_MEDIAWEBBILLING 109
|
||||
#define IDC_MYICON 2
|
||||
#define IDC_STATIC -1
|
||||
// <20><> <20><>ü<EFBFBD><C3BC> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>⺻<EFBFBD><E2BABB><EFBFBD>Դϴ<D4B4>.
|
||||
//
|
||||
#ifdef APSTUDIO_INVOKED
|
||||
#ifndef APSTUDIO_READONLY_SYMBOLS
|
||||
|
||||
#define _APS_NO_MFC 130
|
||||
#define _APS_NEXT_RESOURCE_VALUE 129
|
||||
#define _APS_NEXT_COMMAND_VALUE 32771
|
||||
#define _APS_NEXT_CONTROL_VALUE 1000
|
||||
#define _APS_NEXT_SYMED_VALUE 110
|
||||
#endif
|
||||
#endif
|
||||
BIN
Server/Billing/MediaWebBilling/small.ico
Normal file
BIN
Server/Billing/MediaWebBilling/small.ico
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 23 KiB |
8
Server/Billing/MediaWebBilling/stdafx.cpp
Normal file
8
Server/Billing/MediaWebBilling/stdafx.cpp
Normal file
@@ -0,0 +1,8 @@
|
||||
// stdafx.cpp : ǥ<><C7A5> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>ϸ<EFBFBD> <20><><EFBFBD><EFBFBD> <20>ִ<EFBFBD> <20>ҽ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Դϴ<D4B4>.
|
||||
// MediaWebBilling.pch<63><68> <20≯<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>˴ϴ<CBB4>.
|
||||
// stdafx.obj<62><6A><EFBFBD><EFBFBD> <20≯<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>Ե˴ϴ<CBB4>.
|
||||
|
||||
#include "stdafx.h"
|
||||
|
||||
// TODO: <20>ʿ<EFBFBD><CABF><EFBFBD> <20>߰<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
// <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ƴ<EFBFBD> STDAFX.H<><48><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>մϴ<D5B4>.
|
||||
18
Server/Billing/MediaWebBilling/stdafx.h
Normal file
18
Server/Billing/MediaWebBilling/stdafx.h
Normal file
@@ -0,0 +1,18 @@
|
||||
// stdafx.h : <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ʴ<EFBFBD>
|
||||
// ǥ<><C7A5> <20>ý<EFBFBD><C3BD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
// <20><><EFBFBD><EFBFBD> <20>ִ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Դϴ<D4B4>.
|
||||
//
|
||||
|
||||
#pragma once
|
||||
|
||||
|
||||
#define WIN32_LEAN_AND_MEAN // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ʴ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Windows <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>մϴ<D5B4>.
|
||||
// Windows <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Դϴ<D4B4>.
|
||||
#include <windows.h>
|
||||
// C<><43> <20><>Ÿ<EFBFBD><C5B8> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Դϴ<D4B4>.
|
||||
#include <stdlib.h>
|
||||
#include <malloc.h>
|
||||
#include <memory.h>
|
||||
#include <tchar.h>
|
||||
|
||||
// TODO: <20><><EFBFBD>α<CEB1><D7B7><EFBFBD> <20>ʿ<EFBFBD><CABF><EFBFBD> <20>߰<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E2BFA1> <20><><EFBFBD><EFBFBD><EFBFBD>մϴ<D5B4>.
|
||||
Reference in New Issue
Block a user