business.h
来自「用C 语言开发Tuxedo客户端连接程序」· C头文件 代码 · 共 979 行 · 第 1/3 页
H
979 行
* Input :
* SBasicInput * -- 输入参数,基本输入数据
* SServiceChangeInput* -- 输入参数
* SBasicOutput * -- 输出参数,基本输出数据
* SServiceChangeOutput -- 输出参数,服务变更输出数据
* Return : 0 成功, -1 失败
*-----------------------------------------------------------------------------
*/
#if defined(__STDC__) || defined(__cplusplus)
int fnServiceChenge(SBasicInput * sBasicInput, SServiceChangeInput * sServiceChangeInput, SBasicOutput * sBasicOutput,SServiceChangeOutput * sServiceChangeOutput)
#else
int fnServiceChenge(sBasicInput, sServiceChangeInput, sBasicOutput, sServiceChangeOutput )
SBasicInput * sBasicInput;
SServiceChangeInput * sServiceChangeInput;
SBasicOutput * sBasicOutput;
SServiceChangeOutput * sServiceChangeOutput;
#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];
char * para_code="OpFc";
long para_attr=6;
char * paraname="服务";
(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 *)sServiceChangeInput->Serial_Number, (FLDLEN)0)|
Fchg(fmlbuf, REMOVE_TAG, (FLDOCC)0, (char *)"0", (FLDLEN)0)|
Fchg(fmlbuf, TRADE_TYPE_CODE, (FLDOCC)0, (char *)&sServiceChangeInput->Trade_Type_Code, (FLDLEN)0)|
Fchg(fmlbuf, OPER_FEE, (FLDOCC)0, (char *)"0", (FLDLEN)0)|
Fchg(fmlbuf, START_DATE, (FLDOCC)0, (char *)" ", (FLDLEN)0)|
Fchg(fmlbuf, PARA_CODE, (FLDOCC)0, (char *)"OpFc", (FLDLEN)0)|
Fchg(fmlbuf, PARA_ATTR, (FLDOCC)0, (char *)¶_attr, (FLDLEN)0)|
Fchg(fmlbuf, PARANAME, (FLDOCC)0, (char *)paraname, (FLDLEN)0)|
Fchg(fmlbuf, PARA_CODE1, (FLDOCC)0, (char *)sServiceChangeInput->para_code1, (FLDLEN)0)|
Fchg(fmlbuf, PARA_CODE2, (FLDOCC)0, (char *)sServiceChangeInput->para_code2, (FLDLEN)0)|
Fchg(fmlbuf, PARA_CODE3, (FLDOCC)0, (char *)" ", (FLDLEN)0)|
Fchg(fmlbuf, PARA_CODE4, (FLDOCC)0, (char *)" ", (FLDLEN)0)|
Fchg(fmlbuf, PARA_CODE5, (FLDOCC)0, (char *)" ", (FLDLEN)0)|
Fchg(fmlbuf, PARA_CODE6, (FLDOCC)0, (char *)" ", (FLDLEN)0)|
Fchg(fmlbuf, PARA_CODE7, (FLDOCC)0, (char *)" ", (FLDLEN)0)|
Fchg(fmlbuf, PARA_CODE8, (FLDOCC)0, (char *)" ", (FLDLEN)0)|
Fchg(fmlbuf, PARA_CODE9, (FLDOCC)0, (char *)" ", (FLDLEN)0)|
Fchg(fmlbuf, PARA_CODE10, (FLDOCC)0, (char *)" ", (FLDLEN)0)|
Fchg(fmlbuf, PARA_CODE11, (FLDOCC)0, (char *)sServiceChangeInput->para_code11, (FLDLEN)0)|
Fchg(fmlbuf, PARA_CODE12, (FLDOCC)0, (char *)sServiceChangeInput->para_code12, (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(sServiceChangeOutput->X_Check_Info, "%s", CheckInfo);
sprintf(sServiceChangeOutput->Trade_Id, "%s", TradeId);
sServiceChangeOutput->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: fnCheckUserPWD
* Purpose : 身份验证
* Input :
* SBasicInput * -- 输入参数,基本输入数据
* SCheckPwdInput* -- 输入参数
* SBasicOutput * -- 输出参数,基本输出数据
* Return : 0 成功, -1 失败
*-----------------------------------------------------------------------------
*/
#if defined(__STDC__) || defined(__cplusplus)
int fnCheckUserPWD(SBasicInput * sBasicInput, SCheckPwdInput * sCheckPwdInput,SBasicOutput * sBasicOutput,SCheckPwdOutput* sCheckPwdOutput)
#else
int fnCheckUserPWD(sBasicInput, sCheckPwdInput,sBasicOutput,sCheckPwdOutput)
SBasicInput * sBasicInput;
SCheckPwdInput * sCheckPwdInput;
SBasicOutput * sBasicOutput;
SCheckPwdOutput *sCheckPwdOutput;
#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_CCHQ_CheckUserPWD", (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, ROUTE_EPARCHY_CODE, (FLDOCC)0, (char *)sBasicInput->rout_eparchy_code, (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 *)sCheckPwdInput->serial_number, (FLDLEN)0)|
Fchg(fmlbuf, USER_PASSWD, (FLDOCC)0, (char *)sCheckPwdInput->user_passwd, (FLDLEN)0)|
Fchg(fmlbuf, REMOVE_TAG, (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_CHECK_INFO, (FLDOCC)0, (char *)infotemp, (FLDLEN *)NULL);
sprintf(sCheckPwdOutput->x_check_info, "%s", infotemp);
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: fnReLocateUserPWD
* Purpose : 密码修改
* Input :
* SBasicInput * -- 输入参数,基本输入数据
* SReLocatePwdInput* -- 输入参数
* SBasicOutput * -- 输出参数,基本输出数据
* Return : 0 成功, -1 失败
*-----------------------------------------------------------------------------
*/
#if defined(__STDC__) || defined(__cplusplus)
int fnReLocateUserPWD(SBasicInput * sBasicInput, SReLocatePwdInput * sReLocatePwdInput,SBasicOutput * sBasicOutput)
#else
int fnReLocateUserPWD(sBasicInput, sReLocatePwdInput,sBasicOutput)
SBasicInput * sBasicInput;
SReLocatePwdInput * sReLocatePwdInput;
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];
long x_managemode=2;
(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_UserPwdChg", (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, ROUTE_EPARCHY_CODE, (FLDOCC)0, (char *)sBasicInput->rout_eparchy_code, (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 *)sReLocatePwdInput->serial_number, (FLDLEN)0)|
Fchg(fmlbuf, USER_PASSWD, (FLDOCC)0, (char *)sReLocatePwdInput->user_passwd, (FLDLEN)0)|
Fchg(fmlbuf, X_NEW_PASSWD, (FLDOCC)0, (char *)sReLocatePwdInput->new_passwd, (FLDLEN)0)|
Fchg(fmlbuf, X_MANAGEMODE, (FLDOCC)0, (char *)&x_managemode, (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)
{
/* 取返回数据 */
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?