📄 charge_init.cpp
字号:
#include "charge_init.h"int tpsvrinit(int argc, char *argv[]){ char lsUser[60],lsPass[60],lsServer[60],lsDatabase[60],lsApp[60],lsHost[60]; char lsSql[2048],lsTemp[1024],lsErr[500],lsRetstr[2048],lsRettemp[500]; int isqlcode,lrow; argc = argc; argv = argv; GetProfileString("./charge.ini","connect_charge","username",lsUser); GetProfileString("./charge.ini","connect_charge","password",lsPass); GetProfileString("./charge.ini","connect_charge","server",lsServer); GetProfileString("./charge.ini","connect_charge","database",lsDatabase); GetProfileString("./charge.ini","connect_charge","application",lsApp); GetProfileString("./charge.ini","connect_charge","host",lsHost); SybCharge = new COracle(lsUser,lsPass,lsServer,lsDatabase,lsApp,lsHost); SybCharge->Connect(); if (SybCharge->ErrNo != OCI_SUCCESS) { //userlog(SybCharge->ErrText); return -1; } sprintf(lsSql,"select para_value from lbas.lbas_parameter " " where para_name='charge' "); SybCharge->DoSql(lsSql); isqlcode=SybCharge->GetSqlCode(); if(isqlcode<0) { strcpy(lsTemp,"提取lbas_parameter密码错!\n"); if(WriteLog(SybCharge,"-1","w_m_login",lsTemp,lsErr)!=1) strcat(lsTemp,lsErr); StrReturn(-1,lsTemp); } YhDbDecode(lsPass,SybCharge->GetData()); delete SybCharge; SybCharge = new COracle("charge",lsPass,lsServer,lsDatabase,lsApp,lsHost); SybCharge->Connect(); if (SybCharge->ErrNo != OCI_SUCCESS) { userlog(SybCharge->ErrText); return -1; } ////userlog("进入收费中间件系统。"); return(0);}void reverse(char * pStr){ char *pTemp; int i,Len; Len = strlen(pStr); if (Len <= 0) return; pTemp = new char[Len+1]; strcpy(pTemp,pStr); for (i = Len - 1;i >= 0;i--) *(pStr + Len - i - 1) = *(pTemp + i); delete pTemp;}void YhDbDecode(char *pDst,char *pSrc){ int i,Len; char *pTemp,*pTempTemp; pTempTemp = NULL; pTemp = NULL; pTemp = new char[strlen(pSrc) + 1]; pTempTemp = new char[strlen(pSrc) + 1]; strcpy(pTemp,pSrc); i = 0; for (;;) { pDst[i++] = *pTemp - strlen(pTemp) * 2; strcpy(pTempTemp,pTemp + 1); strcpy(pTemp,pTempTemp); if (strlen(pTemp) == 0) break; } pDst[i] = '\0'; strcpy(pTemp,pDst); reverse(pTemp); i = 0; *pTempTemp = '\0'; pTempTemp[strlen(pSrc) + 1] = '\0'; Len = strlen(pTemp); for(i=0;i<Len;i++) { reverse(pTempTemp); *(pTempTemp + i) = *(pTemp + i); } pTempTemp[i] = '\0'; strcpy(pDst,pTempTemp); delete pTemp; delete pTempTemp;}void tpsvrdone(void){ delete SybCharge; ////userlog("退出收费中间件系统。");}void PLStaffInfo(TPSVCINFO *rqst){ char staff_id[10]; class CLogin Payment(rqst->data,SybCharge); strcpy(staff_id,rqst->data); rtrim(ltrim(staff_id)); Payment.GetStaffInfo(staff_id);}void PLStaffCheck(TPSVCINFO *rqst){ char lsTemp[1024],lsErr[500]; char *lparm[2]; int i,rpnum; char StaffID[7],PassWord[7]; class CLogin Payment(rqst->data,SybCharge); strcpy(lsTemp,rqst->data); rpnum=GetInputParm(lsTemp,lparm,10); if(rpnum!=2) { lpfree(lparm,rpnum); strcpy(lsTemp,"解析客户端传入参数失败,可能参数数据或传输格式不正确!\n"); if(WriteLog(SybCharge,"-1","w_m_login",lsTemp,lsErr)!=1) strcat(lsTemp,lsErr); StrReturn(-2,lsTemp); } rtrim(ltrim(strcpy(StaffID,lparm[0]))); rtrim(ltrim(strcpy(PassWord,lparm[1]))); lpfree(lparm,rpnum); Payment.CheckStaff(StaffID,PassWord);}void PLChangePwd(TPSVCINFO *rqst){ char lsTemp[1024],lsErr[500]; char *lparm[3]; int i,rpnum; char StaffID[7],OldPWD[7],NewPWD[7]; class CLogin Payment(rqst->data,SybCharge); rtrim(ltrim(strcpy(lsTemp,rqst->data))); rpnum=GetInputParm(lsTemp,lparm,10); if(rpnum!=3) { lpfree(lparm,rpnum); strcpy(lsTemp,"解析客户端传入参数失败,可能参数数据或传输格式不正确!\n"); if(WriteLog(SybCharge,"-1","w_m_login",lsTemp,lsErr)!=1) strcat(lsTemp,lsErr); StrReturn(-2,lsTemp); } rtrim(ltrim(strcpy(StaffID,lparm[0]))); rtrim(ltrim(strcpy(OldPWD,lparm[1]))); rtrim(ltrim(strcpy(NewPWD,lparm[2]))); lpfree(lparm,rpnum); Payment.ChangePWD(StaffID,OldPWD,NewPWD);}void PPSysInit(TPSVCINFO *rqst){ char lsTemp[1024],lsErr[500]; char *lparm[2]; int i,rpnum; char staff_id[7],area_id[5]; class CPayment Payment(rqst->data,SybCharge); strcpy(lsTemp,rqst->data); rpnum=GetInputParm(lsTemp,lparm,10); if(rpnum!=2) { lpfree(lparm,rpnum); strcpy(lsTemp,"解析客户端传入参数失败,可能参数数据或传输格式不正确!\n"); if(WriteLog(SybCharge,"-1","w_p_adjust",lsTemp,lsErr)!=1) strcat(lsTemp,lsErr); StrReturn(-2,lsTemp); } strcpy(staff_id,lparm[0]); rtrim(ltrim(staff_id)); strcpy(area_id,lparm[1]); rtrim(ltrim(area_id)); lpfree(lparm,rpnum); Payment.SysInit(staff_id,area_id);}void PPGetRole(TPSVCINFO *rqst){ char lsTemp[1024],lsErr[500]; char *lparm[2]; int i,rpnum; char staff_id[7]; class CPayment Payment(rqst->data,SybCharge); Payment.PPGetRole();}void PPGetInfo(TPSVCINFO *rqst){ char lsTemp[1024],lsErr[500]; char *lparm[3]; int i,rpnum; char staff_id[7],code_type[2],code[17]; class CPayment Payment(rqst->data,SybCharge); strcpy(lsTemp,rqst->data); rpnum=GetInputParm(lsTemp,lparm,17); if(rpnum!=3) { lpfree(lparm,rpnum); strcpy(lsTemp,"解析客户端传入参数失败,可能参数数据或传输格式不正确!\n"); if(WriteLog(SybCharge,"-1","w_p_charge",lsTemp,lsErr)!=1) strcat(lsTemp,lsErr); StrReturn(-2,lsTemp); } strcpy(staff_id,lparm[0]); rtrim(ltrim(staff_id)); strcpy(code_type,lparm[1]); rtrim(ltrim(code_type)); strcpy(code,lparm[2]); rtrim(ltrim(code)); lpfree(lparm,rpnum); Payment.GetServInfo(staff_id,code_type,code);}void PPGetItem(TPSVCINFO *rqst){ char lsTemp[1024],lsErr[500]; char *lparm[3]; int i,rpnum; char staff_id[7],item_type[2],code[11]; class CPayment Payment(rqst->data,SybCharge); strcpy(lsTemp,rqst->data); rpnum=GetInputParm(lsTemp,lparm,17); if(rpnum!=3) { lpfree(lparm,rpnum); strcpy(lsTemp,"解析客户端传入参数失败,可能参数数据或传输格式不正确!\n"); if(WriteLog(SybCharge,"-1","w_p_charge",lsTemp,lsErr)!=1) strcat(lsTemp,lsErr); StrReturn(-2,lsTemp); } strcpy(staff_id,lparm[0]); rtrim(ltrim(staff_id)); strcpy(item_type,lparm[1]); rtrim(ltrim(item_type)); strcpy(code,lparm[2]); rtrim(ltrim(code)); lpfree(lparm,rpnum); Payment.GetItem(staff_id,item_type,code);}void PPWriteOff(TPSVCINFO *rqst){ class CPayment Payment(rqst->data,SybCharge); Payment.WriteOff();}void PPGetFor(TPSVCINFO *rqst){ char lsTemp[1024],lsErr[500]; char *lparm[3]; int i,rpnum; char staff_id[7],item_type[2],code[11]; class CPayment Payment(rqst->data,SybCharge); strcpy(lsTemp,rqst->data); rpnum=GetInputParm(lsTemp,lparm,17); if(rpnum!=3) { lpfree(lparm,rpnum); strcpy(lsTemp,"解析客户端传入参数失败,可能参数数据或传输格式不正确!\n"); if(WriteLog(SybCharge,"-1","w_p_charge",lsTemp,lsErr)!=1) strcat(lsTemp,lsErr); StrReturn(-2,lsTemp); } strcpy(staff_id,lparm[0]); rtrim(ltrim(staff_id)); strcpy(item_type,lparm[1]); rtrim(ltrim(item_type)); strcpy(code,lparm[2]); rtrim(ltrim(code)); lpfree(lparm,rpnum); Payment.PPGetFor(staff_id,item_type,code);}void PPGetServInfo(TPSVCINFO *rqst){ class CPayment Payment(rqst->data,SybCharge); Payment.PPGetServInfo();}void PEGetBill(TPSVCINFO *rqst){ char lsTemp[1024],lsErr[500]; char *lparm[6]; int i,rpnum; char staff_id[7],item_type[2],code[11],otherarea[2],max_acct_id[9],min_acct_id[9]; class CErase Erase(rqst->data,SybCharge); strcpy(lsTemp,rqst->data); rpnum=GetInputParm(lsTemp,lparm,11); if(rpnum!=6) { lpfree(lparm,rpnum); strcpy(lsTemp,"解析客户端传入参数失败,可能参数数据或传输格式不正确!\n"); if(WriteLog(SybCharge,"-1","w_p_charge",lsTemp,lsErr)!=1) strcat(lsTemp,lsErr); StrReturn(-2,lsTemp); } strcpy(staff_id,lparm[0]); rtrim(ltrim(staff_id)); strcpy(item_type,lparm[1]); rtrim(ltrim(item_type)); strcpy(code,lparm[2]); rtrim(ltrim(code)); strcpy(otherarea,lparm[3]); rtrim(ltrim(otherarea)); strcpy(max_acct_id,lparm[5]); rtrim(ltrim(max_acct_id)); strcpy(min_acct_id,lparm[4]); rtrim(ltrim(min_acct_id)); lpfree(lparm,rpnum); Erase.GetEraseBill(staff_id,item_type,code,otherarea,max_acct_id,min_acct_id);}void PEGetItem(TPSVCINFO *rqst){ char lsTemp[1024],lsErr[500]; char *lparm[2]; int i,rpnum; char bill_serial_nbr[19],staff_id[7]; class CErase Erase(rqst->data,SybCharge); strcpy(lsTemp,rqst->data); rpnum=GetInputParm(lsTemp,lparm,19); if(rpnum!=2) { lpfree(lparm,rpnum); strcpy(lsTemp,"解析客户端传入参数失败,可能参数数据或传输格式不正确!\n"); if(WriteLog(SybCharge,"-1","w_p_charge",lsTemp,lsErr)!=1) strcat(lsTemp,lsErr); StrReturn(-2,lsTemp); } strcpy(staff_id,lparm[0]); rtrim(ltrim(staff_id)); strcpy(bill_serial_nbr,lparm[1]); rtrim(ltrim(bill_serial_nbr)); lpfree(lparm,rpnum); Erase.GetEraseItem(staff_id,bill_serial_nbr);}void PEUndoBill(TPSVCINFO *rqst){ char lsTemp[1024],lsErr[500]; char *lparm[6]; int i,rpnum; char bill_serial_nbr[19],staff_id[7]; char grade[3],unpay[2],otherunpay[2],othersite[2]; class CErase Erase(rqst->data,SybCharge); strcpy(lsTemp,rqst->data); rpnum=GetInputParm(lsTemp,lparm,19); if(rpnum!=6) { lpfree(lparm,rpnum); strcpy(lsTemp,"解析客户端传入参数失败,可能参数数据或传输格式不正确!\n"); if(WriteLog(SybCharge,"-1","w_p_charge",lsTemp,lsErr)!=1) strcat(lsTemp,lsErr); StrReturn(-2,lsTemp); } strcpy(staff_id,lparm[0]); rtrim(ltrim(staff_id)); strcpy(grade,lparm[1]); rtrim(ltrim(grade)); strcpy(unpay,lparm[2]); rtrim(ltrim(unpay)); strcpy(otherunpay,lparm[3]); rtrim(ltrim(otherunpay)); strcpy(othersite,lparm[4]); rtrim(ltrim(othersite)); strcpy(bill_serial_nbr,lparm[5]); rtrim(ltrim(bill_serial_nbr)); lpfree(lparm,rpnum); Erase.UndoBill(staff_id,grade,unpay,otherunpay,othersite,bill_serial_nbr);}void PAGetItem(TPSVCINFO *rqst){ char lsTemp[1024],lsErr[500]; char *lparm[6]; int i,lpnum,rpnum,itype,otherarea; char staff_id[20],str_type[5],str_code[30],min_acct[30],max_acct[30]; class CAdjust Payment(rqst->data,SybCharge); strcpy(lsTemp,rqst->data); ////userlog(lsTemp); lpnum=6; rpnum=GetInputParm(lsTemp,lparm,50); if(rpnum!=lpnum) { lpfree(lparm,rpnum); strcpy(lsTemp,"解析客户端传入参数失败,可能参数数据或传输格式不正确!\n"); if(WriteLog(SybCharge,"-1","w_p_adjust",lsTemp,lsErr)!=1) strcat(lsTemp,lsErr); StrReturn(-2,lsTemp); } for(i=0;i<lpnum;i++) ////userlog("lparm %d: %s",i,lparm[i]); strcpy(staff_id,lparm[0]); strcpy(str_type,lparm[1]); strcpy(str_code,lparm[2]); strcpy(lsTemp,lparm[3]); otherarea=atoi(rtrim(lsTemp)); strcpy(min_acct,lparm[4]); strcpy(max_acct,lparm[5]); lpfree(lparm,rpnum); itype=atoi(rtrim(str_type)); if(itype==1) Payment.GetAdjustAcct(staff_id,str_code); else if(itype==2) Payment.GetAdjustServ(staff_id,str_code,otherarea,min_acct,max_acct); else { strcpy(lsTemp,"服务函数调用错误,代码类型参数不正确!\n"); if(WriteLog(SybCharge,staff_id,"w_p_adjust",lsTemp,lsErr)!=1) strcat(lsTemp,lsErr); StrReturn(-2,lsTemp); }}void PAAdjust(TPSVCINFO *rqst){ class CAdjust Payment(rqst->data,SybCharge); Payment.SetAdjustItem();}//取帐户总余额void PBNextBalance(TPSVCINFO *rqst){ class CBalance Payment(rqst->data,SybCharge); Payment.GetBalance();}void PBGetBal(TPSVCINFO *rqst){ class CBalance Payment(rqst->data,SybCharge); Payment.GetBalInfoAcct();}void PBGetBalHist(TPSVCINFO *rqst){ class CBalance Payment(rqst->data,SybCharge); Payment.GetBalHist();}void PSPresentHist(TPSVCINFO *rqst){ class CStat Payment(rqst->data,SybCharge); Payment.GetPresentHist();}void PBGetBalCharge(TPSVCINFO *rqst){ class CBalance Payment(rqst->data,SybCharge); Payment.GetBalCharge();}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -