📄 heng.c
字号:
int ret; REQUEST_BUFFER ReqBuf; ANSWER Answer; ret =CheckJyDest(sd, REQ_CHGPWD, AskChgPwd->jys, AskChgPwd->gddm, AskChgPwd->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] ==INVALID_HANDLE_VALUE) return ANS_SYS_ERR; memset(&ReqBuf,0,rlen); memset(&Answer,0,sizeof(ANSWER)); ReqBuf.command =2; ReqBuf.status ='\001'; ReqBuf.request.r_chg_password.fund_account =lpJyDest->jyzh; ReqBuf.request.r_chg_password.password =atoi(lpJyDest->jymm); ReqBuf.request.r_chg_password.password_new =atoi(AskChgPwd->xmm); //memset(CommBuffer,' ',*(short *)CommFile.dbfStruct.rlen); //StringToFld(CommBuffer,CommFile.fldStruct[fld_GDDM],AskChgPwd->gddm); //CommBuffer[*(short*)(CommFile.fldStruct[fld_STKNO].offset)] // =(AskChgPwd->jys ==0)?'Z':'H'; //StringToFld(CommBuffer,CommFile.fldStruct[fld_JYMM],AskChgPwd->xmm); //CommBuffer[*(short*)(CommFile.fldStruct[fld_ASKNO].offset)]=REQ_CHGPWD; //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); if(WriteRecord(ReqFile.hf[lpJyDest->zqsid],lpJyDest->recNum,hlen,rlen,(char *)&ReqBuf)!=0) { ErrMsg(NULL, "不能写交换文件!"); return ANS_SYS_ERR; } ChangeJyDest(sd, lpJyDest, REQ_CHGPWD, AskChgPwd->jys, -1, jyNum); if(fTestJy) { Sleep(1000); //CommBuffer[*(short*)(CommFile.fldStruct[fld_ASKNO].offset)]=REQ_NULL; //CommBuffer[*(short*)(CommFile.fldStruct[fld_ANSNO].offset)]=ANS_SUCC; //CommBuffer[*(short*)(CommFile.fldStruct[fld_STAT].offset)]=';'; //wsprintf(temp,"%d",jyNum); //StringToFld(CommBuffer,CommFile.fldStruct[fld_SERI],temp); WriteRecord(AnsFile.hf[lpJyDest->zqsid],lpJyDest->recNum, 0,sizeof(ANSWER),(char *)&Answer); } return 0;}int Jy_BuySell(int sd, int jyNum, LPJY_ASK_BUYSELL AskBuySell){ LPJY_DEST lpJyDest; int ret; REQUEST_BUFFER ReqBuf; ANSWER Answer; ret =CheckJyDest(sd, REQ_BUYSEL, AskBuySell->jys, AskBuySell->gddm, AskBuySell->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] ==INVALID_HANDLE_VALUE) return ANS_SYS_ERR; memset(&ReqBuf,0,rlen); ReqBuf.command =5; ReqBuf.status ='\001'; ReqBuf.request.r_ent_enter.exchange_type = (AskBuySell->jys ==0)?'2':'1'; if(AskBuySell->jys ==0) strcpy(ReqBuf.request.r_ent_enter.stock_account, AskBuySell->gddm); else sprintf(ReqBuf.request.r_ent_enter.stock_account, "A%s",AskBuySell->gddm); ReqBuf.request.r_ent_enter.password = atol(lpJyDest->jymm); ReqBuf.request.r_ent_enter.entrust_bs = (AskBuySell->bs =='B')?'1':'2'; strcpy(ReqBuf.request.r_ent_enter.stock_code, AskBuySell->gpdm); ReqBuf.request.r_ent_enter.entrust_price= (float)AskBuySell->wtjg/(float)100.00; ReqBuf.request.r_ent_enter.entrust_amount= AskBuySell->wtgs; ReqBuf.request.r_ent_enter.entrust_type='0'; //memset(CommBuffer,' ',*(short *)CommFile.dbfStruct.rlen); //StringToFld(CommBuffer,CommFile.fldStruct[fld_GDDM],AskBuySell->gddm); //CommBuffer[*(short*)(CommFile.fldStruct[fld_STKNO].offset)] // =(AskBuySell->jys ==0)?'Z':'H'; //StringToFld(CommBuffer,CommFile.fldStruct[fld_GPDM],AskBuySell->gpdm); //sprintf(temp,"%12ld",AskBuySell->wtgs); //StringToFld(CommBuffer,CommFile.fldStruct[fld_WTGS],temp); //sprintf(temp,"%12.2f",(double)(AskBuySell->wtjg/100.00)); //StringToFld(CommBuffer,CommFile.fldStruct[fld_WTJG],temp); //if(AskBuySell->bs =='B') // CommBuffer[*(short*)(CommFile.fldStruct[fld_ASKNO].offset)]=REQ_BUY; //else if(AskBuySell->bs =='S') // CommBuffer[*(short*)(CommFile.fldStruct[fld_ASKNO].offset)]=REQ_SELL; //else // CommBuffer[*(short*)(CommFile.fldStruct[fld_ASKNO].offset)]='E'; //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); if(WriteRecord(ReqFile.hf[lpJyDest->zqsid],lpJyDest->recNum,hlen,rlen,(char *)&ReqBuf)!=0) { ErrMsg(NULL, "不能写交换文件!"); return ANS_SYS_ERR; } if(ChangeJyDest(sd, lpJyDest, REQ_BUYSEL, AskBuySell->jys, -1, jyNum)<0) return ANS_SYS_ERR; if(fTestJy) { Sleep(1000); //CommBuffer[*(short*)(CommFile.fldStruct[fld_ASKNO].offset)]=REQ_NULL; //CommBuffer[*(short*)(CommFile.fldStruct[fld_ANSNO].offset)]=ANS_SUCC; //CommBuffer[*(short*)(CommFile.fldStruct[fld_STAT].offset)]=';'; //StringToFld(CommBuffer,CommFile.fldStruct[fld_HTHM],"000068"); //wsprintf(temp,"%d",jyNum); //StringToFld(CommBuffer,CommFile.fldStruct[fld_SERI],temp); WriteRecord(AnsFile.hf[lpJyDest->zqsid],lpJyDest->recNum, 0,sizeof(ANSWER),(char *)&Answer); } return 0;}int Jy_Cancel(int sd, int jyNum, LPJY_ASK_CANCEL AskCancel){ LPJY_DEST lpJyDest; int ret; REQUEST_BUFFER ReqBuf; ANSWER Answer; ret =CheckJyDest(sd, REQ_CANCEL, AskCancel->jys, AskCancel->gddm, AskCancel->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] ==INVALID_HANDLE_VALUE) return ANS_SYS_ERR; memset(&ReqBuf,0,rlen); memset(&Answer,0,sizeof(ANSWER)); ReqBuf.command =6; ReqBuf.status ='\001'; ReqBuf.request.r_ent_cancel.fund_account= lpJyDest->jyzh; ReqBuf.request.r_ent_cancel.password = atoi(lpJyDest->jymm); ReqBuf.request.r_ent_cancel.entrust_serial_no = atoi(AskCancel->Cancel[0].hthm);/* 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_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); if(WriteRecord(ReqFile.hf[lpJyDest->zqsid],lpJyDest->recNum,hlen,rlen, CommBuffer)!=0) { ErrMsg(NULL, "不能写交换文件!"); return ANS_SYS_ERR; } }*/ if(WriteRecord(ReqFile.hf[lpJyDest->zqsid],lpJyDest->recNum,hlen,rlen, (char *)&ReqBuf)!=0) { ErrMsg(NULL, "不能写交换文件!"); return ANS_SYS_ERR; } ChangeJyDest(sd, lpJyDest, REQ_CANCEL, AskCancel->jys, -1, jyNum); lpJyDest->recCount =1; //;AskCancel->cancelCount; if(fTestJy) { Sleep(1000);/* CommBuffer[*(short*)(CommFile.fldStruct[fld_ANSNO].offset)]=ANS_SUCC; 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);*/ WriteRecord(AnsFile.hf[lpJyDest->zqsid],lpJyDest->recNum, 0,sizeof(ANSWER),(char *)&Answer); } return 0;}int Jy_Yecx(int sd, int jyNum, LPJY_ASK_YECX AskYecx){ LPJY_DEST lpJyDest; int ret,i=0; REQUEST_BUFFER ReqBuf; ANSWER Answer; 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] ==INVALID_HANDLE_VALUE) return ANS_SYS_ERR; memset(&ReqBuf,0,rlen); memset(&Answer,0,sizeof(ANSWER)); ReqBuf.command =10; ReqBuf.status ='\001'; ReqBuf.request.r_inq_stock.arg_type ='3'; if(AskYecx->jys ==0) strcpy(ReqBuf.request.r_inq_stock.stock_account, AskYecx->gddm); else sprintf(ReqBuf.request.r_inq_stock.stock_account, "A%s",AskYecx->gddm); strcpy(ReqBuf.request.r_inq_stock.stock_code,""); ReqBuf.request.r_inq_stock.exchange_type = (AskYecx->jys ==0)?'2':'1'; ReqBuf.request.r_inq_stock.inquire_mode = '1'; //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, (char *)&ReqBuf)!=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, 0,sizeof(ANSWER),(char *)&Answer); } return 0;}int Jy_Cjcx(int sd, int jyNum, LPJY_ASK_CJCX AskCjcx){ LPJY_DEST lpJyDest; int ret,i=0; REQUEST_BUFFER ReqBuf; ANSWER Answer; 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] ==INVALID_HANDLE_VALUE) return ANS_SYS_ERR; memset(&ReqBuf,0,rlen); memset(&Answer,0,sizeof(ANSWER)); ReqBuf.command =9; ReqBuf.status ='\001'; ReqBuf.request.r_inq_real.arg_type ='3'; if(AskCjcx->jys ==0) strcpy(ReqBuf.request.r_inq_real.stock_account, AskCjcx->gddm); else sprintf(ReqBuf.request.r_inq_real.stock_account, "A%s",AskCjcx->gddm); ReqBuf.request.r_inq_real.exchange_type = (AskCjcx->jys ==0)?'2':'1'; //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, (char *)&ReqBuf)!=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);*/ WriteRecord(AnsFile.hf[lpJyDest->zqsid],lpJyDest->recNum, 0,sizeof(ANSWER),(char *)&Answer); } return 0;}int Jy_Wtcx(int sd, int jyNum, LPJY_ASK_WTCX AskWtcx){ LPJY_DEST lpJyDest; int ret,i=0; REQUEST_BUFFER ReqBuf; ANSWER Answer; ret =CheckJyDest(sd, REQ_WTCX, AskWtcx->jys, AskWtcx->gddm, AskWtcx->userId, &lpJyDest);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -