⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 testjtyhdlg.cpp

📁 转发交易接口
💻 CPP
📖 第 1 页 / 共 4 页
字号:
		memset(vpack->m_DataLen,0x00,sizeof(vpack->m_DataLen));
		iLen = strlen(vpack->m_Data);
		sprintf(tmpStr, "%04d", iLen);
		memcpy(vpack->m_DataLen, tmpStr, 4);
		
		return 0;
	}
}
//047220
int CTestJtyhDlg::Function_ZK_ReqPack(PACKSTRUCT *vpack, char *vbuff)
{
	int len = 0;
	char tmpStr[80];
	int retVal =0;
	REQHEAD reqhead;
	REQ_BODY_ZKQR reqbody;
//char kbh[10];//装/清卡编号
//char zzjuh[7];//自助机具号

	memset((char *)&reqhead,0x00,sizeof(reqhead));
	memset((char *)&reqbody,0x00,sizeof(reqbody));
	/***********************************head*********************************************/
    memcpy(reqhead.TIAFILLER,"TLU6",4);
	memcpy(reqhead.TIAAPCODE,"04",2);
	memcpy(reqhead.TIATRCODE,"7220",4);
	memcpy(reqhead.TIAFECODE,"047220",6);	// 前置机号 前置交易码,用于双交易码
	memcpy(reqhead.TIATMSEQNO,"TERM099",7);	//终端号
	memcpy(reqhead.TIATXTYPE,"WEB99",5);//交易来源,填'WEB99'
	memcpy(reqhead.TIATXSEQ,"000000000000000",15);//[15]填网银凭证号
	memcpy(reqhead.TIATLID,"0000000",7);//[7]虚拟柜员号
	reqhead.TIAREQTYPE[0] = 'T';
	/*************************可不填
	reqhead.TIAAUTH[2];
	reqhead.TIASUP1ID[7];
	reqhead.TIASUP2ID[7];
	reqhead.TIASUP1PSW[6];
	reqhead.TIASUP2PSW[6];
	reqhead.TIASUP1DEV[1];
	reqhead.TIASUP2DEV[1];
	//char TIAAUTHRESNTBL		Occur 10	I???????????????????
	reqhead.TIAAUTHRESNTBL[10];
	reqhead.TIAAUTHRESN[6];
	reqhead.TIAAUTHLOG[1];
	reqhead.TIAJRNNO[9];
	*/
	reqhead.TIACOMPIND[1]='0';
	reqhead.TIAENCRIND[1]='0';
	/*
	reqhead.TIATRBR[6];
	reqhead.TIATLLVL[1];
	reqhead.TIAVERNO[8];
	reqhead.TIAOUTERTLR[1];
	reqhead.m_TIAFILLER[2];
	*/
	//char TIATRDATA[2048];
	


	/*********************************body*************************************/
    ////char kbh[10];//装/清卡编号
	memset( tmpStr, 0x00, sizeof( tmpStr ) );
    retVal = GetValue( vpack->m_Data, tmpStr, 1, 0x01 );
	alltrimSpace(tmpStr);
	strcpy(reqbody.kbh,tmpStr);
	
	////char zzjuh[7];//自助机具号
	memset( tmpStr, 0x00, sizeof( tmpStr ) );
    retVal = GetValue( vpack->m_Data, tmpStr, 2, 0x01 );
	alltrimSpace(tmpStr);
	strcpy(reqbody.zzjuh,tmpStr);

	memcpy(vbuff,(char *)&reqhead,sizeof(reqhead));
	memcpy(vbuff+sizeof(reqhead),(char *)&reqbody,sizeof(reqbody));
	len = sizeof(reqhead)+sizeof(reqbody);
	return len;
}


int CTestJtyhDlg::Function_ZK_AnsPack(PACKSTRUCT *vpack, char *vbuff)
{
	int len = 0;
	char tmpStr[80];
	
	ANS_BODY_ZKQR ans;
	memset((char *)&ans,0x00,sizeof(ans));
	
	memset((char *)&ans,0x00,sizeof(ans));
	memcpy((char *)&ans,vbuff,sizeof(ans));
	
	memset(tmpStr,0x00,sizeof(tmpStr));
    memcpy(tmpStr,(char *)&ans.head.TOAMSGCODE,sizeof(ans.head.TOAMSGCODE));
    // 判断结果
	if(memcmp(tmpStr,"0000",4)==0)//  成功
	{
		int iLen=0;
		memcpy(vpack->m_Fhdm,"0000",sizeof(vpack->m_Fhdm));
		memset((char *)vpack->m_Data,0x00,sizeof(vpack->m_Data));
		
		//填包数据区长
		memset(tmpStr,0x00,sizeof(tmpStr));
		memset(vpack->m_DataLen,0x00,sizeof(vpack->m_DataLen));
		iLen = strlen(vpack->m_Data);
		sprintf(tmpStr, "%04d", iLen);
		memcpy(vpack->m_DataLen, tmpStr, 4);
		return 0;
	}
	else
	{
		int iLen=0;
		memcpy(vpack->m_Fhdm,"9999",sizeof(vpack->m_Fhdm));
		memset((char *)vpack->m_Data,0x00,sizeof(vpack->m_Data));
		
		//客户号
		strcpy(vpack->m_Data,"1000" );
        iLen = strlen(vpack->m_Data);
		vpack->m_Data[iLen] = 0x01;
		
		strcpy(vpack->m_Data, "装卡失败");
        iLen = strlen(vpack->m_Data);
		vpack->m_Data[iLen] = 0x01;
		
		//填包数据区长
		memset(tmpStr,0x00,sizeof(tmpStr));
		memset(vpack->m_DataLen,0x00,sizeof(vpack->m_DataLen));
		iLen = strlen(vpack->m_Data);
		sprintf(tmpStr, "%04d", iLen);
		memcpy(vpack->m_DataLen, tmpStr, 4);
		
		return 0;
	}
}


/*
//1.1	客户信息建立(011155)
reqbody.zjzl,"15",2);
//证件种类	X(02)	必输	15居民身份证
strcpy(reqbody.zjhm,tmpStr);
//证件号码	X(30)	必输	可输中文
strcpy(reqbody.khxm,tmpStr);
//客户姓名	X(30)	必输	可输中文
reqbody.khsf[0]=0;
//客户身份	X(01)	必输	0居民  1非居民
strcpy(reqbody.jtzz,tmpStr);//[60];
//家庭地址	X(60)	可输	可输中文
//strcpy(reqbody.jtbm,tmpStr);
//家庭邮编	9(06)	可输	
strcpy(reqbody.lxdz,tmpStr);
//联系地址	X(60)	可输	可输中文
//char lxyb[6];
//联系邮编	9(06)	可输	
//char Email[30];
//	X(30)	可输	
strcpy(reqbody.tel1,tmpStr);
//电话1	X(20)	可输	
strcpy(reqbody.tel2,tmpStr);
//电话2	X(20)	可输	
strcpy(reqbody.mobil,tmpStr);
//手机号码	X(15)	可输	
//char fax[20];
//传真	X(20)	可输	
//char hybz[1];
//行员标志	X(01)	可输	0非本行行员1本行行员
//char khdj[2];
//客户等级	X(02)	可输	客户的综合级别,1五星;2四星;3三星;4二星;5一星;
//6低价值;7无价值;8亏损
//char xydj[1];
//信用等级	X(01)	可输	1 AAA,2  AA,3  A,4  BBB,5  BB,6  B,7  C
//char birth[8];
strcpy(reqbody.birth,tmpStr);
//出生年月	9(08)	可输	
reqbody.sex[0] = 0   //?????????????????????????????
//性别	X(01)	可输	0男性;1女性;2未说明的性别;
//char hyzk[1];
//婚姻状况	X(01)	可输	1未婚;2已婚;3丧偶;4离婚;9不详。
//char jycd[2];
//教育程度	X(02)	可输	00研究生以上;01研究生;02大学本科;03大学专科和专科学校;04中等专业学校;05技工学校;06高中;07初中;08小学;09文盲或半文盲;10其他。
//char work[60];
//工作单位	X(60)	可输	可输中文
//char dwxz[2];
//单位性质	X(02)	可输	00国有;01集体;02私营;03个体;04联营;05股份;06外资;07港澳台;08中外合资;09中外合作;10合伙;11其他
//char dwdz[60];
//单位地址	X(60)	可输	可输中文
//char yzbm[6];
//邮政编码	9(06)	可输	
char worktele[20];
//单位电话	X(20)	可输	
//char hyxz[2];
//行业性质	X(02)	可输	00农、林、牧、渔业;	
//20未知。	
//char zzxz[1];
//住宅性质	X(01)	可输	0自购无按揭;1自置有按揭;2与父母同住;3租用;4与亲友同住;5宿舍;6其他; 
//char yokematename[30];
//配偶姓名	X(30)	可输	可输中文
//char yokematezjlx[2];
//配偶证件类型	X(02)	可输	15居民身份证;16临时身份证;17军人身份证件;18武警身份证件;19通行证;20护照;21其他;22临时户口;23户口簿;24边境证;25外国人居留证;26身份证明。
//char yokematecardnum[30];
//配偶证件号码	X(30)	可输	可输中文
//char zc[1];
//职称	X(01)	可输	0无;1高级;2中级;3初级;4未知
//char gyrs[2];
//供养人数	9(02)	可输	000人;
//char home[1];
//住房情况	X(01)	可输	1自置;2按揭;3亲属楼宇;4集体宿舍;5租房;6其他; 7共有住宅;8未知;
//char sbh[30];
//社保号	X(30)	可输	
//char mm[20];
//客户密码	X(20)	可输	
char jgh[6];
//建立机构	9(06)	必输	
char jlgy[7];
//建立柜员	X(07)	必输	
char jlrq[8];
//建立日期	X(08)	必输	
//char ywxm[30];
//英文姓名	X(30)	可输	
//char gj[3];
//国籍 	X(3)	可输
*/


//011155
int CTestJtyhDlg::Function_JLKHZL_ReqPack(PACKSTRUCT *vpack, char *vbuff)
{
	int len = 0;
	char tmpStr[80];
	int retVal =0;
	REQHEAD reqhead;
	REQ_BODY_KHZLJL reqbody;
	
	memset((char *)&reqhead,0x00,sizeof(reqhead));
	memset((char *)&reqbody,0x00,sizeof(reqbody));
	/***********************************head*********************************************/
    memcpy(reqhead.TIAFILLER,"TLU6",4);
	memcpy(reqhead.TIAAPCODE,"01",2);
	memcpy(reqhead.TIATRCODE,"1155",4);
	memcpy(reqhead.TIAFECODE,"011155",6);	// 前置机号 前置交易码,用于双交易码
	memcpy(reqhead.TIATMSEQNO,"TERM099",7);	//终端号
	memcpy(reqhead.TIATXTYPE,"WEB99",5);//交易来源,填'WEB99'
	memcpy(reqhead.TIATXSEQ,"000000000000000",15);//[15]填网银凭证号
	memcpy(reqhead.TIATLID,"0000000",7);//[7]虚拟柜员号
	reqhead.TIAREQTYPE[0] = 'T';
	/*************************可不填
	reqhead.TIAAUTH[2];
	reqhead.TIASUP1ID[7];
	reqhead.TIASUP2ID[7];
	reqhead.TIASUP1PSW[6];
	reqhead.TIASUP2PSW[6];
	reqhead.TIASUP1DEV[1];
	reqhead.TIASUP2DEV[1];
	//char TIAAUTHRESNTBL		Occur 10	I???????????????????
	reqhead.TIAAUTHRESNTBL[10];
	reqhead.TIAAUTHRESN[6];
	reqhead.TIAAUTHLOG[1];
	reqhead.TIAJRNNO[9];
	*/
	reqhead.TIACOMPIND[1]='0';
	reqhead.TIAENCRIND[1]='0';
	/*
	reqhead.TIATRBR[6];
	reqhead.TIATLLVL[1];
	reqhead.TIAVERNO[8];
	reqhead.TIAOUTERTLR[1];
	reqhead.m_TIAFILLER[2];
	*/
	//char TIATRDATA[2048];
	
	
	/*********************************body*************************************/
	//1.1	客户信息建立(011155)
	memcpy(reqbody.zjzl,"15",2);
	//证件种类	X(02)	必输	15居民身份证
	memset( tmpStr, 0x00, sizeof( tmpStr ) );
    retVal = GetValue( vpack->m_Data, tmpStr, 1, 0x01 );
	alltrimSpace(tmpStr);
	strcpy(reqbody.zjhm,tmpStr);
	//证件号码	X(30)	必输	可输中文
	memset( tmpStr, 0x00, sizeof( tmpStr ) );
    retVal = GetValue( vpack->m_Data, tmpStr, 1, 0x01 );
	alltrimSpace(tmpStr);
	strcpy(reqbody.khxm,tmpStr);
	//客户姓名	X(30)	必输	可输中文
	reqbody.khsf[0]=0;
	//客户身份	X(01)	必输	0居民  1非居民
	
	//memset( tmpStr, 0x00, sizeof( tmpStr ) );
    //retVal = GetValue( vpack->m_Data, tmpStr, 1, 0x01 );
	//alltrimSpace(tmpStr);
	//strcpy(reqbody.jtzz,tmpStr);//[60];
	//家庭地址	X(60)	可输	可输中文
	
	
	//strcpy(reqbody.jtbm,tmpStr);
	//家庭邮编	9(06)	可输
	
	memset( tmpStr, 0x00, sizeof( tmpStr ) );
    retVal = GetValue( vpack->m_Data, tmpStr, 1, 0x01 );
	alltrimSpace(tmpStr);	
	strcpy(reqbody.lxdz,tmpStr);
	//联系地址	X(60)	可输	可输中文
	
	//char lxyb[6];
	//联系邮编	9(06)	可输	
	//char Email[30];
	//	X(30)	可输
	
	memset( tmpStr, 0x00, sizeof( tmpStr ) );
    retVal = GetValue( vpack->m_Data, tmpStr, 1, 0x01 );
	alltrimSpace(tmpStr);		
	strcpy(reqbody.tel1,tmpStr);
	//电话1	X(20)	可输	
	
	memset( tmpStr, 0x00, sizeof( tmpStr ) );
    retVal = GetValue( vpack->m_Data, tmpStr, 1, 0x01 );
	alltrimSpace(tmpStr);	
	strcpy(reqbody.tel2,tmpStr);
	//电话2	X(20)	可输	
	
	memset( tmpStr, 0x00, sizeof( tmpStr ) );
    retVal = GetValue( vpack->m_Data, tmpStr, 1, 0x01 );
	alltrimSpace(tmpStr);
	strcpy(reqbody.mobil,tmpStr);
	//手机号码	X(15)	可输	
	//char fax[20];
	//传真	X(20)	可输	
	//char hybz[1];
	//行员标志	X(01)	可输	0非本行行员1本行行员
	//char khdj[2];
	//客户等级	X(02)	可输	客户的综合级别,1五星;2四星;3三星;4二星;5一星;
	//6低价值;7无价值;8亏损
	//char xydj[1];
	//信用等级	X(01)	可输	1 AAA,2  AA,3  A,4  BBB,5  BB,6  B,7  C
	//char birth[8];
	memset( tmpStr, 0x00, sizeof( tmpStr ) );
    retVal = GetValue( vpack->m_Data, tmpStr, 1, 0x01 );
	alltrimSpace(tmpStr);
	strcpy(reqbody.birth,tmpStr);
	//出生年月	9(08)	可输	
	
	reqbody.sex[0] = 0;   //?????????????????????????????
	//性别	X(01)	可输	0男性;1女性;2未说明的性别;
	//char hyzk[1];
	//婚姻状况	X(01)	可输	1未婚;2已婚;3丧偶;4离婚;9不详。
	//char jycd[2];
	//教育程度	X(02)	可输	00研究生以上;01研究生;02大学本科;03大学专科和专科学校;04中等专业学校;05技工学校;06高中;07初中;08小学;09文盲或半文盲;10其他。
	//char work[60];
	//工作单位	X(60)	可输	可输中文
	//char dwxz[2];
	//单位性质	X(02)	可输	00国有;01集体;02私营;03个体;04联营;05股份;06外资;07港澳台;08中外合资;09中外合作;10合伙;11其他
	//char dwdz[60];
	//单位地址	X(60)	可输	可输中文
	//char yzbm[6];
	//邮政编码	9(06)	可输	
	//char worktele[20];
	//单位电话	X(20)	可输	
	//char hyxz[2];
	//行业性质	X(02)	可输	00农、林、牧、渔业;	
	//20未知。	
	//char zzxz[1];
	//住宅性质	X(01)	可输	0自购无按揭;1自置有按揭;2与父母同住;3租用;4与亲友同住;5宿舍;6其他; 
	//char yokematename[30];
	//配偶姓名	X(30)	可输	可输中文
	//char yokematezjlx[2];
	//配偶证件类型	X(02)	可输	15居民身份证;16临时身份证;17军人身份证件;18武警身份证件;19通行证;20护照;21其他;22临时户口;23户口簿;24边境证;25外国人居留证;26身份证明。
	//char yokematecardnum[30];
	//配偶证件号码	X(30)	可输	可输中文
	//char zc[1];
	//职称	X(01)	可输	0无;1高级;2中级;3初级;4未知
	//char gyrs[2];
	//供养人数	9(02)	可输	000人;
	//char home[1];
	//住房情况	X(01)	可输	1自置;2按揭;3亲属楼宇;4集体宿舍;5租房;6其他; 7共有住宅;8未知;
	//char sbh[30];
	//社保号	X(30)	可输	
	//char mm[20];
	//客户密码	X(20)	可输
	
	memset( tmpStr, 0x00, sizeof( tmpStr ) );
    retVal = GetValue( vpack->m_Data, tmpStr, 1, 0x01 );
	alltrimSpace(tmpStr);	
	strcpy(reqbody.jgh,tmpStr);
	//建立机构	9(06)	必输
	
	
	memset( tmpStr, 0x00, sizeof( tmpStr ) );
    retVal = GetValue( vpack->m_Data, tmpStr, 1, 0x01 );
	alltrimSpace(tmpStr);	
	strcpy(reqbody.jlgy,tmpStr);
	//char jlgy[7];
	//建立柜员	X(07)	必输
	
	memset( tmpStr, 0x00, sizeof( tmpStr ) );
    retVal = GetValue( vpack->m_Data, tmpStr, 1, 0x01 );
	alltrimSpace(tmpStr);	
	strcpy(reqbody.jlrq,tmpStr);	
	
	//建立日期	X(08)	必输	
	//char ywxm[30];
	//英文姓名	X(30)	可输	
	//char gj[3];
	//国籍 	X(3)	可输
	
	memcpy(vbuff,(char *)&reqhead,sizeof(reqhead));
	memcpy(vbuff+sizeof(reqhead),(char *)&reqbody,sizeof(reqbody));
	len = sizeof(reqhead)+sizeof(reqbody);
	return len;
}


int CTestJtyhDlg::Function_JLKHZL_AnsPack(PACKSTRUCT *vpack, char *vbuff)
{
	int len = 0;
	char tmpStr[80];
	
	ANS_BODY_KHZLJL ans;
	memset((char *)&ans,0x00,sizeof(ans));
	
	memset((char *)&ans,0x00,sizeof(ans));
	memcpy((char *)&ans,vbuff,sizeof(ans));
	
	memset(tmpStr,0x00,sizeof(tmpStr));
    memcpy(tmpStr,(char *)&ans.head.TOAMSGCODE,sizeof(ans.head.TOAMSGCODE));
    // 判断结果
	if(memcmp(tmpStr,"0000",4)==0)//  成功
	{
		int iLen=0;
		memcpy(vpack->m_Fhdm,"0000",sizeof(vpack->m_Fhdm));
		memset((char *)vpack->m_Data,0x00,sizeof(vpack->m_Data));
		
		//客户号
		memset(tmpStr,0x00,sizeof(tmpStr));
		memcpy(tmpStr,(char *)&ans.custom,sizeof(ans.custom));
		strcpy(vpack->m_Data, tmpStr);
        iLen = strlen(vpack->m_Data);
		vpack->m_Data[iLen] = 0x01;
		
		memset(tmpStr,0x00,sizeof(tmpStr));
		memcpy(tmpStr,(char *)&ans.name,sizeof(ans.name));
		strcpy(vpack->m_Data, tmpStr);
        iLen = strlen(vpack->m_Data);
		vpack->m_Data[iLen] = 0x01;

		//填包数据区长
		memset(tmpStr,0x00,sizeof(tmpStr));
		memset(vpack->m_DataLen,0x00,sizeof(vpack->m_DataLen));
		iLen = strlen(vpack->m_Data);
		sprintf(tmpStr, "%04d", iLen);
		memcpy(vpack->m_DataLen, tmpStr, 4);
		return 0;
	}
	else
	{
		int iLen=0;
		memcpy(vpack->m_Fhdm,"9999",sizeof(vpack->m_Fhdm));
		memset((char *)vpack->m_Data,0x00,sizeof(vpack->m_Data));
		
		//客户号
		strcpy(vpack->m_Data,"1000" );
        iLen = strlen(vpack->m_Data);
		vpack->m_Data[iLen] = 0x01;
		
		strcpy(vpack->m_Data, "建立客户资料失败");
        iLen = strlen(vpack->m_Data);
		vpack->m_Data[iLen] = 0x01;
		
		//填包数据区长
		memset(tmpStr,0x00,sizeof(tmpStr));
		memset(vpack->m_DataLen,0x00,sizeof(vpack->m_DataLen));
		iLen = strlen(vpack->m_Data);
		sprintf(tmpStr, "%04d", iLen);
		memcpy(vpack->m_DataLen, tmpStr, 4);
		
		return 0;
	}
}



//废卡内部销卡(047290)	
int CTestJtyhDlg::Function_Nbxk_ReqPack(PACKSTRUCT *vpack, char *vbuff)
{

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -