📄 sv_jy.c
字号:
CommBuffer[*(short*)(CommFile.fldStruct[fld_STAT].offset)]=';'; wsprintf(temp,"%d",AskCancel->cancelCount); StringToFld(CommBuffer,CommFile.fldStruct[fld_JYMM],temp); 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<AskCancel->cancelCount;i++) { memset(CommBuffer,' ',*(short *)CommFile.dbfStruct.rlen); StringToFld(CommBuffer,CommFile.fldStruct[fld_GDDM],AskCancel->gddm); StringToFld(CommBuffer,CommFile.fldStruct[fld_HTHM],AskCancel->Cancel[i].hthm); CommBuffer[*(short*)(CommFile.fldStruct[fld_STKNO].offset)] =(AskCancel->jys ==0)?'Z':'H'; CommBuffer[*(short*)(CommFile.fldStruct[fld_ASKNO].offset)]=REQ_CANCEL; CommBuffer[*(short*)(CommFile.fldStruct[fld_ANSNO].offset)]=ANS_SUCC; 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); _lwrite(hFile,&CommBuffer[1], rlen-1); _lwrite(hFile,"\r\n",2); } _lclose(hFile); } return 0;}int Jy_Yecx(int sd, int jyNum, LPJY_ASK_YECX AskYecx){ LPJY_DEST lpJyDest; int ret,i=0; char temp[20]; HFILE hFile; OFSTRUCT os; ret =CheckJyDest(sd, REQ_YECX, AskYecx->jys, AskYecx->gddm, AskYecx->userId, &lpJyDest); 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] ==-1) return ANS_SYS_ERR; memset(CommBuffer,' ',*(short *)CommFile.dbfStruct.rlen); StringToFld(CommBuffer,CommFile.fldStruct[fld_GDDM],AskYecx->gddm); CommBuffer[*(short*)(CommFile.fldStruct[fld_STKNO].offset)] =(AskYecx->jys ==0)?'Z':'H'; StringToFld(CommBuffer,CommFile.fldStruct[fld_GPDM],AskYecx->gpdm); CommBuffer[*(short*)(CommFile.fldStruct[fld_ASKNO].offset)]=REQ_YECX; 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, CommBuffer)!=0) { ErrMsg(NULL, "不能写交换文件!"); return ANS_SYS_ERR; } if(ChangeJyDest(sd, lpJyDest, REQ_YECX, AskYecx->jys, -1, jyNum) <0) return ANS_SYS_ERR; if(fTestJy) { Sleep(1000); 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 0; for(i=0;i<22;i++) { memset(CommBuffer,0,sizeof(CommBuffer)); wsprintf(temp,"%04d",i+1); StringToFld(CommBuffer,CommFile.fldStruct[fld_GPDM],temp); wsprintf(temp,"%8d",(i+1)*10); StringToFld(CommBuffer,CommFile.fldStruct[fld_WTGS],temp); wsprintf(temp,"%8d",(i+1)*20); StringToFld(CommBuffer,CommFile.fldStruct[fld_WTJG],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); CommBuffer[*(short*)(CommFile.fldStruct[fld_ANSNO].offset)]=ANS_SUCC; CommBuffer[*(short*)(CommFile.fldStruct[fld_STAT].offset)]=';'; StringToFld(CommBuffer,CommFile.fldStruct[fld_JYMM],"22"); StringToFld(CommBuffer,CommFile.fldStruct[fld_WTGS],"9000000.12"); StringToFld(CommBuffer,CommFile.fldStruct[fld_WTJG],"2000000.99"); wsprintf(temp,"%d",jyNum); StringToFld(CommBuffer,CommFile.fldStruct[fld_SERI],temp); WriteRecord(AnsFile.hf[lpJyDest->zqsid],lpJyDest->recNum,hlen,rlen, CommBuffer); } return 0;}int Jy_Cjcx(int sd, int jyNum, LPJY_ASK_CJCX AskCjcx){ LPJY_DEST lpJyDest; int ret,i=0; char temp[20]; HFILE hFile; OFSTRUCT os; ret =CheckJyDest(sd, REQ_CJCX, AskCjcx->jys, AskCjcx->gddm, AskCjcx->userId, &lpJyDest); 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] ==-1) return ANS_SYS_ERR; memset(CommBuffer,' ',*(short *)CommFile.dbfStruct.rlen); StringToFld(CommBuffer,CommFile.fldStruct[fld_GDDM],AskCjcx->gddm); CommBuffer[*(short*)(CommFile.fldStruct[fld_STKNO].offset)] =(AskCjcx->jys ==0)?'Z':'H'; StringToFld(CommBuffer,CommFile.fldStruct[fld_DATE],AskCjcx->cjrq); StringToFld(CommBuffer,CommFile.fldStruct[fld_HTHM],AskCjcx->hthm); CommBuffer[*(short*)(CommFile.fldStruct[fld_ASKNO].offset)]=REQ_CJCX; 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, CommBuffer)!=0) { ErrMsg(NULL, "不能写交换文件!"); return ANS_SYS_ERR; } if(ChangeJyDest(sd, lpJyDest, REQ_CJCX, AskCjcx->jys, -1, jyNum) <0) { ErrMsg(NULL,"来自Jy_Cjcx:ChangeJyDest"); 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); } return 0;}int Jy_Wtcx(int sd, int jyNum, LPJY_ASK_WTCX AskWtcx){ LPJY_DEST lpJyDest; int ret,i=0; char temp[20]; HFILE hFile; OFSTRUCT os; ret =CheckJyDest(sd, REQ_WTCX, AskWtcx->jys, AskWtcx->gddm, AskWtcx->userId, &lpJyDest); 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] ==-1) return ANS_SYS_ERR; 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, CommBuffer)!=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); } return 0;}int JyDest_ChkUsr(LPJY_DEST lpJyDest){ BYTE SendBuff[2048]; int ret, len; char stat,temp[10]; 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; 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; 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, stat, len; JY_ANS_CHGPWD AnsChgPwd; char temp[10]; 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; 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],temp[10]; BYTE SendBuff[100]; int stat, 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; if(ret==ANS_SUCC) { 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; } 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, stat, len, i,retnum; JY_ANS_CANCEL AnsCancel; char temp[20],tmp[13]; HFILE hFile; OFSTRUCT os; 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) AnsCancel.flag[0] =ret; else { if(retnum==1) { ret=CommBuffer[*(short*)(CommFile.fldStruct[fld_ANSNO].offset)]; AnsCancel.flag[0] =ret; } 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);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -