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 *)&para_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 + -
显示快捷键?