📄 heng.c
字号:
if(ret==-1) return ANS_SYS_ERR; if(ret==-2) return ANS_SUSP_REQ; if(ret==-3) return ANS_NO_PRIV; if(ReqFile.hf[lpJyDest->zqsid] ==INVALID_HANDLE_VALUE) return ANS_SYS_ERR; memset(&ReqBuf,0,rlen); memset(&Answer,0,sizeof(ANSWER)); ReqBuf.command =8; ReqBuf.status ='\001'; ReqBuf.request.r_inq_entrust.arg_type ='3'; if(AskWtcx->jys ==0) strcpy(ReqBuf.request.r_inq_entrust.stock_account, AskWtcx->gddm); else sprintf(ReqBuf.request.r_inq_entrust.stock_account, "A%s",AskWtcx->gddm); ReqBuf.request.r_inq_real.exchange_type = (AskWtcx->jys ==0)?'2':'1'; ReqBuf.request.r_inq_entrust.inquire_mode ='1';// memset(CommBuffer,' ',*(short *)CommFile.dbfStruct.rlen);// StringToFld(CommBuffer,CommFile.fldStruct[fld_GDDM],AskWtcx->gddm);// CommBuffer[*(short*)(CommFile.fldStruct[fld_STKNO].offset)]// =(AskWtcx->jys ==0)?'Z':'H'; // StringToFld(CommBuffer,CommFile.fldStruct[fld_DATE],AskWtcx->wtrq); // StringToFld(CommBuffer,CommFile.fldStruct[fld_HTHM],AskWtcx->hthm); // CommBuffer[*(short*)(CommFile.fldStruct[fld_ASKNO].offset)]=REQ_WTCX;// CommBuffer[*(short*)(CommFile.fldStruct[fld_JYMM].offset)]=AskWtcx->cdcx;// CommBuffer[*(short*)(CommFile.fldStruct[fld_STAT].offset)]=';';// wsprintf(temp,"%d",sd);// StringToFld(CommBuffer,CommFile.fldStruct[fld_ADDR],temp);// wsprintf(temp,"%d",jyNum);// StringToFld(CommBuffer,CommFile.fldStruct[fld_SERI],temp); // ClearAns(lpJyDest);// wsprintf(temp,"%s%d%s",AnsFile.path[lpJyDest->zqsid],lpJyDest->recNum,".ANS");// remove(temp); if(WriteRecord(ReqFile.hf[lpJyDest->zqsid],lpJyDest->recNum,hlen,rlen, (char *)&ReqBuf)!=0) { ErrMsg(NULL, "不能写交换文件!"); return ANS_SYS_ERR; } if(ChangeJyDest(sd, lpJyDest, REQ_WTCX, AskWtcx->jys, -1, jyNum) <0) return ANS_SYS_ERR; if(fTestJy) { Sleep(1000);/* CommBuffer[*(short*)(CommFile.fldStruct[fld_ANSNO].offset)]=ANS_SUCC; CommBuffer[*(short*)(CommFile.fldStruct[fld_STAT].offset)]=';'; StringToFld(CommBuffer,CommFile.fldStruct[fld_JYMM],"22"); wsprintf(temp,"%d",jyNum); StringToFld(CommBuffer,CommFile.fldStruct[fld_SERI],temp); WriteRecord(AnsFile.hf[lpJyDest->zqsid],lpJyDest->recNum,hlen, rlen,CommBuffer); wsprintf(temp,"%s%d%s",AnsFile.path[lpJyDest->zqsid],lpJyDest->recNum,".ANS"); hFile =OpenFile(temp, &os, OF_CREATE|OF_SHARE_DENY_NONE|OF_WRITE); if(hFile ==HFILE_ERROR) return ANS_SYS_ERR; for(i=0;i<22;i++) { CommBuffer[*(short*)(CommFile.fldStruct[fld_ANSNO].offset)]=i-(int)(i/2)*2==0 ?'B':'S'; wsprintf(temp,"%04d",i+1); StringToFld(CommBuffer,CommFile.fldStruct[fld_GPDM],temp); wsprintf(temp,"%8d",(i+1)*100); StringToFld(CommBuffer,CommFile.fldStruct[fld_WTGS],temp); wsprintf(temp,"%8d",i+10); StringToFld(CommBuffer,CommFile.fldStruct[fld_WTJG],temp); wsprintf(temp,"%06d",i+100); StringToFld(CommBuffer,CommFile.fldStruct[fld_HTHM],temp); StringToFld(CommBuffer,CommFile.fldStruct[fld_DATE],"111111"); CommBuffer[*(short*)(CommFile.fldStruct[fld_STAT].offset)]=';'; _lwrite(hFile,&CommBuffer[1], rlen-1); _lwrite(hFile,"\r\n",2); } _lclose(hFile);*/ WriteRecord(AnsFile.hf[lpJyDest->zqsid],lpJyDest->recNum, 0,sizeof(ANSWER),(char *)&Answer); } return 0;}int JyDest_ChkUsr(LPJY_DEST lpJyDest){ BYTE SendBuff[2048]; int ret, len; JY_ANS_CHKUSR AnsUser; //ReadRecord(AnsFile.hf[lpJyDest->zqsid],lpJyDest->recNum,hlen, // rlen,CommBuffer); //stat=CommBuffer[*(short*)(CommFile.fldStruct[fld_STAT].offset)]; //if(stat !=';') // return 0; REQUEST_BUFFER ReqBuf; ANSWER Answer; memset(&ReqBuf,0,rlen); memset(&Answer,0,sizeof(ANSWER)); ReadRecord(ReqFile.hf[lpJyDest->zqsid],lpJyDest->recNum, hlen,rlen,(char *)&ReqBuf); if(ReqBuf.status !='\002') return 0; if(ReadRecord(AnsFile.hf[lpJyDest->zqsid],lpJyDest->recNum, 0,sizeof(ANSWER),(char *)&Answer)!=0) ret =-1; else { //if(strncmp(Answer.a_inq_account.status,"000",3) ==0) ret =ReqBuf.error; if(ret>=0) { //ret =0; lpJyDest->jyzh =Answer.a_inq_account.fund_account; lpJyDest->zjye =Answer.a_inq_account.current_balance; lpJyDest->kyje =Answer.a_inq_account.enable_balance; } } //FldToString(CommBuffer,&CommFile.fldStruct[fld_SERI],temp); //if(lpJyDest->jyNum!=atoi(temp)) // return 0; //ret=CommBuffer[*(short*)(CommFile.fldStruct[fld_ANSNO].offset)]; //if(ret==' ') // return 0; if(ret<0) { //ret =ANS_SYS_ERR; switch(ret) { case -51: ret ='1'; break; case -52: ret ='6'; break; default: ret ='1'; } } else ret =ANS_SUCC; strcpy(SendBuff, JY_CHKUSR_HEAD); len =strlen(SendBuff); *(short *)&SendBuff[len] =lpJyDest->jyNum; len +=sizeof(short); AnsUser.jys=lpJyDest->curJys; AnsUser.userId=lpJyDest->userId; strcpy(AnsUser.gddm,lpJyDest->gddm); AnsUser.flag=(char)ret; memcpy(&SendBuff[len],&AnsUser,sizeof(JY_ANS_CHKUSR)); len+=sizeof(AnsUser); UDP_SendBuff("检查交易用户", lpJyDest->sd, SendBuff, len,NULL); lpJyDest->isReqEnd =TRUE; //ClearReq(lpJyDest); return 0;} int JyDest_ChgPwd(LPJY_DEST lpJyDest){ BYTE SendBuff[100]; int ret,len; JY_ANS_CHGPWD AnsChgPwd;// ReadRecord(AnsFile.hf[lpJyDest->zqsid],lpJyDest->recNum,hlen,// rlen,CommBuffer);// stat=CommBuffer[*(short*)(CommFile.fldStruct[fld_STAT].offset)]; // if(stat !=';') // return 0;// FldToString(CommBuffer,&CommFile.fldStruct[fld_SERI],temp); // if(lpJyDest->jyNum!=atoi(temp)) // return 0;//// ret=CommBuffer[*(short*)(CommFile.fldStruct[fld_ANSNO].offset)];// if(ret==' ')// return 0; REQUEST_BUFFER ReqBuf; ANSWER Answer; memset(&ReqBuf,0,rlen); memset(&Answer,0,sizeof(ANSWER)); ReadRecord(ReqFile.hf[lpJyDest->zqsid],lpJyDest->recNum, hlen,rlen,(char *)&ReqBuf); if(ReqBuf.status !='\002') return 0;// if(ReadRecord(AnsFile.hf[lpJyDest->zqsid],lpJyDest->recNum,// 0,sizeof(ANSWER),(char *)&Answer)!=0)// ret =-1;// else ret =ReqBuf.error; if(ret<0) ret =ANS_SYS_ERR; else ret =ANS_SUCC; AnsChgPwd.flag =(char)ret; AnsChgPwd.jys =lpJyDest->curJys; strcpy(SendBuff, JY_CHGPWD_HEAD); len =strlen(SendBuff); *(short *)&SendBuff[len] =lpJyDest->jyNum; len +=sizeof(short); strcpy(AnsChgPwd.gddm, lpJyDest->gddm); memcpy(&SendBuff[len], &AnsChgPwd, sizeof(AnsChgPwd)); len +=sizeof(AnsChgPwd); UDP_SendBuff("修改交易密码", lpJyDest->sd, SendBuff, len, NULL); lpJyDest->isReqEnd =TRUE;// ClearReq(lpJyDest); return 0;} int JyDest_BuySell(LPJY_DEST lpJyDest){ char hthm[20]; BYTE SendBuff[100]; int ret, len; JY_ANS_BUYSELL AnsBuySell; /* ReadRecord(AnsFile.hf[lpJyDest->zqsid],lpJyDest->recNum, hlen,rlen,CommBuffer); stat=CommBuffer[*(short*)(CommFile.fldStruct[fld_STAT].offset)]; if(stat !=';') return 0; FldToString(CommBuffer,&CommFile.fldStruct[fld_SERI],temp); if(lpJyDest->jyNum!=atoi(temp)) return 0; ret=CommBuffer[*(short*)(CommFile.fldStruct[fld_ANSNO].offset)]; if(ret==' ') return 0; hthm[0] =0;*/ REQUEST_BUFFER ReqBuf; ANSWER Answer; memset(&ReqBuf,0,rlen); memset(&Answer,0,sizeof(ANSWER)); ReadRecord(ReqFile.hf[lpJyDest->zqsid],lpJyDest->recNum, hlen,rlen,(char *)&ReqBuf); if(ReqBuf.status !='\002') return 0; if(ReadRecord(AnsFile.hf[lpJyDest->zqsid],lpJyDest->recNum, 0,sizeof(ANSWER),(char *)&Answer)!=0) ret =-1; else ret =ReqBuf.error; if(ret<0) { ret =ANS_SYS_ERR; } else { //FldToString(CommBuffer,&CommFile.fldStruct[fld_HTHM],hthm); //memset(temp,' ',(short)CommFile.fldStruct[fld_HTHM].wid); //if(strncmp(hthm,temp,(short)CommFile.fldStruct[fld_HTHM].wid)==0) // return 0; lpJyDest->zjye =Answer.a_ent_enter.current_balance; lpJyDest->kyje =Answer.a_ent_enter.enable_balance; sprintf(hthm,"%06d",ret); ret =ANS_SUCC; } AnsBuySell.jys=lpJyDest->curJys; strcpy(AnsBuySell.gddm,lpJyDest->gddm); strcpy(AnsBuySell.hthm,hthm); AnsBuySell.bs=REQ_BUYSEL; AnsBuySell.flag=(char)ret; strcpy(SendBuff, JY_BUYSELL_HEAD); len =strlen(SendBuff); *(short *)&SendBuff[len] =lpJyDest->jyNum; len +=sizeof(short); memcpy(&SendBuff[len],&AnsBuySell,sizeof(AnsBuySell)); len+=sizeof(AnsBuySell); UDP_SendBuff("买卖委托", lpJyDest->sd, SendBuff, len, NULL); lpJyDest->isReqEnd =TRUE; //ClearReq(lpJyDest); return 0;} int JyDest_Cancel(LPJY_DEST lpJyDest){ BYTE SendBuff[600]; int ret,len,retnum; JY_ANS_CANCEL AnsCancel;/* ReadRecord(AnsFile.hf[lpJyDest->zqsid],lpJyDest->recNum, hlen,rlen,CommBuffer); stat=CommBuffer[*(short*)(CommFile.fldStruct[fld_STAT].offset)]; if(stat!=';') return 0; FldToString(CommBuffer,&CommFile.fldStruct[fld_SERI],temp); if(lpJyDest->jyNum!=atoi(temp)) return 0; ret=CommBuffer[*(short*)(CommFile.fldStruct[fld_ANSNO].offset)]; if(ret==' ') return 0;*/ REQUEST_BUFFER ReqBuf; ANSWER Answer; memset(&ReqBuf,0,rlen); memset(&Answer,0,sizeof(ANSWER)); memset(&AnsCancel,0,sizeof(JY_ANS_CANCEL)); ReadRecord(ReqFile.hf[lpJyDest->zqsid],lpJyDest->recNum, hlen,rlen,(char *)&ReqBuf); if(ReqBuf.status !='\002') return 0; if(ReadRecord(AnsFile.hf[lpJyDest->zqsid],lpJyDest->recNum, 0,sizeof(ANSWER),(char *)&Answer)!=0) ret =-1; else ret =ReqBuf.error; //FldToString(CommBuffer,&CommFile.fldStruct[fld_JYMM],temp); //memset(tmp,' ',(short)CommFile.fldStruct[fld_JYMM].wid); //if(ret==ANS_SUCC&&strncmp(temp,tmp,(short)CommFile.fldStruct[fld_JYMM].wid)==0) // return 0; //retnum=atoi(temp); retnum =1; if(ret<0) { AnsCancel.flag[0] =ANS_SYS_ERR; } else {// if(retnum==1)// {// ret=CommBuffer[*(short*)(CommFile.fldStruct[fld_ANSNO].offset)]; lpJyDest->zjye =Answer.a_ent_cancel.current_balance; lpJyDest->kyje =Answer.a_ent_cancel.enable_balance; AnsCancel.flag[0] =ANS_SUCC;// }/* else { wsprintf(temp,"%s%d%s",AnsFile.path[lpJyDest->zqsid],lpJyDest->recNum,".ANS"); hFile =OpenFile(temp, &os, OF_SHARE_DENY_NONE|OF_READ); if(hFile ==HFILE_ERROR) return 0; i=_llseek(hFile, 0L, FILE_END); if(i==HFILE_ERROR) { _lclose(hFile); return 0; } if((i-1)/(rlen+1)!=retnum) { _lclose(hFile); return 0; } _llseek(hFile, 0L, FILE_BEGIN); for(i =0; i<retnum; i++) { if((short)_lread(hFile,&CommBuffer[1],rlen -1)!=rlen -1) break; ret=CommBuffer[*(int*)(CommFile.fldStruct[fld_ANSNO].offset)]; AnsCancel.flag[i] =ret; _llseek(hFile, 2L, FILE_CURRENT); } _lclose(hFile); remove(temp); }*/ } AnsCancel.jys =lpJyDest->curJys; strcpy(AnsCancel.gddm, lpJyDest->gddm); strcpy(SendBuff, JY_CANCEL_HEAD); len =strlen(SendBuff); *(short *)&SendBuff[len] =lpJyDest->jyNum; len +=sizeof(short); memcpy(&SendBuff[len], &AnsCancel, sizeof(AnsCancel)); len +=sizeof(AnsCancel); UDP_SendBuff("撤消委托", lpJyDest->sd, SendBuff, len,NULL); lpJyDest->isReqEnd =TRUE;// ClearReq(lpJyDest); return 0;} int JyDest_Yecx(LPJY_DEST lpJyDest){ JY_ANS_YECX AnsYecx; int ret, i,retnum;// ReadRecord(AnsFile.hf[lpJyDest->zqsid],lpJyDest->recNum,// hlen,rlen,CommBuffer);// stat=CommBuffer[*(short*)(CommFile.fldStruct[fld_STAT].offset)]; // if(stat !=';') // return 0;// FldToString(CommBuffer,&CommFile.fldStruct[fld_SERI],temp); // if(lpJyDest->jyNum!=atoi(temp)) // return 0;// ret=CommBuffer[*(short*)(CommFile.fldStruct[fld_ANSNO].offset)];// if(ret==' ')// return 0;// FldToString(CommBuffer,&CommFile.fldStruct[fld_JYMM],temp);// memset(tmp,' ',(short)CommFile.fldStruct[fld_JYMM].wid);// if(ret==ANS_SUCC&&strncmp(temp,tmp,(short)CommFile.fldStruct[fld_JYMM].wid)==0)// return 0;// retnum=atoi(temp);// if(ret==ANS_SUCC&&retnum>0)// {// wsprintf(tmp,"%s%d%s",AnsFile.path[lpJyDest->zqsid],lpJyDest->recNum,".ANS");// hFile =OpenFile(tmp, &os, OF_SHARE_DENY_NONE|OF_READ);//// if(hFile ==HFILE_ERROR)// return 0;//// i=_llseek(hFile, 0L, FILE_END);// if(i==HFILE_ERROR)// {// _lclose(hFile);// return 0;// }// if((i)/(rlen+1)<retnum)// {// _lclose(hFile);// return 0;// }// _llseek(hFile, 0L, FILE_BEGIN);// } REQUEST_BUFFER ReqBuf; ANSWER Answer; memset(&ReqBuf,0,rlen); memset(&Answer,0,sizeof(Answer)); ReadRecord(ReqFile.hf[lpJyDest->zqsid],lpJyDest->recNum, hlen,rlen,(char *)&ReqBuf); if(ReqBuf.status !='\002') return 0; ReadRecord(AnsFile.hf[lpJyDest->zqsid],lpJyDest->recNum, 0,sizeof(ANSWER),(char *)&Answer); ret =ReqBuf.error; AnsYecx.kys=lpJyDest->kyje; AnsYecx.zjye=lpJyDest->zjye; if(ret>=0) {
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -