📄 recvfeeclash.c
字号:
#include "stdio.h"#include "string.h"
#include "BankIntf.h"
main(int argc,char *argv[])
{
int iRet ;
SBasicInput sBasicInput;
SBasicOutput sBasicOutput;
char * charg_id;
charg_id=argv[2];
strcpy(sBasicInput.province_code,"QHAI");
strcpy(sBasicInput.in_mode_code,"D");
strcpy(sBasicInput.trade_eparchy_code,"0898");
strcpy(sBasicInput.trade_city_code,argv[3]);
strcpy(sBasicInput.trade_depart_id,"99330");
strcpy(sBasicInput.trade_staff_id,argv[4]);
strcpy(sBasicInput.trade_depart_passwd,"0123456789");
tuxputenv("WSNADDR=//135.191.25.225:46500");
iRet=fnTCancelFee(&sBasicInput,charg_id,&sBasicOutput);
if (iRet<0)
{
printf("\n[交易执行失败[%d]]\n",iRet);
exit(1);
}
else
{
printf("%s",argv[1]); // 3:交费冲正 1
printf(";%d",sBasicOutput.x_resultcode); /*返回结果代码2*/
printf(";%s",sBasicOutput.x_resultinfo); /*返回结果信息3*/
printf(";%d",sBasicOutput.x_recordnum); /*返回结果记录数4*/
exit(1);
}
}
/*-----------------------------------------------------------------------------
* Function : fnTCancelFee
* Purpose : 缴费返销提交
* Input :
* SBasicInput * -- 输入参数,基本输入数据
* charg_id -- 输入参数,移动收费流水号
* channel_trade_id -- 输入参数,渠道缴费业务流水
* channel_accept_time -- 输入参数,渠道缴费业务时间
* recv_type -- 输出参数,0-根据移动流水返销,1-根据渠道流水返销
* SBasicOutput * -- 输出参数,基本输出数据
* Return : 0 成功, -1 失败
* Remark :
* Author : Luxd
* Date : 2004/07/08
*-----------------------------------------------------------------------------
*/
#if defined(__STDC__) || defined(__cplusplus)
int fnTCancelFee (SBasicInput * sBasicInput, char * charg_id, SBasicOutput * sBasicOutput)
#else
int fnTCancelFee (sBasicInput, charg_id, sBasicOutput)
SBasicInput * sBasicInput;
char * charg_id;
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];
/* 建立tuxedo连接 */
if (tpinit((TPINIT *) NULL) == -1)
{
(void) fprintf(stderr, "Tpinit failed\n");
return -1;
}
fmlbuf = (FBFR *)tpalloc((char *)FMLTYPE, NULL, 4096);
if (fmlbuf == (FBFR *)NULL)
{
tpterm();
return -1;
}
iReturn = Finit(fmlbuf, 4096);
if(iReturn >= 0)
{
/* 填写tuxedo服务输入数据 */
if(strcmp(sBasicInput->trade_staff_id,"ITFUA000") ==0)
iReturn =
Fchg(fmlbuf, X_TRANS_CODE, (FLDOCC)0, (char *)"ITF_BKHT_CANCELFEE", (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 *)"0123456789", (FLDLEN)0);
else
iReturn =
Fchg(fmlbuf, X_TRANS_CODE, (FLDOCC)0, (char *)"ITF_BKHT_CANCELFEE", (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, CHARGE_ID, (FLDOCC)0, (char *)charg_id, (FLDLEN)0)|
Fchg(fmlbuf, OPER_TYPE_CODE, (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);
/*printf("iReturn = %d\n", iReturn );*/
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;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -