📄 clientconsume.cpp
字号:
// ClientConsume.cpp : implementation file
//
#include "stdafx.h"
#include "CreditCardManagement.h"
#include "ClientConsume.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CClientConsume dialog
CClientConsume::CClientConsume(CWnd* pParent /*=NULL*/)
: CDialog(CClientConsume::IDD, pParent)
{
//{{AFX_DATA_INIT(CClientConsume)
m_wYinhangbiaoshi = _T("");
m_wXinyongkahao = _T("");
m_wShukajibiaoshi = _T("");
m_wXiaofeie = 0;
// m_wXiaofeiriqi = COleDateTime::GetCurrentTime();
//}}AFX_DATA_INIT
}
void CClientConsume::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CClientConsume)
DDX_Text(pDX, IDC_EDIT1, m_wYinhangbiaoshi);
DDV_MaxChars(pDX, m_wYinhangbiaoshi, 20);
DDX_Text(pDX, IDC_EDIT2, m_wXinyongkahao);
DDV_MaxChars(pDX, m_wXinyongkahao, 18);
DDX_Text(pDX, IDC_EDIT3, m_wShukajibiaoshi);
DDV_MaxChars(pDX, m_wShukajibiaoshi, 5);
DDX_Text(pDX, IDC_EDIT4, m_wXiaofeie);
DDV_MinMaxLong(pDX, m_wXiaofeie, 0, 100000);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CClientConsume, CDialog)
//{{AFX_MSG_MAP(CClientConsume)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CClientConsume message handlers
void CClientConsume::OnOK()
{
char filter[100];
UpdateData(TRUE);
if((m_wXiaofeie<0)||(m_wXiaofeie>20000))
{
MessageBox("一次消费金额只能在0到20000元之间");
}else
{
m_pCCCSs=&CCCSs;
wsprintf(filter,"[刷卡机标识]='%s'",m_wShukajibiaoshi);
m_pCCCSs->m_strFilter=filter;
m_pCCCSs->m_strFilter+="and";
m_pCCCSs->m_strFilter+="[是否拆除]=0";
m_pCCCSs->Open();
if (m_pCCCSs->IsEOF())
{
MessageBox("无效的刷卡机!");
m_pCCCSs->Close();
}
else
{
m_pCCCS=&CCCS;
m_pCCCS->m_strFilter="[账户文件].[账号]=[信用卡文件].[账号]";
m_pCCCS->m_strFilter+="and";
wsprintf(filter,"[银行标识]='%s'",m_wYinhangbiaoshi);
m_pCCCS->m_strFilter+=filter;
m_pCCCS->m_strFilter+="and";
wsprintf(filter,"[信用卡号]='%s'",m_wXinyongkahao);
m_pCCCS->m_strFilter+=filter;
m_pCCCS->m_strFilter+="and";
m_pCCCS->m_strFilter+="[挂失]=0";
m_pCCCS->m_strFilter+="and";
m_pCCCS->m_strFilter+="[是否销户]=0";
m_pCCCS->Open();
if (m_pCCCS->IsEOF())
{
MessageBox("非法信用卡!");
m_pCCCS->Close();
}
else
{
if (m_wXiaofeie<=0)
MessageBox("请输入正确的消费额!");
else
{ //下面开始处理消费
//首先判断用户是否可以消费
//判断刷卡机是否合法:1.是否挂失,上边已经判断
//2.用户是否已经销户,上边已经判断
//3.是否超过信用度透支
int canadd=0;//是否允许消费标志
long result=0;//消费后的钱数
int TouzhiOrnot=0;//是否透支标志
switch (m_pCCCS->m_column11)
{
case 0:
{
result=m_pCCCS->m_column10-m_wXiaofeie;
if (result>=0) canadd=1;
TouzhiOrnot=0;//不允许透支
break;
}
case 1:
{
result=m_pCCCS->m_column10-m_wXiaofeie+2000;
if (result>=0) canadd=1;
result=m_pCCCS->m_column10-m_wXiaofeie;
if (result<0) TouzhiOrnot=1;//透支
break;
}
case 2:
{
result=m_pCCCS->m_column10-m_wXiaofeie+5000;
if (result>=0) canadd=1;
result=m_pCCCS->m_column10-m_wXiaofeie;
if (result<0) TouzhiOrnot=1;//透支
break;
}
}
if (canadd==1)
{//如果可以消费下边开始修改数据库数据
//1.修改帐户文件的钱数及是否透支标志
//在帐户文件中找到用户
m_pCCCSz=&CCCSz;
wsprintf(filter,"[账号]='%s'",m_pCCCS->m_column7);
m_pCCCSz->m_strFilter=filter;
m_pCCCSz->Open();
m_pCCCSz->Edit();
m_pCCCSz->m_column4=result;
m_pCCCSz->Update();
m_pCCCSz->Close();
//在信用卡文件中添加是否透支标志
m_pCCCSx=&CCCSx;
wsprintf(filter,"[账号]='%s'",m_pCCCS->m_column7);
m_pCCCSx->m_strFilter=filter;
m_pCCCSx->Open();
m_pCCCSx->Edit();
m_pCCCSx->m_column3=TouzhiOrnot;
m_pCCCSx->Update();
m_pCCCSx->Close();
//2.添加消费记录
m_pCCCSxf=&CCCSxf;
m_pCCCSxf->m_strFilter.Empty();
m_pCCCSxf->Open();
m_pCCCSxf->MoveLast();
m_pCCCSxf->AddNew();
m_pCCCSxf->m_column1=m_wYinhangbiaoshi;
m_pCCCSxf->m_column2=m_wXinyongkahao;
m_pCCCSxf->m_column3=m_wXiaofeie;
m_pCCCSxf->m_column6=CTime::GetCurrentTime();
m_pCCCSxf->m_column7=m_pCCCS->m_column14;
m_pCCCSxf->m_column8=m_wShukajibiaoshi;
m_pCCCSxf->Update();
m_pCCCSxf->Close();
MessageBox("消费成功!");
}
else MessageBox("存储金额不够,无法消费!");
}
m_pCCCS->Close();
}
m_pCCCSs->Close();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -