business.h
来自「用C 语言开发Tuxedo客户端连接程序」· C头文件 代码 · 共 979 行 · 第 1/3 页
H
979 行
#include "BankIntf.h"
/*-----------------------------------------------------------------------------
* Function: fnTReck
* Purpose : 对帐请求提交
* Input :
* SBasicInput * -- 输入参数,基本输入数据
* SReckInfoInput * -- 输入参数,对帐请求输入数据
* SBasicOutput * -- 输出参数,基本输出数据
* Return : 0 成功, -1 失败
*-----------------------------------------------------------------------------
*/
#if defined(__STDC__) || defined(__cplusplus)
int fnTReck( SBasicInput * sBasicInput, SReckInfoInput * sReckInfoInput,
SBasicOutput * sBasicOutput )
#else
int fnTReck( sBasicInput, sReckInfoInput, sBasicOutput)
SBasicInput * sBasicInput;
SReckInfoInput * sReckInfoInput;
SBasicOutput * sBasicOutput;
#endif
{
FBFR *fmlbuf= (FBFR *) NULL; /* tuxedo服务调用输入输出缓存 */
int iReturn;
long lOutLen;
long xresultcode = 0; /*返回结果代码*/
char xresultinfo[X_RESULTINFO_LEN] = "\0"; /*返回结果信息*/
long xrecordnum = 0; /*返回结果记录数,多行输出时有效*/
char infotemp[2000];
(void)TuxedoConnect();
fmlbuf = (FBFR *)tpalloc((char *)FMLTYPE, NULL, 4096);
if (fmlbuf == (FBFR *)NULL)
{
tpterm();
return -1;
}
iReturn = Finit(fmlbuf, 4096);
if(iReturn >= 0)
{
/* 填写tuxedo服务输入数据 */
iReturn =
Fchg(fmlbuf, X_TRANS_CODE, (FLDOCC)0, (char *)"ITF_INTERFACERECK", (FLDLEN)0)|
Fchg(fmlbuf, PROVINCE_CODE, (FLDOCC)0, (char *)sBasicInput->province_code, (FLDLEN)0)|
Fchg(fmlbuf, IN_MODE_CODE, (FLDOCC)0, (char *)sBasicInput->in_mode_code, (FLDLEN)0)|
Fchg(fmlbuf, TRADE_EPARCHY_CODE, (FLDOCC)0, (char *)sBasicInput->trade_eparchy_code, (FLDLEN)0)|
Fchg(fmlbuf, TRADE_DEPART_ID, (FLDOCC)0, (char *)sBasicInput->trade_depart_id, (FLDLEN)0)|
Fchg(fmlbuf, TRADE_STAFF_ID, (FLDOCC)0, (char *)sBasicInput->trade_staff_id, (FLDLEN)0)|
Fchg(fmlbuf, TRADE_DEPART_PASSWD, (FLDOCC)0, (char *)sBasicInput->trade_depart_passwd, (FLDLEN)0);
}
if (iReturn >= 0)
{
iReturn =
Fchg(fmlbuf, CHANNEL_ID, (FLDOCC)0, (char *)sReckInfoInput->channel_code, (FLDLEN)0)|
Fchg(fmlbuf, START_TIME, (FLDOCC)0, (char *)sReckInfoInput->start_time, (FLDLEN)0)|
Fchg(fmlbuf, RECK_TYPE_CODE, (FLDOCC)0, (char *)sReckInfoInput->reck_type_code, (FLDLEN)0)|
Fchg(fmlbuf, EPARCHY_CODE, (FLDOCC)0, (char *)sReckInfoInput->eparchy_code, (FLDLEN)0);
}
if (iReturn < 0)
{
tpfree((char*)fmlbuf);
tpterm();
return -1;
}
else
{
/* 调用tuxedo服务 */
iReturn = tpcall("ITF_BKHSVC", (char *)fmlbuf, 0, (char **)&fmlbuf, (long *)&lOutLen, TPNOTRAN);
if (iReturn >= 0)
{
/* 取返回数据 */
Fget(fmlbuf, X_RESULTCODE, (FLDOCC)0, (char *)&xresultcode, (FLDLEN *)NULL);
Fget(fmlbuf, X_RESULTINFO, (FLDOCC)0, (char *)infotemp, (FLDLEN *)NULL);
Fget(fmlbuf, X_RECORDNUM, (FLDOCC)0, (char *)&xrecordnum, (FLDLEN *)NULL);
infotemp[500] = '\0';
sBasicOutput->x_resultcode = xresultcode;
sprintf(sBasicOutput->x_resultinfo, "%s", infotemp);
sBasicOutput->x_recordnum = xrecordnum;
}
}
/* 释放输入、输出缓存,断开tuxedo连接 */
tpfree((char*)fmlbuf);
tpterm();
/* 返回结果 */
if (iReturn < 0)
return -1;
return 0;
}
/*-----------------------------------------------------------------------------
* Function: fnTChangechannelpwd
* Purpose : 渠道密码修改
* Input :
* SBasicInput * -- 输入参数,基本输入数据
* SChangechannelpwdInput * -- 输入参数,
* SBasicOutput * -- 输出参数,基本输出数据
* Return : 0 成功, -1 失败
* Remark :
*-----------------------------------------------------------------------------
*/
#if defined(__STDC__) || defined(__cplusplus)
int fnTChangechannelpwd( SBasicInput * sBasicInput, SChangechannelpwdInput * schangechannelpwdInput,
SBasicOutput * sBasicOutput )
#else
int fnTChangechannelpwd( sBasicInput, schangechannelpwdInput, sBasicOutput)
SBasicInput * sBasicInput;
SChangechannelpwdInput * schangechannelpwdInput;
SBasicOutput * sBasicOutput;
#endif
{
FBFR *fmlbuf= (FBFR *) NULL; /* tuxedo服务调用输入输出缓存 */
int iReturn;
long lOutLen;
long xresultcode = 0; /*返回结果代码*/
char xresultinfo[X_RESULTINFO_LEN] = "\0"; /*返回结果信息*/
long xrecordnum = 0; /*返回结果记录数,多行输出时有效*/
char infotemp[2000];
(void)TuxedoConnect();
fmlbuf = (FBFR *)tpalloc((char *)FMLTYPE, NULL, 4096);
if (fmlbuf == (FBFR *)NULL)
{
tpterm();
return -1;
}
iReturn = Finit(fmlbuf, 4096);
if(iReturn >= 0)
{
/* 填写tuxedo服务输入数据 */
iReturn =
Fchg(fmlbuf, X_TRANS_CODE, (FLDOCC)0, (char *)"ITF_BKHT_CHANGECHANNELPWD", (FLDLEN)0)|
Fchg(fmlbuf, PROVINCE_CODE, (FLDOCC)0, (char *)sBasicInput->province_code, (FLDLEN)0)|
Fchg(fmlbuf, IN_MODE_CODE, (FLDOCC)0, (char *)sBasicInput->in_mode_code, (FLDLEN)0)|
Fchg(fmlbuf, TRADE_EPARCHY_CODE, (FLDOCC)0, (char *)sBasicInput->trade_eparchy_code, (FLDLEN)0)|
Fchg(fmlbuf, TRADE_DEPART_ID, (FLDOCC)0, (char *)sBasicInput->trade_depart_id, (FLDLEN)0)|
Fchg(fmlbuf, TRADE_STAFF_ID, (FLDOCC)0, (char *)sBasicInput->trade_staff_id, (FLDLEN)0)|
Fchg(fmlbuf, TRADE_DEPART_PASSWD, (FLDOCC)0, (char *)sBasicInput->trade_depart_passwd, (FLDLEN)0);
}
if (iReturn >= 0)
{
iReturn =
Fchg(fmlbuf, LOGIN_ID, (FLDOCC)0, (char *)schangechannelpwdInput->Login_id, (FLDLEN)0)|
Fchg(fmlbuf, IN_IP, (FLDOCC)0, (char *)schangechannelpwdInput->In_ip, (FLDLEN)0)|
Fchg(fmlbuf, LOGIN_PASSWD, (FLDOCC)0, (char *)schangechannelpwdInput->Login_passwd, (FLDLEN)0)|
Fchg(fmlbuf, PARA_VALUE1, (FLDOCC)0, (char *)schangechannelpwdInput->Para_value1, (FLDLEN)0);
}
if (iReturn < 0)
{
tpfree((char*)fmlbuf);
tpterm();
return -1;
}
else
{
/* 调用tuxedo服务 */
iReturn = tpcall("ITF_BKHSVC", (char *)fmlbuf, 0, (char **)&fmlbuf, (long *)&lOutLen, TPNOTRAN);
if (iReturn >= 0)
{
/* 取返回数据 */
Fget(fmlbuf, X_RESULTCODE, (FLDOCC)0, (char *)&xresultcode, (FLDLEN *)NULL);
Fget(fmlbuf, X_RESULTINFO, (FLDOCC)0, (char *)infotemp, (FLDLEN *)NULL);
Fget(fmlbuf, X_RECORDNUM, (FLDOCC)0, (char *)&xrecordnum, (FLDLEN *)NULL);
infotemp[500] = '\0';
sBasicOutput->x_resultcode = xresultcode;
sprintf(sBasicOutput->x_resultinfo, "%s", infotemp);
sBasicOutput->x_recordnum = xrecordnum;
}
}
/* 释放输入、输出缓存,断开tuxedo连接 */
tpfree((char*)fmlbuf);
tpterm();
/* 返回结果 */
if (iReturn < 0)
return -1;
return 0;
}
/*-----------------------------------------------------------------------------
* Function: fnStartAndStopTel
* Purpose : 报开报停
* Input :
* SBasicInput * -- 输入参数,基本输入数据
* SStartAndStopInput * -- 输入参数
* SBasicOutput * -- 输出参数,基本输出数据
* SStartAndStopOut * -- 输出参数
* Return : 0 成功, -1 失败
*-----------------------------------------------------------------------------
*/
#if defined(__STDC__) || defined(__cplusplus)
int fnStartAndStopTel(SBasicInput * sBasicInput, SStartAndStopInput * sStartAndStopInput, SBasicOutput * sBasicOutput,SStartAndStopOut *sStartAndStopOut)
#else
int fnStartAndStopTel(sBasicInput, sStartAndStopInput, sBasicOutput, sStartAndStopOut )
SBasicInput * sBasicInput;
SStartAndStopInput * sStartAndStopInput;
SBasicOutput * sBasicOutput;
SStartAndStopOut * sStartAndStopOut;
#endif
{
FBFR *fmlbuf= (FBFR *) NULL; /* tuxedo服务调用输入输出缓存 */
int iReturn;
long lOutLen;
char CheckInfo[X_CHECK_INFO_LEN]; /*检查结果*/
char TradeId[TRADE_ID_LEN]; /*操作流水号*/
int CheckTag ; /*检查标记*/
long xresultcode = 0; /*返回结果代码*/
char xresultinfo[X_RESULTINFO_LEN] = "\0"; /*返回结果信息*/
long xrecordnum = 0; /*返回结果记录数,多行输出时有效*/
char infotemp[2000];
(void)TuxedoConnect();
fmlbuf = (FBFR *)tpalloc((char *)FMLTYPE, NULL, 4096); /*分配缓存*/
if (fmlbuf == (FBFR *)NULL)
{
tpterm();
return -1;
}
iReturn = Finit(fmlbuf, 4096);
if(iReturn >= 0)
{
/* 填写tuxedo服务输入数据 */
iReturn =
Fchg(fmlbuf, X_TRANS_CODE, (FLDOCC)0, (char *)"ITF_CCHT_Trade", (FLDLEN)0)|
Fchg(fmlbuf, PROVINCE_CODE, (FLDOCC)0, (char *)sBasicInput->province_code, (FLDLEN)0)|
Fchg(fmlbuf, IN_MODE_CODE, (FLDOCC)0, (char *)sBasicInput->in_mode_code, (FLDLEN)0)|
Fchg(fmlbuf, TRADE_EPARCHY_CODE, (FLDOCC)0, (char *)sBasicInput->trade_eparchy_code, (FLDLEN)0)|
Fchg(fmlbuf, TRADE_CITY_CODE, (FLDOCC)0, (char *)sBasicInput->trade_city_code, (FLDLEN)0)|
Fchg(fmlbuf, TRADE_DEPART_ID, (FLDOCC)0, (char *)sBasicInput->trade_depart_id, (FLDLEN)0)|
Fchg(fmlbuf, TRADE_STAFF_ID, (FLDOCC)0, (char *)sBasicInput->trade_staff_id, (FLDLEN)0)|
Fchg(fmlbuf, TRADE_DEPART_PASSWD, (FLDOCC)0, (char *)sBasicInput->trade_depart_passwd, (FLDLEN)0);
}
if (iReturn >= 0)
{
/* 填写服务号码 */
iReturn =
Fchg(fmlbuf, SERIAL_NUMBER, (FLDOCC)0, (char *)sStartAndStopInput->Serial_Number, (FLDLEN)0)|
Fchg(fmlbuf, REMOVE_TAG, (FLDOCC)0, (char *)"0", (FLDLEN)0)|
Fchg(fmlbuf, RSRV_STR1, (FLDOCC)0, (char *)"1", (FLDLEN)0)|
Fchg(fmlbuf, TRADE_TYPE_CODE, (FLDOCC)0, (char *)&sStartAndStopInput->Trade_Type_Code, (FLDLEN)0)|
Fchg(fmlbuf, START_DATE, (FLDOCC)0, (char *)sStartAndStopInput->Start_Date, (FLDLEN)0)|
Fchg(fmlbuf, END_DATE, (FLDOCC)0, (char *)sStartAndStopInput->End_Date, (FLDLEN)0)|
Fchg(fmlbuf, OPER_FEE, (FLDOCC)0, (char *)"0", (FLDLEN)0);
}
if (iReturn < 0)
{
tpfree((char*)fmlbuf);
tpterm();
return -1;
}
else
{
/* 调用tuxedo服务 */
iReturn = tpcall("ITF_BKHSVC",(char *)fmlbuf,0,(char **)&fmlbuf,(long *)&lOutLen, TPNOTRAN);
/* 取返回数据 */
if (iReturn >= 0)
{
Fget(fmlbuf, X_CHECK_INFO, (FLDOCC)0, (char *)CheckInfo, (FLDLEN *)NULL);
Fget(fmlbuf, TRADE_ID, (FLDOCC)0, (char *)TradeId, (FLDLEN *)NULL);
Fget(fmlbuf, X_CHECK_TAG, (FLDOCC)0, (char *)&CheckTag, (FLDLEN *)NULL);
sprintf(sStartAndStopOut->X_Check_Info, "%s", CheckInfo);
sprintf(sStartAndStopOut->Trade_Id, "%s", TradeId);
sStartAndStopOut->X_Check_Tag=CheckTag;
Fget(fmlbuf, X_RESULTCODE, (FLDOCC)0, (char *)&xresultcode, (FLDLEN *)NULL);
Fget(fmlbuf, X_RESULTINFO, (FLDOCC)0, (char *)infotemp, (FLDLEN *)NULL);
Fget(fmlbuf, X_RECORDNUM, (FLDOCC)0, (char *)&xrecordnum, (FLDLEN *)NULL);
infotemp[500] = '\0';
sBasicOutput->x_resultcode = xresultcode;
sprintf(sBasicOutput->x_resultinfo, "%s", infotemp);
sBasicOutput->x_recordnum = xrecordnum;
}
}
/* 释放输入、输出缓存,断开tuxedo连接 */
tpfree((char*)fmlbuf);
tpterm();
/* 返回结果 */
if (iReturn < 0)
return -1;
return 0;
}
/*-----------------------------------------------------------------------------
* Function: fnServiceChenge
* Purpose : 服务变更
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?